import "./App.css"; import { maxGuesses, seed } from "./util"; import Game from "./Game"; import { useEffect, useState } from "react"; import { About } from "./About"; function useSetting( key: string, initial: T ): [T, (value: T | ((t: T) => T)) => void] { const [current, setCurrent] = useState(() => { try { const item = window.localStorage.getItem(key); return item ? JSON.parse(item) : initial; } catch (e) { return initial; } }); const setSetting = (value: T | ((t: T) => T)) => { try { const v = value instanceof Function ? value(current) : value; setCurrent(v); window.localStorage.setItem(key, JSON.stringify(v)); } catch (e) {} }; return [current, setSetting]; } function App() { const [page, setPage] = useState<"game" | "about" | "settings">("game"); const prefersDark = window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches; const [dark, setDark] = useSetting("dark", prefersDark); const [hard, setHard] = useSetting("hard", false); useEffect(() => { document.body.className = dark ? "dark" : ""; setTimeout(() => { document.body.style.transition = "0.3s background-color ease-out"; }, 1); }, [dark]); return (

hello wordl

{page === "about" && } {page === "settings" && (
setDark((x: boolean) => !x)} />
setHard((x: boolean) => !x)} />
)}
); } export default App;