"use client"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { Network, NotebookTabs, PanelsTopLeft, ScrollText, Send, Settings2, ShieldEllipsis, UsersRound } from "lucide-react"; import { cn } from "@/lib/utils"; const navItems = [ { href: "/tasks", label: "Tasks", icon: PanelsTopLeft }, { href: "/agents", label: "Agents", icon: UsersRound }, { href: "/openclaw", label: "OpenClaw", icon: ShieldEllipsis }, { href: "/zeroclaw", label: "ZeroClaw", icon: Send }, { href: "/dispatch", label: "Dispatch", icon: Send }, { href: "/architecture", label: "Architecture", icon: Network }, { href: "/wiki", label: "Wiki", icon: NotebookTabs }, { href: "/usage", label: "Usage", icon: ScrollText }, { href: "/gitea", label: "Gitea", icon: Settings2 }, ]; export function AppShell({ children, }: { children: React.ReactNode; }) { const pathname = usePathname(); return (
OpenClaw Taskboard
Unified operations view for OpenClaw orchestration, ZeroClaw host runtimes, and deployed architecture.