Skip to content

feat(bounty): management dashboard shell + overview (#630)#667

Merged
0xdevcollins merged 3 commits into
boundlessfi:feat/t-replacefrom
Benjtalkshow:feat/bounty-management-dashboard
Jul 5, 2026
Merged

feat(bounty): management dashboard shell + overview (#630)#667
0xdevcollins merged 3 commits into
boundlessfi:feat/t-replacefrom
Benjtalkshow:feat/bounty-management-dashboard

Conversation

@Benjtalkshow

Copy link
Copy Markdown
Collaborator

Closes #630. First FE issue of the Bounty Operate to Payout milestone (#638) — the per-bounty organizer management hub, consuming the backend operate-reads endpoint (#338, merged on v2).

What

  • Route /organizations/[id]/bounties/[bountyId] — the management hub for a published bounty.
  • Tabbed shell: Overview, Applications (mode-aware — only for application entry types), Submissions, Payout & Winners, Settings. Header shows the status badge + mode badge with the explainer tooltip. Non-Overview tabs are labelled placeholders for the follow-up issues (FE: Applications review + shortlist/select/decline (Decide) #631-FE: Cancel / refund flow #634); disputes omitted to match the deferred backend Feat/hackthon features #340.
  • Overview tab: intake stat cards (applications/submissions by status, contributions total), details (reward pool, live deadline countdowns, max applicants / shortlist, escrow event id), and prize tiers — all from GET .../overview.
  • Data layer: getBountyOverview client + useBountyOverview hook, typed against the generated BountyOperateOverviewDto.

Codegen

Includes a codegen refresh (first commit) pulling the new v2 organizer DTOs (BountyOperateOverviewDto, OrganizerBountySubmissionDto, BountyAnnouncementDto, …) — the #637 codegen step, done here so this and the following FE issues type against the real backend.

Verification

tsc 0 errors, eslint clean. Overview validated live against the running v2 backend.

Notes

Regenerate the OpenAPI schema against v2 to pull the new organizer DTOs
(BountyOperateOverviewDto, OrganizerBountySubmissionDto,
BountyAnnouncementDto, etc.). Drop applicationCreditCost from the bounty
publish request body; the backend removed it from PublishBountyEscrowDto
and now applies it server-side from the draft.
Add the per-bounty organizer management hub at
/organizations/[id]/bounties/[bountyId]: a tabbed shell (Overview,
mode-aware Applications, Submissions, Payout & Winners, Settings) with the
status + mode header, and an Overview tab that consumes the operate-reads
endpoint (boundlessfi#338) for intake stats, deadlines, and prize tiers. Non-overview
tabs are placeholders for the follow-up issues (boundlessfi#631-boundlessfi#634).
@vercel

vercel Bot commented Jul 4, 2026

Copy link
Copy Markdown

@Benjtalkshow is attempting to deploy a commit to the Threadflow Team on Vercel.

A member of the Team first needs to authorize it.

@coderabbitai

coderabbitai Bot commented Jul 4, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 8b676f50-a2ca-4e5f-b7ee-9ebaea21ad17

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

- link published bounty cards on the org list to the management hub
- wrap the manage route in AuthGuard and use the org-section container
- fetch the overview via apiClient/unwrapData instead of a local axios unwrap
- share bountyStatusClass between BountyCard and the dashboard
- lift ordinal() into lib/utils (dashboard, BountyDetail, RewardTab)
- type useParams and drop the redundant retry: false

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@0xdevcollins 0xdevcollins merged commit 053099b into boundlessfi:feat/t-replace Jul 5, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants