'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { useAuthStore } from '@/stores/useAuthStore'; import { LayoutGrid, Phone, Lock, Eye, EyeOff } from 'lucide-react'; export default function LoginPage() { const router = useRouter(); const { login } = useAuthStore(); const [phone, setPhone] = useState(''); const [password, setPassword] = useState(''); const [remember, setRemember] = useState(false); const [showPassword, setShowPassword] = useState(false); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); setError(''); if (!phone.trim() || !password.trim()) { setError('请输入手机号和密码'); return; } setLoading(true); setTimeout(() => { const success = login(phone.trim(), password, remember); if (success) { router.push('/products'); } else { setError('手机号或密码错误'); } setLoading(false); }, 300); }; return (
{/* Logo */}

FTB 项目管理

登录以继续使用系统

{/* Form */}
setPhone(e.target.value)} placeholder="请输入手机号" maxLength={11} className="h-10 w-full rounded-lg border border-[var(--line)] bg-[var(--bg)] pl-10 pr-3 text-[14px] text-[var(--ink)] placeholder:text-[var(--ink-muted)] focus:border-[var(--accent)] focus:outline-none focus:ring-2 focus:ring-[var(--accent-ring)] transition-all" />
setPassword(e.target.value)} placeholder="请输入密码" className="h-10 w-full rounded-lg border border-[var(--line)] bg-[var(--bg)] pl-10 pr-10 text-[14px] text-[var(--ink)] placeholder:text-[var(--ink-muted)] focus:border-[var(--accent)] focus:outline-none focus:ring-2 focus:ring-[var(--accent-ring)] transition-all" />
{error && (
{error}
)}

默认账号:13200132008 / Ftb@2024(超级管理员)

); }