crush-level-web/src/app/login/login-page.tsx

53 lines
1.4 KiB
TypeScript
Raw Normal View History

2025-11-28 06:31:36 +00:00
'use client'
import Image from 'next/image'
import { LoginForm } from './components/login-form'
import { LeftPanel } from './components/LeftPanel'
import { IconButton } from '@/components/ui/button'
import { useRouter } from 'next/navigation'
2025-11-13 08:38:25 +00:00
2025-11-28 06:31:36 +00:00
const scrollBg = '/images/login/v1/bg.png'
2025-11-13 08:38:25 +00:00
const images = [
2025-11-28 06:31:36 +00:00
'/images/login/v1/1.png',
'/images/login/v1/2.png',
'/images/login/v1/3.png',
'/images/login/v1/4.png',
'/images/login/v1/5.png',
'/images/login/v1/6.png',
'/images/login/v1/7.png',
'/images/login/v1/8.png',
'/images/login/v1/9.png',
'/images/login/v1/10.png',
2025-11-13 08:38:25 +00:00
]
export default function LoginPage() {
2025-11-28 06:31:36 +00:00
const router = useRouter()
2025-11-13 08:38:25 +00:00
const handleClose = () => {
2025-11-28 06:31:36 +00:00
router.replace('/')
2025-11-13 08:38:25 +00:00
}
return (
2025-12-09 09:13:46 +00:00
<div className="flex h-screen realoative w-screen overflow-hidden">
<IconButton
iconfont="icon-close"
variant="tertiaryDark"
size="large"
className="absolute top-6 left-6 z-20"
onClick={handleClose}
/>
<div className="relative flex w-full flex-col items-center justify-center px-6">
2025-11-13 08:38:25 +00:00
{/* Logo */}
2025-11-28 06:31:36 +00:00
<div className="relative mb-8 h-[48px] w-[120px] sm:mb-12 sm:h-[64px] sm:w-[160px]">
<Image src="/logo.svg" alt="Crush Level" fill className="object-contain" priority />
2025-11-13 08:38:25 +00:00
</div>
{/* 登录表单 */}
<div className="w-full max-w-[340px]">
<LoginForm />
</div>
</div>
</div>
)
}