import React from 'react';
import { useNavigate, useParams } from 'react-router-dom';
import { YStack, XStack } from '@tamagui/stacks';
import { SizableText as Text } from '@tamagui/text';
import { Button } from '@tamagui/button';
import { Input } from '@tamagui/input';
import { Card } from '@tamagui/card';
import { useTranslation } from '@/guest/i18n/useTranslation';
import { useEventData } from '../context/EventDataContext';
import { useGuestIdentity } from '../context/GuestIdentityContext';
import EventLogo from '../components/EventLogo';
import { useGuestThemeVariant } from '../lib/guestTheme';
export default function ProfileSetupScreen() {
const { token } = useParams<{ token: string }>();
const navigate = useNavigate();
const { t } = useTranslation();
const { event, status } = useEventData();
const identity = useGuestIdentity();
const { isDark } = useGuestThemeVariant();
const primaryText = isDark ? '#F8FAFF' : '#0F172A';
const mutedText = isDark ? 'rgba(226, 232, 240, 0.7)' : 'rgba(15, 23, 42, 0.6)';
const cardBackground = isDark ? 'rgba(15, 23, 42, 0.75)' : 'rgba(255, 255, 255, 0.9)';
const cardBorder = isDark ? 'rgba(148, 163, 184, 0.18)' : 'rgba(15, 23, 42, 0.12)';
const [nameDraft, setNameDraft] = React.useState(identity.name ?? '');
const [saving, setSaving] = React.useState(false);
React.useEffect(() => {
if (identity.hydrated) {
setNameDraft(identity.name ?? '');
}
}, [identity.hydrated, identity.name]);
const handleSubmit = React.useCallback(() => {
if (!token) {
return;
}
const trimmed = nameDraft.trim();
if (!trimmed) {
return;
}
setSaving(true);
identity.setName(trimmed);
navigate(`/e/${encodeURIComponent(token)}`);
}, [identity, nameDraft, navigate, token]);
if (status === 'loading' || status === 'idle') {
return (
{t('profileSetup.loading')}
);
}
if (!event) {
return (
{t('profileSetup.error.default')}
);
}
return (
{event.name}
{t('profileSetup.card.description')}
{t('profileSetup.form.label')}
);
}