From 5e8d994ac14603b3812c9152d8ab213583c9d1aa Mon Sep 17 00:00:00 2001 From: Amit Sharma <74371312+Amit91848@users.noreply.github.com> Date: Thu, 12 Dec 2024 02:50:42 +0530 Subject: [PATCH] feat: Change 'add override' to 'save override' (#17434) * feat: Change 'add override' to 'save override' * fix: type check * fix: type check * autosave in availability edit sheet * remove unused translation key * added requested changes * added requested changes --------- Co-authored-by: Prashant Varma Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> --- apps/web/public/static/locales/ar/common.json | 1 - apps/web/public/static/locales/az/common.json | 1 - apps/web/public/static/locales/cs/common.json | 1 - apps/web/public/static/locales/da/common.json | 1 - apps/web/public/static/locales/de/common.json | 1 - apps/web/public/static/locales/en/common.json | 2 +- .../public/static/locales/es-419/common.json | 1 - apps/web/public/static/locales/es/common.json | 1 - apps/web/public/static/locales/et/common.json | 1 - apps/web/public/static/locales/fr/common.json | 1 - apps/web/public/static/locales/he/common.json | 1 - apps/web/public/static/locales/hu/common.json | 1 - apps/web/public/static/locales/it/common.json | 1 - apps/web/public/static/locales/ja/common.json | 1 - apps/web/public/static/locales/km/common.json | 1 - apps/web/public/static/locales/ko/common.json | 1 - apps/web/public/static/locales/nl/common.json | 1 - apps/web/public/static/locales/no/common.json | 1 - apps/web/public/static/locales/pl/common.json | 1 - .../public/static/locales/pt-BR/common.json | 1 - apps/web/public/static/locales/pt/common.json | 1 - apps/web/public/static/locales/ro/common.json | 1 - apps/web/public/static/locales/ru/common.json | 1 - apps/web/public/static/locales/sr/common.json | 1 - apps/web/public/static/locales/sv/common.json | 1 - apps/web/public/static/locales/tr/common.json | 1 - apps/web/public/static/locales/uk/common.json | 1 - apps/web/public/static/locales/vi/common.json | 1 - .../public/static/locales/zh-CN/common.json | 1 - .../public/static/locales/zh-TW/common.json | 1 - .../components/DateOverrideInputDialog.tsx | 2 +- .../schedules/components/DateOverrideList.tsx | 6 +++ .../components/AvailabilityEditSheet.tsx | 42 ++++++++++++++----- .../availability/AvailabilitySettings.tsx | 18 +++++++- .../schedules/date-override-list.test.tsx | 4 ++ 35 files changed, 60 insertions(+), 43 deletions(-) diff --git a/apps/web/public/static/locales/ar/common.json b/apps/web/public/static/locales/ar/common.json index 451f56a869..fae4d769d3 100644 --- a/apps/web/public/static/locales/ar/common.json +++ b/apps/web/public/static/locales/ar/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "غير متاح طوال اليوم", "date_overrides_mark_all_day_unavailable_one": "وصغ علامة غير متاح (طوال اليوم)", "date_overrides_mark_all_day_unavailable_other": "وضع علامة غير متاح على التواريخ المحددة", - "date_overrides_add_btn": "إضافة تجاوز", "date_overrides_update_btn": "تحديث التجاوز", "date_successfully_added": "تم إضافة تخطّي التاريخ بنجاح", "event_type_duplicate_copy_text": "{{slug}}-نسخ", diff --git a/apps/web/public/static/locales/az/common.json b/apps/web/public/static/locales/az/common.json index 442b03329c..f31cc0ef26 100644 --- a/apps/web/public/static/locales/az/common.json +++ b/apps/web/public/static/locales/az/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Bütün gün mövcud deyil", "date_overrides_mark_all_day_unavailable_one": "Bütün gün üçün əlçatan deyil olaraq işarələ", "date_overrides_mark_all_day_unavailable_other": "Seçilmiş tarixlərdə əlçatan deyil olaraq işarələ", - "date_overrides_add_btn": "Dəyişiklik əlavə et", "date_overrides_update_btn": "Dəyişikliyi yenilə", "date_successfully_added": "Tarix dəyişikliyi uğurla əlavə edildi", "event_type_duplicate_copy_text": "{{slug}}-nüsxə", diff --git a/apps/web/public/static/locales/cs/common.json b/apps/web/public/static/locales/cs/common.json index 92d0cb6c56..64d13d6fc6 100644 --- a/apps/web/public/static/locales/cs/common.json +++ b/apps/web/public/static/locales/cs/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Nedostupnost celý den", "date_overrides_mark_all_day_unavailable_one": "Zadat nedostupnost (celý den)", "date_overrides_mark_all_day_unavailable_other": "Zadat nedostupnost ve vybraných datech", - "date_overrides_add_btn": "Přidat změnu", "date_overrides_update_btn": "Aktualizovat změnu", "date_successfully_added": "Přidána změna dnů", "event_type_duplicate_copy_text": "{{slug}} – kopie", diff --git a/apps/web/public/static/locales/da/common.json b/apps/web/public/static/locales/da/common.json index ec9869536a..d4b54ce0bb 100644 --- a/apps/web/public/static/locales/da/common.json +++ b/apps/web/public/static/locales/da/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Utilgængelig hele dagen", "date_overrides_mark_all_day_unavailable_one": "Markér utilgængelig (hele dagen)", "date_overrides_mark_all_day_unavailable_other": "Markér utilgængelig på valgte datoer", - "date_overrides_add_btn": "Tilføj Tilsidesæt", "date_overrides_update_btn": "Opdatér Tilsidesæt", "date_successfully_added": "Datooverstyring tilføjet med succes", "event_type_duplicate_copy_text": "{{slug}}-kopi", diff --git a/apps/web/public/static/locales/de/common.json b/apps/web/public/static/locales/de/common.json index cdf03fab87..2daf84b9d9 100644 --- a/apps/web/public/static/locales/de/common.json +++ b/apps/web/public/static/locales/de/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Ganztägig nicht verfügbar", "date_overrides_mark_all_day_unavailable_one": "Als nicht verfügbar markieren (Ganztägig)", "date_overrides_mark_all_day_unavailable_other": "An ausgewählten Daten als „nicht verfügbar“ markieren", - "date_overrides_add_btn": "Überschreibung hinzufügen", "date_overrides_update_btn": "Überschreiben aktualisieren", "date_successfully_added": "Datumsüberbrückung erfolgreich hinzugefügt", "event_type_duplicate_copy_text": "{{slug}}-Kopie", diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index ea6694f4a6..3d09a429cc 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1822,9 +1822,9 @@ "date_overrides_unavailable": "Unavailable all day", "date_overrides_mark_all_day_unavailable_one": "Mark unavailable (All day)", "date_overrides_mark_all_day_unavailable_other": "Mark unavailable on selected dates", - "date_overrides_add_btn": "Add Override", "date_overrides_update_btn": "Update Override", "date_successfully_added": "Date override added successfully", + "date_overrides_save_btn": "Save Override", "event_type_duplicate_copy_text": "{{slug}}-copy", "set_as_default": "Set as default", "hide_eventtype_details": "Hide event type details", diff --git a/apps/web/public/static/locales/es-419/common.json b/apps/web/public/static/locales/es-419/common.json index 835f4035ef..e975a792fd 100644 --- a/apps/web/public/static/locales/es-419/common.json +++ b/apps/web/public/static/locales/es-419/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "No disponible todo el día", "date_overrides_mark_all_day_unavailable_one": "Marcar como no disponible (Todo el día)", "date_overrides_mark_all_day_unavailable_other": "Marcar como no disponible en las fechas seleccionadas", - "date_overrides_add_btn": "Agregar excepción", "date_overrides_update_btn": "Actualizar excepción", "date_successfully_added": "Excepción de fecha agregada con éxito", "event_type_duplicate_copy_text": "{{slug}}-copia", diff --git a/apps/web/public/static/locales/es/common.json b/apps/web/public/static/locales/es/common.json index b2b0330684..d6c5638634 100644 --- a/apps/web/public/static/locales/es/common.json +++ b/apps/web/public/static/locales/es/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "No disponible todo el día", "date_overrides_mark_all_day_unavailable_one": "Marcar como no disponible (Todo el día)", "date_overrides_mark_all_day_unavailable_other": "Marcar como no disponible en las fechas seleccionadas", - "date_overrides_add_btn": "Agregar anulación", "date_overrides_update_btn": "Actualizar anulación", "date_successfully_added": "Sustitución de fechas añadida correctamente", "event_type_duplicate_copy_text": "{{slug}}-copia", diff --git a/apps/web/public/static/locales/et/common.json b/apps/web/public/static/locales/et/common.json index 0e8103c07a..1daf06486b 100644 --- a/apps/web/public/static/locales/et/common.json +++ b/apps/web/public/static/locales/et/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Pole saadaval terve päeva", "date_overrides_mark_all_day_unavailable_one": "Märgi kättesaamatuks (kogu päev)", "date_overrides_mark_all_day_unavailable_other": "Märgi valitud kuupäevadel kättesaamatuks", - "date_overrides_add_btn": "Lisa alistamine", "date_overrides_update_btn": "Uuenduste tühistamine", "date_successfully_added": "Kuupäeva alistamine edukalt lisatud", "event_type_duplicate_copy_text": "{{slug}}-copy", diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index 638b8bf479..6caae888c2 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Indisponible toute la journée", "date_overrides_mark_all_day_unavailable_one": "Marquer comme indisponible (toute la journée)", "date_overrides_mark_all_day_unavailable_other": "Marquer comme indisponible aux dates sélectionnées", - "date_overrides_add_btn": "Ajouter la superposition", "date_overrides_update_btn": "Mettre à jour la superposition", "date_successfully_added": "Ajout du remplacement de date réussi", "event_type_duplicate_copy_text": "{{slug}}-copie", diff --git a/apps/web/public/static/locales/he/common.json b/apps/web/public/static/locales/he/common.json index 8f3d32cfb8..4302e45ef8 100644 --- a/apps/web/public/static/locales/he/common.json +++ b/apps/web/public/static/locales/he/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "לא זמין/ה במשך כל היום", "date_overrides_mark_all_day_unavailable_one": "סימון אי-זמינות (של יום שלם)", "date_overrides_mark_all_day_unavailable_other": "סימון אי-זמינות בתאריכים מסוימים", - "date_overrides_add_btn": "הוספת מעקף", "date_overrides_update_btn": "עדכון מעקף", "date_successfully_added": "עקיפת תאריך נוספה בהצלחה", "event_type_duplicate_copy_text": "{{slug}}-עותק", diff --git a/apps/web/public/static/locales/hu/common.json b/apps/web/public/static/locales/hu/common.json index 11e3516226..de493e66eb 100644 --- a/apps/web/public/static/locales/hu/common.json +++ b/apps/web/public/static/locales/hu/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Egész nap nem elérhető", "date_overrides_mark_all_day_unavailable_one": "Megjelölés elérhetetlennek (egész nap)", "date_overrides_mark_all_day_unavailable_other": "Jelölje meg nem elérhetőnek a kiválasztott dátumokon", - "date_overrides_add_btn": "Felülbírálás hozzáadása", "date_overrides_update_btn": "Felülbírálás frissítése", "date_successfully_added": "A dátum felülbírálása sikeresen hozzáadva", "event_type_duplicate_copy_text": "{{slug}}-másolat", diff --git a/apps/web/public/static/locales/it/common.json b/apps/web/public/static/locales/it/common.json index 6a84ca88eb..27c09aebaf 100644 --- a/apps/web/public/static/locales/it/common.json +++ b/apps/web/public/static/locales/it/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Non disponibile, per tutto il giorno", "date_overrides_mark_all_day_unavailable_one": "Segna come non disponibile (tutto il giorno)", "date_overrides_mark_all_day_unavailable_other": "Segna come non disponibile nelle date selezionate", - "date_overrides_add_btn": "Aggiungi configurazione data specifica", "date_overrides_update_btn": "Aggiorna configurazione data specifica", "date_successfully_added": "Configurazione delle date aggiunta correttamente", "event_type_duplicate_copy_text": "{{slug}}-copia", diff --git a/apps/web/public/static/locales/ja/common.json b/apps/web/public/static/locales/ja/common.json index 7753cbcfad..ba39d92a03 100644 --- a/apps/web/public/static/locales/ja/common.json +++ b/apps/web/public/static/locales/ja/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "終日参加不可", "date_overrides_mark_all_day_unavailable_one": "(終日) 参加不可としてマーク", "date_overrides_mark_all_day_unavailable_other": "選択した日付を参加不可としてマーク", - "date_overrides_add_btn": "上書きを追加", "date_overrides_update_btn": "上書きを更新", "date_successfully_added": "日付の上書きが正常に追加されました", "event_type_duplicate_copy_text": "{{slug}}-copy", diff --git a/apps/web/public/static/locales/km/common.json b/apps/web/public/static/locales/km/common.json index 4d9c30b922..649628f2f5 100644 --- a/apps/web/public/static/locales/km/common.json +++ b/apps/web/public/static/locales/km/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "មិនអាចប្រើបានពេញមួយថ្ងៃ", "date_overrides_mark_all_day_unavailable_one": "សម្គាល់មិនអាចប្រើបាន (ពេញមួយថ្ងៃ)", "date_overrides_mark_all_day_unavailable_other": "សម្គាល់មិនអាចប្រើបាននៅកាលបរិច្ឆេទដែលបានជ្រើស", - "date_overrides_add_btn": "បន្ថែមបដិសេធ", "date_overrides_update_btn": "ធ្វើបច្ចុប្បន្នភាពបដិសេធ", "date_successfully_added": "បដិសេធកាលបរិច្ឆេទត្រូវបានបន្ថែមដោយជោគជ័យ", "event_type_duplicate_copy_text": "{{slug}}-ចម្លង", diff --git a/apps/web/public/static/locales/ko/common.json b/apps/web/public/static/locales/ko/common.json index ec53ec14d0..3ebf546990 100644 --- a/apps/web/public/static/locales/ko/common.json +++ b/apps/web/public/static/locales/ko/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "하루 종일 이용 불가", "date_overrides_mark_all_day_unavailable_one": "이용 불가로 표시(하루 종일)", "date_overrides_mark_all_day_unavailable_other": "선택 날짜에 이용 불가로 표시", - "date_overrides_add_btn": "재정의 추가", "date_overrides_update_btn": "재정의 업데이트", "date_successfully_added": "날짜 재정의가 추가되었습니다", "event_type_duplicate_copy_text": "{{slug}}-카피", diff --git a/apps/web/public/static/locales/nl/common.json b/apps/web/public/static/locales/nl/common.json index cd0eef3c72..31afc45eb8 100644 --- a/apps/web/public/static/locales/nl/common.json +++ b/apps/web/public/static/locales/nl/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Hele dag niet beschikbaar", "date_overrides_mark_all_day_unavailable_one": "Markeren als niet beschikbaar (hele dag)", "date_overrides_mark_all_day_unavailable_other": "Markeren als niet beschikbaar op geselecteerde datums", - "date_overrides_add_btn": "Overschrijving toevoegen", "date_overrides_update_btn": "Overschrijving bijwerken", "date_successfully_added": "Datumoverschrijing toegevoegd", "event_type_duplicate_copy_text": "{{slug}}-kopie", diff --git a/apps/web/public/static/locales/no/common.json b/apps/web/public/static/locales/no/common.json index abfd483fe8..bef1662fbf 100644 --- a/apps/web/public/static/locales/no/common.json +++ b/apps/web/public/static/locales/no/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Utilgjengelig hele dagen", "date_overrides_mark_all_day_unavailable_one": "Merk som utilgjengelig (hele dagen)", "date_overrides_mark_all_day_unavailable_other": "Merk som utilgjengelig på valgte datoer", - "date_overrides_add_btn": "Legg til Overstyring", "date_overrides_update_btn": "Oppdater Overstyring", "date_successfully_added": "Dato overstyring lagt til", "event_type_duplicate_copy_text": "{{slug}}-kopi", diff --git a/apps/web/public/static/locales/pl/common.json b/apps/web/public/static/locales/pl/common.json index 932890a7ce..a8ef90aed9 100644 --- a/apps/web/public/static/locales/pl/common.json +++ b/apps/web/public/static/locales/pl/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Niedostępność przez cały dzień", "date_overrides_mark_all_day_unavailable_one": "Zaznacz niedostępność (cały dzień)", "date_overrides_mark_all_day_unavailable_other": "Zaznacz niedostępność w wybrane dni", - "date_overrides_add_btn": "Dodaj zastąpienie", "date_overrides_update_btn": "Zaktualizuj zastąpienie", "date_successfully_added": "Pomyślnie dodano nadpisanie daty", "event_type_duplicate_copy_text": "{{slug}}-kopia", diff --git a/apps/web/public/static/locales/pt-BR/common.json b/apps/web/public/static/locales/pt-BR/common.json index 6c02a4f078..487c515c6d 100644 --- a/apps/web/public/static/locales/pt-BR/common.json +++ b/apps/web/public/static/locales/pt-BR/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Indisponível o dia todo", "date_overrides_mark_all_day_unavailable_one": "Marcar indisponível (o dia todo)", "date_overrides_mark_all_day_unavailable_other": "Marcar indisponível nas datas selecionadas", - "date_overrides_add_btn": "Adicionar substituição", "date_overrides_update_btn": "Atualizar substituição", "date_successfully_added": "Substituição de data adicionada com sucesso", "event_type_duplicate_copy_text": "Cópia de {{slug}}", diff --git a/apps/web/public/static/locales/pt/common.json b/apps/web/public/static/locales/pt/common.json index a6cf7f1604..42d73d57a3 100644 --- a/apps/web/public/static/locales/pt/common.json +++ b/apps/web/public/static/locales/pt/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Indisponível o dia todo", "date_overrides_mark_all_day_unavailable_one": "Marcar como não disponível (o dia todo)", "date_overrides_mark_all_day_unavailable_other": "Marcar como não disponível em datas específicas", - "date_overrides_add_btn": "Adicionar sobreposição", "date_overrides_update_btn": "Atualizar sobreposição", "date_successfully_added": "Sobreposição de data adicionada com sucesso", "event_type_duplicate_copy_text": "cópia de {{slug}}", diff --git a/apps/web/public/static/locales/ro/common.json b/apps/web/public/static/locales/ro/common.json index 34aef10da7..aa2a0f65e1 100644 --- a/apps/web/public/static/locales/ro/common.json +++ b/apps/web/public/static/locales/ro/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Indisponibil/ă toată ziua", "date_overrides_mark_all_day_unavailable_one": "Marchează ca indisponibilă (Toată ziua)", "date_overrides_mark_all_day_unavailable_other": "Marchează datele selectate ca indisponibile", - "date_overrides_add_btn": "Adaugă suprascriere", "date_overrides_update_btn": "Actualizează suprascrierea", "date_successfully_added": "Suprascriere dată adăugată cu succes", "event_type_duplicate_copy_text": "{{slug}}-copie", diff --git a/apps/web/public/static/locales/ru/common.json b/apps/web/public/static/locales/ru/common.json index 77f37fea72..032d4a4932 100644 --- a/apps/web/public/static/locales/ru/common.json +++ b/apps/web/public/static/locales/ru/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Занят(а) весь день", "date_overrides_mark_all_day_unavailable_one": "Отметить, что я занят(а) (весь день)", "date_overrides_mark_all_day_unavailable_other": "Отметить, что я занят(а) в выбранные даты", - "date_overrides_add_btn": "Добавить переопределение", "date_overrides_update_btn": "Обновить переопределение", "date_successfully_added": "Переопределения даты успешно добавлено", "event_type_duplicate_copy_text": "{{slug}}-копия", diff --git a/apps/web/public/static/locales/sr/common.json b/apps/web/public/static/locales/sr/common.json index 497a2ba08e..ad12814bfb 100644 --- a/apps/web/public/static/locales/sr/common.json +++ b/apps/web/public/static/locales/sr/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Nedostupno celog dana", "date_overrides_mark_all_day_unavailable_one": "Označi kao nedostupno (Ceo dan)", "date_overrides_mark_all_day_unavailable_other": "Označi kao nedostupno za sledeće datume", - "date_overrides_add_btn": "Dodaj zamenu", "date_overrides_update_btn": "Ažuriraj zamenu", "date_successfully_added": "Datum zamene je uspešno dodat", "event_type_duplicate_copy_text": "{{slug}}-kopija", diff --git a/apps/web/public/static/locales/sv/common.json b/apps/web/public/static/locales/sv/common.json index 484b66397b..bd3744352b 100644 --- a/apps/web/public/static/locales/sv/common.json +++ b/apps/web/public/static/locales/sv/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Otillgänglig hela dagen", "date_overrides_mark_all_day_unavailable_one": "Markera som otillgänglig (hela dagen)", "date_overrides_mark_all_day_unavailable_other": "Markera som otillgänglig på valda datum", - "date_overrides_add_btn": "Lägg till åsidosättning", "date_overrides_update_btn": "Uppdatera åsidosättning", "date_successfully_added": "Åsidosättande av datum har lagts till", "event_type_duplicate_copy_text": "{{slug}}-kopia", diff --git a/apps/web/public/static/locales/tr/common.json b/apps/web/public/static/locales/tr/common.json index 11e214292a..53ec19ebb7 100644 --- a/apps/web/public/static/locales/tr/common.json +++ b/apps/web/public/static/locales/tr/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Tüm gün müsait değil", "date_overrides_mark_all_day_unavailable_one": "Müsait değil olarak işaretle (Tüm gün)", "date_overrides_mark_all_day_unavailable_other": "Seçili tarihlerde müsait değil olarak işaretle", - "date_overrides_add_btn": "Üzerine Yazma Ekle", "date_overrides_update_btn": "Üzerine Yazmayı Güncelle", "date_successfully_added": "Veri üzerine yazma başarıyla eklendi", "event_type_duplicate_copy_text": "{{slug}}-kopya", diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index 368f40612d..fc0f13e638 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Недоступний(-а) увесь день", "date_overrides_mark_all_day_unavailable_one": "Позначити недоступним(-ою) (увесь день)", "date_overrides_mark_all_day_unavailable_other": "Позначити недоступним(-ою) у вибрані дати", - "date_overrides_add_btn": "Додати перевизначення", "date_overrides_update_btn": "Оновити перевизначення", "date_successfully_added": "Перевизначену дату додано", "event_type_duplicate_copy_text": "{{slug}} (копія)", diff --git a/apps/web/public/static/locales/vi/common.json b/apps/web/public/static/locales/vi/common.json index 685615b2fb..a39383bf85 100644 --- a/apps/web/public/static/locales/vi/common.json +++ b/apps/web/public/static/locales/vi/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "Bận cả ngày", "date_overrides_mark_all_day_unavailable_one": "Đánh dấu bận (Cả ngày)", "date_overrides_mark_all_day_unavailable_other": "Đánh dấu bận trong một số ngày đã chọn", - "date_overrides_add_btn": "Thêm ngày ghi đè", "date_overrides_update_btn": "Cập nhận ngày ghi đè", "date_successfully_added": "Đã thêm thành công phần ghi đè ngày", "event_type_duplicate_copy_text": "{{slug}}-bansao", diff --git a/apps/web/public/static/locales/zh-CN/common.json b/apps/web/public/static/locales/zh-CN/common.json index f6485e0404..68b1af8419 100644 --- a/apps/web/public/static/locales/zh-CN/common.json +++ b/apps/web/public/static/locales/zh-CN/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "全天不可预约", "date_overrides_mark_all_day_unavailable_one": "标记不可预约的时间 (全天)", "date_overrides_mark_all_day_unavailable_other": "在选定日期标记不可预约的时间", - "date_overrides_add_btn": "添加替代", "date_overrides_update_btn": "更新替代", "date_successfully_added": "日期替代已成功添加", "event_type_duplicate_copy_text": "{{slug}}-复制", diff --git a/apps/web/public/static/locales/zh-TW/common.json b/apps/web/public/static/locales/zh-TW/common.json index efa3a59b3d..1e62b9da41 100644 --- a/apps/web/public/static/locales/zh-TW/common.json +++ b/apps/web/public/static/locales/zh-TW/common.json @@ -1821,7 +1821,6 @@ "date_overrides_unavailable": "全天不開放", "date_overrides_mark_all_day_unavailable_one": "標示不開放 (全天)", "date_overrides_mark_all_day_unavailable_other": "將所選日期標示不開放", - "date_overrides_add_btn": "新增覆寫", "date_overrides_update_btn": "更新覆寫", "date_successfully_added": "日期覆寫已成功新增", "event_type_duplicate_copy_text": "{{slug}}-複製", diff --git a/packages/features/schedules/components/DateOverrideInputDialog.tsx b/packages/features/schedules/components/DateOverrideInputDialog.tsx index 9887c7f85c..eca6f5b566 100644 --- a/packages/features/schedules/components/DateOverrideInputDialog.tsx +++ b/packages/features/schedules/components/DateOverrideInputDialog.tsx @@ -186,7 +186,7 @@ const DateOverrideForm = ({ }} disabled={selectedDates.length === 0} data-testid="add-override-submit-btn"> - {value ? t("date_overrides_update_btn") : t("date_overrides_add_btn")} + {value ? t("date_overrides_update_btn") : t("date_overrides_save_btn")} diff --git a/packages/features/schedules/components/DateOverrideList.tsx b/packages/features/schedules/components/DateOverrideList.tsx index 9d58a5a3c4..01b71d8520 100644 --- a/packages/features/schedules/components/DateOverrideList.tsx +++ b/packages/features/schedules/components/DateOverrideList.tsx @@ -1,3 +1,5 @@ +import { noop } from "@tanstack/react-table"; + import dayjs from "@calcom/dayjs"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { RouterOutputs } from "@calcom/trpc/react"; @@ -20,6 +22,7 @@ const DateOverrideList = ({ replace, fields, weekStart = 0, + handleAvailabilityUpdate = noop, }: { // eslint-disable-next-line @typescript-eslint/no-explicit-any replace: any; @@ -30,6 +33,7 @@ const DateOverrideList = ({ hour12: boolean; travelSchedules?: RouterOutputs["viewer"]["getTravelSchedules"]; weekStart?: 0 | 1 | 2 | 3 | 4 | 5 | 6; + handleAvailabilityUpdate?: VoidFunction; }) => { const { t, i18n } = useLocale(); @@ -94,6 +98,7 @@ const DateOverrideList = ({ // update has very weird side-effects with sorting. replace([...fields.filter((currentItem) => currentItem.id !== item.id), { ranges }]); delete unsortedFieldArrayMap[item.id]; + handleAvailabilityUpdate(); }} Trigger={ @@ -124,6 +129,7 @@ const DateOverrideList = ({ StartIcon="trash-2" onClick={() => { replace([...fields.filter((currentItem) => currentItem.id !== item.id)]); + handleAvailabilityUpdate(); }} /> diff --git a/packages/features/timezone-buddy/components/AvailabilityEditSheet.tsx b/packages/features/timezone-buddy/components/AvailabilityEditSheet.tsx index 5e721bea51..ebaaf90869 100644 --- a/packages/features/timezone-buddy/components/AvailabilityEditSheet.tsx +++ b/packages/features/timezone-buddy/components/AvailabilityEditSheet.tsx @@ -1,4 +1,4 @@ -import { useFieldArray, useForm } from "react-hook-form"; +import { useFieldArray, useForm, useFormContext } from "react-hook-form"; import dayjs from "@calcom/dayjs"; import { DateOverrideInputDialog, DateOverrideList } from "@calcom/features/schedules"; @@ -48,14 +48,28 @@ const useSettings = () => { }; }; -const DateOverride = ({ workingHours, disabled }: { workingHours: WorkingHours[]; disabled?: boolean }) => { +const DateOverride = ({ + workingHours, + disabled, + handleSubmit, +}: { + workingHours: WorkingHours[]; + disabled?: boolean; + handleSubmit: (data: AvailabilityFormValues) => void; +}) => { const { userTimeFormat } = useSettings(); const { append, replace, fields } = useFieldArray({ name: "dateOverrides", }); + const { getValues } = useFormContext(); const excludedDates = fields.map((field) => dayjs(field.ranges[0].start).utc().format("YYYY-MM-DD")); const { t } = useLocale(); + + const handleAvailabilityUpdate = async () => { + const updatedValues = getValues() as AvailabilityFormValues; + handleSubmit(updatedValues); + }; return (
@@ -67,12 +81,16 @@ const DateOverride = ({ workingHours, disabled }: { workingHours: WorkingHours[] hour12={Boolean(userTimeFormat === 12)} workingHours={workingHours} userTimeFormat={userTimeFormat} + handleAvailabilityUpdate={handleAvailabilityUpdate} /> ranges.forEach((range) => append({ ranges: [range] }))} + onChange={(ranges) => { + ranges.forEach((range) => append({ ranges: [range] })); + handleAvailabilityUpdate(); + }} Trigger={
diff --git a/packages/platform/atoms/availability/AvailabilitySettings.tsx b/packages/platform/atoms/availability/AvailabilitySettings.tsx index c8549b5122..5de532edcb 100644 --- a/packages/platform/atoms/availability/AvailabilitySettings.tsx +++ b/packages/platform/atoms/availability/AvailabilitySettings.tsx @@ -2,7 +2,7 @@ import type { SetStateAction, Dispatch } from "react"; import { useMemo, useState } from "react"; -import { Controller, useFieldArray, useForm, useWatch } from "react-hook-form"; +import { Controller, useFieldArray, useForm, useFormContext, useWatch } from "react-hook-form"; import dayjs from "@calcom/dayjs"; import type { @@ -178,18 +178,27 @@ const DateOverride = ({ travelSchedules, weekStart, overridesModalClassNames, + handleSubmit, }: { workingHours: WorkingHours[]; userTimeFormat: number | null; travelSchedules?: RouterOutputs["viewer"]["getTravelSchedules"]; weekStart: 0 | 1 | 2 | 3 | 4 | 5 | 6; overridesModalClassNames?: string; + handleSubmit: (data: AvailabilityFormValues) => Promise; }) => { const { append, replace, fields } = useFieldArray({ name: "dateOverrides", }); + const { getValues } = useFormContext(); const excludedDates = useExcludedDates(); const { t } = useLocale(); + + const handleAvailabilityUpdate = () => { + const updatedValues = getValues() as AvailabilityFormValues; + handleSubmit(updatedValues); + }; + return (

@@ -211,12 +220,16 @@ const DateOverride = ({ userTimeFormat={userTimeFormat} hour12={Boolean(userTimeFormat === 12)} travelSchedules={travelSchedules} + handleAvailabilityUpdate={handleAvailabilityUpdate} /> ranges.forEach((range) => append({ ranges: [range] }))} + onChange={(ranges) => { + ranges.forEach((range) => append({ ranges: [range] })); + handleAvailabilityUpdate(); + }} userTimeFormat={userTimeFormat} weekStart={weekStart} Trigger={ @@ -569,6 +582,7 @@ export function AvailabilitySettings({ { fields={fieldArrayResult.current.fields} replace={fieldArrayResult.current.replace} workingHours={[]} + handleAvailabilityUpdate={noop} /> @@ -87,6 +90,7 @@ describe("DateOverrideList", () => { fields={fieldArrayResult.current.fields} replace={fieldArrayResult.current.replace} workingHours={[]} + handleAvailabilityUpdate={noop} />