import React from 'react'; import { Navigate, useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; import { Card } from '@tamagui/card'; import { YStack, XStack } from '@tamagui/stacks'; import { YGroup } from '@tamagui/group'; import { ListItem } from '@tamagui/list-item'; import { SizableText as Text } from '@tamagui/text'; import { MobileShell } from './components/MobileShell'; import { CTAButton } from './components/Primitives'; import { useEventContext } from '../context/EventContext'; import { formatEventDate, resolveEventDisplayName } from '../lib/events'; import { adminPath } from '../constants'; import { useAdminTheme } from './theme'; export default function MobileUploadsTabPage() { const { events, activeEvent, hasEvents, selectEvent } = useEventContext(); const { t, i18n } = useTranslation('management'); const navigate = useNavigate(); const { text, muted, border, primary, surface, surfaceMuted, shadow } = useAdminTheme(); if (activeEvent?.slug) { return ; } if (!hasEvents) { return ( {t('mobileUploads.emptyBadge', 'No uploads yet')} {t('mobileUploads.emptyTitle', 'Create an event first')} {t('mobileUploads.emptyBody', 'Add your first event to review uploads and manage QR sharing.')} navigate(adminPath('/mobile/events/new'))} /> ); } const locale = i18n.language?.startsWith('en') ? 'en-GB' : 'de-DE'; return ( {t('mobileUploads.pickEvent', 'Pick an event to manage uploads')} {events.map((event) => ( {resolveEventDisplayName(event)} {formatEventDate(event.event_date, locale) ?? t('mobileDashboard.status.draft', 'Draft')} } iconAfter={ {t('mobileUploads.open', 'Open')} } onPress={() => { selectEvent(event.slug ?? null); if (event.slug) { navigate(adminPath(`/mobile/events/${event.slug}/control-room`)); } }} /> ))} ); }