"use client"; import { useState } from "react"; import { GraduationCap, ArrowRight, Loader2 } from "lucide-react"; import { useAuth } from "@/components/AuthProvider"; import { mockApi } from "@/lib/mockApi"; import Image from "next/image"; export default function LoginPage() { const [username, setUsername] = useState(""); const [password, setPassword] = useState(""); const [error, setError] = useState(""); const [loading, setLoading] = useState(false); const { login } = useAuth(); const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setError(""); setLoading(true); try { const { token, user } = await mockApi.login(username, password); login(token, user); } catch (err: any) { setError(err.message || "登录失败,请检查账号密码"); } finally { setLoading(false); } }; const autofill = (user: string) => { setUsername(user); setPassword("passwd"); }; return (
{/* Dynamic Background Elements */}
{/* Glassmorphic Card */}

欢迎登录

SEEC-Analysis 学生评价平台

setUsername(e.target.value)} className="w-full px-5 py-3.5 bg-surface-container-high/50 border border-outline-variant/50 rounded-xl focus:ring-2 focus:ring-primary focus:border-transparent outline-none transition-all placeholder:text-outline text-on-surface shadow-inner" placeholder="请输入学号/工号" required />
setPassword(e.target.value)} className="w-full px-5 py-3.5 bg-surface-container-high/50 border border-outline-variant/50 rounded-xl focus:ring-2 focus:ring-primary focus:border-transparent outline-none transition-all placeholder:text-outline text-on-surface shadow-inner" placeholder="请输入密码" required />
{error && (
⚠️ {error}
)}
{/* Quick Mock Login Helpers */}

Mock 账号

{/* Footer Brand Banner */}
SEEC Analysis
); }