diff --git a/src/shared/hooks/useDictionaries.ts b/src/shared/hooks/useDictionaries.ts index 2565a9b7..6901f4f6 100644 --- a/src/shared/hooks/useDictionaries.ts +++ b/src/shared/hooks/useDictionaries.ts @@ -26,6 +26,15 @@ export function useCityName(code: string): string { const city = dictionaries.cityByCode.get(upper); if (city) return city.name; const airport = dictionaries.airportByCode.get(upper); - if (airport) return airport.name; + if (airport) { + // Angular's `getCityOrAirport` resolves airport codes up to their + // parent city when possible (SVO → Москва) — only falls back to + // the airport name when the city isn't dictionarised. + const parent = airport.city_code + ? dictionaries.cityByCode.get(airport.city_code.toUpperCase()) + : null; + if (parent) return parent.name; + return airport.name; + } return code; }