// Shell — sidebar, topbar, env switcher const { useState: useStateS } = React; const Sidebar = ({ route, setRoute }) => { const nav = [ { section: "WORKSPACE" }, { key: "overview", label: "Overview", icon: , kbd: "O" }, { key: "handoff", label: "Integration", icon: , kbd: "I" }, { section: "BUILD" }, { key: "keys", label: "API keys", icon: , kbd: "K" }, { key: "oidc", label: "OIDC clients", icon: , kbd: "C" }, { key: "webhooks", label: "Webhooks", icon: }, { key: "chains", label: "Chains", icon: }, { section: "RUNTIME" }, { key: "wallets", label: "Wallets", icon: , kbd: "W" }, { key: "signing", label: "Signing queue", icon: }, { key: "policies", label: "Policies", icon: }, { key: "audit", label: "Audit log", icon: , kbd: "A" }, { section: "ORG" }, { key: "members", label: "Members", icon: }, { key: "settings", label: "Settings", icon: }, ]; return ( ); }; const Topbar = ({ route, env, setEnv, project, setProject, openCmd }) => { const routeName = { overview: "Overview", handoff: "Integration", keys: "API keys", oidc: "OIDC clients", wallets: "Wallets", signing: "Signing queue", policies: "Policies", audit: "Audit log", webhooks: "Webhooks", chains: "Chains", members: "Members", settings: "Settings", }[route] || "Overview"; const [envOpen, setEnvOpen] = useStateS(false); const [projOpen, setProjOpen] = useStateS(false); return ( {ORG.name} / setProjOpen(v => !v)}> {project.name} {projOpen && ( {PROJECTS.map(p => ( { setProject(p); setProjOpen(false); }}> {p.name[0]} {p.name} {p.id} {p.id === project.id && } ))} New project )} / setEnvOpen(v => !v)}> {env.toUpperCase()} {envOpen && ( {["dev", "staging", "prod"].map(e => ( { setEnv(e); setEnvOpen(false); }}> {e === "prod" ? "Production" : e === "dev" ? "Development" : "Staging"} {e === "prod" ? "live keys · real assets" : e === "staging" ? "test keys · fork state" : "test keys · sandbox"} {e === env && } ))} )} Search or jump to… ⌘K ); }; Object.assign(window, { Sidebar, Topbar });