import { useEffect, useState } from "react" import { Command as CommandIcon, ChevronLeft, ChevronRight } from "lucide-react" import { NAV, type ViewId } from "@/nav" import { CommandPalette } from "@/components/CommandPalette" import { DashboardView } from "@/views/DashboardView" import { ModelsView } from "@/views/ModelsView" import { ConnectView } from "@/views/ConnectView" import { MemoryView } from "@/views/MemoryView" import { AgentView } from "@/views/AgentView" import { GuideView } from "@/views/GuideView" import { Placeholder } from "@/views/Placeholder" import { SystemDrawer } from "@/components/SystemDrawer" import { useHealth, useSystemStatus } from "@/lib/queries" import { cn } from "@/lib/utils" export default function App() { const [view, setView] = useState("dashboard") const [sidebarCollapsed, setSidebarCollapsed] = useState(() => localStorage.getItem("mc_sidebar_collapsed") === "true") const [drawerOpen, setDrawerOpen] = useState(false) const [drawerTab, setDrawerTab] = useState<"maintenance" | "logs">("maintenance") const { data: health } = useHealth() const { data: sysStatus } = useSystemStatus(20_000) useEffect(() => { document.documentElement.classList.add("dark") }, []) useEffect(() => { const handleOpen = (e: Event) => { const customEvent = e as CustomEvent setDrawerTab(customEvent.detail?.tab || "maintenance") setDrawerOpen(true) } window.addEventListener("open-system-drawer", handleOpen) return () => window.removeEventListener("open-system-drawer", handleOpen) }, []) const active = NAV.find((n) => n.id === view)! return (
{/* Background Aurora Ambient Effects */}
setDrawerOpen(false)} defaultTab={drawerTab} /> {/* Sidebar */} {/* Main */}
{active.hint}
Hilfe
{view === "dashboard" && } {view === "models" && } {view === "connect" && } {view === "memory" && } {view === "agent" && } {view === "guide" && } {!["dashboard", "models", "connect", "memory", "agent", "guide"].includes(view) && ( )}
) }