14
15- **Backend**: Hono.js API
16- **Frontend**: React
17- **Authentication**: LastLogin
18- **Storage**: Val Town blob storage
25โ โโโ routes/ # API routes for todos
26โโโ frontend/
27โ โโโ components/ # React components
28โ โโโ index.html # Main HTML template
29โ โโโ index.tsx # Frontend entry point
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState, useEffect } from "https://esm.sh/react@18.2.0";
3import { LoginWithGoogleButton } from "https://esm.town/v/stevekrouse/LoginWithGoogleButton";
4import { TodoList } from "./TodoList.tsx";
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { createRoot } from "https://esm.sh/react-dom@18.2.0/client";
3import React from "https://esm.sh/react@18.2.0";
4import { App } from "./components/App.tsx";
5
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React from "https://esm.sh/react@18.2.0";
3
4// Define Todo interface
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState } from "https://esm.sh/react@18.2.0";
3
4interface TodoFormProps {
30 };
31
32 const handleSubmit = async (e: React.FormEvent) => {
33 e.preventDefault();
34
189- **Imports:** Use `https://esm.sh` for npm and Deno dependencies to ensure compatibility on server and browser
190- **Storage Strategy:** Only use backend storage if explicitly required; prefer simple static client-side sites
191- **React Configuration:** When using React libraries, pin versions with `?deps=react@18.2.0,react-dom@18.2.0` and start the file with `/** @jsxImportSource https://esm.sh/react@18.2.0 */`
192- Ensure all React dependencies and sub-dependencies are pinned to the same version
193- **Styling:** Default to using TailwindCSS via `<script src="https://cdn.twind.style" crossorigin></script>` unless otherwise specified
194
275 - Always run table creation before querying
276
2773. **React Configuration:**
278 - All React dependencies must be pinned to 18.2.0
279 - Always include `@jsxImportSource https://esm.sh/react@18.2.0` at the top of React files
280 - Rendering issues often come from mismatched React versions
281
2824. **File Handling:**
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import { readFile } from "https://esm.town/v/std/utils/index.ts";
3import { BLOG_URL, SITE_DESCRIPTION } from "../utils/constants.ts";
136
137Rick's Voice: Sarcastic, nihilistic, often rambling, filled with made-up sci-fi jargon, belittling Morty (the player, by extension), and occasionally dropping surprisingly profound (or just dumb) truth bombs. Burps are optional but encouraged in spirit.
138Morty's Panic: When appropriate, channel Morty's fear, hesitation, and generally high-strung reactions to the universe's horrors. "Aw, jeez!"
139Absurdist Sci-Fi: Interdimensional cable-level weirdness. Bizarre aliens, physics-defying locations, morally ambiguous technology.
140Chaotic Energy: Things go wrong. Plans derail. The multiverse is a messy place.
1/** @jsxImportSource https://esm.sh/react@18.2.0 */
2import React, { useState, useEffect } from 'https://esm.sh/react@18.2.0';
3
4const Auth: React.FC = () => {
5 const [authUrl, setAuthUrl] = useState<string>('');
6 const [isLoading, setIsLoading] = useState<boolean>(true);
120 id: string;
121 name: string;
122 component: React.ComponentType<any>;
123 icon?: string;
124}