import type { ReactNode } from "react"; import { ArrowLeft, LogOut } from "lucide-react"; import Link from "next/link"; import { AppHeader } from "@/components/layout/app-header"; import { AppShell } from "@/components/layout/app-shell"; import { AppSidebar } from "@/components/layout/app-sidebar"; import { ThemeToggle } from "@/components/theme-toggle"; import { Button } from "@/components/ui/button"; import { getLocalizedPath } from "@/lib/locale"; import { getRootNavigation } from "@/lib/root-navigation"; type RootDashboardCopy = { title: string; subtitle: string; overview: string; maintenance: string; uiKit: string; portfolio: string; media: string; logout: string; backToSite: string; }; type RootDashboardShellProps = { copy: RootDashboardCopy; active: "overview" | "maintenance" | "ui-kit" | "portfolio" | "media"; portfolioChild?: "overview" | "projects" | "new-project" | "categories"; logoutAction: () => Promise; headerTitle: string; headerDescription: string; headerActions?: ReactNode; children: ReactNode; }; export function RootDashboardShell({ copy, active, portfolioChild, logoutAction, headerTitle, headerDescription, headerActions, children, }: RootDashboardShellProps) { const sidebarItems = getRootNavigation(copy, active, portfolioChild); return (
} /> } header={ } > {children}
); }