From ba0cc331c1d30bac2ca72bfb8b9221a8811f15e8 Mon Sep 17 00:00:00 2001 From: Maurice Date: Thu, 1 Oct 2026 10:11:08 +0200 Subject: [PATCH] feat(mobile): today marked on the day rail, and a button back to it While a trip is running, today's chip on the phone carries a ring and a dot, and a button beside the rail jumps back to today from wherever it was scrolled, in the plan and on the map. It stays in place, dimmed, while today is open, so the rail never shifts under the thumb. (#2392) --- client/src/mobile/screens/trip/MTripShell.tsx | 36 ++++++++++++++-- .../unit/mobile/trip/MTripShell.test.tsx | 41 +++++++++++++++++++ shared/src/i18n/ar/mobileTrip.ts | 2 + shared/src/i18n/az/mobileTrip.ts | 2 + shared/src/i18n/br/mobileTrip.ts | 2 + shared/src/i18n/ca/mobileTrip.ts | 2 + shared/src/i18n/cs/mobileTrip.ts | 2 + shared/src/i18n/de/mobileTrip.ts | 2 + shared/src/i18n/en/mobileTrip.ts | 2 + shared/src/i18n/es/mobileTrip.ts | 2 + shared/src/i18n/et/mobileTrip.ts | 2 + shared/src/i18n/fr/mobileTrip.ts | 2 + shared/src/i18n/gr/mobileTrip.ts | 2 + shared/src/i18n/hu/mobileTrip.ts | 2 + shared/src/i18n/id/mobileTrip.ts | 2 + shared/src/i18n/it/mobileTrip.ts | 2 + shared/src/i18n/ja/mobileTrip.ts | 2 + shared/src/i18n/ko/mobileTrip.ts | 2 + shared/src/i18n/nl/mobileTrip.ts | 2 + shared/src/i18n/pl/mobileTrip.ts | 2 + shared/src/i18n/ru/mobileTrip.ts | 2 + shared/src/i18n/sk/mobileTrip.ts | 2 + shared/src/i18n/sv/mobileTrip.ts | 2 + shared/src/i18n/th/mobileTrip.ts | 2 + shared/src/i18n/tr/mobileTrip.ts | 2 + shared/src/i18n/uk/mobileTrip.ts | 2 + shared/src/i18n/vi/mobileTrip.ts | 2 + shared/src/i18n/zh-TW/mobileTrip.ts | 2 + shared/src/i18n/zh/mobileTrip.ts | 2 + 29 files changed, 127 insertions(+), 4 deletions(-) diff --git a/client/src/mobile/screens/trip/MTripShell.tsx b/client/src/mobile/screens/trip/MTripShell.tsx index 58d5407dc..8daff7378 100644 --- a/client/src/mobile/screens/trip/MTripShell.tsx +++ b/client/src/mobile/screens/trip/MTripShell.tsx @@ -1,8 +1,7 @@ import { useEffect, useRef, useState, type ComponentType, type ReactNode } from 'react' -import { findFocusDayId } from '../../../components/Planner/today' +import { findFocusDayId, findTodayDayId } from '../../../components/Planner/today' import { - CalendarDays, ChevronDown, ChevronLeft, Download, FileDown, List, Map as MapIcon, MoreHorizontal, - FolderSync, Plane, Plus, Rows3, Route, SlidersHorizontal, Trash2, Upload, + CalendarCheck, CalendarDays, ChevronDown, ChevronLeft, Download, FileDown, FolderSync, List, Map as MapIcon, MoreHorizontal, Plane, Plus, Route, Rows3, SlidersHorizontal, Trash2, Upload, } from 'lucide-react' import { useTripPlanner } from '../../../pages/tripPlanner/useTripPlanner' import { pickDockTabs } from './dockTabs' @@ -405,6 +404,15 @@ export default function MTripShell({ const dockTabs = pickDockTabs(enabledTabIds) const tabLabel = (id: string) => planner.TRIP_TABS.find(tab => tab.id === id)?.label ?? id + // While the trip runs, today's chip carries a ring and a button jumps back to it + // from wherever the rail was scrolled (#2392). Null outside the trip's dates. + const todayDayId = findTodayDayId(days) + const jumpToToday = () => { + if (todayDayId == null || todayDayId === planner.selectedDayId) return + if (view === 'map') selectDayOnMap(todayDayId) + else planner.handleSelectDay(todayDayId, true) + } + const onDayChipTap = (dayId: number) => { if (dayId === planner.selectedDayId) openSheet('day', { dayId }) // In map mode a day tap fits to that day's places, draws its route and drops @@ -483,6 +491,7 @@ export default function MTripShell({
{days.map((day, idx) => { const active = day.id === planner.selectedDayId + const isToday = day.id === todayDayId const tint = dayTints[day.id] return (
+ {/* Back to today from anywhere on the rail (#2392). Mounted for the whole + running trip and dimmed while today is already open, so it never + appears under the thumb and shoves the rail aside. */} + {todayDayId != null && ( + + )} {/* Drop the day filter and show the whole trip (#2257). Map only: the plan timeline and the road trip chain are both single-day, so there is nothing to widen there. Stays mounted while a day is active rather than diff --git a/client/tests/unit/mobile/trip/MTripShell.test.tsx b/client/tests/unit/mobile/trip/MTripShell.test.tsx index 33f787087..3c5792233 100644 --- a/client/tests/unit/mobile/trip/MTripShell.test.tsx +++ b/client/tests/unit/mobile/trip/MTripShell.test.tsx @@ -599,6 +599,47 @@ describe('MTripShell', () => { }) }) + // #2392 — on the road the phone plan is used one day at a time, and finding today + // again meant scrolling the rail; today is marked and one tap away. + describe('today on the day rail (#2392)', () => { + const shift = (days: number) => { + const d = new Date() + d.setDate(d.getDate() + days) + return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}` + } + const running = () => [ + { id: 21, day_number: 1, date: shift(-1) }, + { id: 22, day_number: 2, date: todayIso() }, + { id: 23, day_number: 3, date: shift(1) }, + ] as unknown as Day[] + const jump = () => screen.getByRole('button', { name: 'mobileTrip.jumpToToday' }) + + it('FE-MOB-SHELL-090: marks today and jumps back to it from another day', () => { + const { planner, container } = renderShell({ days: running(), selectedDayId: 21 } as Partial) + const marked = container.querySelectorAll('[data-today]') + expect(marked).toHaveLength(1) + expect(marked[0].className).toContain('ring-inset') + expect(marked[0]).toHaveTextContent('mobileTrip.today') + + expect(jump()).toBeEnabled() + fireEvent.click(jump()) + expect(planner.handleSelectDay).toHaveBeenLastCalledWith(22, true) + }) + + it('FE-MOB-SHELL-091: with today open the button stays, dimmed, so the rail does not move', () => { + const { container } = renderShell({ days: running(), selectedDayId: 22 } as Partial) + expect(jump()).toBeDisabled() + // The active chip keeps its own look; the dot still says which day is today. + expect(container.querySelector('[data-today]')?.className).not.toContain('ring-inset') + }) + + it('FE-MOB-SHELL-092: outside the trip dates there is no today and no button', () => { + const { container } = renderShell() + expect(container.querySelector('[data-today]')).toBeNull() + expect(screen.queryByRole('button', { name: 'mobileTrip.jumpToToday' })).toBeNull() + }) + }) + // #2257 — the map filters down to one day, and until now nothing took that // filter back off: the chip rail can only swap one day for another, and the // second tap on the active chip is the day sheet. Its own control, map only. diff --git a/shared/src/i18n/ar/mobileTrip.ts b/shared/src/i18n/ar/mobileTrip.ts index 4e4a26b4a..0075cb831 100644 --- a/shared/src/i18n/ar/mobileTrip.ts +++ b/shared/src/i18n/ar/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'إضافة إلى يوم؟', 'mobileTrip.addTransportShort': 'النقل', 'mobileTrip.allDays': 'كل الأيام', + 'mobileTrip.today': 'اليوم', + 'mobileTrip.jumpToToday': 'الانتقال إلى اليوم', 'mobileTrip.assignedDays': 'الأيام المخصصة', 'mobileTrip.assignmentNotes': 'ملاحظات خاصة باليوم', 'mobileTrip.bookingsEmpty': 'لا توجد حجوزات بعد', diff --git a/shared/src/i18n/az/mobileTrip.ts b/shared/src/i18n/az/mobileTrip.ts index 3b62dc47d..29d2e7a69 100644 --- a/shared/src/i18n/az/mobileTrip.ts +++ b/shared/src/i18n/az/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Günə əlavə edilsin?', 'mobileTrip.addTransportShort': 'Nəqliyyat', 'mobileTrip.allDays': 'Bütün günlər', + 'mobileTrip.today': 'Bu gün', + 'mobileTrip.jumpToToday': 'Bu günə keç', 'mobileTrip.assignedDays': 'Təyin edilmiş günlər', 'mobileTrip.assignmentNotes': 'Günə aid qeydlər', 'mobileTrip.bookingsEmpty': 'Hələ rezervasiya yoxdur', diff --git a/shared/src/i18n/br/mobileTrip.ts b/shared/src/i18n/br/mobileTrip.ts index 1de1d5ef2..b6768c26d 100644 --- a/shared/src/i18n/br/mobileTrip.ts +++ b/shared/src/i18n/br/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Adicionar a um dia?', 'mobileTrip.addTransportShort': 'Transporte', 'mobileTrip.allDays': 'Todos os dias', + 'mobileTrip.today': 'Hoje', + 'mobileTrip.jumpToToday': 'Ir para hoje', 'mobileTrip.assignedDays': 'Dias atribuídos', 'mobileTrip.assignmentNotes': 'Notas específicas do dia', 'mobileTrip.bookingsEmpty': 'Nenhuma reserva ainda', diff --git a/shared/src/i18n/ca/mobileTrip.ts b/shared/src/i18n/ca/mobileTrip.ts index a8cb6d033..9223dbf80 100644 --- a/shared/src/i18n/ca/mobileTrip.ts +++ b/shared/src/i18n/ca/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Afegeix a un dia?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Tots els dies', + 'mobileTrip.today': 'Avui', + 'mobileTrip.jumpToToday': 'Ves a avui', 'mobileTrip.assignedDays': 'Dies assignats', 'mobileTrip.assignmentNotes': 'Notes específiques del dia', 'mobileTrip.bookingsEmpty': 'Encara no hi ha reserves', diff --git a/shared/src/i18n/cs/mobileTrip.ts b/shared/src/i18n/cs/mobileTrip.ts index 02dd285dc..a3aafdbed 100644 --- a/shared/src/i18n/cs/mobileTrip.ts +++ b/shared/src/i18n/cs/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Přidat do dne?', 'mobileTrip.addTransportShort': 'Doprava', 'mobileTrip.allDays': 'Všechny dny', + 'mobileTrip.today': 'Dnes', + 'mobileTrip.jumpToToday': 'Přejít na dnešek', 'mobileTrip.assignedDays': 'Přiřazené dny', 'mobileTrip.assignmentNotes': 'Poznámky ke dni', 'mobileTrip.bookingsEmpty': 'Zatím žádné rezervace', diff --git a/shared/src/i18n/de/mobileTrip.ts b/shared/src/i18n/de/mobileTrip.ts index 0f52365ac..561d36fe9 100644 --- a/shared/src/i18n/de/mobileTrip.ts +++ b/shared/src/i18n/de/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Zu einem Tag hinzufügen?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Alle Tage', + 'mobileTrip.today': 'Heute', + 'mobileTrip.jumpToToday': 'Zu heute springen', 'mobileTrip.assignedDays': 'Zugewiesene Tage', 'mobileTrip.assignmentNotes': 'Tagesspezifische Notizen', 'mobileTrip.bookingsEmpty': 'Noch keine Buchungen', diff --git a/shared/src/i18n/en/mobileTrip.ts b/shared/src/i18n/en/mobileTrip.ts index d42881146..cd04545a2 100644 --- a/shared/src/i18n/en/mobileTrip.ts +++ b/shared/src/i18n/en/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Add to a day?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'All Days', + 'mobileTrip.today': 'Today', + 'mobileTrip.jumpToToday': 'Jump to today', 'mobileTrip.assignedDays': 'Assigned Days', 'mobileTrip.assignmentNotes': 'Day-specific notes', 'mobileTrip.bookingsEmpty': 'No bookings yet', diff --git a/shared/src/i18n/es/mobileTrip.ts b/shared/src/i18n/es/mobileTrip.ts index 2b30f8514..572646b2b 100644 --- a/shared/src/i18n/es/mobileTrip.ts +++ b/shared/src/i18n/es/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': '¿Añadir a un día?', 'mobileTrip.addTransportShort': 'Transporte', 'mobileTrip.allDays': 'Todos los días', + 'mobileTrip.today': 'Hoy', + 'mobileTrip.jumpToToday': 'Ir a hoy', 'mobileTrip.assignedDays': 'Días asignados', 'mobileTrip.assignmentNotes': 'Notas específicas del día', 'mobileTrip.bookingsEmpty': 'Aún no hay reservas', diff --git a/shared/src/i18n/et/mobileTrip.ts b/shared/src/i18n/et/mobileTrip.ts index 28f587193..9ad47f2fb 100644 --- a/shared/src/i18n/et/mobileTrip.ts +++ b/shared/src/i18n/et/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Kas lisada päevale?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Kõik päevad', + 'mobileTrip.today': 'Täna', + 'mobileTrip.jumpToToday': 'Mine tänasele päevale', 'mobileTrip.assignedDays': 'Määratud päevad', 'mobileTrip.assignmentNotes': 'Päevapõhised märkmed', 'mobileTrip.bookingsEmpty': 'Broneeringuid veel pole', diff --git a/shared/src/i18n/fr/mobileTrip.ts b/shared/src/i18n/fr/mobileTrip.ts index 9ed399414..39165af22 100644 --- a/shared/src/i18n/fr/mobileTrip.ts +++ b/shared/src/i18n/fr/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Ajouter à un jour ?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Tous les jours', + 'mobileTrip.today': "Aujourd'hui", + 'mobileTrip.jumpToToday': "Aller à aujourd'hui", 'mobileTrip.assignedDays': 'Jours assignés', 'mobileTrip.assignmentNotes': 'Notes propres au jour', 'mobileTrip.bookingsEmpty': 'Aucune réservation', diff --git a/shared/src/i18n/gr/mobileTrip.ts b/shared/src/i18n/gr/mobileTrip.ts index b6fd69b63..9a5c84578 100644 --- a/shared/src/i18n/gr/mobileTrip.ts +++ b/shared/src/i18n/gr/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Προσθήκη σε ημέρα;', 'mobileTrip.addTransportShort': 'Μεταφορά', 'mobileTrip.allDays': 'Όλες οι Ημέρες', + 'mobileTrip.today': 'Σήμερα', + 'mobileTrip.jumpToToday': 'Μετάβαση στο σήμερα', 'mobileTrip.assignedDays': 'Ανατεθειμένες ημέρες', 'mobileTrip.assignmentNotes': 'Σημειώσεις ημέρας', 'mobileTrip.bookingsEmpty': 'Δεν υπάρχουν κρατήσεις ακόμη', diff --git a/shared/src/i18n/hu/mobileTrip.ts b/shared/src/i18n/hu/mobileTrip.ts index 3cd35256e..a87b34b89 100644 --- a/shared/src/i18n/hu/mobileTrip.ts +++ b/shared/src/i18n/hu/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Hozzáadás egy naphoz?', 'mobileTrip.addTransportShort': 'Közlekedés', 'mobileTrip.allDays': 'Minden nap', + 'mobileTrip.today': 'Ma', + 'mobileTrip.jumpToToday': 'Ugrás a mai napra', 'mobileTrip.assignedDays': 'Hozzárendelt napok', 'mobileTrip.assignmentNotes': 'Napra szóló jegyzetek', 'mobileTrip.bookingsEmpty': 'Még nincsenek foglalások', diff --git a/shared/src/i18n/id/mobileTrip.ts b/shared/src/i18n/id/mobileTrip.ts index b4eac3acc..a84a19086 100644 --- a/shared/src/i18n/id/mobileTrip.ts +++ b/shared/src/i18n/id/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Tambahkan ke hari?', 'mobileTrip.addTransportShort': 'Transportasi', 'mobileTrip.allDays': 'Semua Hari', + 'mobileTrip.today': 'Hari ini', + 'mobileTrip.jumpToToday': 'Lompat ke hari ini', 'mobileTrip.assignedDays': 'Hari yang ditetapkan', 'mobileTrip.assignmentNotes': 'Catatan khusus hari', 'mobileTrip.bookingsEmpty': 'Belum ada reservasi', diff --git a/shared/src/i18n/it/mobileTrip.ts b/shared/src/i18n/it/mobileTrip.ts index 8a88f6b25..d3262ff09 100644 --- a/shared/src/i18n/it/mobileTrip.ts +++ b/shared/src/i18n/it/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Aggiungere a un giorno?', 'mobileTrip.addTransportShort': 'Trasporto', 'mobileTrip.allDays': 'Tutti i giorni', + 'mobileTrip.today': 'Oggi', + 'mobileTrip.jumpToToday': 'Vai a oggi', 'mobileTrip.assignedDays': 'Giorni assegnati', 'mobileTrip.assignmentNotes': 'Note specifiche del giorno', 'mobileTrip.bookingsEmpty': 'Ancora nessuna prenotazione', diff --git a/shared/src/i18n/ja/mobileTrip.ts b/shared/src/i18n/ja/mobileTrip.ts index 487775a99..456e3285d 100644 --- a/shared/src/i18n/ja/mobileTrip.ts +++ b/shared/src/i18n/ja/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': '日に追加しますか?', 'mobileTrip.addTransportShort': '移動', 'mobileTrip.allDays': 'すべての日', + 'mobileTrip.today': '今日', + 'mobileTrip.jumpToToday': '今日へ移動', 'mobileTrip.assignedDays': '割り当てられた日', 'mobileTrip.assignmentNotes': '日別メモ', 'mobileTrip.bookingsEmpty': '予約はまだありません', diff --git a/shared/src/i18n/ko/mobileTrip.ts b/shared/src/i18n/ko/mobileTrip.ts index 3f2ce66d5..06c9579cd 100644 --- a/shared/src/i18n/ko/mobileTrip.ts +++ b/shared/src/i18n/ko/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': '하루에 추가할까요?', 'mobileTrip.addTransportShort': '교통', 'mobileTrip.allDays': '모든 날', + 'mobileTrip.today': '오늘', + 'mobileTrip.jumpToToday': '오늘로 이동', 'mobileTrip.assignedDays': '배정된 날짜', 'mobileTrip.assignmentNotes': '날짜별 메모', 'mobileTrip.bookingsEmpty': '아직 예약이 없습니다', diff --git a/shared/src/i18n/nl/mobileTrip.ts b/shared/src/i18n/nl/mobileTrip.ts index 1410cdf78..862925e33 100644 --- a/shared/src/i18n/nl/mobileTrip.ts +++ b/shared/src/i18n/nl/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Toevoegen aan een dag?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Alle dagen', + 'mobileTrip.today': 'Vandaag', + 'mobileTrip.jumpToToday': 'Naar vandaag', 'mobileTrip.assignedDays': 'Toegewezen dagen', 'mobileTrip.assignmentNotes': 'Dagspecifieke notities', 'mobileTrip.bookingsEmpty': 'Nog geen boekingen', diff --git a/shared/src/i18n/pl/mobileTrip.ts b/shared/src/i18n/pl/mobileTrip.ts index b121f77f3..e697aa95d 100644 --- a/shared/src/i18n/pl/mobileTrip.ts +++ b/shared/src/i18n/pl/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Dodać do dnia?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Wszystkie dni', + 'mobileTrip.today': 'Dziś', + 'mobileTrip.jumpToToday': 'Przejdź do dziś', 'mobileTrip.assignedDays': 'Przypisane dni', 'mobileTrip.assignmentNotes': 'Notatki dla dnia', 'mobileTrip.bookingsEmpty': 'Brak rezerwacji', diff --git a/shared/src/i18n/ru/mobileTrip.ts b/shared/src/i18n/ru/mobileTrip.ts index 21d85dff9..37af6f512 100644 --- a/shared/src/i18n/ru/mobileTrip.ts +++ b/shared/src/i18n/ru/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Добавить в день?', 'mobileTrip.addTransportShort': 'Транспорт', 'mobileTrip.allDays': 'Все дни', + 'mobileTrip.today': 'Сегодня', + 'mobileTrip.jumpToToday': 'Перейти к сегодня', 'mobileTrip.assignedDays': 'Назначенные дни', 'mobileTrip.assignmentNotes': 'Заметки на день', 'mobileTrip.bookingsEmpty': 'Пока нет бронирований', diff --git a/shared/src/i18n/sk/mobileTrip.ts b/shared/src/i18n/sk/mobileTrip.ts index 50fffb749..867730ce2 100644 --- a/shared/src/i18n/sk/mobileTrip.ts +++ b/shared/src/i18n/sk/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Pridať do dňa?', 'mobileTrip.addTransportShort': 'Doprava', 'mobileTrip.allDays': 'Všetky dni', + 'mobileTrip.today': 'Dnes', + 'mobileTrip.jumpToToday': 'Prejsť na dnešok', 'mobileTrip.assignedDays': 'Priradené dni', 'mobileTrip.assignmentNotes': 'Poznámky ku konkrétnemu dňu', 'mobileTrip.bookingsEmpty': 'Zatiaľ žiadne rezervácie', diff --git a/shared/src/i18n/sv/mobileTrip.ts b/shared/src/i18n/sv/mobileTrip.ts index a4cf7376d..049461616 100644 --- a/shared/src/i18n/sv/mobileTrip.ts +++ b/shared/src/i18n/sv/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Lägg till på en dag?', 'mobileTrip.addTransportShort': 'Transport', 'mobileTrip.allDays': 'Alla dagar', + 'mobileTrip.today': 'Idag', + 'mobileTrip.jumpToToday': 'Gå till idag', 'mobileTrip.assignedDays': 'Tilldelade dagar', 'mobileTrip.assignmentNotes': 'Dagsspecifika anteckningar', 'mobileTrip.bookingsEmpty': 'Inga bokningar än', diff --git a/shared/src/i18n/th/mobileTrip.ts b/shared/src/i18n/th/mobileTrip.ts index 6e5a22f88..6ff8b9316 100644 --- a/shared/src/i18n/th/mobileTrip.ts +++ b/shared/src/i18n/th/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': "เพิ่มในวันใด?", 'mobileTrip.addTransportShort': "ขนส่ง", 'mobileTrip.allDays': "ทุกวัน", + 'mobileTrip.today': 'วันนี้', + 'mobileTrip.jumpToToday': 'ไปที่วันนี้', 'mobileTrip.assignedDays': "วันที่ได้รับมอบหมาย", 'mobileTrip.assignmentNotes': "บันทึกเฉพาะวัน", 'mobileTrip.bookingsEmpty': "ยังไม่มีการจอง", diff --git a/shared/src/i18n/tr/mobileTrip.ts b/shared/src/i18n/tr/mobileTrip.ts index 523da7eac..4164f5753 100644 --- a/shared/src/i18n/tr/mobileTrip.ts +++ b/shared/src/i18n/tr/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Bir güne eklensin mi?', 'mobileTrip.addTransportShort': 'Ulaşım', 'mobileTrip.allDays': 'Tüm Günler', + 'mobileTrip.today': 'Bugün', + 'mobileTrip.jumpToToday': 'Bugüne git', 'mobileTrip.assignedDays': 'Atanan Günler', 'mobileTrip.assignmentNotes': 'Güne özel notlar', 'mobileTrip.bookingsEmpty': 'Henüz rezervasyon yok', diff --git a/shared/src/i18n/uk/mobileTrip.ts b/shared/src/i18n/uk/mobileTrip.ts index 43d6a12c8..de758495d 100644 --- a/shared/src/i18n/uk/mobileTrip.ts +++ b/shared/src/i18n/uk/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Додати до дня?', 'mobileTrip.addTransportShort': 'Транспорт', 'mobileTrip.allDays': 'Усі дні', + 'mobileTrip.today': 'Сьогодні', + 'mobileTrip.jumpToToday': 'Перейти до сьогодні', 'mobileTrip.assignedDays': 'Призначені дні', 'mobileTrip.assignmentNotes': 'Нотатки на день', 'mobileTrip.bookingsEmpty': 'Поки немає бронювань', diff --git a/shared/src/i18n/vi/mobileTrip.ts b/shared/src/i18n/vi/mobileTrip.ts index 11c4abe30..adb96dc3b 100644 --- a/shared/src/i18n/vi/mobileTrip.ts +++ b/shared/src/i18n/vi/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': 'Thêm vào một ngày?', 'mobileTrip.addTransportShort': 'Di chuyển', 'mobileTrip.allDays': 'Tất cả các ngày', + 'mobileTrip.today': 'Hôm nay', + 'mobileTrip.jumpToToday': 'Đến hôm nay', 'mobileTrip.assignedDays': 'Ngày được gán', 'mobileTrip.assignmentNotes': 'Ghi chú theo ngày', 'mobileTrip.bookingsEmpty': 'Chưa có đặt chỗ nào', diff --git a/shared/src/i18n/zh-TW/mobileTrip.ts b/shared/src/i18n/zh-TW/mobileTrip.ts index e1d486d36..d539b0ab9 100644 --- a/shared/src/i18n/zh-TW/mobileTrip.ts +++ b/shared/src/i18n/zh-TW/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': '新增到某一天?', 'mobileTrip.addTransportShort': '交通', 'mobileTrip.allDays': '所有天', + 'mobileTrip.today': '今天', + 'mobileTrip.jumpToToday': '跳到今天', 'mobileTrip.assignedDays': '已分配的天數', 'mobileTrip.assignmentNotes': '按天備註', 'mobileTrip.bookingsEmpty': '暫無預訂', diff --git a/shared/src/i18n/zh/mobileTrip.ts b/shared/src/i18n/zh/mobileTrip.ts index 649849efd..2de2576d2 100644 --- a/shared/src/i18n/zh/mobileTrip.ts +++ b/shared/src/i18n/zh/mobileTrip.ts @@ -7,6 +7,8 @@ const mobileTrip: TranslationStrings = { 'mobileTrip.addToDayQuestion': '添加到某一天?', 'mobileTrip.addTransportShort': '交通', 'mobileTrip.allDays': '所有天', + 'mobileTrip.today': '今天', + 'mobileTrip.jumpToToday': '跳到今天', 'mobileTrip.assignedDays': '已分配的天数', 'mobileTrip.assignmentNotes': '按天备注', 'mobileTrip.bookingsEmpty': '暂无预订',