feat(bounty): mirror hackathon organizer shell for bounties#678
Conversation
Bring the bounty organizer surface in line with the hackathon one: - Persistent management sidebar (replaces the general org sidebar on bounty management routes) with a bounty switcher dropdown and section nav; wired via the organizations layout. - Overview becomes the analytics dashboard: intake stat cards, trend chart cards, details/prize tiers, and a lifecycle timeline. - Standalone settings page with a bounty switcher sidebar and tabs. General tab is an editable form covering every off-chain Configure field (scope + submission/application controls); rewards, prize tiers and the escrow deadline stay read-only (on-chain). Cancel/refund + archive move here as Close-out. - Organizer cards mirror the hackathon card: hover Settings + Remove actions and submission count. Remove opens a confirmation modal that archives a closed-out bounty or routes to cancel/refund for a live one. - Cancel buttons rendered solid red.
|
@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 |
What
Brings the bounty organizer experience in line with the hackathon organizer pages — persistent management sidebar, an analytics Overview, a full settings surface, and hackathon-style cards.
Changes
Management shell
BountyManageSidebar(new) — persistent sidebar that replaces the general org sidebar on bounty management routes (wired inorganizations/layout.tsx, same mechanism as the hackathon sidebar). Fixed desktop + mobile sheet.BountySelector(new) — bounty switcher dropdown at the top of the sidebar (switch bounties / new bounty), mirroring the hackathon selector.BountyManagementDashboard— horizontal tabs removed; sections are driven by the sidebar via?tab=. Settings tab removed (moved to its own page).Overview = analytics dashboard
BountyOverviewPanel(new) — mirrors the hackathon overview: an Analytics section (intake stat cards + trend chart cards) and a lifecycle Timeline, plus the details/prize-tier cards. (Trend charts show an empty state pending a bounty analytics/trends endpoint.)Settings page
/organizations/[id]/bounties/[bountyId]/settings(new) — standalone page with the sidebar and tabs (General · Rewards · Timeline · Close-out).BountyGeneralSettingsTab(new) — editable form covering every off-chain Configure field: scope (title / description / category) and submission + application controls (visibility, required fields, reputation minimum, application window, max applicants, shortlist size), shown conditionally by mode. Saves via the off-chain organizer PATCH.Organizer cards
RemoveBountyDialog(new) — confirmation modal: archives a completed/cancelled bounty (soft-delete, recoverable) or routes to cancel/refund for a live one. Nothing is ever hard-deleted on-chain.Constraints honored
Verification
tsc --noEmit— 0 errors.eslint .— clean.