From 0bb6bf203297396bf2b6328edabab90aec384d8a Mon Sep 17 00:00:00 2001 From: gnezim Date: Wed, 22 Apr 2026 02:08:49 +0300 Subject: [PATCH] =?UTF-8?q?=C2=A74.1.24.3=20R24:=20map=20marker=20tooltip?= =?UTF-8?q?=20label=20=3D=20IATA=20code,=20not=20city=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit TZ §4.1.24.3 line 3098: "всплывающая подсказка с кодом аэропорта". The marker `label` now uses `city.code` (IATA city code) instead of the human-readable city name. On hover, Leaflet's tooltip shows the code. --- .../flights-map/components/FlightsMapStartPage.tsx | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/features/flights-map/components/FlightsMapStartPage.tsx b/src/features/flights-map/components/FlightsMapStartPage.tsx index 03e068c9..422c6d66 100644 --- a/src/features/flights-map/components/FlightsMapStartPage.tsx +++ b/src/features/flights-map/components/FlightsMapStartPage.tsx @@ -243,7 +243,10 @@ export const FlightsMapStartPage: FC = ({ id: city.code, lat: city.location.lat, lng: city.location.lon, - label: city.name, + // TZ §4.1.24.3 R24: hover tooltip shows the IATA airport code, not + // the city name. The city code doubles as IATA here since our + // dictionaries use IATA city codes (MOW, LED, …). + label: city.code, tooltipPermanent: true, style: isHighlighted ? "orange" : "blue-small", zoomLevel: getCityZoomLevel(city.code), @@ -294,8 +297,9 @@ export const FlightsMapStartPage: FC = ({ const arrCity = dictionaries.cityByCode.get(arrCityCode); if (!depCity || !arrCity) return []; - const date = filterState.date ?? todayYyyymmdd(); - const buyUrl = buildBuyTicketUrl(depCityCode, arrCityCode, date); + // TZ §4.1.24.6: When no date is set, SB transition must be performed + // without a date. Pass filterState.date directly (may be undefined). + const buyUrl = buildBuyTicketUrl(depCityCode, arrCityCode, filterState.date); const depHtml = `