Skip to content

feat(bounty): submissions review tab (#632)#668

Merged
0xdevcollins merged 2 commits into
boundlessfi:feat/t-replacefrom
Benjtalkshow:feat/bounty-submissions-review
Jul 5, 2026
Merged

feat(bounty): submissions review tab (#632)#668
0xdevcollins merged 2 commits into
boundlessfi:feat/t-replacefrom
Benjtalkshow:feat/bounty-submissions-review

Conversation

@Benjtalkshow

Copy link
Copy Markdown
Collaborator

Closes #632. Part of the Bounty Operate to Payout milestone (#638). Stacked on #667 (#630) — merge #667 first; until then the diff shows #630's commits too. The only new file/logic here is the submissions tab.

What

Fills the management dashboard's Submissions tab (the #630 shell), consuming the merged backend organizer submissions endpoint (#337):

  • Submissions list — per submission: submitter (avatar + name/username, links to profile), review status badge, awarded tier + amount once winners are picked, the primary submission link + documentation/tweet/demo chips, media thumbnails, and submitted-at + anchor status.
  • Visibility gate — competition HIDDEN_UNTIL_DEADLINE work stays sealed behind a countdown and is not even fetched until the deadline, so it never reaches the browser early.
  • Winner staging — a client-side 'stage for payout' toggle (with a summary bar) that highlights staged submissions and feeds winner selection (FE: Winner selection + Payout (select-winners signing flow) #633).
  • Data layerlistBountySubmissions client + useBountySubmissions hook (with an enabled gate option), typed against the generated OrganizerBountySubmissionDto.

Verification

tsc 0 errors, eslint clean. Endpoint verified live against the running v2 backend.

Notes

@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: 419f028c-44f0-4877-857e-d54bccf465d3

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.

Benjtalkshow and others added 2 commits July 5, 2026 12:21
Fill the management dashboard's Submissions tab: list submitted work from
the organizer submissions endpoint (boundlessfi#337) with submitter identity, status,
the content link plus documentation/tweet/demo/media, and submitted-at.
Respect submissionVisibility — competition work stays sealed (and unfetched)
until the deadline. Adds a client-side 'stage for payout' selection that
feeds winner selection (boundlessfi#633).
- rebase onto the boundlessfi#630 review fixes (ace008f); port listBountySubmissions
  to apiClient/unwrapData and drop the hand-rolled query serializer
- lift winner staging into the dashboard so it survives tab switches and
  can feed the Payout tab (boundlessfi#633)
- add pagination (backend caps pages at 50, defaults to 20): pager UI plus
  showing-x-of-y, so large bounties are no longer silently truncated
- unlock the hidden-until-deadline gate live via a 30s recheck; do not gate
  when no deadline exists; label the gate as UX-only in comments (the
  organizer endpoint returns submissions regardless of visibility)
- type submissionVisibility as the generated enum end to end, dropping the
  fails-open '' fallback
- share submissionStatusClass from statusClass.ts; import ordinal from
  lib/utils; drop redundant retry: false
- show tier amounts with full precision and the reward currency
- render non-link submitter when no username; optimize Cloudinary media
  thumbs (96px) instead of full-size unoptimized originals; index media keys
- fold hook options into one bag: useBountySubmissions(org, id, { params, enabled })

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@0xdevcollins 0xdevcollins force-pushed the feat/bounty-submissions-review branch from b57b377 to 100c1ef Compare July 5, 2026 11:21
@0xdevcollins 0xdevcollins merged commit cc18969 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