'use client'; export const dynamic = 'force-dynamic'; export const revalidate = 0; import Link from 'next/link'; import { useEffect, useState } from 'react'; import { useRouter } from 'next/navigation'; import { signUp, useSession } from '@/lib/better-auth'; import { AuthShell } from '@/components/auth/auth-shell'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; export default function SignUpPage() { const router = useRouter(); const { data: session, isPending: sessionPending } = useSession(); const [name, setName] = useState(''); const [email, setEmail] = useState(''); const [password, setPassword] = useState(''); const [loading, setLoading] = useState(false); const [error, setError] = useState(null); useEffect(() => { if (!sessionPending && session?.user) { router.replace('/'); } }, [sessionPending, session, router]); const handleSubmit = async (event: React.FormEvent) => { event.preventDefault(); setLoading(true); setError(null); try { const result = await signUp.email({ name, email, password }); if (result.error) { setError(result.error.message || 'Unable to create account'); } else { router.replace('/'); router.refresh(); } } catch { setError('Sign up failed'); } finally { setLoading(false); } }; return ( Already registered?{' '} Sign in )} >
setName(event.target.value)} placeholder="Operator name" />
setEmail(event.target.value)} placeholder="you@company.com" />
setPassword(event.target.value)} placeholder="Minimum 8 characters" />
{error ?

{error}

: null}
); }