"use client"; import { useState } from 'react'; import { useRouter } from 'next/router'; import Link from 'next/link'; import { Loader2 } from 'lucide-react'; export default function SignUp() { const router = useRouter(); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [confirmPassword, setConfirmPassword] = useState(''); const [error, setError] = useState(null); const [isLoading, setIsLoading] = useState(false); const handleSignUp = async (e: React.FormEvent) => { e.preventDefault(); setError(null); if (password !== confirmPassword) { setError("Passwords don't match"); return; } setIsLoading(true); try { // Simulate API delay await new Promise(resolve => setTimeout(resolve, 1000)); // Store mock user data in localStorage for demo localStorage.setItem('demo_user', JSON.stringify({ id: 'demo-user', email: email || 'demo@example.com', role: 'authenticated' })); // Redirect to dashboard router.push('/'); } catch (error) { setError(`An error occurred during sign up: ${error instanceof Error ? error.message : 'Unknown error'}`); } finally { setIsLoading(false); } }; return (

Create an account

Sign up to start trading

Demo Mode: Account creation is simulated

{error && (
{error}
)}
setEmail(e.target.value)} required className="mt-1 block w-full rounded-lg bg-card p-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-accent" placeholder="you@example.com" />
setPassword(e.target.value)} required className="mt-1 block w-full rounded-lg bg-card p-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-accent" placeholder="••••••••" />
setConfirmPassword(e.target.value)} required className="mt-1 block w-full rounded-lg bg-card p-2 text-sm text-text-primary placeholder:text-text-secondary focus:outline-none focus:ring-2 focus:ring-accent" placeholder="••••••••" />
Already have an account? Sign in
); }