import { Train, MapPin, ArrowRight } from "lucide-react"; import { Group, Stack, Text, Badge, Box, SimpleGrid } from "@mantine/core"; import type { BookingDetail } from "@/types/booking"; import { SectionCard } from "./SectionCard"; import { MetricTile } from "./MetricTile"; export interface BookingRouteServiceCardProps { booking: BookingDetail; originLabel: string; destinationLabel: string; } function Endpoint({ label, station, align = "left", }: { label: string; station: string; align?: "left" | "right"; }) { return ( {label} {station} ); } export function BookingRouteServiceCard({ booking, originLabel, destinationLabel, }: BookingRouteServiceCardProps) { const serviceLabel = booking.serviceType?.label ?? booking.serviceType?.code ?? "Rail service"; const metrics = [ { label: "Trade direction", value: booking.tradeDirection }, { label: "Freight type", value: booking.freightType }, { label: "Equipment return", value: booking.equipmentReturn ?? "—" }, ...(booking.shippingLine ? [ { label: "Shipping line", value: booking.shippingLine.label ?? booking.shippingLine.name ?? booking.shippingLine.code ?? "—", }, ] : []), ]; return ( {serviceLabel} {metrics.map((m) => ( ))} ); }