fix(vacaciones): edit and delete vacation ranges

Vacaciones ranges could be created but never edited or removed --
EstadoAlarmas already had crearRangoVacaciones/eliminarRangoVacaciones
with no UI affordance reaching them, and no update path at all.

Add EstadoAlarmas.editarRangoVacaciones and wire tap-to-edit /
swipe-to-delete (with confirmation) onto every range card, mirroring
the alarm list's own Dismissible + confirm-dialog pattern exactly. This
covers the active-range hero too: a freshly created range is active
immediately and only ever renders there, never in the
scheduled/past lists, so it needed the same affordances or a user's
very first range could never be fixed.
This commit is contained in:
2026-07-30 19:05:28 +02:00
parent d1a911e587
commit c7e1a212ca
30 changed files with 639 additions and 111 deletions
+18
View File
@@ -2078,6 +2078,24 @@ abstract class AppLocalizations {
/// **'Nuevo rango de vacaciones'**
String get newVacationRangeTitle;
/// No description provided for @editVacationRangeTitle.
///
/// In es, this message translates to:
/// **'Editar rango de vacaciones'**
String get editVacationRangeTitle;
/// No description provided for @vacationDeleteConfirmTitle.
///
/// In es, this message translates to:
/// **'¿Eliminar rango de vacaciones?'**
String get vacationDeleteConfirmTitle;
/// No description provided for @vacationDeleteConfirmMessage.
///
/// In es, this message translates to:
/// **'Esta acción no se puede deshacer.'**
String get vacationDeleteConfirmMessage;
/// No description provided for @startField.
///
/// In es, this message translates to:
+9
View File
@@ -1133,6 +1133,15 @@ class AppLocalizationsAr extends AppLocalizations {
@override
String get newVacationRangeTitle => 'نطاق إجازة جديد';
@override
String get editVacationRangeTitle => 'تعديل نطاق الإجازة';
@override
String get vacationDeleteConfirmTitle => 'هل تريد حذف نطاق الإجازة؟';
@override
String get vacationDeleteConfirmMessage => 'لا يمكن التراجع عن هذا الإجراء.';
@override
String get startField => 'البداية';
+10
View File
@@ -1140,6 +1140,16 @@ class AppLocalizationsBn extends AppLocalizations {
@override
String get newVacationRangeTitle => 'নতুন ছুটির পরিসর';
@override
String get editVacationRangeTitle => 'ছুটির পরিসর সম্পাদনা করুন';
@override
String get vacationDeleteConfirmTitle => 'ছুটির পরিসর মুছবেন?';
@override
String get vacationDeleteConfirmMessage =>
'এই পদক্ষেপ ফিরিয়ে নেওয়া যাবে না।';
@override
String get startField => 'শুরু';
+10
View File
@@ -1142,6 +1142,16 @@ class AppLocalizationsDe extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Neuer Ferienzeitraum';
@override
String get editVacationRangeTitle => 'Ferienzeitraum bearbeiten';
@override
String get vacationDeleteConfirmTitle => 'Ferienzeitraum löschen?';
@override
String get vacationDeleteConfirmMessage =>
'Dies kann nicht rückgängig gemacht werden.';
@override
String get startField => 'Beginn';
+9
View File
@@ -1133,6 +1133,15 @@ class AppLocalizationsEn extends AppLocalizations {
@override
String get newVacationRangeTitle => 'New vacation range';
@override
String get editVacationRangeTitle => 'Edit vacation range';
@override
String get vacationDeleteConfirmTitle => 'Delete vacation range?';
@override
String get vacationDeleteConfirmMessage => 'This can\'t be undone.';
@override
String get startField => 'Start';
+10
View File
@@ -1139,6 +1139,16 @@ class AppLocalizationsEs extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Nuevo rango de vacaciones';
@override
String get editVacationRangeTitle => 'Editar rango de vacaciones';
@override
String get vacationDeleteConfirmTitle => '¿Eliminar rango de vacaciones?';
@override
String get vacationDeleteConfirmMessage =>
'Esta acción no se puede deshacer.';
@override
String get startField => 'Inicio';
+9
View File
@@ -1145,6 +1145,15 @@ class AppLocalizationsFr extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Nouvelle période de vacances';
@override
String get editVacationRangeTitle => 'Modifier la période de vacances';
@override
String get vacationDeleteConfirmTitle => 'Supprimer la période de vacances ?';
@override
String get vacationDeleteConfirmMessage => 'Cette action est irréversible.';
@override
String get startField => 'Début';
+9
View File
@@ -1134,6 +1134,15 @@ class AppLocalizationsHi extends AppLocalizations {
@override
String get newVacationRangeTitle => 'नई छुट्टी अवधि';
@override
String get editVacationRangeTitle => 'छुट्टी अवधि संपादित करें';
@override
String get vacationDeleteConfirmTitle => 'छुट्टी अवधि हटाएं?';
@override
String get vacationDeleteConfirmMessage => 'इसे वापस नहीं लिया जा सकता।';
@override
String get startField => 'शुरुआत';
+10
View File
@@ -1139,6 +1139,16 @@ class AppLocalizationsId extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Rentang liburan baru';
@override
String get editVacationRangeTitle => 'Edit rentang liburan';
@override
String get vacationDeleteConfirmTitle => 'Hapus rentang liburan?';
@override
String get vacationDeleteConfirmMessage =>
'Tindakan ini tidak dapat dibatalkan.';
@override
String get startField => 'Mulai';
+10
View File
@@ -1144,6 +1144,16 @@ class AppLocalizationsIt extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Nuovo periodo di vacanza';
@override
String get editVacationRangeTitle => 'Modifica periodo di vacanza';
@override
String get vacationDeleteConfirmTitle => 'Eliminare il periodo di vacanza?';
@override
String get vacationDeleteConfirmMessage =>
'Questa azione non può essere annullata.';
@override
String get startField => 'Inizio';
+9
View File
@@ -1101,6 +1101,15 @@ class AppLocalizationsJa extends AppLocalizations {
@override
String get newVacationRangeTitle => '新しい休暇期間';
@override
String get editVacationRangeTitle => '休暇期間を編集';
@override
String get vacationDeleteConfirmTitle => '休暇期間を削除しますか?';
@override
String get vacationDeleteConfirmMessage => 'この操作は元に戻せません。';
@override
String get startField => '開始';
+9
View File
@@ -1138,6 +1138,15 @@ class AppLocalizationsPt extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Novo período de férias';
@override
String get editVacationRangeTitle => 'Editar período de férias';
@override
String get vacationDeleteConfirmTitle => 'Excluir período de férias?';
@override
String get vacationDeleteConfirmMessage => 'Esta ação não pode ser desfeita.';
@override
String get startField => 'Início';
+9
View File
@@ -1140,6 +1140,15 @@ class AppLocalizationsRu extends AppLocalizations {
@override
String get newVacationRangeTitle => 'Новый период отпуска';
@override
String get editVacationRangeTitle => 'Изменить период отпуска';
@override
String get vacationDeleteConfirmTitle => 'Удалить период отпуска?';
@override
String get vacationDeleteConfirmMessage => 'Это действие нельзя отменить.';
@override
String get startField => 'Начало';
+9
View File
@@ -1097,6 +1097,15 @@ class AppLocalizationsZh extends AppLocalizations {
@override
String get newVacationRangeTitle => '新的假期范围';
@override
String get editVacationRangeTitle => '编辑假期范围';
@override
String get vacationDeleteConfirmTitle => '删除假期范围?';
@override
String get vacationDeleteConfirmMessage => '此操作无法撤销。';
@override
String get startField => '开始';