Status: COMPLETED
Enable chairs to open/close a support re-evaluation phase where delegates can add/remove support on Draft Resolutions. Add "Set Active DR" toggle for debate progression. Clear active DR on final vote. Real-time updates via committee pubsub.
-
src/api/handlers/paperSponsor.ts— Re-evaluation gate onaddSponsor/removeSponsor- For DR-status papers (
DRAFT_RESOLUTION/AMENDMENT_PHASE), checkssupportReEvaluationOpen === true FINALpapers always rejected
- For DR-status papers (
-
src/api/handlers/committee.ts— ValidateactiveDraftResolutionId+ auto-close re-evaluation- Added
clearActiveDraftResolution: Booleanarg (needed because GraphQL nullable args can't distinguishnullfrom "not sent") - Validates paper exists, belongs to committee, has DR status
- Auto-closes re-evaluation when setting active DR
supportReEvaluationOpentoggle fires existing committee pubsub
- Added
-
src/api/handlers/resolutionPaper.ts— ClearactiveDraftResolutionIdon final vote- In
recordVoteResult, after setting paper toFINAL, clears active DR if it matches - Fires committee pubsub for real-time UI update
- In
-
src/routes/.../participant/[committeeId]/+layout.ts— AddedsupportReEvaluationOpenandactiveDraftResolutionIdto layout query -
src/routes/.../participant/[committeeId]/committeeSubscription.ts— AddedsupportReEvaluationOpenandactiveDraftResolutionIdto subscription -
src/routes/.../participant/[committeeId]/papers/+page.svelte— StartParticipantCommitteeSubscription.listen()inonMount -
src/routes/.../participant/[committeeId]/papers/[paperId]/+page.svelte— StartParticipantCommitteeSubscription.listen()inonMount
src/routes/.../(chairs)/resolutions/+page.svelte- DaisyUI toggle (
toggle-success) for setting/clearing active DR per card - DaisyUI toggle (
toggle-warning) for opening/closing support re-evaluation - DR list sorts by sponsor count (desc) during re-evaluation, by
sequenceNumberotherwise - Highlighted sponsor counts during re-evaluation
- DaisyUI toggle (
-
src/routes/.../participant/[committeeId]/papers/+page.svelte- Active DR shown with green ring + badge
- Pulsing "Support Re-evaluation" badge when open
- Support/Withdraw toggle buttons per DR during re-evaluation
- Sponsor flags displayed on DR cards
-
src/routes/.../participant/[committeeId]/papers/[paperId]/+page.svelte- DR support toggle on detail page during re-evaluation
messages/en.json+messages/de.json— Added keys:supportReEvaluation,supportReEvaluationOpen,supportReEvaluationClosed,supportDraftResolution,withdrawSupport,supporterCount,setActiveDr,clearActiveDr,noActiveDr,activeDraftResolution
- Reuse
paperSponsortable — sponsors carry over from WP to DR - Server-enforced re-evaluation gate (not just UI-hidden)
clearActiveDraftResolutionboolean arg for explicit null-setting via GraphQL- Auto-close re-evaluation when setting an active DR
- Clear active DR on both final vote outcome and explicit chair action
- Committee pubsub drives all real-time updates (no separate subscription needed)