"use client"; import { Suspense, useEffect, useState } from "react"; import Sidebar from "../Sidebar"; import Header from "../Header"; import NotificationToast from "../NotificationToast"; import Breadcrumbs from "../Breadcrumbs"; import MaintenanceBanner from "../MaintenanceBanner"; import CommandPalette from "../CommandPalette"; import NavigationProgress from "../NavigationProgress"; import { useIsElectron } from "@/shared/hooks/useElectron"; const SIDEBAR_COLLAPSED_KEY = "sidebar-collapsed"; const isE2EMode = process.env.NEXT_PUBLIC_OMNIROUTE_E2E_MODE === "1"; export default function DashboardLayout({ children }) { const [sidebarOpen, setSidebarOpen] = useState(false); const [commandPaletteOpen, setCommandPaletteOpen] = useState(false); const isElectron = useIsElectron(); const [collapsed, setCollapsed] = useState(() => { if (typeof globalThis.window === "undefined") return false; try { return localStorage.getItem(SIDEBAR_COLLAPSED_KEY) === "true"; } catch { return false; } }); const isMacElectron = isElectron && typeof globalThis.window !== "undefined" && globalThis.electronAPI?.platform === "darwin"; useEffect(() => { if (typeof document === "undefined") return; document.body.classList.toggle("electron-macos", isMacElectron); return () => { document.body.classList.remove("electron-macos"); }; }, [isMacElectron]); useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { if ((e.metaKey || e.ctrlKey) && e.key === "k") { e.preventDefault(); setCommandPaletteOpen((prev) => !prev); } }; document.addEventListener("keydown", handleKeyDown); return () => document.removeEventListener("keydown", handleKeyDown); }, []); const handleToggleCollapse = () => { const next = !collapsed; setCollapsed(next); localStorage.setItem(SIDEBAR_COLLAPSED_KEY, String(next)); }; return ( // No bg-bg here: the body grid wallpaper (globals.css body::before) shows through // this transparent wrapper into the content area. body's --color-bg is the base fill.