'use client'; /** * AppLayout Component * * Wraps the application with: * - AppStateMachineProvider (state management) * - Mantine AppShell (responsive layout) * - Navigation (mobile bottom bar / desktop sidebar) */ import { AppShell } from '@mantine/core'; import { useMediaQuery } from '@mantine/hooks'; import { AppStateMachineProvider } from './AppStateMachine'; import { MobileBottomBar } from './Navigation/MobileBottomBar'; import { MobileHeader } from './Navigation/MobileHeader'; import { DesktopSidebar } from './Navigation/DesktopSidebar'; export function AppLayout({ children }: { children: React.ReactNode }) { const isMobile = useMediaQuery('(max-width: 768px)'); return ( {/* Mobile Header - only on mobile */} {isMobile && } {/* Desktop Sidebar - only on desktop */} {!isMobile && ( )} {/* Main Content */} {children} {/* Mobile Bottom Bar - only on mobile */} {isMobile && } ); }