import React, { useMemo } from "react"; import { useTranslation } from "react-i18next"; import LineIcon from "~/components/LineIcon"; import { type Arrival } from "../../api/schema"; import "./ArrivalCard.css"; interface ArrivalCardProps { arrival: Arrival; reduced?: boolean; } export const ArrivalCard: React.FC = ({ arrival, reduced, }) => { const { t } = useTranslation(); const { route, headsign, estimate } = arrival; const etaValue = Math.max(0, Math.round(estimate.minutes)).toString(); const etaUnit = t("estimates.minutes", "min"); const timeClass = useMemo(() => { switch (estimate.precission) { case "confident": return "time-running"; case "unsure": return "time-delayed"; case "past": return "time-past"; default: return "time-scheduled"; } }, [estimate.precission]); return (
{headsign.destination}
{etaValue} {etaUnit}
); };