1import { dataToRSS } from "https://esm.town/v/Glench/dataToRSS"
2import { fetch } from "https://esm.town/v/std/fetch"
3import process from "node:process"
4
28 const show_id = TV_SHOWS_WATCHED[i]
29 const url = `https://api.themoviedb.org/3/tv/${show_id}?api_key=${process.env.tmdb_api_key}`
30 const resp = await fetch(url)
31 const show = await resp.json()
32 data.push(show)
1import { fetchText } from "https://esm.town/v/stevekrouse/fetchText?v=5"
2
3export async function getAppleDevice(req: Request) {
4 const deviceId = new URL(req.url).searchParams.get("search_keywords") as string
5 if (!deviceId) return Response.json("Please provide a search_keywords query parameter")
6 const html = await fetchText(
7 `https://everymac.com/ultimate-mac-lookup/?search_keywords=${encodeURI(deviceId)}`,
8 )
88 };
89
90 const fetchImage = async (romaji) => {
91 setIsLoading(true);
92 try {
93 const response = await fetch(`/api/image/${romaji}`);
94 if (!response.ok) {
95 throw new Error("Failed to fetch image");
96 }
97 const data = await response.json();
103 }
104 } catch (error) {
105 console.error("Error fetching image:", error);
106 setImageData("");
107 } finally {
119 setInputStatus([]);
120 setIsComplete(false);
121 fetchImage(newWord.romaji);
122 setIsTransitioning(false);
123 }, 300);
275 });
276 } catch (error) {
277 console.error("Error fetching image:", error);
278 return new Response("Image not found", { status: 404 });
279 }
40
41 try {
42 const response = await fetch("/api/chat", {
43 method: "POST",
44 headers: { "Content-Type": "application/json" },
4let location = "brooklyn ny";
5let lang = "en";
6const weather = await fetch(
7 `https://wttr.in/${location}?lang=${lang}&format=j1`,
8).then(r => r.json());
11
12 useEffect(() => {
13 fetchPolls();
14 }, []);
15
24 }, [polls]);
25
26 const fetchPolls = async () => {
27 const response = await fetch("/polls");
28 const data = await response.json();
29 setPolls(data);
32 const handleCreatePoll = async (e) => {
33 e.preventDefault();
34 const response = await fetch("/polls", {
35 method: "POST",
36 headers: { "Content-Type": "application/json" },
40 setNewPollQuestion("");
41 setNewPollOptions(["", ""]);
42 fetchPolls();
43 }
44 };
45
46 const handleVote = async (pollId, optionIndex) => {
47 const response = await fetch(`/polls/${pollId}/vote`, {
48 method: "POST",
49 headers: { "Content-Type": "application/json" },
51 });
52 if (response.ok) {
53 fetchPolls();
54 }
55 };
35
36async function execute(statement: InStatement, args?: InArgs): Promise<ResultSet> {
37 const res = await fetch(`${API_URL}/v1/sqlite/execute`, {
38 method: "POST",
39 headers: {
50
51async function batch(statements: InStatement[], mode?: TransactionMode): Promise<ResultSet[]> {
52 const res = await fetch(`${API_URL}/v1/sqlite/batch`, {
53 method: "POST",
54 headers: {
9
10 useEffect(() => {
11 async function fetchImage() {
12 try {
13 const response = await fetch("/image");
14 if (!response.ok) {
15 throw new Error(`HTTP error! status: ${response.status}`);
22 }
23 } catch (error) {
24 console.error("Error fetching image:", error);
25 setError(error instanceof Error ? error.message : "Error loading image");
26 }
27 }
28 fetchImage();
29 }, []);
30
36 <img
37 src={imageData}
38 alt="Fetched from blob storage"
39 style={{ maxWidth: "100%" }}
40 />
63 });
64 } catch (error) {
65 console.error("Error fetching blob:", error);
66 return new Response(JSON.stringify({ error: "Server error", details: error.message }), {
67 status: 500,
34
35 useEffect(() => {
36 fetchCategories();
37 }, []);
38
39 const fetchCategories = async () => {
40 const response = await fetch("/categories");
41 if (response.ok) {
42 const data = await response.json();
43 setCategories(data);
44 console.log("Categories fetched and set:", data);
45 data.forEach(category => console.log(`Category ${category.name} has ${category.cards.length} cards`));
46 }
50 console.log("Adding category:", newCategory);
51 if (newCategory.trim()) {
52 const response = await fetch("/categories", {
53 method: "POST",
54 headers: { "Content-Type": "application/json" },
57 if (response.ok) {
58 setNewCategory("");
59 fetchCategories();
60 }
61 }
64 const deleteCard = async (cardId) => {
65 console.log("Deleting card:", cardId);
66 const response = await fetch(`/cards/${cardId}`, {
67 method: "DELETE",
68 });
69 if (response.ok) {
70 fetchCategories();
71 } else {
72 console.error("Failed to delete card");
76 const deleteCategory = async (categoryId) => {
77 console.log("Deleting category:", categoryId);
78 const response = await fetch(`/categories/${categoryId}`, {
79 method: "DELETE",
80 });
81 if (response.ok) {
82 fetchCategories();
83 } else {
84 console.error("Failed to delete category");
88 const addCard = async () => {
89 if (newCard.trim()) {
90 const response = await fetch("/cards", {
91 method: "POST",
92 headers: { "Content-Type": "application/json" },
95 if (response.ok) {
96 setNewCard("");
97 fetchCategories();
98 }
99 }
144
145 // Update the card's category on the server
146 await fetch(`/cards/${movedCard.id}`, {
147 method: "PATCH",
148 headers: { "Content-Type": "application/json" },
9
10 useEffect(() => {
11 async function fetchImage() {
12 try {
13 const response = await fetch("/image");
14 if (!response.ok) {
15 throw new Error(`HTTP error! status: ${response.status}`);
24 setImageData(dataUrl);
25 } catch (error) {
26 console.error("Error fetching image:", error);
27 setError(error instanceof Error ? error.message : "Error loading image");
28 }
29 }
30 fetchImage();
31 }, []);
32
38 <img
39 src={imageData}
40 alt="Fetched from blob storage"
41 style={{ maxWidth: "100%" }}
42 />
66 });
67 } catch (error) {
68 console.error("Error fetching blob:", error);
69 return new Response(JSON.stringify({ error: "Server error", details: error.message }), {
70 status: 500,