fix(atlas): date a country's first and last trip from the trips that count

The Atlas tooltip took both dates from the start dates of every trip with a
place in the country. One trip showed the month it began twice, the month it
ended never appeared, and a trip only booked could become the last visit of a
country already visited.

Both now come from the trips that give the country its status, places and
bookings alike: the start of the earliest and the end of the latest, with a
trip still under way ending today. The optimistic mark on the client clears the
dates the same way the server does.

The second label rendered the raw key atlas.lastVisitLabel since #1908 removed
it from the locales; the strings are back as they were. The month is built
from the date's digits now, because a 'YYYY-MM-DD' string parses as UTC and
showed the month before anywhere west of Greenwich.

Closes #1535
This commit is contained in:
Maurice
2026-09-15 21:36:34 +02:00
parent 2efa843306
commit acd6f1acdf
32 changed files with 344 additions and 26 deletions
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'أوقيانوسيا',
'atlas.other': 'أخرى',
'atlas.firstVisit': 'أول رحلة',
'atlas.lastVisitLabel': 'آخر رحلة',
'atlas.tripSingular': 'رحلة',
'atlas.tripPlural': 'رحلات',
'atlas.placeVisited': 'مكان تمت زيارته',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceania',
'atlas.other': 'Outro',
'atlas.firstVisit': 'Primeira viagem',
'atlas.lastVisitLabel': 'Última viagem',
'atlas.tripSingular': 'Viagem',
'atlas.tripPlural': 'Viagens',
'atlas.placeVisited': 'Lugar visitado',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceania',
'atlas.other': 'Altres',
'atlas.firstVisit': 'Primer viatge',
'atlas.lastVisitLabel': 'Darrer viatge',
'atlas.tripSingular': 'Viatge',
'atlas.tripPlural': 'Viatges',
'atlas.placeVisited': 'Lloc visitat',
+1
View File
@@ -50,6 +50,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceánie',
'atlas.other': 'Ostatní',
'atlas.firstVisit': 'První cesta',
'atlas.lastVisitLabel': 'Poslední cesta',
'atlas.tripSingular': 'Cesta',
'atlas.tripPlural': 'Cesty',
'atlas.placeVisited': 'Navštívené místo',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Ozeanien',
'atlas.other': 'Andere',
'atlas.firstVisit': 'Erste Reise',
'atlas.lastVisitLabel': 'Letzte Reise',
'atlas.tripSingular': 'Reise',
'atlas.tripPlural': 'Reisen',
'atlas.placeVisited': 'Ort besucht',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceania',
'atlas.other': 'Other',
'atlas.firstVisit': 'First trip',
'atlas.lastVisitLabel': 'Last trip',
'atlas.tripSingular': 'Trip',
'atlas.tripPlural': 'Trips',
'atlas.placeVisited': 'Place visited',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceanía',
'atlas.other': 'Otros',
'atlas.firstVisit': 'Primer viaje',
'atlas.lastVisitLabel': 'Último viaje',
'atlas.tripSingular': 'Viaje',
'atlas.tripPlural': 'Viajes',
'atlas.placeVisited': 'Lugar visitado',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Océanie',
'atlas.other': 'Autre',
'atlas.firstVisit': 'Premier voyage',
'atlas.lastVisitLabel': 'Dernier voyage',
'atlas.tripSingular': 'Voyage',
'atlas.tripPlural': 'Voyages',
'atlas.placeVisited': 'Lieu visité',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Ωκεανία',
'atlas.other': 'Άλλο',
'atlas.firstVisit': 'Πρώτο ταξίδι',
'atlas.lastVisitLabel': 'Τελευταίο ταξίδι',
'atlas.tripSingular': 'Ταξίδι',
'atlas.tripPlural': 'Ταξίδια',
'atlas.placeVisited': 'Μέρος που επισκεφθήκατε',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Óceánia',
'atlas.other': 'Egyéb',
'atlas.firstVisit': 'Első utazás',
'atlas.lastVisitLabel': 'Utolsó utazás',
'atlas.tripSingular': 'Utazás',
'atlas.tripPlural': 'Utazások',
'atlas.placeVisited': 'Meglátogatott hely',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oseania',
'atlas.other': 'Lainnya',
'atlas.firstVisit': 'Perjalanan pertama',
'atlas.lastVisitLabel': 'Perjalanan terakhir',
'atlas.tripSingular': 'Perjalanan',
'atlas.tripPlural': 'Perjalanan',
'atlas.placeVisited': 'Tempat dikunjungi',
+1
View File
@@ -50,6 +50,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceania',
'atlas.other': 'Altro',
'atlas.firstVisit': 'Primo viaggio',
'atlas.lastVisitLabel': 'Ultimo viaggio',
'atlas.tripSingular': 'Viaggio',
'atlas.tripPlural': 'Viaggi',
'atlas.placeVisited': 'Luogo visitato',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'オセアニア',
'atlas.other': 'その他',
'atlas.firstVisit': '最初の旅行',
'atlas.lastVisitLabel': '最後の旅行',
'atlas.tripSingular': '旅行',
'atlas.tripPlural': '旅行',
'atlas.placeVisited': '訪問した場所',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': '오세아니아',
'atlas.other': '기타',
'atlas.firstVisit': '첫 번째 여행',
'atlas.lastVisitLabel': '마지막 여행',
'atlas.tripSingular': '여행',
'atlas.tripPlural': '여행',
'atlas.placeVisited': '방문한 장소',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceanië',
'atlas.other': 'Overig',
'atlas.firstVisit': 'Eerste reis',
'atlas.lastVisitLabel': 'Laatste reis',
'atlas.tripSingular': 'Reis',
'atlas.tripPlural': 'Reizen',
'atlas.placeVisited': 'Bezochte plaats',
+1
View File
@@ -50,6 +50,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceania',
'atlas.other': 'Inne',
'atlas.firstVisit': 'Pierwsza podróż',
'atlas.lastVisitLabel': 'Ostatnia podróż',
'atlas.tripSingular': 'Podróż',
'atlas.tripPlural': 'Podróże',
'atlas.placeVisited': 'Odwiedzone miejsce',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Океания',
'atlas.other': 'Другое',
'atlas.firstVisit': 'Первая поездка',
'atlas.lastVisitLabel': 'Последняя поездка',
'atlas.tripSingular': 'Поездка',
'atlas.tripPlural': 'Поездки',
'atlas.placeVisited': 'Посещённое место',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Oceanien',
'atlas.other': 'Andra',
'atlas.firstVisit': 'Första resan',
'atlas.lastVisitLabel': 'Den senaste resan',
'atlas.tripSingular': 'Resa',
'atlas.tripPlural': 'Resor',
'atlas.placeVisited': 'Plats besökt',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Okyanusya',
'atlas.other': 'Diğer',
'atlas.firstVisit': 'İlk yolculuk',
'atlas.lastVisitLabel': 'Son yolculuk',
'atlas.tripSingular': 'Seyahat',
'atlas.tripPlural': 'Geziler',
'atlas.placeVisited': 'Ziyaret edilen yer',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Океанія',
'atlas.other': 'Інше',
'atlas.firstVisit': 'Перша поїздка',
'atlas.lastVisitLabel': 'Остання поїздка',
'atlas.tripSingular': 'Поїздка',
'atlas.tripPlural': 'Поїздки',
'atlas.placeVisited': 'Відвідане місце',
+1
View File
@@ -52,6 +52,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': 'Châu Đại Dương',
'atlas.other': 'Khác',
'atlas.firstVisit': 'Chuyến đi đầu tiên',
'atlas.lastVisitLabel': 'Chuyến đi cuối cùng',
'atlas.tripSingular': 'Chuyến đi',
'atlas.tripPlural': 'Chuyến đi',
'atlas.placeVisited': 'Nơi đã ghé thăm',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': '大洋洲',
'atlas.other': '其他',
'atlas.firstVisit': '首次旅行',
'atlas.lastVisitLabel': '最近旅行',
'atlas.tripSingular': '次旅行',
'atlas.tripPlural': '次旅行',
'atlas.placeVisited': '個地點已訪問',
+1
View File
@@ -28,6 +28,7 @@ const atlas: TranslationStrings = {
'atlas.oceania': '大洋洲',
'atlas.other': '其他',
'atlas.firstVisit': '首次旅行',
'atlas.lastVisitLabel': '最近旅行',
'atlas.tripSingular': '次旅行',
'atlas.tripPlural': '次旅行',
'atlas.placeVisited': '个地点已访问',