fix(dayplan): calmer day dialogs, and the shrink question side by side

The day dialog hangs from a fixed top edge, so switching to the delete
question only moves its bottom edge, and the question opens at its top
with the focus on Cancel. Cancel, Close and the quiet add share one
outline; the dated add is drawn in the accent instead of filled with it.
Dates in the dialog, its hints and the new-day toast read the way the day
list writes them, and captions use the muted text colour for contrast. A
stay booked twice is named once in the warning. On the phone the dated
pill shows only its date, so both pills fit side by side.

When the trip dialog asks both how bookings follow a moved start and
which days the new dates remove, the two now stand side by side in a wide
dialog instead of one long column.
This commit is contained in:
Maurice
2026-09-23 22:20:59 +02:00
parent 83be759c49
commit 954758082b
35 changed files with 152 additions and 118 deletions
+1 -1
View File
@@ -125,6 +125,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'يضيف يومًا بلا تاريخ في النهاية. تبقى تواريخ الرحلة كما هي.',
'dayplan.addDatedDay': 'إضافة {date}',
'dayplan.addDatedDayHint': 'يمدّد الرحلة يومًا واحدًا حتى {date}.',
'dayplan.tripExtended': 'تمت إضافة اليوم. تنتهي الرحلة الآن في {date}.',
'dayplan.tripExtended': 'تمت إضافة اليوم. تنتهي الرحلة الآن في {date}، أي بعد يوم واحد.',
};
export default dayplan;
+3 -3
View File
@@ -114,7 +114,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'A viagem agora termina em {date}',
'dayplan.deleteDayShrinkHint': 'Não há nenhum dia sem data para assumir a última data.',
'dayplan.impactStayShorter': 'Hospedagem em {name}: uma noite a menos',
'dayplan.deleteDayStayShorterHint': 'Ela passa por este dia e agora o check-out é em {date}.',
'dayplan.deleteDayStayShorterHint': 'O check-out agora é em {date}, pois ela passa por este dia.',
'dayplan.deleteDayStayShorterUndatedHint': 'Ela passa por este dia e agora termina um dia antes.',
'dayplan.deleteDaySpareDated': '{day} recebe a data {date}',
'dayplan.deleteDaySpareDatedHint': 'É o primeiro dia sem data e assume a última data da viagem.',
@@ -125,7 +125,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Sem data',
'dayplan.addUndatedDayHint': 'Adiciona um dia sem data no final. As datas da viagem continuam as mesmas.',
'dayplan.addDatedDay': 'Adicionar {date}',
'dayplan.addDatedDayHint': 'Estende a viagem em um dia, até {date}.',
'dayplan.tripExtended': 'Dia adicionado. A viagem agora termina em {date}.',
'dayplan.addDatedDayHint': 'Adiciona {date} e estende a viagem em um dia.',
'dayplan.tripExtended': 'Dia adicionado. A viagem agora termina em {date}, um dia depois.',
};
export default dayplan;
+3 -3
View File
@@ -114,7 +114,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Ara el viatge acaba el {date}',
'dayplan.deleteDayShrinkHint': "No queda cap dia sense data que pugui agafar l'última data.",
'dayplan.impactStayShorter': 'Estada a {name}: una nit menys',
'dayplan.deleteDayStayShorterHint': 'Travessa aquest dia i ara la sortida és el {date}.',
'dayplan.deleteDayStayShorterHint': 'Ara la sortida és el {date}, perquè travessa aquest dia.',
'dayplan.deleteDayStayShorterUndatedHint': 'Travessa aquest dia i ara acaba un dia abans.',
'dayplan.deleteDaySpareDated': '{day} pren la data {date}',
'dayplan.deleteDaySpareDatedHint': "És el primer dia sense data i passa a tenir l'última data del viatge.",
@@ -125,7 +125,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Sense data',
'dayplan.addUndatedDayHint': 'Afegeix un dia sense data al final. Les dates del viatge no canvien.',
'dayplan.addDatedDay': 'Afegeix {date}',
'dayplan.addDatedDayHint': 'Allarga el viatge un dia, fins al {date}.',
'dayplan.tripExtended': "S'ha afegit el dia. Ara el viatge acaba el {date}.",
'dayplan.addDatedDayHint': 'Afegeix el {date} i allarga el viatge un dia.',
'dayplan.tripExtended': "S'ha afegit el dia. Ara el viatge acaba el {date}, un dia més tard.",
};
export default dayplan;
+3 -3
View File
@@ -115,7 +115,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Cesta nyní končí {date}',
'dayplan.deleteDayShrinkHint': 'Nezbývá žádný den bez data, který by převzal poslední datum.',
'dayplan.impactStayShorter': 'Ubytování v {name}: o noc kratší',
'dayplan.deleteDayStayShorterHint': 'Zasahuje přes tento den, odjezd je teď {date}.',
'dayplan.deleteDayStayShorterHint': 'Odjezd je teď {date}, protože zasahuje přes tento den.',
'dayplan.deleteDayStayShorterUndatedHint': 'Zasahuje přes tento den, teď končí o den dříve.',
'dayplan.deleteDaySpareDated': '{day} dostane datum {date}',
'dayplan.deleteDaySpareDatedHint': 'Je to první den bez data a převezme poslední datum cesty.',
@@ -126,7 +126,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Bez data',
'dayplan.addUndatedDayHint': 'Přidá na konec den bez data. Termín cesty zůstane stejný.',
'dayplan.addDatedDay': 'Přidat {date}',
'dayplan.addDatedDayHint': 'Prodlouží cestu o jeden den, do {date}.',
'dayplan.tripExtended': 'Den přidán. Cesta teď končí {date}.',
'dayplan.addDatedDayHint': 'Přidá {date} a prodlouží cestu o jeden den.',
'dayplan.tripExtended': 'Den přidán. Cesta teď končí {date}, o den později.',
};
export default dayplan;
+3 -3
View File
@@ -115,7 +115,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Die Reise endet jetzt am {date}',
'dayplan.deleteDayShrinkHint': 'Es gibt keinen Tag ohne Datum, der das letzte Datum übernehmen könnte.',
'dayplan.impactStayShorter': 'Übernachtung in {name}: eine Nacht weniger',
'dayplan.deleteDayStayShorterHint': 'Sie läuft über diesen Tag, der Check-out ist jetzt am {date}.',
'dayplan.deleteDayStayShorterHint': 'Der Check-out ist jetzt am {date}, weil sie über diesen Tag läuft.',
'dayplan.deleteDayStayShorterUndatedHint': 'Sie läuft über diesen Tag und endet jetzt einen Tag früher.',
'dayplan.deleteDaySpareDated': '{day} bekommt das Datum {date}',
'dayplan.deleteDaySpareDatedHint': 'Er ist der erste Tag ohne Datum und übernimmt das letzte Datum der Reise.',
@@ -126,7 +126,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Ohne Datum',
'dayplan.addUndatedDayHint': 'Hängt hinten einen Tag ohne Datum an. Die Reisedaten bleiben, wie sie sind.',
'dayplan.addDatedDay': '{date} hinzufügen',
'dayplan.addDatedDayHint': 'Verlängert die Reise um einen Tag, bis {date}.',
'dayplan.tripExtended': 'Tag hinzugefügt. Die Reise endet jetzt am {date}.',
'dayplan.addDatedDayHint': 'Fügt {date} hinzu und verlängert die Reise um einen Tag.',
'dayplan.tripExtended': 'Tag hinzugefügt. Die Reise endet jetzt am {date}, einen Tag später.',
};
export default dayplan;
+3 -3
View File
@@ -114,7 +114,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Trip now ends on {date}',
'dayplan.deleteDayShrinkHint': 'There is no day without a date to take over the last date.',
'dayplan.impactStayShorter': 'Stay at {name}: one night less',
'dayplan.deleteDayStayShorterHint': 'It runs across this day and now checks out on {date}.',
'dayplan.deleteDayStayShorterHint': 'Check-out is now on {date}, as it runs across this day.',
'dayplan.deleteDayStayShorterUndatedHint': 'It runs across this day and now ends one day earlier.',
'dayplan.deleteDaySpareDated': '{day} takes the date {date}',
'dayplan.deleteDaySpareDatedHint': 'It is the first day without a date, and it takes over the last date of the trip.',
@@ -125,7 +125,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Without date',
'dayplan.addUndatedDayHint': 'Adds a day without a date at the end. The trip dates stay as they are.',
'dayplan.addDatedDay': 'Add {date}',
'dayplan.addDatedDayHint': 'Extends the trip by one day, until {date}.',
'dayplan.tripExtended': 'Day added. The trip now ends on {date}.',
'dayplan.addDatedDayHint': 'Adds {date} and extends the trip by one day.',
'dayplan.tripExtended': 'Day added. The trip now ends on {date}, one day later.',
};
export default dayplan;
+1 -1
View File
@@ -126,6 +126,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Añade un día sin fecha al final. Las fechas del viaje no cambian.',
'dayplan.addDatedDay': 'Añadir {date}',
'dayplan.addDatedDayHint': 'Alarga el viaje un día, hasta el {date}.',
'dayplan.tripExtended': 'Día añadido. El viaje termina ahora el {date}.',
'dayplan.tripExtended': 'Día añadido. El viaje termina ahora el {date}, un día más tarde.',
};
export default dayplan;
+3 -3
View File
@@ -114,7 +114,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Le voyage se termine désormais le {date}',
'dayplan.deleteDayShrinkHint': 'Aucun jour sans date ne peut reprendre la dernière date.',
'dayplan.impactStayShorter': 'Séjour à {name} : une nuit de moins',
'dayplan.deleteDayStayShorterHint': 'Il couvre ce jour et le départ a désormais lieu le {date}.',
'dayplan.deleteDayStayShorterHint': 'Le départ a désormais lieu le {date}, car il couvre ce jour.',
'dayplan.deleteDayStayShorterUndatedHint': 'Il couvre ce jour et se termine désormais un jour plus tôt.',
'dayplan.deleteDaySpareDated': '{day} reçoit la date {date}',
'dayplan.deleteDaySpareDatedHint': "C'est le premier jour sans date, et il reprend la dernière date du voyage.",
@@ -125,7 +125,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Sans date',
'dayplan.addUndatedDayHint': 'Ajoute un jour sans date à la fin. Les dates du voyage ne changent pas.',
'dayplan.addDatedDay': 'Ajouter {date}',
'dayplan.addDatedDayHint': "Prolonge le voyage d'un jour, jusqu'au {date}.",
'dayplan.tripExtended': 'Jour ajouté. Le voyage se termine désormais le {date}.',
'dayplan.addDatedDayHint': "Ajoute le {date} et prolonge le voyage d'un jour.",
'dayplan.tripExtended': 'Jour ajouté. Le voyage se termine désormais le {date}, un jour plus tard.',
};
export default dayplan;
+1 -1
View File
@@ -130,6 +130,6 @@ const dayplan: TranslationStrings = {
'Προσθέτει στο τέλος μια ημέρα χωρίς ημερομηνία. Οι ημερομηνίες του ταξιδιού μένουν ίδιες.',
'dayplan.addDatedDay': 'Προσθήκη {date}',
'dayplan.addDatedDayHint': 'Επεκτείνει το ταξίδι κατά μία ημέρα, έως {date}.',
'dayplan.tripExtended': 'Η ημέρα προστέθηκε. Το ταξίδι τελειώνει πλέον στις {date}.',
'dayplan.tripExtended': 'Η ημέρα προστέθηκε. Το ταξίδι τελειώνει πλέον στις {date}, μία ημέρα αργότερα.',
};
export default dayplan;
+1 -1
View File
@@ -127,6 +127,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Egy dátum nélküli napot ad a végéhez. Az utazás dátumai nem változnak.',
'dayplan.addDatedDay': '{date} hozzáadása',
'dayplan.addDatedDayHint': 'Egy nappal meghosszabbítja az utazást. Új utolsó nap: {date}.',
'dayplan.tripExtended': 'Nap hozzáadva. Az utazás utolsó napja most: {date}.',
'dayplan.tripExtended': 'Nap hozzáadva. Az utazás egy nappal tovább tart, utolsó napja most: {date}.',
};
export default dayplan;
+1 -1
View File
@@ -128,6 +128,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Menambahkan hari tanpa tanggal di akhir. Tanggal perjalanan tetap sama.',
'dayplan.addDatedDay': 'Tambah {date}',
'dayplan.addDatedDayHint': 'Memperpanjang perjalanan satu hari, hingga {date}.',
'dayplan.tripExtended': 'Hari ditambahkan. Perjalanan kini berakhir pada {date}.',
'dayplan.tripExtended': 'Hari ditambahkan. Perjalanan kini berakhir pada {date}, satu hari lebih lambat.',
};
export default dayplan;
+1 -1
View File
@@ -128,6 +128,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Aggiunge un giorno senza data alla fine. Le date del viaggio restano invariate.',
'dayplan.addDatedDay': 'Aggiungi {date}',
'dayplan.addDatedDayHint': 'Allunga il viaggio di un giorno, fino a {date}.',
'dayplan.tripExtended': 'Giorno aggiunto. Il viaggio ora finisce il {date}.',
'dayplan.tripExtended': 'Giorno aggiunto. Il viaggio ora finisce il {date}, un giorno dopo.',
};
export default dayplan;
+1 -1
View File
@@ -126,6 +126,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': '日付のない日を最後に追加します。旅行の日程は変わりません。',
'dayplan.addDatedDay': '{date}を追加',
'dayplan.addDatedDayHint': '旅行を1日延長し、{date}までにします。',
'dayplan.tripExtended': '日を追加しました。旅行の最終日は{date}になりました。',
'dayplan.tripExtended': '日を追加しました。旅行が1日延びて、最終日は{date}になりました。',
};
export default dayplan;
+1 -1
View File
@@ -125,6 +125,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': '날짜 없는 날을 마지막에 추가합니다. 여행 날짜는 그대로입니다.',
'dayplan.addDatedDay': '{date} 추가',
'dayplan.addDatedDayHint': '여행을 하루 늘려 {date}까지로 만듭니다.',
'dayplan.tripExtended': '날짜를 추가했습니다. 이제 여행은 {date}에 끝납니다.',
'dayplan.tripExtended': '날짜를 추가했습니다. 여행이 하루 늘어나 이제 {date}에 끝납니다.',
};
export default dayplan;
+1 -1
View File
@@ -126,6 +126,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Voegt aan het eind een dag zonder datum toe. De reisdata blijven zoals ze zijn.',
'dayplan.addDatedDay': '{date} toevoegen',
'dayplan.addDatedDayHint': 'Verlengt de reis met één dag, tot {date}.',
'dayplan.tripExtended': 'Dag toegevoegd. De reis eindigt nu op {date}.',
'dayplan.tripExtended': 'Dag toegevoegd. De reis eindigt nu op {date}, een dag later.',
};
export default dayplan;
+1 -1
View File
@@ -128,6 +128,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Dodaje na końcu dzień bez daty. Daty podróży się nie zmieniają.',
'dayplan.addDatedDay': 'Dodaj {date}',
'dayplan.addDatedDayHint': 'Wydłuża podróż o jeden dzień, do {date}.',
'dayplan.tripExtended': 'Dodano dzień. Podróż kończy się teraz {date}.',
'dayplan.tripExtended': 'Dodano dzień. Podróż kończy się teraz {date}, dzień później.',
};
export default dayplan;
+3 -3
View File
@@ -115,7 +115,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Теперь поездка заканчивается {date}',
'dayplan.deleteDayShrinkHint': 'Нет дня без даты, который мог бы занять последнюю дату.',
'dayplan.impactStayShorter': 'Проживание в {name}: на одну ночь меньше',
'dayplan.deleteDayStayShorterHint': 'Оно проходит через этот день, и выезд теперь {date}.',
'dayplan.deleteDayStayShorterHint': 'Выезд теперь {date}, потому что оно проходит через этот день.',
'dayplan.deleteDayStayShorterUndatedHint': 'Оно проходит через этот день и теперь заканчивается на день раньше.',
'dayplan.deleteDaySpareDated': '{day} получает дату {date}',
'dayplan.deleteDaySpareDatedHint': 'Это первый день без даты, и он получает последнюю дату поездки.',
@@ -126,7 +126,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Без даты',
'dayplan.addUndatedDayHint': 'Добавляет в конец день без даты. Даты поездки не меняются.',
'dayplan.addDatedDay': 'Добавить {date}',
'dayplan.addDatedDayHint': 'Продлевает поездку на один день, до {date}.',
'dayplan.tripExtended': 'День добавлен. Теперь поездка заканчивается {date}.',
'dayplan.addDatedDayHint': 'Добавляет {date} и продлевает поездку на один день.',
'dayplan.tripExtended': 'День добавлен. Теперь поездка заканчивается {date}, на день позже.',
};
export default dayplan;
+3 -3
View File
@@ -115,7 +115,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Resan slutar nu {date}',
'dayplan.deleteDayShrinkHint': 'Det finns ingen dag utan datum som kan ta över det sista datumet.',
'dayplan.impactStayShorter': 'Boende på {name}: en natt kortare',
'dayplan.deleteDayStayShorterHint': 'Det sträcker sig över den här dagen och utcheckningen är nu {date}.',
'dayplan.deleteDayStayShorterHint': 'Utcheckningen är nu {date}, eftersom det sträcker sig över den här dagen.',
'dayplan.deleteDayStayShorterUndatedHint': 'Det sträcker sig över den här dagen och slutar nu en dag tidigare.',
'dayplan.deleteDaySpareDated': '{day} får datumet {date}',
'dayplan.deleteDaySpareDatedHint': 'Det är den första dagen utan datum, och den tar över resans sista datum.',
@@ -126,7 +126,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Utan datum',
'dayplan.addUndatedDayHint': 'Lägger till en dag utan datum i slutet. Resans datum förblir desamma.',
'dayplan.addDatedDay': 'Lägg till {date}',
'dayplan.addDatedDayHint': 'Förlänger resan med en dag, till {date}.',
'dayplan.tripExtended': 'Dag tillagd. Resan slutar nu {date}.',
'dayplan.addDatedDayHint': 'Lägger till {date} och förlänger resan med en dag.',
'dayplan.tripExtended': 'Dag tillagd. Resan slutar nu {date}, en dag senare.',
};
export default dayplan;
+1 -1
View File
@@ -126,6 +126,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Sona tarihsiz bir gün ekler. Seyahat tarihleri aynı kalır.',
'dayplan.addDatedDay': '{date} ekle',
'dayplan.addDatedDayHint': 'Seyahati bir gün uzatır. Yeni son gün: {date}.',
'dayplan.tripExtended': 'Gün eklendi. Seyahatin yeni son günü: {date}.',
'dayplan.tripExtended': 'Gün eklendi. Seyahat bir gün uzadı, yeni son gün: {date}.',
};
export default dayplan;
+3 -3
View File
@@ -115,7 +115,7 @@ const dayplan: TranslationStrings = {
'dayplan.deleteDayShrink': 'Тепер подорож закінчується {date}',
'dayplan.deleteDayShrinkHint': 'Немає дня без дати, який міг би зайняти останню дату.',
'dayplan.impactStayShorter': 'Проживання в {name}: на одну ніч менше',
'dayplan.deleteDayStayShorterHint': 'Воно проходить через цей день, і виїзд тепер {date}.',
'dayplan.deleteDayStayShorterHint': 'Виїзд тепер {date}, бо воно проходить через цей день.',
'dayplan.deleteDayStayShorterUndatedHint': 'Воно проходить через цей день і тепер закінчується на день раніше.',
'dayplan.deleteDaySpareDated': '{day} отримує дату {date}',
'dayplan.deleteDaySpareDatedHint': 'Це перший день без дати, і він отримує останню дату подорожі.',
@@ -126,7 +126,7 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDay': 'Без дати',
'dayplan.addUndatedDayHint': 'Додає в кінець день без дати. Дати подорожі не змінюються.',
'dayplan.addDatedDay': 'Додати {date}',
'dayplan.addDatedDayHint': 'Подовжує подорож на один день, до {date}.',
'dayplan.tripExtended': 'День додано. Тепер подорож закінчується {date}.',
'dayplan.addDatedDayHint': 'Додає {date} і подовжує подорож на один день.',
'dayplan.tripExtended': 'День додано. Тепер подорож закінчується {date}, на день пізніше.',
};
export default dayplan;
+1 -1
View File
@@ -126,6 +126,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': 'Thêm một ngày không có ngày tháng vào cuối. Ngày của chuyến đi giữ nguyên.',
'dayplan.addDatedDay': 'Thêm {date}',
'dayplan.addDatedDayHint': 'Kéo dài chuyến đi thêm một ngày, đến {date}.',
'dayplan.tripExtended': 'Đã thêm ngày. Chuyến đi giờ kết thúc vào {date}.',
'dayplan.tripExtended': 'Đã thêm ngày. Chuyến đi giờ kết thúc vào {date}, muộn hơn một ngày.',
};
export default dayplan;
+1 -1
View File
@@ -123,6 +123,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': '在最後新增一天沒有日期的行程。旅程日期不變。',
'dayplan.addDatedDay': '新增 {date}',
'dayplan.addDatedDayHint': '旅程延長一天,到 {date} 為止。',
'dayplan.tripExtended': '已新增一天。旅程現在於 {date} 結束。',
'dayplan.tripExtended': '已新增一天。旅程延長一天,現在於 {date} 結束。',
};
export default dayplan;
+1 -1
View File
@@ -123,6 +123,6 @@ const dayplan: TranslationStrings = {
'dayplan.addUndatedDayHint': '在末尾添加一天没有日期的行程。旅行日期不变。',
'dayplan.addDatedDay': '添加 {date}',
'dayplan.addDatedDayHint': '旅行延长一天,到 {date} 为止。',
'dayplan.tripExtended': '已添加一天。旅行现在于 {date} 结束。',
'dayplan.tripExtended': '已添加一天。旅行延长一天,现在于 {date} 结束。',
};
export default dayplan;