import React, { useState } from 'react'; import { useForm } from 'react-hook-form'; import { EyeIcon, EyeSlashIcon, UserIcon, LockClosedIcon } from '@heroicons/react/24/outline'; import { useNavigate } from 'react-router-dom'; import { useAuth } from '@/client/home/hooks/AuthProvider'; const LoginPage: React.FC = () => { const { register, handleSubmit, formState: { errors } } = useForm(); const [showPassword, setShowPassword] = useState(false); const [loading, setLoading] = useState(false); const { login } = useAuth(); const navigate = useNavigate(); const onSubmit = async (data: any) => { try { setLoading(true); await login(data.username, data.password); navigate('/'); } catch (error) { console.error('Login error:', error); alert((error as Error).message || '登录失败,请检查用户名和密码'); } finally { setLoading(false); } }; return (

网站登录

登录您的账号以继续

{errors.username && (

{errors.username.message?.toString()}

)}
{errors.password && (

{errors.password.message?.toString()}

)}
还没有账号?
); }; export default LoginPage;