stevensDemoindex.ts2 matches
135));
136137// HTTP vals expect an exported "fetch handler"
138export default app.fetch;
stevensDemo.cursorrules5 matches
163```
1641655. **fetchTranspiledJavaScript** - Fetch and transpile TypeScript to JavaScript:
166```ts
167const jsCode = await fetchTranspiledJavaScript("https://esm.town/v/username/project/path/to/file.ts");
168```
169242243// Inject data to avoid extra round-trips
244const initialData = await fetchInitialData();
245const dataScript = `<script>
246window.__INITIAL_DATA__ = ${JSON.stringify(initialData)};
3003015. **API Design:**
302- `fetch` handler is the entry point for HTTP vals
303- Run the Hono app with `export default app.fetch // This is the entry point for HTTP vals`
304- Properly handle CORS if needed for external access
stevensDemoApp.tsx17 matches
82const [cookieAndTeaMode, setCookieAndTeaMode] = useState(false);
8384// Fetch images from backend instead of blob storage directly
85useEffect(() => {
86// Set default background color in case image doesn't load
89}
9091// Fetch avatar image
92fetch("/api/images/stevens.jpg")
93.then((response) => {
94if (response.ok) return response.blob();
103});
104105// Fetch wood background
106fetch("/api/images/wood.jpg")
107.then((response) => {
108if (response.ok) return response.blob();
129}, []);
130131const fetchMemories = useCallback(async () => {
132setLoading(true);
133setError(null);
134try {
135const response = await fetch(API_BASE);
136if (!response.ok) {
137throw new Error(`HTTP error! status: ${response.status}`);
154}
155} catch (e) {
156console.error("Failed to fetch memories:", e);
157setError(e.message || "Failed to fetch memories.");
158} finally {
159setLoading(false);
162163useEffect(() => {
164fetchMemories();
165}, [fetchMemories]);
166167const handleAddMemory = async (e: React.FormEvent) => {
176177try {
178const response = await fetch(API_BASE, {
179method: "POST",
180headers: { "Content-Type": "application/json" },
188setNewMemoryTags("");
189setShowAddForm(false);
190await fetchMemories();
191} catch (e) {
192console.error("Failed to add memory:", e);
199200try {
201const response = await fetch(`${API_BASE}/${id}`, {
202method: "DELETE",
203});
205throw new Error(`HTTP error! status: ${response.status}`);
206}
207await fetchMemories();
208} catch (e) {
209console.error("Failed to delete memory:", e);
231232try {
233const response = await fetch(`${API_BASE}/${editingMemory.id}`, {
234method: "PUT",
235headers: { "Content-Type": "application/json" },
240}
241setEditingMemory(null);
242await fetchMemories();
243} catch (e) {
244console.error("Failed to update memory:", e);
updateValByNameupdateValByID2 matches
1import { fetchJSON } from "https://esm.town/v/stevekrouse/fetchJSON?v=41";
23interface UpdateValArgs {
20};
2122return fetchJSON(`https://api.val.town/v1/vals/${valId}`, {
23headers: {
24Authorization: `Bearer ${token}`,
fetchPaginatedDatamain.tsx1 match
1export { fetchPaginatedData } from "https://esm.town/v/nbbaier/utilities/pagination/fetchPaginatedData";
EmailAttachmentLogindex.ts2 matches
67});
6869// Export the fetch handler
70export default app.fetch;
EmailAttachmentLogApp.tsx4 matches
3940useEffect(() => {
41const fetchAttachments = async () => {
42try {
43const response = await fetch("/api/attachments");
44if (!response.ok) {
45throw new Error("Failed to fetch attachments");
46}
47const data = await response.json();
54};
5556fetchAttachments();
57}, []);
58
105});
106107export default app.fetch;
EmailAttachmentLogindex.ts2 matches
56});
5758// Export the fetch handler
59export default app.fetch;
EmailAttachmentLogApp.tsx4 matches
67}
6869// Fetch attachments
70fetch('/api/attachments')
71.then(response => {
72if (!response.ok) {
73throw new Error('Failed to fetch attachments');
74}
75return response.json();
80})
81.catch(err => {
82console.error('Error fetching attachments:', err);
83setError('Failed to load attachments');
84setLoading(false);