Commit Graph

634 Commits

Author SHA1 Message Date
gnezim 5d5a403bf0 Add role=status + aria-live=polite to SignalR connection status badges (a11y) 2026-04-20 22:25:37 +03:00
gnezim 22d9fca5b2 Add role=alert/status to error+not-found banners across details + search pages (a11y) 2026-04-20 22:24:05 +03:00
gnezim 826a583c4d Add aria-current=page to last breadcrumb item (a11y semantic for current location) 2026-04-20 22:21:35 +03:00
gnezim 57aeba5534 Add aria-current=page to active PageTabs nav link (a11y semantic for current page) 2026-04-20 22:20:36 +03:00
gnezim 590a8aac14 Add aria-pressed to active DayTab + WeekTab buttons (a11y) 2026-04-20 22:12:00 +03:00
gnezim eced09aeb0 Add aria-pressed to selected day-quick-pick buttons (a11y for screen readers) 2026-04-20 22:10:19 +03:00
gnezim 8679a7ecc7 i18n WeekTabs aria-labels (was hardcoded English) using existing A11Y-PREV/NEXT-PAGE keys 2026-04-20 22:07:32 +03:00
gnezim e8701eb5b7 Add aria-hidden to decorative arrow-icon spans in OnlineBoardFilter accordion headers 2026-04-20 22:03:35 +03:00
gnezim 5f5f60ca3e Add aria-hidden to decorative arrow-icon span in SearchHistory accordion header 2026-04-20 22:02:45 +03:00
gnezim 0921c606df Add aria-expanded to expandable FlightCard rows (a11y for screen readers) 2026-04-20 22:01:37 +03:00
gnezim 50cc2350ab Add aria-label to SearchHistory items (a11y — items are decorative without text label) 2026-04-20 22:00:25 +03:00
gnezim 841099287a Add aria-expanded to FlightSchedule + FlightDetailsAccordion accordion triggers (a11y) 2026-04-20 21:53:14 +03:00
gnezim 32d80332ff Add aria-expanded to accordion role=button triggers (a11y parity for filter + SearchHistory) 2026-04-20 21:51:47 +03:00
gnezim 5aae968610 Clarify IOperatingBy.flightNumber doc — it IS used for code-share display 2026-04-20 21:31:45 +03:00
gnezim f7193d09e9 Add SearchHistory icon tooltips for board vs schedule items (Angular pTooltip parity) 2026-04-20 21:20:30 +03:00
gnezim b54111ef28 Replace 'white' with $white token + drop 0px units in _buttons.scss 2026-04-20 21:10:21 +03:00
gnezim 81a6a296fd Drop redundant 'px' on zero-value paddings (CSS lint cleanup) 2026-04-20 21:04:09 +03:00
gnezim e44eedbab7 Tokenize 20px sticky position literals in PageLayout column-left 2026-04-20 21:02:06 +03:00
gnezim 5892310201 Tokenize 20px positioning literals in PageLayout sticky/scroll overlay 2026-04-20 21:00:46 +03:00
gnezim db0365833f Tokenize 12px padding literal in FlightsMiniList 2026-04-20 20:50:04 +03:00
gnezim 9f5ebae747 Tokenize font-weight: normal → fonts.$font-regular across 3 SCSS files 2026-04-20 20:48:27 +03:00
gnezim c9ee0e9043 Add title attribute (tooltip) to OperatorLogo (Angular pTooltip parity) 2026-04-20 20:39:09 +03:00
gnezim 24da3ab9d1 Add tooltips to schedule direction-switch buttons (Angular pTooltip parity) 2026-04-20 20:37:06 +03:00
gnezim 2b121181ef Add tooltips to PageTabs (Angular pTooltip parity via title attribute) 2026-04-20 20:36:18 +03:00
gnezim 90f6af41dd Tokenize 8px/10px/12px padding+gap literals in ScheduleDetailsPage + FlightDetailsAccordion + FlightSchedule 2026-04-20 20:22:46 +03:00
gnezim abe32c16d5 Use $font-medium token for .embolded class (vs literal 500) 2026-04-20 20:18:30 +03:00
gnezim 93926dedb8 Tokenize 8px margin literals in ScheduleStartPage + ScheduleFlightBody 2026-04-20 20:16:22 +03:00
gnezim 9250b5633a Tokenize remaining literals: BoardDetailsHeader padding/gap, WeekTabs/DayQuickPick padding, TimeGroup font-weight:300 → $font-light 2026-04-20 20:12:03 +03:00
gnezim 6b42f9c034 Add small IFlyWarning variant in expanded flight rows (Angular warning-ifly-carrier-small parity) 2026-04-20 20:05:25 +03:00
gnezim d942cb55bc Add IFlyWarning component shown on details pages for SU5801-5948 flights (Angular parity) 2026-04-20 20:02:45 +03:00
gnezim 28c88873a5 Tokenize 10px/12px button padding literals in FlightCard + ScheduleFlightBody + CityPickerPopup 2026-04-20 19:57:00 +03:00
gnezim 00be15a51a Tokenize 12px/8px padding literals in DayTabs + details-panels (Angular parity) 2026-04-20 19:55:07 +03:00
gnezim c820cc6baf Render FullRouteTimeline on Schedule details for multi-leg flights (Angular parity) 2026-04-20 19:53:21 +03:00
gnezim 2967fcea97 Tokenize mobile padding + transition-duration literals (Angular parity) 2026-04-20 19:51:21 +03:00
gnezim 342561ecc4 Replace remaining 3px border-radius literal in OnlineBoardFilter with token 2026-04-20 19:49:12 +03:00
gnezim 3a64476968 Use $medium-button-height token for Schedule search button height 2026-04-20 19:45:15 +03:00
gnezim 8ad63f0b0a Use existing i18n keys (INTERMEDIATE-LANDING-PLURAL-ONE, BACK-SCHEDULE) and drop non-existent fallbacks 2026-04-20 19:42:58 +03:00
gnezim 8c7b824a9e Render FlightSchedule (weekly days strip) on Schedule details direct flights (Angular parity) 2026-04-20 19:39:15 +03:00
gnezim 991c290c9c Tokenize DetailsBackButton + FlightStatus font-size (Angular parity) 2026-04-20 19:37:30 +03:00
gnezim 6b236ba706 Tokenize flight-action-btn spacing/fonts (Angular parity) 2026-04-20 19:35:57 +03:00
gnezim ca8fe33b8c Replace 40px/20px/10px/12px literals with vars.$space tokens across 4 SCSS files 2026-04-20 19:34:43 +03:00
gnezim a4923599b9 Wire Buy button on Schedule details page (Angular flight-actions parity) 2026-04-20 19:32:56 +03:00
gnezim cf93b28699 Replace literal 3px border-radius with vars.$border-radius token across 5 files 2026-04-20 19:28:31 +03:00
gnezim 9564085f23 Unify transitions: 120/150ms → 0.2s across 14 SCSS files (Angular parity) 2026-04-20 19:24:28 +03:00
gnezim da896260e6 Replace 8px directional margins with vars.$space-s2 (3 files) 2026-04-20 19:02:31 +03:00
gnezim 933407832a Replace 5px directional margins with vars.$space-s (2 files) 2026-04-20 18:56:34 +03:00
gnezim 0b84974c7a ScheduleStartPage bottom-description: padding 40px → vars.$space-xxl 2026-04-20 18:38:58 +03:00
gnezim 23b72bc535 WeekTabs + FlightSchedule: margin-top/bottom 12px → vars.$space-m2 2026-04-20 18:37:39 +03:00
gnezim 9ff034d19f OnlineBoard search: render Купить/Онлайн регистрация in expanded row
Angular's board search results expansion shows [Купить] [Онлайн
регистрация] [Детали рейса]. React only rendered Details. Added a
`renderActions` prop on FlightCard/FlightList so the feature layer
can inject extra buttons without the ui layer importing from
features. OnlineBoardSearchPage wires it to FlightActions with
showShare=false (the row already has a dedicated share icon).

Visibility rules fall through to canBuyTicket / canRegister (same
as BoardDetailsHeader), so cancelled/past flights still hide the
Buy button and carriers without a registrationUrl still hide the
Online Registration button — matching Angular's per-flight gating.

Integration test mocks useAppSettings to avoid requiring the real
ApiClientProvider in flight-search.test.tsx.
2026-04-20 18:27:31 +03:00
gnezim 2134447664 Replace margin/padding 20px directional literals with vars.$space-xl tokens (3 files) 2026-04-20 18:19:10 +03:00