"use client"; import { Loader2, LogOut, Network, Server, Settings, Users, } from "lucide-react"; import Link from "next/link"; import { usePathname, useRouter } from "next/navigation"; import { useEffect } from "react"; import { Avatar, AvatarFallback } from "@/components/ui/avatar"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { Sidebar, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, SidebarMenuItem, SidebarProvider, SidebarTrigger, } from "@/components/ui/sidebar"; import { signOut, useSession } from "@/lib/auth-client"; const menuItems = [ { href: "/dashboard/users", icon: Users, label: "Users" }, { href: "/dashboard/servers", icon: Server, label: "Servers" }, ]; const k8sMenuItems = [ { href: "/dashboard/k8s", icon: Network, label: "Resources" }, ]; export function DashboardLayout({ children }: { children: React.ReactNode }) { const pathname = usePathname(); const router = useRouter(); const { data: session, isPending } = useSession(); useEffect(() => { if (!isPending && !session?.user) { router.replace("/login"); } }, [session, isPending, router]); if (isPending) { return (