feat(bounty): wrap flow — results, announcement, archive (#635)#675
Conversation
|
@Benjtalkshow is attempting to deploy a commit to the Threadflow Team on Vercel. A member of the Team first needs to authorize it. |
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…#635) Add the post-payout wrap surface for the operate dashboard: - Results tab (completed bounties): winners by tier + payout tx, plus a publish-winner-announcement form that fans out notifications. - Public results block on the bounty detail: announcement + winners. - Archive / restore for completed/cancelled bounties in Settings (soft close, never a hard delete). Wires the boundless-nestjs wrap endpoints (publish-results, archive, restore, public results/announcement) through a typed client + hooks.
3fdbb39 to
d398f6d
Compare
What
Implements the FE Wrap step (#635) of the Bounty Operate to Payout milestone: after payout, publish results, announce winners, and close out.
Changes
Data layer
features/bounties/api/organizer-wrap-client.ts(new) — typedapiClientcalls:publishBountyResults,archiveBounty,restoreBounty, plus public readsgetBountyResultsandgetBountyAnnouncement(nullable). Shapes aliased from the generated schema (backend Organization fixes #339).features/bounties/api/use-organizer-wrap.ts(new) —useBountyResults,useBountyAnnouncement,usePublishBountyResults,useArchiveBounty,useRestoreBounty. Mutations invalidate the announcement / overview / drafts keys.Organizer dashboard
BountyResultsPanel.tsx(new) — a Results tab (visible once completed): winners by tier with payout-tx links, plus a publish-announcement form (or the published message once sent).BountySettingsPanel.tsx— added an Archive / Restore card for completed/cancelled bounties (soft close, never a hard delete).BountyManagementDashboard.tsx— Results tab wired in.Public
BountyResults.tsx(new) +BountyDetail.tsx— a public results block on a completed bounty: announcement message + winners by tier with payout tx.Acceptance criteria
Known gap (backend follow-up filed)
The operate
overviewDTO has noarchivedAt, so the Settings archive card tracks archived/restored state locally for immediate feedback; it resets to "active" on reload. Reflecting true archive state across reloads needs a backend field — tracked in a boundless-nestjs follow-up issue.Verification
tsc --noEmit— 0 errors.eslint .— clean.