import { Link, useLocation, useNavigate } from 'react-router-dom'; import { useAuthStore } from '@/stores/authStore'; import { useSettingsStore } from '@/stores/settingsStore'; import { Button } from '@/components/ui/button'; import { LayoutDashboard, FileText, MessageSquare, Settings, Menu, X, Brain, LogOut, ChevronLeft, ChevronRight } from 'lucide-react'; import { cn } from '@/lib/utils'; interface LayoutProps { children: React.ReactNode; } const navigation = [ { name: 'Dashboard', href: '/', icon: LayoutDashboard }, { name: 'Documents', href: '/documents', icon: FileText }, { name: 'Chat', href: '/chat', icon: MessageSquare }, { name: 'Settings', href: '/settings', icon: Settings }, ]; export function Layout({ children }: LayoutProps) { const location = useLocation(); const navigate = useNavigate(); const { logout, isAuthenticated } = useAuthStore(); const { sidebarOpen, toggleSidebar, setSidebarOpen } = useSettingsStore(); const handleLogout = () => { logout(); navigate('/login'); }; if (!isAuthenticated) { return <>{children}>; } return (