import React from "react"; import { useTranslation } from "react-i18next"; import { type Arrival } from "../../api/schema"; import { ArrivalCard } from "./ArrivalCard"; import { ReducedArrivalCard } from "./ReducedArrivalCard"; interface ArrivalListProps { arrivals: Arrival[]; reduced?: boolean; onArrivalClick?: (arrival: Arrival) => void; onTrackArrival?: (arrival: Arrival) => void; trackedTripId?: string; } export const ArrivalList: React.FC = ({ arrivals, reduced, onArrivalClick, onTrackArrival, trackedTripId, }) => { const { t } = useTranslation(); const clickable = Boolean(onArrivalClick); return (
{arrivals.length === 0 && (
{t("estimates.none", "No hay llegadas próximas disponibles para esta parada.")}
)} {arrivals.map((arrival, index) => reduced ? ( onArrivalClick?.(arrival) : undefined} /> ) : ( onArrivalClick?.(arrival) : undefined} onTrack={onTrackArrival ? () => onTrackArrival(arrival) : undefined} isTracked={trackedTripId === arrival.tripId} /> ) )}
); };