blob: 0186682b70eed0736ff98fc95acbdacb00863366 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import React from "react";
import { type Arrival } from "../../api/schema";
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) =>
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>
);
};
|