import { ArrowRight, Clock, Close, Info, Reset } from './Icons'; import { RouteBadge } from './RouteBadge'; import type { Alert } from './types'; const periodFormat = new Intl.DateTimeFormat('ru', { timeZone: 'Europe/Minsk', day: 'numeric', month: 'short', hour: '2-digit', minute: '2-digit' }); export function AlertCard({ alert }: { alert: Alert }) { const cancelled = alert.type === 'cancellation'; const detour = alert.type === 'detour'; const delayed = alert.type === 'delay'; const Icon = cancelled ? Close : detour ? Reset : delayed ? Clock : Info; const label = cancelled ? 'Отмена рейсов' : detour ? 'Изменение маршрута' : delayed ? 'Задержка движения' : alert.type === 'info' ? 'Обратите внимание' : 'Изменения движения'; const periodAt = alert.endAt || alert.startAt; const period = periodAt && Number.isFinite(Date.parse(periodAt)) ? periodFormat.format(Date.parse(periodAt)) : null; return
{label}{period && {alert.endAt ? 'До' : 'С'} {period}}
{!!alert.routeNumbers.length &&
{alert.routeNumbers.map(number => )}
}

{alert.title}

{alert.message}

{!alert.routeNumbers.length &&
На этой остановке
}
; }