"use client"; import { ReactNode } from "react"; import Link from "next/link"; import { usePathname } from "next/navigation"; import { Box, Button, Divider, List, ListItemButton, ListItemText, Stack, Typography } from "@mui/material"; import type { UserRecord } from "@/src/lib/auth/session"; const NAV_ITEMS = [ { href: "/", label: "Overview" }, { href: "/proxy-hosts", label: "Proxy Hosts" }, { href: "/redirects", label: "Redirects" }, { href: "/dead-hosts", label: "Dead Hosts" }, { href: "/streams", label: "Streams" }, { href: "/access-lists", label: "Access Lists" }, { href: "/certificates", label: "Certificates" }, { href: "/settings", label: "Settings" }, { href: "/audit-log", label: "Audit Log" } ] as const; export default function DashboardLayoutClient({ user, children }: { user: UserRecord; children: ReactNode }) { const pathname = usePathname(); return ( Caddy Proxy Manager {user.name ?? user.email} {NAV_ITEMS.map((item) => { const selected = pathname === item.href; return ( ); })}
{children}
); }