Commit Graph

101 Commits

Author SHA1 Message Date
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
gnezim 0c84d635d8 Add shared action button styles 2026-04-17 01:25:12 +03:00
gnezim aea0e0b299 Add OperatorLogo component for airline branding 2026-04-17 01:24:54 +03:00
gnezim 8c63114cf0 Copy airline logos and SCSS from Angular to React 2026-04-17 01:24:17 +03:00
gnezim 07541aa279 Fix flightStatusVisibility test to use timezone-stable dates 2026-04-17 01:23:30 +03:00
gnezim 51bc2f6acc Add canViewFlightStatus visibility logic 2026-04-17 01:22:56 +03:00
gnezim 9234dcd2e1 Add canRegister visibility logic 2026-04-17 01:22:15 +03:00
gnezim 5d3792f304 Add canBuyTicket visibility logic 2026-04-17 01:21:33 +03:00
gnezim 35760aefa2 Add airline config for B.4 action buttons 2026-04-17 01:20:50 +03:00
gnezim 50e3f1b961 Wire DayTabs into OnlineBoardDetailsPage stickyContent 2026-04-17 00:30:53 +03:00
gnezim bd147dabe1 Add DayTabs container with pagination and auto-scroll-to-active 2026-04-17 00:24:12 +03:00
gnezim 5b85231132 Add DaySelect component for mobile day navigation 2026-04-17 00:21:55 +03:00
gnezim 427217dfc2 Add DayTabButton component for day tabs navigator 2026-04-17 00:20:35 +03:00
gnezim 8760176bea Expose daysOfFlight from useFlightDetails for day-tabs navigation 2026-04-17 00:19:08 +03:00
gnezim 9522f235cf Add date range helpers for day tabs 2026-04-17 00:15:20 +03:00
gnezim b2a6770143 Fix mini-list selection: match flight by date from URL, not allFlights[0] 2026-04-16 23:38:39 +03:00
gnezim dd47e74670 Fix Link mock typing in FlightsMiniList test 2026-04-16 23:36:41 +03:00
gnezim cf08541256 Wire FlightsMiniList into OnlineBoardDetailsPage via PageLayout 2026-04-16 23:35:29 +03:00
gnezim bfe14012c7 Add FlightsMiniList container with scroll-into-view behavior 2026-04-16 23:28:36 +03:00
gnezim 23fe6ae88d Add FlightsMiniListItem component with Link navigation 2026-04-16 23:26:18 +03:00
gnezim 58215a4bf0 Expose allFlights array from useFlightDetails for mini-list sidebar 2026-04-16 23:23:18 +03:00
gnezim 4a8ae20c47 Fix stale test URLs and skip tests for out-of-scope features 2026-04-16 22:47:16 +03:00
gnezim 8e2fb08962 Wire FlightDetailsAccordion into OnlineBoardDetailsPage per leg 2026-04-16 22:43:38 +03:00
gnezim 6f59527382 Fix DeboardingPanel test to use destructuring for exactOptionalPropertyTypes 2026-04-16 22:40:39 +03:00
gnezim 0c27422da7 Add FlightDetailsAccordion container orchestrating 6 panel components 2026-04-16 22:39:45 +03:00
gnezim c125322078 Add ServicesPanel component for on-board service icons 2026-04-16 22:36:58 +03:00
gnezim d7ff79b967 Add MealPanel component with meal-type icons and aeroflot.ru links 2026-04-16 22:35:17 +03:00
gnezim 6dbcc38081 Add AircraftPanel component for flight details accordion 2026-04-16 22:30:33 +03:00
gnezim c9cfc5907c Add DeboardingPanel component for flight details accordion 2026-04-16 22:29:03 +03:00
gnezim 064b7c68ee Add BoardingPanel component for flight details accordion 2026-04-16 22:27:20 +03:00
gnezim f535e4078e Add RegistrationPanel component for flight details accordion 2026-04-16 22:25:53 +03:00
gnezim 37222e07e1 Copy service and meal icon SVGs from Angular to React 2026-04-16 22:24:01 +03:00
gnezim 6bd17b047f Add shared helpers and DETAILS i18n keys for flight details panels 2026-04-16 22:23:29 +03:00
gnezim 81574ae137 Extend IFlightLeg with transition and full equipment types 2026-04-16 22:19:21 +03:00
gnezim 9a278c3170 Fix route path: use onlineboard not online-board in navigation URLs 2026-04-16 18:37:18 +03:00
gnezim 68f7c239dc Pre-fill schedule form from popular request query params
Add buildSchedulePopularRequestQueryParams to convert Route/RouteWithBack
popular requests into URL search params. ScheduleStartPage now reads
departure/arrival/return from query params to initialize form state, and
the popular request click handler navigates with appropriate params for
both Schedule and Onlineboard request types.
2026-04-16 18:29:56 +03:00
gnezim 1aaebc5176 Wire popular request clicks to pre-fill OnlineBoardFilter via query params
Clicking a popular request now builds URLSearchParams and navigates with
them, so the filter initializes with the correct tab/fields pre-filled.
Schedule-type requests redirect to the schedule feature instead.
2026-04-16 18:24:53 +03:00
gnezim 65ed6c1749 Fix calendar days bitmask parsing and filter hydration from URL params
Calendar days API returns a 31-char bitmask ('1'=available, '0'=unavailable)
starting from baseDate-1. parseCalendarDays now converts this to yyyyMMdd
date strings matching Angular's search-page-base.component.ts logic.

Calendar strip buttons now show formatted day numbers instead of raw dates.

OnlineBoardFilter now accepts initial values from URL params so the
departure/arrival/date fields are populated on search results pages.
2026-04-16 13:56:08 +03:00
gnezim b533124e04 Match Angular bottom-description padding and line-height exactly 2026-04-16 11:57:31 +03:00
gnezim 5f33ef371d Style schedule PrimeReact buttons and swap icon to match Angular 2026-04-16 11:54:35 +03:00
gnezim 63c3705a0c Style PrimeReact dropdown/calendar buttons to match Angular subtle chevrons
Override PrimeReact AutoComplete dropdown button: transparent bg, no border,
gray color, smaller icon — matches Angular's custom city-autocomplete
search-button styling.

Override PrimeReact Calendar trigger button: transparent bg, smaller icon,
blue color — matches Angular's outline calendar icon.

Fix swap button: remove circular border, use Angular's flat white style
with rotate(90deg) on the arrows SVG.
2026-04-16 11:52:27 +03:00
gnezim a2ab4fda16 Match Angular form controls: swap icon, city dropdowns, schedule date range
Online board filter: use Angular sprite SVG for swap button, add dropdown
chevron to city AutoComplete inputs.

Schedule filter: add swap button between cities, replace two separate
date fields with single range Calendar matching Angular. Fix button text
to "Показать расписание", date label to "Показать расписание на".
Add dropdown chevrons to city inputs.
2026-04-16 11:45:40 +03:00
gnezim d096fbe9e1 Restore date defaults to today so search forms submit correctly
Null dates broke form submission — the handlers bail early when date
is null. Restore initialization to today/+7 days as before. The
Calendar placeholder prop still provides the format hint when cleared.
2026-04-16 09:24:59 +03:00