import { useEffect } from 'react'; import { Outlet, useNavigate, useParams } from 'react-router-dom'; import * as RD from '@radix-ui/react-dialog'; import { Menu, PanelRight, Plus } from 'lucide-react'; import { Sidebar } from './sidebar'; import { ArtifactsPanel } from '@/features/conversations/artifacts-panel'; import { SettingsDialog } from '@/features/auth/settings-dialog'; import { Logo } from '@/components/ui/logo'; import { useUI } from '@/stores/ui'; import { useChat } from '@/stores/chat'; import { useAuth } from '@/stores/auth'; import { cn } from '@/lib/cn'; export function AppShell() { const { id } = useParams(); const nav = useNavigate(); const { sidebarOpen, setSidebar, panelOpen, setPanel } = useUI(); const conv = useChat((s) => s.conversations.find((c) => c.id === id)); const user = useAuth((s) => s.user); useEffect(() => { const fs = user?.preferences.font_scale ?? 1; document.documentElement.style.setProperty('--font-scale', String(fs)); }, [user]); return (