"use client" import { Loader2Icon } from "lucide-react" import { usePathname, useRouter } from "next/navigation" import type { CSSProperties, ReactNode } from "react" import { useEffect } from "react" import { AppSidebar } from "@/components/app-sidebar" import { useAuth } from "@/components/auth-provider" import { SiteHeader } from "@/components/site-header" import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar" export default function DashboardLayout({ children, }: { children: ReactNode }) { const { ready, session } = useAuth() const pathname = usePathname() const router = useRouter() const isLoginRoute = pathname?.startsWith("/dashboard/login") ?? false useEffect(() => { if (ready && !session && !isLoginRoute) { router.replace("/dashboard/login") } }, [isLoginRoute, ready, router, session]) if (isLoginRoute) { return <>{children}> } if (!ready || !session) { return (
正在校验登录态
将自动同步当前管理员信息与权限数据