| | |
| | | const [hasError, setHasError] = useState(false); |
| | | const pathname = usePathname(); |
| | | const isLoginPage = pathname === '/login'; |
| | | const isRegisterPage = pathname === '/register'; |
| | | const isHomePage = pathname === '/'; |
| | | const isAIScenePage = pathname.startsWith('/ai-scene'); |
| | | |
| | |
| | | // 客户端渲染后显示完整内容 |
| | | try { |
| | | return ( |
| | | <div className="animate-fadeIn"> |
| | | <div className="animate-fadeIn" style={{ animationDuration: '300ms' }}> |
| | | <div className="flex flex-col min-h-screen"> |
| | | {!isLoginPage && <Navbar />} |
| | | <main className={`flex-1 ${isHomePage || isAIScenePage ? '' : 'bg-gradient-to-b from-[var(--ai-surface)] to-white'} pt-0 mt-0`}> |
| | | {!isLoginPage && !isRegisterPage && <Navbar />} |
| | | <main className={`flex-1 ${isHomePage || isAIScenePage ? '' : 'bg-gradient-to-b from-[var(--ai-surface)] to-white'} pt-0 mt-0`} |
| | | style={{ willChange: 'transform, opacity' }}> |
| | | {children} |
| | | </main> |
| | | {!isLoginPage && ( |
| | | {!isLoginPage && !isRegisterPage && ( |
| | | <footer className="relative z-20 bg-gradient-to-br from-[#0A1033] via-[#1E2B63] to-[#131C41] text-white py-10 overflow-hidden"> |
| | | {/* 科技感动态背景元素 */} |
| | | <div className="absolute inset-0 overflow-hidden pointer-events-none"> |