Commit Graph

217 Commits

Author SHA1 Message Date
gnezim ef04c19e13 Add calendarRange helpers for flights-map date picker window and snapping 2026-04-17 12:16:22 +03:00
gnezim f4b96b8248 Test FlightsMapStartPage filterRoutes + popups + auto-fallback wiring 2026-04-17 11:06:16 +03:00
gnezim 4e92e79a99 Wire filterRoutes, auto-fallback, and buy-ticket popups into Flights Map
routesToPolylines + intermediateCityIds now normalize airport codes to city
codes via the dictionaries so API responses resolve correctly. The page adds
effectiveConnections state + two effects for Angular-parity fallback
(retry connections=1 on empty direct-route result, then flip the UI toggle),
a filterRoutes memo feeding polylines and intermediateIds, and a popups memo
rendering departure + arrival buy-ticket popups in route mode only.
2026-04-17 11:00:40 +03:00
gnezim 77272423c1 Add buildBuyTicketUrl + escapeHtml helpers for popup content 2026-04-17 10:52:32 +03:00
gnezim 40f170f87a Add filterRoutes pure helper with airport-code normalization 2026-04-17 10:52:27 +03:00
gnezim 76e9270f5e Test FlightsMapStartPage polyline + intermediateIds wiring 2026-04-17 10:14:06 +03:00
gnezim 4e103d8073 Drive polylines and intermediateIds from useFlightsMapSearch routes 2026-04-17 10:12:15 +03:00
gnezim a9ed92466f Draw routes as city-code polylines and force-open intermediate tooltips
- routesToPolylines + intermediateCityIds pure helpers with unit coverage.
- IMapPolyline reshaped from points to cityIds for Angular-parity drawing.
- MapCanvas resolves coords via markerIndex, filters invisible cities on
  every zoom/toggle change, and runs a second tooltip pass that keeps
  intermediate-city tooltips open regardless of zoom/highlight rules.
2026-04-17 10:08:44 +03:00
gnezim a9b47036b5 Test FlightsMapStartPage marker construction from dictionaries 2026-04-17 08:46:43 +03:00
gnezim 1f24ee7159 Populate FlightsMapStartPage markers from dictionaries with zoom tiers 2026-04-17 08:44:40 +03:00
gnezim 725a048315 Add categorized rendering to MapCanvas: zoom-tier layers, highlight layer, tooltip rules 2026-04-17 08:41:42 +03:00
gnezim 54f9282a99 Extend IMapMarker with zoomLevel, countryType, highlighted fields 2026-04-17 08:35:27 +03:00
gnezim a61457bc90 Port Angular CityCategoryService to feature-local cityCategory module 2026-04-17 08:35:01 +03:00
gnezim 9a7fcba6ff Test FlightsMapStartPage dictionaries loading/error wiring 2026-04-17 03:21:39 +03:00
gnezim cfc6e12dc9 Wire useDictionaries into FlightsMapStartPage loading/error states 2026-04-17 03:20:01 +03:00
gnezim 03a720179c Expose dictionaries module barrel 2026-04-17 03:18:35 +03:00
gnezim 715b09fd18 Add useDictionaries hook wiring api + transform 2026-04-17 03:16:42 +03:00
gnezim e575c1baa1 Add dictionary lookup helpers and findCityByCoord 2026-04-17 03:14:28 +03:00
gnezim 64dd5421e2 Cover enrichment, lookup-map, and region ordering in transform tests 2026-04-17 03:13:46 +03:00
gnezim e5b49acecf Add dictionaries transform with filtering and partitioning rules 2026-04-17 03:13:18 +03:00
gnezim dc373553d2 Add fetchDictionaries parallel-fetch layer 2026-04-17 03:10:26 +03:00
gnezim da605f0576 Add Flights Map dictionaries type module 2026-04-17 03:09:39 +03:00
gnezim 6805b8fe4d Wire FullRouteTimeline and TransferBar into OnlineBoardDetailsPage
Multi-leg flights now render a full-route timeline header and interleave
a transfer-bar between consecutive legs, surfacing station change and
intermediate-landing duration inline with the leg details.
2026-04-17 02:38:24 +03:00
gnezim 4c87a3b362 Add FullRouteTimeline wrapper component 2026-04-17 02:33:52 +03:00
gnezim b8197b2db5 Add Timeline component with 2-leg carousel for multi-leg flights 2026-04-17 02:32:42 +03:00
gnezim dd43ea6905 Add TransferBar component for multi-leg transfer info 2026-04-17 02:31:42 +03:00
gnezim 01b2981407 Add TransferTime component for layover duration display 2026-04-17 02:30:16 +03:00
gnezim 391db7c948 Add StationChange component for multi-leg timeline 2026-04-17 02:29:43 +03:00
gnezim 2d01e1a37e Add Station component for multi-leg timeline 2026-04-17 02:28:59 +03:00
gnezim 81d04bdc49 Add computeTransferMinutes and formatMinutesAsDuration helpers 2026-04-17 02:26:33 +03:00
gnezim 6854d93344 Add detectStationChange helper for multi-leg timeline 2026-04-17 02:26:33 +03:00
gnezim 009c6a3aa1 Extend IFlightLeg with optional estimatedDuration/scheduledDuration 2026-04-17 02:25:20 +03:00
gnezim 6fd42585c1 Wire DetailsBackButton and FlightSchedule into OnlineBoardDetailsPage 2026-04-17 02:07:58 +03:00
gnezim 4093a2f1b5 Add DetailsBackButton component for header navigation 2026-04-17 02:05:21 +03:00
gnezim 00f88406db Add FlightSchedule accordion with days-of-week strip 2026-04-17 02:04:36 +03:00
gnezim 34b84fd44d Add DaysOfWeekStrip component for flight schedule 2026-04-17 02:03:24 +03:00
gnezim 4308a91dc8 Add weekDateRange helper for flight schedule note 2026-04-17 02:02:48 +03:00
gnezim 859886def8 Extend IFlightLeg with optional daysOfWeek field 2026-04-17 02:00:33 +03:00
gnezim 1f53dd1135 Wire BoardDetailsHeader into OnlineBoardDetailsPage 2026-04-17 01:39:49 +03:00
gnezim 8178aaed36 Add BoardDetailsHeader orchestrator component 2026-04-17 01:37:32 +03:00
gnezim 44af796678 Add LastUpdate component with timestamp and mobile share 2026-04-17 01:36:07 +03:00
gnezim 0efd19ed32 Add FlightEvents component with route-change and reroute indicators 2026-04-17 01:35:05 +03:00
gnezim ade7feb715 Add DetailsHeaderBadge with flight number and codesharing 2026-04-17 01:34:29 +03:00
gnezim a6fc2f7a2e Add FlightActions container 2026-04-17 01:33:35 +03:00
gnezim 624feb8643 Add PrintButton stub component (hidden on details page) 2026-04-17 01:30:26 +03:00
gnezim 9458c1cdca Add ShareButton component with toggle behavior 2026-04-17 01:30:03 +03:00
gnezim 8651e8df0f Add SharePanel component with social links and copy-to-clipboard 2026-04-17 01:29:31 +03:00
gnezim a70dbd2546 Add FlightStatusButton component 2026-04-17 01:28:54 +03:00
gnezim d0c50e81c5 Add RegistrationButton component 2026-04-17 01:28:13 +03:00
gnezim 369b413a32 Add BuyTicketButton component 2026-04-17 01:27:35 +03:00