feat(bounty): submissions review tab (#632)#668
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 |
267b6b2 to
b57b377
Compare
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>
b57b377 to
100c1ef
Compare
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):
HIDDEN_UNTIL_DEADLINEwork stays sealed behind a countdown and is not even fetched until the deadline, so it never reaches the browser early.listBountySubmissionsclient +useBountySubmissionshook (with anenabledgate option), typed against the generatedOrganizerBountySubmissionDto.Verification
tsc 0 errors, eslint clean. Endpoint verified live against the running v2 backend.
Notes
select-winnerssigning is FE: Winner selection + Payout (select-winners signing flow) #633.