'use client'; import { useState, useEffect, ReactNode } from 'react'; import { UserProvider, useUser } from './user-context'; import { MainNav } from './main-nav'; import { Loader2 } from 'lucide-react'; import { usePathname, useRouter } from 'next/navigation'; function AppContent({ children }: { children: ReactNode }) { const { isLoading, isInitialized, isAuthenticated } = useUser(); const pathname = usePathname(); const router = useRouter(); useEffect(() => { if (!isLoading && isInitialized && !isAuthenticated && pathname !== '/login') { router.replace('/login'); } }, [isAuthenticated, isInitialized, isLoading, pathname, router]); if (isLoading) { return (

加载中...

); } if (!isInitialized) { return (

初始化用户信息...

); } if (pathname === '/login') { return <>{children}; } if (!isAuthenticated) { return (

跳转登录...

); } return ( <>
{children}
); } export function AppShell({ children }: { children: ReactNode }) { return ( {children} ); }