'use client'; import Link from 'next/link'; import { useState } from 'react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Input } from '@/components/ui/input'; import { Label } from '@/components/ui/label'; import { Alert, AlertDescription } from '@/components/ui/alert'; import { supabase } from '@/lib/supabase'; export function SignUpForm() { const [formData, setFormData] = useState({ firstName: '', lastName: '', email: '', password: '', confirmPassword: '', }); const [loading, setLoading] = useState(false); const [message, setMessage] = useState(''); const handleInputChange = (e: React.ChangeEvent) => { setFormData(prev => ({ ...prev, [e.target.name]: e.target.value, })); }; const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setMessage(''); try { const { error } = await supabase.auth.signUp({ email: formData.email, password: formData.password, options: { data: { first_name: formData.firstName, last_name: formData.lastName, }, }, }); if (error) { setMessage(error.message); } else { setMessage('Successfully signed up! Please check your email to confirm your account.'); } } catch (_error) { setMessage('An error occurred during sign up'); } finally { setLoading(false); } }; return (
Sign Up Create your account to get started {message && ( {message} )}

Already have an account? {' '} Sign in

); }