skeletal layout, theme functionality, mobile/desktop responsive, autoscroll

This commit is contained in:
2025-10-29 02:03:46 -05:00
commit 8f86e13dfc
24 changed files with 4950 additions and 0 deletions

21
src/hooks/useTheme.ts Normal file
View File

@@ -0,0 +1,21 @@
import { useEffect, useState } from "react";
export type ThemeKey = "a" | "b" | "c" | "d" | "e";
export function useTheme() {
const [theme, setTheme] = useState<ThemeKey>(() => {
const saved = (typeof window !== "undefined" && localStorage.getItem("theme")) as ThemeKey | null;
return saved ?? "a";
});
useEffect(() => {
document.documentElement.setAttribute("data-theme", theme);
localStorage.setItem("theme", theme);
}, [theme]);
return { theme, setTheme };
}