// components/events/EventRegistrationForm.tsx 'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; export default function EventRegistrationForm({ eventId }: { eventId: number }) { const router = useRouter(); const [formData, setFormData] = useState({ steamId: '', carModel: '', carSkin: '', teamName: '', }); const [loading, setLoading] = useState(false); const [error, setError] = useState(''); const [success, setSuccess] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); setError(''); setSuccess(false); try { const response = await fetch('/api/events/register', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ eventId, ...formData, }), }); const data = await response.json(); if (!response.ok) { throw new Error(data.error || 'Registration failed'); } setSuccess(true); setTimeout(() => { router.refresh(); }, 1500); } catch (err: any) { setError(err.message); } finally { setLoading(false); } }; return (
); }