CodePage
is an async component
The page at a name: its definition's, or the namespace's if it's only that.
import { DefinitionView, Frame, NamespaceView, shareNow } from "#codebase/tcmts/share"; export async function CodePage({ name }: { name: string }) { const s = shareNow(); if (!s.signedIn) return <Frame tab="code" title="Sign in" children={null} />; const rows = s.cb.store.names(undefined, true); const here = rows.filter((r) => r.path === name); if (here.length) return ( <DefinitionView name={name} hash={(here.find((r) => r.kind !== "type") ?? here[0]!).hash} /> ); if (rows.some((r) => r.path.startsWith(`${name}.`))) return <NamespaceView ns={name} />; return ( <Frame tab="code" title="Not found"> <div className="empty"> Nothing is called <code>{name}</code> here. </div> </Frame> ); }