PPDR Calendar Split (2026-07-30)
The single portal calendar mixed field inspections with PPDR desk-review
submissions (yellow-highlighted on their submission date). Split into two
calendars sharing one component (entirely-portal 3043d88):
- Field Calendar (
/calendar, sidebar label renamed from “Calendar” for all roles) —CalendarPage variant='field'(default), now filters OUT desk-review events. - PPDR Calendar (
/ppdr-calendar, roles: triage, up_owner, up_admin) —variant='ppdr', shows ONLY desk-review submissions. Title: “PPDR Calendar (Desk Review Submissions)“.
The partition predicate is the existing isDeskReview() (event description’s
Inspection Method contains “desk review”) — identical to the yellow-highlight
rule, so the two calendars exactly partition the old view. Filtering is
client-side at fetch time; the /portal/calendar/events API is unchanged.
Sidebar placement: owner Triage section reordered to Regional Overdue Permits → Desk Review Prep → PPDR Calendar → Triage Intake → Archive. up_admin gets PPDR Calendar in Monitoring (after Desk Review Prep); triage role gets it after Desk Review Prep. The status legend drops the Desk Review swatch on the field calendar and shows only it on the PPDR calendar.
Related:: portal-v2, portal-calendar, ppdr-staging-worklist