diff options
| author | Ariel Costas Guerrero <ariel@costas.dev> | 2025-12-23 21:33:17 +0100 |
|---|---|---|
| committer | Ariel Costas Guerrero <ariel@costas.dev> | 2025-12-23 21:33:17 +0100 |
| commit | 4a866f5352a51916ddb9849b2d68213856196c9c (patch) | |
| tree | 3ba01ba01d5f6931adaf708b76ffccdd798fc78b /src/frontend/app/components/arrivals/ArrivalList.tsx | |
| parent | 87417c313b455ba0dee19708528cc8d0b830a276 (diff) | |
Full real-time page, coruña real time
Diffstat (limited to 'src/frontend/app/components/arrivals/ArrivalList.tsx')
| -rw-r--r-- | src/frontend/app/components/arrivals/ArrivalList.tsx | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/frontend/app/components/arrivals/ArrivalList.tsx b/src/frontend/app/components/arrivals/ArrivalList.tsx index b2394fb..0186682 100644 --- a/src/frontend/app/components/arrivals/ArrivalList.tsx +++ b/src/frontend/app/components/arrivals/ArrivalList.tsx @@ -1,25 +1,38 @@ import React from "react"; import { type Arrival } from "../../api/schema"; -import { ReducedArrivalCard } from "./ArrivalCard"; +import { ArrivalCard } from "./ArrivalCard"; +import { ReducedArrivalCard } from "./ReducedArrivalCard"; interface ArrivalListProps { arrivals: Arrival[]; reduced?: boolean; + onArrivalClick?: (arrival: Arrival) => void; } export const ArrivalList: React.FC<ArrivalListProps> = ({ arrivals, reduced, + onArrivalClick, }) => { + const clickable = Boolean(onArrivalClick); + return ( <div className="flex flex-col gap-3"> - {arrivals.map((arrival, index) => ( - <ReducedArrivalCard - key={`${arrival.route.shortName}-${index}`} - arrival={arrival} - reduced={reduced} - /> - ))} + {arrivals.map((arrival, index) => + reduced ? ( + <ReducedArrivalCard + key={`${arrival.tripId}-${index}`} + arrival={arrival} + onClick={clickable ? () => onArrivalClick?.(arrival) : undefined} + /> + ) : ( + <ArrivalCard + key={`${arrival.tripId}-${index}`} + arrival={arrival} + onClick={clickable ? () => onArrivalClick?.(arrival) : undefined} + /> + ) + )} </div> ); }; |
