gnezim
df4ac19f7d
Branch schedule details title by direct vs connecting per TZ Table 6 rows 11-13
2026-04-21 17:24:16 +03:00
gnezim
f03562e4cd
Align Online-Board page titles with TZ Table 6 (сегодня/завтра/ДД.ММ.ГГГГ date display)
...
- Add formatDateForTitle helper: returns today/tomorrow labels or dd.MM.yyyy
- Switch all search page title builders to use formatDateForTitle; descriptions keep dd.MM.yyyy
- FLIGHT-DETAILS title now uses routeCities (no date) per TZ rows 6-8; adds TITLE-NO-ROUTE fallback for SSR when cities not yet loaded
- buildFlightDetailsSeoFromId accepts optional cityNames param
- Update ru/en i18n TITLE strings to TZ Table 6 format; add TITLE-NO-ROUTE to all 9 locales
- Tests: 32 cases covering today/tomorrow/arbitrary-date branches and routeCities logic
2026-04-21 17:18:59 +03:00
gnezim
4f840486b8
Consolidate scattered +330/+6mo date-window literals into shared dateWindow module
2026-04-21 17:09:17 +03:00
gnezim
ead18fc5e5
Enforce [-1, +330] schedule window redirect guard per TZ 4.1.2-R11
2026-04-21 17:07:24 +03:00
gnezim
57d21f6a42
Enforce [-1, +14] date-window guard on Online-Board details route per TZ 4.1.2-R11
...
Out-of-window dates now redirect to /{locale}/onlineboard instead of rendering
stale data. Parse failures (malformed URLs) continue to 404 unchanged.
2026-04-21 17:00:22 +03:00
gnezim
d633b2daa0
Enforce [-1, +14] date-window guard on Online-Board arrival route per TZ 4.1.2-R11
...
Out-of-window dates now redirect to /{locale}/onlineboard instead of rendering
stale data. Parse failures (malformed URLs) continue to 404 unchanged.
2026-04-21 17:00:17 +03:00
gnezim
7d6b23b5af
Enforce [-1, +14] date-window guard on Online-Board departure route per TZ 4.1.2-R11
...
Out-of-window dates now redirect to /{locale}/onlineboard instead of rendering
stale data. Parse failures (malformed URLs) continue to 404 unchanged.
2026-04-21 17:00:12 +03:00
gnezim
f2c52ca988
Enforce [-1, +14] date-window guard on Online-Board route route per TZ 4.1.2-R11
...
Out-of-window dates now redirect to /{locale}/onlineboard instead of rendering
stale data. Parse failures (malformed URLs) continue to 404 unchanged.
2026-04-21 17:00:07 +03:00
gnezim
f5304e200e
Enforce [-1, +14] date-window guard on Online-Board flight route per TZ 4.1.2-R11
...
Out-of-window dates now redirect to /{locale}/onlineboard instead of rendering
stale data. Parse failures (malformed URLs) continue to 404 unchanged.
2026-04-21 16:50:17 +03:00
gnezim
fbd4438da0
Add boardDateRedirect guard utility for Online-Board date-window per TZ 4.1.2-R11
...
Shared single-purpose helper: returns redirect path when a parsed yyyymmdd
date falls outside the [-1, +14] day window, null otherwise. Six unit tests
cover both bounds, the in-window case, and locale propagation.
2026-04-21 16:44:03 +03:00
gnezim
8b22f0601f
Use shared detailsRequestParam codec for mini-list parent-request (route + flight kinds)
2026-04-21 16:37:32 +03:00
gnezim
531ace6abc
Add ?request= query-param codec for Online-Board details URLs per TZ 4.1.2 Table 5 row 6
2026-04-21 16:33:16 +03:00
gnezim
750a328528
Add centralized date-window constants per TZ 4.1.2-R12 (board/schedule/map)
2026-04-21 16:30:04 +03:00
gnezim
13170eb689
Fix review issues in P1 spec rule rows (bracket notation, cross-refs, typo, R8 split)
2026-04-21 16:26:52 +03:00
gnezim
816028603b
Populate full rule enumeration for P1 subsections 4.1.2/3/4/8 in TZ audit spec
2026-04-21 16:18:05 +03:00
gnezim
a6f7d3df8c
Add P1 implementation plan: URLs, breadcrumbs, page names, cross-section nav
2026-04-21 15:59:04 +03:00
gnezim
8e84c41243
Add TZ РИ-07-2538С compliance-audit spec for 4.1 (Online-Board / Schedule / Flight Map)
2026-04-21 15:45:11 +03:00
gnezim
9efc76bab1
Auto-commit exact-match typed city/airport names in CityAutocomplete
...
Typing a full city name (or airport name) and clicking search without
picking a dropdown row previously did nothing: the parent-held city
code stayed empty and the submit handler silently short-circuited.
Exact case-insensitive name matches now resolve to the owning city
code immediately, so the Schedule and OnlineBoard start pages can act
on keyboard-only input. Partial text still requires a dropdown pick.
2026-04-21 12:19:55 +03:00
gnezim
3ae59dae1d
Keep multi-leg operator logos compact (round) when schedule row is expanded
...
Expanding a connecting-flight row on /schedule/route used to swap the small
round airline badges in the header for the wide rectangular logo, which
overflowed the operator column and overlapped the departure time. The
header now always renders the round variant on schedule pages, regardless
of the expansion state.
2026-04-21 12:10:52 +03:00
gnezim
7577e703c2
Close SharePanel on Escape + mark as role=dialog with aria-label (a11y + PrimeNG parity)
2026-04-21 08:32:21 +03:00
gnezim
36db7d3f2e
Add aria-label to OnlineBoard search forms (flight-number + route) for a11y
2026-04-21 08:30:25 +03:00
gnezim
3d815fa9e3
Add aria-label to Schedule search forms (a11y discoverable forms)
2026-04-20 23:08:55 +03:00
gnezim
fd101819af
Add aria-invalid to flight-number input when error is present (a11y)
2026-04-20 23:07:12 +03:00
gnezim
9948bcd3dc
Add role=alert to filter validation tooltips so errors are announced to screen readers
2026-04-20 22:34:25 +03:00
gnezim
ebcf21f020
Add role=status to FlightList empty-state banner (a11y)
2026-04-20 22:32:25 +03:00
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