Files
Kordant/web/src/app.tsx
Michael Freno d4c1b62a97 refactor: Context-based theme provider with animated Typewriter toggle
- Convert theme to SolidJS Context/Provider pattern (ThemeProvider)
- Extract createThemeState() for testability without context
- Add Typewriter component with character-by-character reveal
- Animate ThemeToggle with Typewriter label and hover scale
- Add cursor CSS animations (typewriter-blink, cursor-typing, cursor-block)
- Fix background color transition by using 'all' on :root
- Rename theme.ts -> theme.tsx for JSX support
- All 26 theme tests passing
2026-05-25 15:10:52 -04:00

24 lines
563 B
TypeScript

import { MetaProvider, Title } from "@solidjs/meta";
import { Router } from "@solidjs/router";
import { FileRoutes } from "@solidjs/start/router";
import { Suspense } from "solid-js";
import { ThemeProvider } from "./lib/theme";
import { AppShell } from "./components/layout";
import "./app.css";
export default function App() {
return (
<ThemeProvider>
<Router
root={(props) => (
<AppShell>
<Suspense>{props.children}</Suspense>
</AppShell>
)}
>
<FileRoutes />
</Router>
</ThemeProvider>
);
}