import React from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; import { YStack, XStack } from '@tamagui/stacks'; import { SizableText as Text } from '@tamagui/text'; import { Pressable } from '@tamagui/react-native-web-lite'; import { CheckCircle2, Circle } from 'lucide-react'; import { MobileSheet } from './Sheet'; import { useAdminTheme } from '../theme'; import { TenantEvent } from '../../api'; import { resolveEventDisplayName, formatEventDate } from '../../lib/events'; import { adminPath } from '../../constants'; export function EventSwitcherSheet({ open, onClose, events, activeSlug, }: { open: boolean; onClose: () => void; events: TenantEvent[]; activeSlug: string | null; }) { const { t, i18n } = useTranslation(['management', 'mobile']); const navigate = useNavigate(); const theme = useAdminTheme(); const locale = i18n.language; const handleSelect = (slug: string) => { onClose(); // Navigate to the dashboard of the selected event navigate(adminPath(`/mobile/events/${slug}`)); }; return ( {events.map((event) => { const isActive = event.slug === activeSlug; return ( handleSelect(event.slug)}> {resolveEventDisplayName(event)} {formatEventDate(event.event_date, locale)} {isActive ? ( ) : ( )} ); })} { onClose(); navigate(adminPath('/mobile/events/new')); }}> {t('mobile:header.createEvent', 'Create Event')} ); }