/* Entry point — loads data, mounts app. */ const Root = () => { const [data, setData] = React.useState(null); const [err, setErr] = React.useState(null); const [tweaks, setTweak] = useTweaks(window.TweakDefaults); React.useEffect(() => { loadData().then(setData).catch(e => setErr(String(e))); }, []); // setTweaks accepts a partial object: {theme: 'dark', density: 'compact'} const setTweaks = (patch) => { Object.entries(patch).forEach(([k, v]) => setTweak(k, v)); }; if (err) return
Failed to load codex: {err}
; if (!data) return (
Unsealing the codex…
); return ( <> ); }; ReactDOM.createRoot(document.getElementById("app")).render();