fix(roadtrip): the range figure keeps counting until something actually refuels

Reported off a real day: Berlin said 245 km since the last fill-up and Sanssouci
said 121, as if the tank had been filled in between. It had not. The budget was
being zeroed at every warning, so the first figure was right and every one after
it was the length of one leg rather than the distance on the tank.

A warning is not a fill-up. Only a fuel or charging stop resets it now, which is
what makes putting one in the answer rather than a formality: the same day reads
125, 370, 519 without one, and collapses to a single mark with one.

Nothing is flagged on a fuel stop either. Reaching a petrol station on an empty
tank is the plan working, and a warning there would sit on the one stop that
answers it.

Also: the stop number sits level with the middle of its row rather than at the
top, the way the corridor list already places its badges. A number pinned to the
first line drifts off as soon as a stop carries a stay and a walk under its name.
This commit is contained in:
Maurice
2026-09-04 23:04:10 +02:00
committed by Maurice
parent 4215db2908
commit 49f97af3fb
27 changed files with 222 additions and 36 deletions
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'غير محددة',
'roadtrip.stop.none': 'وجهة',
'roadtrip.stop.kindHelp': 'التوقف في الطريق يُرسم على المسار ولا يُحتسب ضمن عدد التوقفات.',
'roadtrip.stay.mode.pause': 'استراحة',
'roadtrip.stay.mode.night': 'مبيت',
'roadtrip.stay.checkOutDay': 'المغادرة في',
'roadtrip.stay.dayNumber': 'اليوم {number}',
'roadtrip.stay.nightAdded': 'أُضيف كمبيت',
'roadtrip.stay.nightAction': 'إضافة كمبيت',
'roadtrip.poi.rest': 'استراحة',
'roadtrip.poi.campsite': 'مخيم',
'roadtrip.poi.food': 'طعام',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Nenhum definido',
'roadtrip.stop.none': 'Um destino',
'roadtrip.stop.kindHelp': 'Uma parada no caminho é desenhada no trajeto e não é contada.',
'roadtrip.stay.mode.pause': 'Pausa',
'roadtrip.stay.mode.night': 'Pernoite',
'roadtrip.stay.checkOutDay': 'Saída em',
'roadtrip.stay.dayNumber': 'Dia {number}',
'roadtrip.stay.nightAdded': 'Adicionado como pernoite',
'roadtrip.stay.nightAction': 'Adicionar como pernoite',
'roadtrip.poi.rest': 'Área de descanso',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Comida',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Cap definit',
'roadtrip.stop.none': 'Una destinació',
'roadtrip.stop.kindHelp': 'Una parada al camí es dibuixa sobre el trajecte i no es compta.',
'roadtrip.stay.mode.pause': 'Parada',
'roadtrip.stay.mode.night': 'Pernoctar',
'roadtrip.stay.checkOutDay': 'Sortida el',
'roadtrip.stay.dayNumber': 'Dia {number}',
'roadtrip.stay.nightAdded': 'Afegit com a pernoctació',
'roadtrip.stay.nightAction': 'Afegeix com a pernoctació',
'roadtrip.poi.rest': 'Àrea de descans',
'roadtrip.poi.campsite': 'Càmping',
'roadtrip.poi.food': 'Menjar',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Nenastaveno',
'roadtrip.stop.none': 'Cíl cesty',
'roadtrip.stop.kindHelp': 'Zastávka po cestě se kreslí na trase a nepočítá se.',
'roadtrip.stay.mode.pause': 'Pauza',
'roadtrip.stay.mode.night': 'Nocleh',
'roadtrip.stay.checkOutDay': 'Odjezd',
'roadtrip.stay.dayNumber': 'Den {number}',
'roadtrip.stay.nightAdded': 'Přidáno jako nocleh',
'roadtrip.stay.nightAction': 'Přidat jako nocleh',
'roadtrip.poi.rest': 'Odpočívadlo',
'roadtrip.poi.campsite': 'Kemp',
'roadtrip.poi.food': 'Jídlo',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Keine gesetzt',
'roadtrip.stop.none': 'Ein Ziel',
'roadtrip.stop.kindHelp': 'Ein Halt unterwegs wird auf der Fahrt gezeichnet und nicht mitgezählt.',
'roadtrip.stay.mode.pause': 'Pause',
'roadtrip.stay.mode.night': 'Übernachten',
'roadtrip.stay.checkOutDay': 'Abreise am',
'roadtrip.stay.dayNumber': 'Tag {number}',
'roadtrip.stay.nightAdded': 'Als Übernachtung hinzugefügt',
'roadtrip.stay.nightAction': 'Als Übernachtung hinzufügen',
'roadtrip.poi.rest': 'Rastplatz',
'roadtrip.poi.campsite': 'Campingplatz',
'roadtrip.poi.food': 'Essen',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'None set',
'roadtrip.stop.none': 'A destination',
'roadtrip.stop.kindHelp': 'A pause on the way is drawn on the drive and left out of the stop count.',
'roadtrip.stay.mode.pause': 'Pause',
'roadtrip.stay.mode.night': 'Overnight',
'roadtrip.stay.checkOutDay': 'Check out on',
'roadtrip.stay.dayNumber': 'Day {number}',
'roadtrip.stay.nightAdded': 'Added as an overnight stay',
'roadtrip.stay.nightAction': 'Add as an overnight stay',
'roadtrip.poi.rest': 'Rest area',
'roadtrip.poi.campsite': 'Campsite',
'roadtrip.poi.food': 'Food',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Ninguno definido',
'roadtrip.stop.none': 'Un destino',
'roadtrip.stop.kindHelp': 'Una parada en el camino se dibuja sobre el trayecto y no se cuenta.',
'roadtrip.stay.mode.pause': 'Parada',
'roadtrip.stay.mode.night': 'Pernoctar',
'roadtrip.stay.checkOutDay': 'Salida el',
'roadtrip.stay.dayNumber': 'Día {number}',
'roadtrip.stay.nightAdded': 'Añadido como pernoctación',
'roadtrip.stay.nightAction': 'Añadir como pernoctación',
'roadtrip.poi.rest': 'Área de descanso',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Comida',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Aucune définie',
'roadtrip.stop.none': 'Une destination',
'roadtrip.stop.kindHelp': 'Un arrêt en chemin est dessiné sur le trajet et n’est pas compté.',
'roadtrip.stay.mode.pause': 'Pause',
'roadtrip.stay.mode.night': 'Nuitée',
'roadtrip.stay.checkOutDay': 'Départ le',
'roadtrip.stay.dayNumber': 'Jour {number}',
'roadtrip.stay.nightAdded': 'Ajouté comme nuitée',
'roadtrip.stay.nightAction': 'Ajouter comme nuitée',
'roadtrip.poi.rest': 'Aire de repos',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Restauration',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Δεν έχουν οριστεί',
'roadtrip.stop.none': 'Προορισμός',
'roadtrip.stop.kindHelp': 'Μια στάση στον δρόμο σχεδιάζεται πάνω στη διαδρομή και δεν προσμετράται.',
'roadtrip.stay.mode.pause': 'Στάση',
'roadtrip.stay.mode.night': 'Διανυκτέρευση',
'roadtrip.stay.checkOutDay': 'Αναχώρηση',
'roadtrip.stay.dayNumber': 'Ημέρα {number}',
'roadtrip.stay.nightAdded': 'Προστέθηκε ως διανυκτέρευση',
'roadtrip.stay.nightAction': 'Προσθήκη ως διανυκτέρευση',
'roadtrip.poi.rest': 'Χώρος ανάπαυσης',
'roadtrip.poi.campsite': 'Κάμπινγκ',
'roadtrip.poi.food': 'Φαγητό',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Nincs beállítva',
'roadtrip.stop.none': 'Úti cél',
'roadtrip.stop.kindHelp': 'Az útközbeni megálló az útvonalra kerül, és nem számít bele.',
'roadtrip.stay.mode.pause': 'Szünet',
'roadtrip.stay.mode.night': 'Éjszakázás',
'roadtrip.stay.checkOutDay': 'Kijelentkezés',
'roadtrip.stay.dayNumber': '{number}. nap',
'roadtrip.stay.nightAdded': 'Hozzáadva éjszakázásként',
'roadtrip.stay.nightAction': 'Hozzáadás éjszakázásként',
'roadtrip.poi.rest': 'Pihenőhely',
'roadtrip.poi.campsite': 'Kemping',
'roadtrip.poi.food': 'Étkezés',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Belum diatur',
'roadtrip.stop.none': 'Sebuah tujuan',
'roadtrip.stop.kindHelp': 'Perhentian di jalan digambar pada rute dan tidak dihitung.',
'roadtrip.stay.mode.pause': 'Istirahat',
'roadtrip.stay.mode.night': 'Menginap',
'roadtrip.stay.checkOutDay': 'Check out',
'roadtrip.stay.dayNumber': 'Hari {number}',
'roadtrip.stay.nightAdded': 'Ditambahkan sebagai menginap',
'roadtrip.stay.nightAction': 'Tambahkan sebagai menginap',
'roadtrip.poi.rest': 'Tempat istirahat',
'roadtrip.poi.campsite': 'Perkemahan',
'roadtrip.poi.food': 'Makanan',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Nessuno impostato',
'roadtrip.stop.none': 'Una destinazione',
'roadtrip.stop.kindHelp': 'Una sosta lungo il percorso viene disegnata sulla tratta e non viene contata.',
'roadtrip.stay.mode.pause': 'Sosta',
'roadtrip.stay.mode.night': 'Pernottamento',
'roadtrip.stay.checkOutDay': 'Partenza il',
'roadtrip.stay.dayNumber': 'Giorno {number}',
'roadtrip.stay.nightAdded': 'Aggiunto come pernottamento',
'roadtrip.stay.nightAction': 'Aggiungi come pernottamento',
'roadtrip.poi.rest': 'Area di sosta',
'roadtrip.poi.campsite': 'Campeggio',
'roadtrip.poi.food': 'Ristoro',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': '未設定',
'roadtrip.stop.none': '目的地',
'roadtrip.stop.kindHelp': '途中の立ち寄りは走行線上に描かれ、停車数には数えません。',
'roadtrip.stay.mode.pause': '休憩',
'roadtrip.stay.mode.night': '宿泊',
'roadtrip.stay.checkOutDay': 'チェックアウト日',
'roadtrip.stay.dayNumber': '{number}日目',
'roadtrip.stay.nightAdded': '宿泊として追加しました',
'roadtrip.stay.nightAction': '宿泊として追加',
'roadtrip.poi.rest': 'サービスエリア',
'roadtrip.poi.campsite': 'キャンプ場',
'roadtrip.poi.food': '食事',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': '설정 안 됨',
'roadtrip.stop.none': '목적지',
'roadtrip.stop.kindHelp': '경유 정차는 주행 경로에 표시되며 정차 수에 포함되지 않습니다.',
'roadtrip.stay.mode.pause': '휴식',
'roadtrip.stay.mode.night': '숙박',
'roadtrip.stay.checkOutDay': '체크아웃 날짜',
'roadtrip.stay.dayNumber': '{number}일차',
'roadtrip.stay.nightAdded': '숙박으로 추가했습니다',
'roadtrip.stay.nightAction': '숙박으로 추가',
'roadtrip.poi.rest': '휴게소',
'roadtrip.poi.campsite': '캠핑장',
'roadtrip.poi.food': '식사',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Geen ingesteld',
'roadtrip.stop.none': 'Een bestemming',
'roadtrip.stop.kindHelp': 'Een stop onderweg wordt op de rit getekend en telt niet mee.',
'roadtrip.stay.mode.pause': 'Pauze',
'roadtrip.stay.mode.night': 'Overnachten',
'roadtrip.stay.checkOutDay': 'Uitchecken op',
'roadtrip.stay.dayNumber': 'Dag {number}',
'roadtrip.stay.nightAdded': 'Toegevoegd als overnachting',
'roadtrip.stay.nightAction': 'Toevoegen als overnachting',
'roadtrip.poi.rest': 'Rustplaats',
'roadtrip.poi.campsite': 'Camping',
'roadtrip.poi.food': 'Eten',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Brak ustawionych',
'roadtrip.stop.none': 'Cel podróży',
'roadtrip.stop.kindHelp': 'Postój po drodze rysowany jest na trasie i nie jest liczony.',
'roadtrip.stay.mode.pause': 'Postój',
'roadtrip.stay.mode.night': 'Nocleg',
'roadtrip.stay.checkOutDay': 'Wymeldowanie',
'roadtrip.stay.dayNumber': 'Dzień {number}',
'roadtrip.stay.nightAdded': 'Dodano jako nocleg',
'roadtrip.stay.nightAction': 'Dodaj jako nocleg',
'roadtrip.poi.rest': 'Miejsce odpoczynku',
'roadtrip.poi.campsite': 'Kemping',
'roadtrip.poi.food': 'Jedzenie',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Не заданы',
'roadtrip.stop.none': 'Пункт назначения',
'roadtrip.stop.kindHelp': 'Остановка в пути рисуется на маршруте и не учитывается в счёте.',
'roadtrip.stay.mode.pause': 'Остановка',
'roadtrip.stay.mode.night': 'Ночёвка',
'roadtrip.stay.checkOutDay': 'Выезд',
'roadtrip.stay.dayNumber': 'День {number}',
'roadtrip.stay.nightAdded': 'Добавлено как ночёвка',
'roadtrip.stay.nightAction': 'Добавить как ночёвку',
'roadtrip.poi.rest': 'Зона отдыха',
'roadtrip.poi.campsite': 'Кемпинг',
'roadtrip.poi.food': 'Еда',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Inga angivna',
'roadtrip.stop.none': 'Ett resmål',
'roadtrip.stop.kindHelp': 'Ett stopp på vägen ritas på körningen och räknas inte.',
'roadtrip.stay.mode.pause': 'Paus',
'roadtrip.stay.mode.night': 'Övernattning',
'roadtrip.stay.checkOutDay': 'Utcheckning',
'roadtrip.stay.dayNumber': 'Dag {number}',
'roadtrip.stay.nightAdded': 'Tillagd som övernattning',
'roadtrip.stay.nightAction': 'Lägg till som övernattning',
'roadtrip.poi.rest': 'Rastplats',
'roadtrip.poi.campsite': 'Campingplats',
'roadtrip.poi.food': 'Mat',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Ayarlanmadı',
'roadtrip.stop.none': 'Bir varış noktası',
'roadtrip.stop.kindHelp': 'Yol üzerindeki mola sürüşe çizilir ve sayıma girmez.',
'roadtrip.stay.mode.pause': 'Mola',
'roadtrip.stay.mode.night': 'Konaklama',
'roadtrip.stay.checkOutDay': 'Çıkış günü',
'roadtrip.stay.dayNumber': '{number}. gün',
'roadtrip.stay.nightAdded': 'Konaklama olarak eklendi',
'roadtrip.stay.nightAction': 'Konaklama olarak ekle',
'roadtrip.poi.rest': 'Dinlenme alanı',
'roadtrip.poi.campsite': 'Kamp alanı',
'roadtrip.poi.food': 'Yemek',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Не задано',
'roadtrip.stop.none': 'Пункт призначення',
'roadtrip.stop.kindHelp': 'Зупинка в дорозі малюється на маршруті й не рахується.',
'roadtrip.stay.mode.pause': 'Зупинка',
'roadtrip.stay.mode.night': 'Ночівля',
'roadtrip.stay.checkOutDay': 'Виїзд',
'roadtrip.stay.dayNumber': 'День {number}',
'roadtrip.stay.nightAdded': 'Додано як ночівлю',
'roadtrip.stay.nightAction': 'Додати як ночівлю',
'roadtrip.poi.rest': 'Зона відпочинку',
'roadtrip.poi.campsite': 'Кемпінг',
'roadtrip.poi.food': 'Їжа',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': 'Chưa đặt',
'roadtrip.stop.none': 'Một điểm đến',
'roadtrip.stop.kindHelp': 'Điểm dừng dọc đường được vẽ trên chặng và không tính vào số điểm dừng.',
'roadtrip.stay.mode.pause': 'Nghỉ',
'roadtrip.stay.mode.night': 'Qua đêm',
'roadtrip.stay.checkOutDay': 'Trả phòng ngày',
'roadtrip.stay.dayNumber': 'Ngày {number}',
'roadtrip.stay.nightAdded': 'Đã thêm làm nơi nghỉ đêm',
'roadtrip.stay.nightAction': 'Thêm làm nơi nghỉ đêm',
'roadtrip.poi.rest': 'Trạm dừng nghỉ',
'roadtrip.poi.campsite': 'Khu cắm trại',
'roadtrip.poi.food': 'Đồ ăn',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': '未設定',
'roadtrip.stop.none': '目的地',
'roadtrip.stop.kindHelp': '途中停靠會畫在行程線上,且不計入停靠數。',
'roadtrip.stay.mode.pause': '停留',
'roadtrip.stay.mode.night': '過夜',
'roadtrip.stay.checkOutDay': '退房日',
'roadtrip.stay.dayNumber': '第 {number} 天',
'roadtrip.stay.nightAdded': '已新增為過夜住宿',
'roadtrip.stay.nightAction': '新增為過夜住宿',
'roadtrip.poi.rest': '休息站',
'roadtrip.poi.campsite': '露營地',
'roadtrip.poi.food': '餐飲',
+6
View File
@@ -32,6 +32,12 @@ const roadtrip: TranslationStrings = {
'roadtrip.limit.none': '未设置',
'roadtrip.stop.none': '目的地',
'roadtrip.stop.kindHelp': '途中停靠会画在行程线上,且不计入停靠数。',
'roadtrip.stay.mode.pause': '停留',
'roadtrip.stay.mode.night': '过夜',
'roadtrip.stay.checkOutDay': '退房日',
'roadtrip.stay.dayNumber': '第 {number} 天',
'roadtrip.stay.nightAdded': '已添加为过夜住宿',
'roadtrip.stay.nightAction': '添加为过夜住宿',
'roadtrip.poi.rest': '服务区',
'roadtrip.poi.campsite': '露营地',
'roadtrip.poi.food': '餐饮',