import { useState } from 'react'; import { Outlet, useLocation } from 'react-router-dom'; import { motion, AnimatePresence } from 'framer-motion'; import { useAuth } from '../context/AuthContext'; import { Sidebar } from './layout/Sidebar'; import { MobileNav } from './layout/MobileNav'; import { MobileNavSheet } from './layout/MobileNavSheet'; import { CommandPalette } from './ui/CommandPalette'; import { SessionTimeoutWarning } from './ui/SessionTimeoutWarning'; import { PageTitleUpdater } from '../hooks/usePageTitle'; import AnnouncementBanner from './AnnouncementBanner'; import { DevTools } from './dev/DevTools'; import { Breadcrumbs } from './ui/Breadcrumbs'; import { pageVariants } from '../lib/animations'; import { Search, Bell, Settings, Filter, ChevronDown } from 'lucide-react'; import ThemeToggle from './ThemeToggle'; import { UserMenu } from './layout/UserMenu'; import { NotificationBell } from './notifications/NotificationBell'; export default function Layout() { const location = useLocation(); const [mobileSheetOpen, setMobileSheetOpen] = useState(false); return (
{/* Accessibility: Skip to main content */} Skip to main content {/* Desktop Sidebar - Persistent on left */}
V
Veridian Cultivation Platform
{/* Main Content Area */}
{/* Topbar - Search, Global Filters, Vitals */}
{/* Facility Switcher / Filter */}
Facility NORCAL-01
{/* Global Search */}
⌘ K
Terminal Live
32 Sensors Active
{/* Content Scroller */}
{/* Mobile Interface Components */} setMobileSheetOpen(true)} /> setMobileSheetOpen(false)} /> {/* System Utilities */}
); }