Summary
apps/admin/src/pages/events/EventDetailPage.tsx and apps/admin/src/pages/announcements/AnnouncementDetailPage.tsx use window.prompt to collect the required comment for reject and request_changes transitions. Works but UX is rough — no validation, no formatting, no cancel-without-typing, blocks the JS thread.
Requirements
Context
Flagged in the Plan 3 review. Forms (Plan 4) will add another detail page with the same pattern — fix before that lands so the new code copies the modal instead of window.prompt.
Summary
apps/admin/src/pages/events/EventDetailPage.tsxandapps/admin/src/pages/announcements/AnnouncementDetailPage.tsxusewindow.promptto collect the required comment forrejectandrequest_changestransitions. Works but UX is rough — no validation, no formatting, no cancel-without-typing, blocks the JS thread.Requirements
<RequiredCommentModal>component (or use an existing modal primitive if one exists inapps/admin/src/components/)window.promptcalls in EventDetailPage and AnnouncementDetailPageContext
Flagged in the Plan 3 review. Forms (Plan 4) will add another detail page with the same pattern — fix before that lands so the new code copies the modal instead of
window.prompt.