'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(error.message || 'Registration failed, please try again'); } finally { setIsSubmitting(false); } }; const handleGoogleSignIn = () => { signInWithGoogle(); }; return (
{/* 背景视频 */} {/* 视频遮罩层 */}
{/* Logo */}
{/* 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

); }