diff --git a/LifeOS/install/LIFEOS/PULSE/Observability/src/components/AppHeader.tsx b/LifeOS/install/LIFEOS/PULSE/Observability/src/components/AppHeader.tsx index bf95f4fbb3..c62d0763d2 100644 --- a/LifeOS/install/LIFEOS/PULSE/Observability/src/components/AppHeader.tsx +++ b/LifeOS/install/LIFEOS/PULSE/Observability/src/components/AppHeader.tsx @@ -13,11 +13,17 @@ import { TabFreshnessPill } from "@/components/TabFreshnessPill"; // meta view of the system working on itself, never part of the scrolling row. // SYSTEM is the mode-switch into the machine plane (lands on systemHome). import { tier1Nav, systemNav, metaNav, systemHome } from "@/lib/palette/nav-manifest"; +import { useEnabledModules } from "@/lib/use-enabled-modules"; const systemPaths = [...systemNav.map((i) => i.href), "/system"]; export default function AppHeader() { const pathname = usePathname(); + // A tab whose module is switched off in PULSE.toml would open a page with no + // backend answering it, so drop it from both rows and the mobile menu. + const isEnabled = useEnabledModules(); + const tier1 = tier1Nav.filter(isEnabled); + const system = systemNav.filter(isEnabled); const [mobileMenuOpen, setMobileMenuOpen] = useState(false); const mobileMenuRef = useRef(null); const { observerMode, toggleObserverMode } = useObserverMode(); @@ -81,7 +87,7 @@ export default function AppHeader() {