import { Car, Footprints, Hotel } from 'lucide-react' import type { RouteSegment } from '../../types' /** Slim travel-time connector shown between two consecutive located stops in a day. */ export function RouteConnector({ seg, profile }: { seg: RouteSegment; profile: 'driving' | 'walking' }) { const driving = profile === 'driving' const Icon = driving ? Car : Footprints const line = { flex: 1, height: 1, minHeight: 1, alignSelf: 'center', background: 'var(--border-primary)' } return (
{seg.durationText ?? (driving ? seg.drivingText : seg.walkingText)} · {seg.distanceText}
) } /** * The hotel's bookend legs for a day: a two-line connector naming the day's * accommodation with the drive to/from it. Rendered above the first place (the * morning departure from the hotel) and below the last place (the evening return), * when the "optimize from accommodation" setting is on and the day has a hotel. */ export function HotelRouteConnector({ seg, profile, name, placement, }: { seg: RouteSegment profile: 'driving' | 'walking' name: string placement: 'top' | 'bottom' }) { const driving = profile === 'driving' const Icon = driving ? Car : Footprints const line = { flex: 1, height: 1, minHeight: 1, alignSelf: 'center', background: 'var(--border-primary)' } const hotelRow = (
{name}
) const travelRow = (
{seg.durationText ?? (driving ? seg.drivingText : seg.walkingText)} · {seg.distanceText}
) return (
{placement === 'top' ? ( <> {hotelRow} {travelRow} ) : ( <> {travelRow} {hotelRow} )}
) }