diff --git a/frontend/src/pages/Kalender.tsx b/frontend/src/pages/Kalender.tsx
index b857185..918d9a0 100644
--- a/frontend/src/pages/Kalender.tsx
+++ b/frontend/src/pages/Kalender.tsx
@@ -1634,13 +1634,13 @@ function VeranstaltungFormDialog({
/>
)}
{/* Wiederholung */}
- {(!editingEvent || (editingEvent && editingEvent.wiederholung)) && (
+ {(!editingEvent || editingEvent.wiederholung || editingEvent.wiederholung_parent_id) && (
<>
- {editingEvent && editingEvent.wiederholung && editingEvent.wiederholung_parent_id ? (
+ {editingEvent?.wiederholung_parent_id ? (
<>
- Wiederholung kann nicht bearbeitet werden (Einzeltermin einer Serie)
+ Dieser Termin ist Teil einer Serienveranstaltung. Änderungen betreffen nur diesen Einzeltermin.
}
@@ -1652,7 +1652,14 @@ function VeranstaltungFormDialog({
control={
setWiederholungAktiv(e.target.checked)}
+ onChange={(e) => {
+ setWiederholungAktiv(e.target.checked);
+ if (e.target.checked && !wiederholungBis) {
+ const bisDefault = new Date(form.datum_von);
+ bisDefault.setMonth(bisDefault.getMonth() + 3);
+ setWiederholungBis(bisDefault.toISOString().slice(0, 10));
+ }
+ }}
/>
}
label="Wiederkehrende Veranstaltung"
diff --git a/frontend/src/pages/Veranstaltungen.tsx b/frontend/src/pages/Veranstaltungen.tsx
index b6596f7..d6b58bd 100644
--- a/frontend/src/pages/Veranstaltungen.tsx
+++ b/frontend/src/pages/Veranstaltungen.tsx
@@ -928,16 +928,20 @@ function EventFormDialog({
fullWidth
/>
- {/* Recurrence / Wiederholung — for new events or when editing a parent event */}
- {(!editingEvent || (editingEvent.wiederholung && !editingEvent.wiederholung_parent_id)) && (
+ {/* Recurrence / Wiederholung — for new events, parent events, or child events */}
+ {(!editingEvent || editingEvent.wiederholung || editingEvent.wiederholung_parent_id) && (
<>
- {editingEvent && (
+ {editingEvent?.wiederholung_parent_id ? (
+
+ Dieser Termin ist Teil einer Serienveranstaltung. Änderungen betreffen nur diesen Einzeltermin.
+
+ ) : editingEvent?.wiederholung ? (
Änderungen an der Wiederholung werden alle bestehenden Instanzen löschen und neu generieren.
- )}
-
}
label="Wiederholung"
- />
- {form.wiederholung && (
+ />}
+ {!editingEvent?.wiederholung_parent_id && form.wiederholung && (
Häufigkeit