105});
106
107export default app.fetch;
1import { email } from "https://esm.town/v/std/email?v=11";
2import { fetch } from "https://esm.town/v/std/fetch";
3
4export default async (URL) => {
8 let reason: string;
9 try {
10 const res = await fetch(URL);
11 if (res.status !== 200) {
12 reason = `(status code: ${res.status})`;
14 }
15 } catch (e) {
16 reason = `couldn't fetch: ${e}`;
17 ok = false;
18 }
5let location = "Frederick, MD";
6let lang = "en";
7const weather = await fetch(
8 `https://wttr.in/${location}?lang=${lang}&format=j1`,
9).then(r => r.json());
49app.get("/projects/Time_Blindness_Loud_Calendar_via_iOS_shortcuts", Time_Blindness_Loud_Calendar_via_iOS_shortcuts);
50
51export default app.fetch;
56const app = new Hono();
57app.get("/", Bringing_My_OCD_Online);
58export default app.fetch;
55const app = new Hono();
56app.get("/", homepage);
57export default app.fetch;
34 }
35 // Do not await the response
36 fetch(`${httpEndpoint}/event?name=import-init&val=${runningValInfo.author}/${runningValInfo.name}`);
37 } catch (e) {
38 console.error(`Error initializing analytics: ${e}`);
45 const runningValInfo = getRunningValInfo();
46 return async (req: Request): Promise<Response> => {
47 fetch(`${httpEndpoint}/event?name=request&val=${runningValInfo.author}/${runningValInfo.name}&url=${req.url}`);
48 return handler(req);
49 };
3I wanted to log this data so I can analyse which days do I game the most ? which periods do I log the most hours in my confort game (Dead By Daylight) ? And so on. I think the data viz possibilities are super interesting, just like when Valve releases the "Steam in review" at the end of the year
4
5This val fetches your recent playtime history from valve's API and stores it in a database every day !
6
7The project uses multiple vals to work:
4let location = "toronto on";
5let lang = "en";
6const weather = await fetch(
7 `https://wttr.in/${location}?lang=${lang}&format=j1`,
8).then(r => r.json());
1/** @jsxImportSource https://esm.sh/hono@4.0.8/jsx **/
2
3import { modifyFetchHandler } from "https://esm.town/v/andreterron/codeOnValTown?v=50";
4import view_route from "https://esm.town/v/pomdtr/blob_admin_blob";
5import create_route from "https://esm.town/v/pomdtr/blob_admin_create";
133});
134
135export default modifyFetchHandler(passwordAuth(app.fetch));