"use client"; import Link from "next/link"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; import { LocalModeBanner } from "@/components/local-mode-banner"; import { PageTransition } from "@/components/page-transition"; import { useCurrentUser, useLogout, useSystemStatus } from "@/hooks/use-auth"; import { isLocalConvenience } from "@/lib/auth"; export default function DashboardLayout({ children }: { children: React.ReactNode }) { const router = useRouter(); const { data: systemStatus } = useSystemStatus(); const { data: user, isLoading, isError } = useCurrentUser(); const logout = useLogout(); const requiresLogin = systemStatus ? !isLocalConvenience(systemStatus) : false; useEffect(() => { if (requiresLogin && !isLoading && isError) { router.replace("/login"); } }, [requiresLogin, isLoading, isError, router]); if (requiresLogin && (isLoading || isError)) { return (