"use client"; import React, { useState } from "react"; import { useRouter } from "next/navigation"; import Link from "next/link"; import { signInWithGoogle, registerUser } from "@/lib/auth"; import { GradientText } from "@/components/ui/gradient-text"; export default function SignupPage() { const [name, setName] = useState(""); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [inviteCode, setInviteCode] = useState(""); const [isSubmitting, setIsSubmitting] = useState(false); const [formError, setFormError] = useState(""); const router = useRouter(); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setIsSubmitting(true); setFormError(""); try { // Use new registration API await registerUser({ userName: name, email, password, inviteCode: inviteCode || undefined, }); // Redirect to login page after successful registration router.push("/login?registered=true"); } catch (error: any) { console.error("Signup error:", error); setFormError("Registration failed, please try again"); } finally { setIsSubmitting(false); } }; const handleGoogleSignIn = () => { signInWithGoogle(); }; return (
{/* 背景视频 */} {/* 视频遮罩层 */}
{/* Logo */}
router.push("/")} > {/* beta标签 */} Beta
{/* 注册框 - 居中显示 */}

Sign Up, for free

Create your account to get started

setName(e.target.value)} required className="w-full px-4 py-3 rounded-lg bg-black/30 border border-white/20 text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent" />
setEmail(e.target.value)} required className="w-full px-4 py-3 rounded-lg bg-black/30 border border-white/20 text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent" />
setPassword(e.target.value)} required className="w-full px-4 py-3 rounded-lg bg-black/30 border border-white/20 text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent" />
setInviteCode(e.target.value)} className="w-full px-4 py-3 rounded-lg bg-black/30 border border-white/20 text-white placeholder-gray-400 focus:outline-none focus:ring-2 focus:ring-purple-500 focus:border-transparent" />
{formError && (
{formError}
)}
Back to login
{/*
or
*/}

Already have an account?{" "} Login

); }