App.jsx
773 B · jsx · 20 lines
1import { Nav, useRouter } from "./client/router.ts";2import { got } from "./kinds.js";3import { Footer } from "./components/Footer.jsx";4import { Header } from "./components/Header.jsx";5import { NotFound } from "./pages/NotFound.jsx";67export function App({ page, chrome }) {8 const [view, navigate] = useRouter({ page, chrome });9 const One = got(view.page.kind) ?? NotFound;10 return (11 <Nav.Provider value={navigate}>12 <Header route={view.chrome.route} catalog={view.chrome.catalog} fly={view.chrome.fly} />13 <div className="veil"></div>14 <main id="main">15 <One key={view.chrome.route} {...view.page.props} now={view.chrome.now} />16 </main>17 <Footer catalog={view.chrome.catalog} now={view.chrome.now} />18 </Nav.Provider>19 );20}