import type { AppRegistryMeta } from 'officerdev'; import { List, PanelRight, SlidersHorizontal } from 'lucide-react'; import { NavPanel } from './NavPanel'; import { DetailPanel } from './DetailPanel'; import { DetailHeader } from './DetailHeader'; import { EditorPanel } from './EditorPanel'; /** * Three panels: a nav, whatever it selects, and where an editor opens. * * They are SIBLINGS that never speak to each other — the nav writes `?section=` and the detail panel * reads it. That is `docs/navigation-audit.md`'s rule, and it is what makes every section linkable and * survive a reload. * * `availableOnPanel: false` — these belong to this plugin's screen, not to the generic panel picker. * A "Fofos sections" panel offered on somebody's dashboard would render a nav with nothing beside it. */ export const appRegistryMetas: AppRegistryMeta[] = [ { key: 'fofos-admin-nav', name: 'Sections', icon: List, component: NavPanel, availableOnPanel: false, }, { key: 'fofos-admin-detail', name: 'Detail', icon: PanelRight, component: DetailPanel, // The chrome header says which SECTION is open rather than the word "Detail" — see DetailHeader for // why that replaced a second header row inside the panel. header: DetailHeader, availableOnPanel: false, }, { key: 'fofos-admin-editor', name: 'Editor', icon: SlidersHorizontal, component: EditorPanel, availableOnPanel: false, }, ];