feat(11-04): add reminderLeadMinutes to CreateEventPayload + CalendarOccurrence

- CalendarOccurrence: required reminderLeadMinutes: number | null (atomic mirror of expand.ts, Plan 11-03)
- CreateEventPayload: optional reminderLeadMinutes?: number | null with absent/null/0/positive contract (D-08)
- Update CalendarOccurrence fixtures in EventForm.test.tsx + EventDetailPopover.test.tsx to include the new required field (reminderLeadMinutes: null)
- pwa tsc --noEmit exits 0
This commit is contained in:
Lucas Berger
2026-06-13 22:33:06 -04:00
parent ca76b6118e
commit 2c30afe8ff
3 changed files with 22 additions and 0 deletions
@@ -59,6 +59,7 @@ const TIMED_OCCURRENCE: CalendarOccurrence = {
location: 'Conference Room B',
description: 'Daily team sync meeting',
hasRrule: false,
reminderLeadMinutes: null,
};
const OCCURRENCE_WITH_HTML: CalendarOccurrence = {
@@ -86,6 +87,7 @@ const ALLDAY_OCCURRENCE: CalendarOccurrence = {
location: null,
description: null,
hasRrule: false,
reminderLeadMinutes: null,
};
// ── Import component (after mocks are declared) ───────────────────────────────
@@ -124,6 +124,7 @@ const EDIT_OCCURRENCE: CalendarOccurrence = {
location: 'Office',
description: 'Weekly sync',
hasRrule: false,
reminderLeadMinutes: null,
};
// ── Import component (after mocks) ────────────────────────────────────────────
@@ -506,6 +507,7 @@ const RECURRING_OCCURRENCE: CalendarOccurrence = {
location: null,
description: null,
hasRrule: true,
reminderLeadMinutes: null,
// @ts-expect-error — recurrence is not on CalendarOccurrence type yet; the reset
// effect reads it if present and defaults to 'none' when absent (WR-03, v1 comment)
recurrence: 'weekly',
@@ -532,6 +534,7 @@ const LATE_OCCURRENCE: CalendarOccurrence = {
location: null,
description: null,
hasRrule: false,
reminderLeadMinutes: null,
};
describe('EventForm — Plan 03-12 gap closures', () => {
@@ -779,6 +782,7 @@ const ALL_DAY_OCCURRENCE: CalendarOccurrence = {
location: null,
description: null,
hasRrule: false,
reminderLeadMinutes: null,
};
describe('EventForm — Plan 06-06 end-tracking + recurrence-bound', () => {