fix(planner): steady satellite pill, responsive places rail, day-scoped add

The satellite toggle sat on an offset that included --day-panel-h, so it hopped
every time the day panel was collapsed or expanded. On the desktop map that
panel is a centred card between the sidebars and never reaches the pill at the
left edge, so the lift only applies on a phone now.

In the places rail the two add buttons split the width evenly once a day is
open, and every button drops to its icon when the rail is dragged narrow. The
filter tabs span the rail and keep their own text widths. The count is a badge
across the rail; the search field got the outline the controls around it use.

An empty day offers a button that opens the place form pointed at that day
instead of only stating that nothing is planned. The day is cleared again when
the form is opened to edit, which it was not before.

The trip tab bar no longer carries a native title repeating its own label; the
full name moved to aria-label for the tabs whose label is abbreviated.

Three maps tests drove the index switch through app_settings, which no longer
holds it, and now move TREK_PLACES_ENABLED instead.
This commit is contained in:
Maurice
2026-09-08 19:43:11 +02:00
committed by Maurice
parent 9fa0ceaf49
commit f5d6af9c77
34 changed files with 229 additions and 66 deletions
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'تصدير التقويم (ICS)',
'dayplan.emptyDay': 'لا توجد أماكن مخططة لهذا اليوم',
'dayplan.addPlaceHere': 'أضف مكانًا إلى هذا اليوم',
'dayplan.cannotReorderTransport': 'لا يمكن إعادة ترتيب الحجوزات ذات الوقت الثابت',
'dayplan.confirmRemoveTimeTitle': 'إزالة الوقت؟',
'dayplan.confirmRemoveTimeBody': 'هذا المكان له وقت ثابت ({time}). نقله سيزيل الوقت ويسمح بالترتيب الحر.',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Exportar calendário (ICS)',
'dayplan.emptyDay': 'Nenhum lugar planejado para este dia',
'dayplan.addPlaceHere': 'Adicionar local a este dia',
'dayplan.addNote': 'Adicionar nota',
'dayplan.editNote': 'Editar nota',
'dayplan.noteAdd': 'Adicionar nota',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Exporta el calendari (ICS)',
'dayplan.emptyDay': 'No hi ha llocs planificats per a aquest dia',
'dayplan.addPlaceHere': 'Afegeix un lloc a aquest dia',
'dayplan.addNote': 'Afegeix una nota',
'dayplan.editNote': 'Edita la nota',
'dayplan.noteAdd': 'Afegeix una nota',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Exportovat kalendář (ICS)',
'dayplan.emptyDay': 'Na tento den nejsou naplánována žádná místa',
'dayplan.addPlaceHere': 'Přidat místo k tomuto dni',
'dayplan.addNote': 'Přidat poznámku',
'dayplan.editNote': 'Upravit poznámku',
'dayplan.noteAdd': 'Přidat poznámku',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Kalender exportieren (ICS)',
'dayplan.emptyDay': 'Keine Orte für diesen Tag geplant',
'dayplan.addPlaceHere': 'Ort zu diesem Tag',
'dayplan.cannotReorderTransport': 'Buchungen mit fester Uhrzeit können nicht verschoben werden',
'dayplan.confirmRemoveTimeTitle': 'Uhrzeit entfernen?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Export calendar (ICS)',
'dayplan.emptyDay': 'No places planned for this day',
'dayplan.addPlaceHere': 'Add place to this day',
'dayplan.cannotReorderTransport': 'Bookings with a fixed time cannot be reordered',
'dayplan.confirmRemoveTimeTitle': 'Remove time?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Exportar calendario (ICS)',
'dayplan.emptyDay': 'No hay lugares planificados para este día',
'dayplan.addPlaceHere': 'Añadir lugar a este día',
'dayplan.addNote': 'Añadir nota',
'dayplan.editNote': 'Editar nota',
'dayplan.noteAdd': 'Añadir nota',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Exporter le calendrier (ICS)',
'dayplan.emptyDay': 'Aucun lieu prévu pour ce jour',
'dayplan.addPlaceHere': 'Ajouter un lieu à ce jour',
'dayplan.addNote': 'Ajouter une note',
'dayplan.editNote': 'Modifier la note',
'dayplan.noteAdd': 'Ajouter une note',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Εξαγωγή ημερολογίου (ICS)',
'dayplan.emptyDay': 'Δεν υπάρχουν προγραμματισμένα μέρη για αυτή την ημέρα',
'dayplan.addPlaceHere': 'Προσθήκη τόπου σε αυτήν την ημέρα',
'dayplan.cannotReorderTransport': 'Οι κρατήσεις με σταθερή ώρα δεν μπορούν να αναδιαταχθούν',
'dayplan.confirmRemoveTimeTitle': 'Αφαίρεση ώρας;',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Naptár exportálása (ICS)',
'dayplan.emptyDay': 'Nincs tervezett hely erre a napra',
'dayplan.addPlaceHere': 'Hely hozzáadása ehhez a naphoz',
'dayplan.addNote': 'Jegyzet hozzáadása',
'dayplan.editNote': 'Jegyzet szerkesztése',
'dayplan.noteAdd': 'Jegyzet hozzáadása',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Ekspor kalender (ICS)',
'dayplan.emptyDay': 'Belum ada tempat yang direncanakan untuk hari ini',
'dayplan.addPlaceHere': 'Tambah tempat ke hari ini',
'dayplan.cannotReorderTransport': 'Pemesanan dengan waktu tetap tidak bisa diurutkan ulang',
'dayplan.confirmRemoveTimeTitle': 'Hapus waktu?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Esporta calendario (ICS)',
'dayplan.emptyDay': 'Nessun luogo programmato per questo giorno',
'dayplan.addPlaceHere': 'Aggiungi luogo a questo giorno',
'dayplan.addNote': 'Aggiungi nota',
'dayplan.editNote': 'Modifica nota',
'dayplan.noteAdd': 'Aggiungi nota',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'カレンダーを書き出し(ICS)',
'dayplan.emptyDay': 'この日の予定はありません',
'dayplan.addPlaceHere': 'この日に場所を追加',
'dayplan.cannotReorderTransport': '時刻が固定された予約は並び替えできません',
'dayplan.confirmRemoveTimeTitle': '時刻を削除しますか?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': '캘린더 내보내기 (ICS)',
'dayplan.emptyDay': '이 날에 계획된 장소가 없습니다',
'dayplan.addPlaceHere': '이 날짜에 장소 추가',
'dayplan.cannotReorderTransport': '고정된 시간이 있는 예약은 순서를 변경할 수 없습니다',
'dayplan.confirmRemoveTimeTitle': '시간을 제거할까요?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Kalender exporteren (ICS)',
'dayplan.emptyDay': 'Geen plaatsen gepland voor deze dag',
'dayplan.addPlaceHere': 'Plaats toevoegen aan deze dag',
'dayplan.addNote': 'Notitie toevoegen',
'dayplan.editNote': 'Notitie bewerken',
'dayplan.noteAdd': 'Notitie toevoegen',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Eksportuj kalendarz (ICS)',
'dayplan.emptyDay': 'Brak miejsc zaplanowanych na ten dzień',
'dayplan.addPlaceHere': 'Dodaj miejsce do tego dnia',
'dayplan.cannotReorderTransport': 'Nie można zmieniać kolejności dla rezerwacji z określoną godziną',
'dayplan.confirmRemoveTimeTitle': 'Usunąć godzinę?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Экспорт календаря (ICS)',
'dayplan.emptyDay': 'На этот день мест не запланировано',
'dayplan.addPlaceHere': 'Добавить место в этот день',
'dayplan.addNote': 'Добавить заметку',
'dayplan.editNote': 'Редактировать заметку',
'dayplan.noteAdd': 'Добавить заметку',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Exportera kalender (ICS)',
'dayplan.emptyDay': 'Inga platser planerade för denna dag',
'dayplan.addPlaceHere': 'Lägg till plats den här dagen',
'dayplan.cannotReorderTransport': 'Bokningar med fast tid kan inte omordnas',
'dayplan.confirmRemoveTimeTitle': 'Ta bort tid?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'İhracat takvimi (ICS)',
'dayplan.emptyDay': 'Bu gün için planlanmış yer yok',
'dayplan.addPlaceHere': 'Bu güne yer ekle',
'dayplan.cannotReorderTransport': 'Sabit zamanlı rezervasyonlar yeniden sıralanamaz',
'dayplan.confirmRemoveTimeTitle': 'Saat kaldırılsın mı?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Експорт календаря (ICS)',
'dayplan.emptyDay': 'На цей день місць не заплановано',
'dayplan.addPlaceHere': 'Додати місце в цей день',
'dayplan.addNote': 'Додати нотатку',
'dayplan.editNote': 'Редагувати нотатку',
'dayplan.noteAdd': 'Додати нотатку',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': 'Xuất lịch (ICS)',
'dayplan.emptyDay': 'Không có địa điểm nào được lên kế hoạch cho ngày này',
'dayplan.addPlaceHere': 'Thêm địa điểm vào ngày này',
'dayplan.cannotReorderTransport': 'Đặt chỗ với thời gian cố định không thể được sắp xếp lại',
'dayplan.confirmRemoveTimeTitle': 'Xóa thời gian?',
'dayplan.confirmRemoveTimeBody':
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': '匯出日曆 (ICS)',
'dayplan.emptyDay': '當天暫無計劃',
'dayplan.addPlaceHere': '新增地點到這一天',
'dayplan.addNote': '新增備註',
'dayplan.editNote': '編輯備註',
'dayplan.noteAdd': '新增備註',
+1
View File
@@ -3,6 +3,7 @@ import type { TranslationStrings } from '../types';
const dayplan: TranslationStrings = {
'dayplan.icsTooltip': '导出日历 (ICS)',
'dayplan.emptyDay': '当天暂无计划',
'dayplan.addPlaceHere': '添加地点到这一天',
'dayplan.addNote': '添加备注',
'dayplan.editNote': '编辑备注',
'dayplan.noteAdd': '添加备注',