"use client"; import { useState, useCallback, useEffect } from "react"; import "./style/login.css"; import { useRouter, useSearchParams } from "next/navigation"; import React from "react"; import Link from "next/link"; import { signInWithGoogle, loginUser } from "@/lib/auth"; import { GradientText } from "@/components/ui/gradient-text"; import { Eye, EyeOff } from "lucide-react"; export default function Login() { const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [showPassword, setShowPassword] = useState(false); const [isSubmitting, setIsSubmitting] = useState(false); const [formError, setFormError] = useState(""); const [successMessage, setSuccessMessage] = useState(""); const router = useRouter(); const searchParams = useSearchParams(); // Check for registered=true parameter useEffect(() => { const registered = searchParams?.get("registered"); if (registered === "true") { setSuccessMessage( "Registration successful! Please login with your new account." ); } const error = searchParams?.get("error"); if (error) { if (error === "google_oauth") { setFormError("Google login failed, please try again."); } else if (error === "auth_failed") { setFormError("Authentication failed, please try again."); } } }, [searchParams]); const handleGoogleSignIn = () => { signInWithGoogle(); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); setFormError(""); setSuccessMessage(""); try { await loginUser(email, password); // 登录成功后跳转到首页 router.push("/"); } catch (error: any) { console.error("Login failed:", error); // 根据错误类型显示不同的错误消息 setFormError( "Login failed, please check your credentials and try again." ); } finally { setIsSubmitting(false); } }; return (
{/* 背景视频 */} {/* 视频遮罩层 */}
{/* Logo */}
router.push("/")} > {/* beta标签 */} Beta
{/* 登录框 - 居中显示 */}

Login

Enter your credentials to access your account

{successMessage && (
{successMessage}
)}
setEmail(e.target.value)} />
setPassword(e.target.value)} />
{formError && (
{formError}
)} {/*
or
*/}

Don't have an account?{" "} Sign up

); }