import React, { useState, useEffect } from 'react'; import { useParams, useNavigate } from 'react-router-dom'; import { useEventData } from '../hooks/useEventData'; import { useGuestIdentity } from '../context/GuestIdentityContext'; import { Input } from '@/components/ui/input'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { Label } from '@/components/ui/label'; import Header from '../components/Header'; export default function ProfileSetupPage() { const { slug } = useParams<{ slug: string }>(); const nav = useNavigate(); const { event, loading, error } = useEventData(); const { name: storedName, setName: persistName, hydrated } = useGuestIdentity(); const [name, setName] = useState(storedName); const [submitting, setSubmitting] = useState(false); useEffect(() => { if (!slug) { nav('/'); return; } }, [slug, nav]); useEffect(() => { if (hydrated) { setName(storedName); } }, [hydrated, storedName]); function handleChange(value: string) { setName(value); } function submitName() { if (!slug) return; const trimmedName = name.trim(); if (!trimmedName) return; setSubmitting(true); try { persistName(trimmedName); nav(`/e/${slug}`); } catch (e) { console.error('Fehler beim Speichern des Namens:', e); setSubmitting(false); } } if (loading) { return (
{error || 'Event nicht gefunden.'}