mirror of
https://github.com/mauriceboe/TREK.git
synced 2026-06-19 13:21:46 +00:00
abe1c549bd
Closes #718. Adds five new transport reservation types alongside the existing flight/train/car/cruise: bus, taxi, bicycle, ferry and a generic 'transport_other' catch-all. The new types are treated as first-class transports everywhere — the transport modal, day plan, route calculation, map overlays, file grouping and the PDF export — and are translated across all 20 locales. A dedicated 'transport_other' value is used for the catch-all so existing 'other' bookings are not reclassified as transport.
41 lines
1.8 KiB
TypeScript
41 lines
1.8 KiB
TypeScript
import {
|
|
FileText, Info, Clock, MapPin, Navigation, Train, Plane, Bus, Car, Ship,
|
|
Coffee, Ticket, Star, Heart, Camera, Flag, Lightbulb, AlertTriangle,
|
|
ShoppingBag, Bookmark, Hotel, Utensils, Users, Sailboat, Bike, CarTaxiFront, Route,
|
|
} from 'lucide-react'
|
|
|
|
export const RES_ICONS = { flight: Plane, hotel: Hotel, restaurant: Utensils, train: Train, car: Car, cruise: Ship, bus: Bus, ferry: Sailboat, bicycle: Bike, taxi: CarTaxiFront, transport_other: Route, event: Ticket, tour: Users, other: FileText }
|
|
|
|
export const NOTE_ICONS = [
|
|
{ id: 'FileText', Icon: FileText },
|
|
{ id: 'Info', Icon: Info },
|
|
{ id: 'Clock', Icon: Clock },
|
|
{ id: 'MapPin', Icon: MapPin },
|
|
{ id: 'Navigation', Icon: Navigation },
|
|
{ id: 'Train', Icon: Train },
|
|
{ id: 'Plane', Icon: Plane },
|
|
{ id: 'Bus', Icon: Bus },
|
|
{ id: 'Car', Icon: Car },
|
|
{ id: 'Ship', Icon: Ship },
|
|
{ id: 'Coffee', Icon: Coffee },
|
|
{ id: 'Ticket', Icon: Ticket },
|
|
{ id: 'Star', Icon: Star },
|
|
{ id: 'Heart', Icon: Heart },
|
|
{ id: 'Camera', Icon: Camera },
|
|
{ id: 'Flag', Icon: Flag },
|
|
{ id: 'Lightbulb', Icon: Lightbulb },
|
|
{ id: 'AlertTriangle', Icon: AlertTriangle },
|
|
{ id: 'ShoppingBag', Icon: ShoppingBag },
|
|
{ id: 'Bookmark', Icon: Bookmark },
|
|
]
|
|
const NOTE_ICON_MAP = Object.fromEntries(NOTE_ICONS.map(({ id, Icon }) => [id, Icon]))
|
|
export function getNoteIcon(iconId) { return NOTE_ICON_MAP[iconId] || FileText }
|
|
|
|
export const TYPE_ICONS = {
|
|
flight: '✈️', hotel: '🏨', restaurant: '🍽️', train: '🚆',
|
|
car: '🚗', cruise: '🚢', bus: '🚌', ferry: '⛴️', bicycle: '🚲', taxi: '🚕',
|
|
transport_other: '🧭', event: '🎫', other: '📋',
|
|
}
|
|
|
|
export const TRANSPORT_DETAIL_COLORS = { flight: '#3b82f6', train: '#06b6d4', bus: '#059669', ferry: '#0d9488', bicycle: '#84cc16', taxi: '#ca8a04', car: '#6b7280', cruise: '#0ea5e9', transport_other: '#6b7280' }
|