"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; const mustChangePassword = user?.must_change_password ?? false; useEffect(() => { if (requiresLogin && !isLoading && isError) { router.replace("/login"); } }, [requiresLogin, isLoading, isError, router]); useEffect(() => { if (mustChangePassword) { router.replace("/change-password"); } }, [mustChangePassword, router]); if (requiresLogin && (isLoading || isError)) { return (