Guest Access: Restructure Meeting Form to Increase Usability

Overview & Context

Apply the same guest-access / waiting-room UI restructure to the Outlook add-in's EventComposePage. Replace the standalone "Waiting room" switch + "Guest access" toggle group with a top-level Guest access switch and a Waiting room toggle group (Inactive / For all participants / For guests only). The underlying state (waitingRoomEnabled: boolean, guestAccess: GuestAccess) and the API payload sent by EventService stay unchanged.

Technical Design & Interfaces

Mapping table (UI → API):

Waiting room (UI) Guest access (UI) waitingRoom guestAccess
Inactive off false Disabled
Inactive on false DirectAccess
For all off true Disabled
For all on true WaitingRoom
For guests only on false WaitingRoom
For guests only off n/a - toggle option disabled

Frontend & UI Requirements

Translations (dashboard namespace)

Key English German
waiting-room-switch (reused as toggle group label) Waiting room Warteraum
guest-access-switch (reused as switch label) Guest access Gastzugang
waiting-room-option-disabled Inactive Inaktiv
waiting-room-option-all-participants For all participants Für alle Teilnehmer
waiting-room-option-guests-only For guests only Nur für Gäste

Implementation Notes

  • Keep the API contract untouched — only the UI layer changes.
  • "Guests-only" without guest access is structurally impossible.
  • Waiting-room control must remain available under E2EE — only hide the guest-access switch and disable "guests-only".

Implementation Tasks

  • Add guestAccessMapping.ts with deriveUiState / computeFormValues mirroring the web-app helper.
  • Refactor the relevant EventComposePage block to render the Guest access switch + Waiting room toggle group driven by the mapping helpers.
  • Add the three new translation keys in en/dashboard.json and de/dashboard.json.

Definition of Done (DoD)

  • No regressions to the create/update payload sent by EventService — saved events round-trip identically for all UI states.
  • Manual verification in Outlook desktop and Outlook web (EN + DE).
  • Waiting room can be toggled on E2EE meetings; guest access stays forced off there.