import { Button } from './ui/button' import { useStore } from '@nanostores/react' import { useRouter } from 'next/router' import { $platformInfo, $userInfo, $statusOnline, $token } from '@/store/user' import { getUserInfo } from '@/api/user' import { useQuery } from '@tanstack/react-query' import { useEffect, useState } from 'react' import { getPlatformInfo } from '@/api/platform' import { useTranslation } from 'react-i18next' import { LanguageSwitcher } from './language-switcher' export const Header = ({ title }: { title?: string }) => { const router = useRouter() const isOnline = useStore($statusOnline) const token = useStore($token) const [isInitializing, setIsInitializing] = useState(true) const currentPath = router.pathname useEffect(() => { // 设置5秒延迟,等待状态初始化 const timer = setTimeout(() => { setIsInitializing(false) }, 5000) return () => clearTimeout(timer) }, [isOnline, token]) useEffect(() => { // 只有在初始化完成后才进行状态检查和跳转 if (!isInitializing) { console.log('isInitializing', isOnline, token, currentPath) // 如果用户未登录且不在登录/注册页面,则跳转到登录页 const isAuthPage = ['/login', '/register'].includes(currentPath) if ((!token || !isOnline) && !isAuthPage) { router.push('/login') } } }, [token, isOnline, router, isInitializing, currentPath]) return (
{title}
} {!title && }