Skip to content

Commit 80a8270

Browse files
0xdevcollinsclaude
andcommitted
feat(hackathons): add "hidden until results" submission visibility mode
Surfaces the new HIDDEN_UNTIL_RESULTS option (added in the nestjs PR) in the organizer settings tab. Reorders the three visibility options so the recommended "Shortlisted only" leads, the new "Hidden until results are announced" sits in the middle, and "All submissions" comes last. Rewrites the copy on the "All submissions" choice that incorrectly claimed disqualified projects would be shown -- they never were on the backend, and Phase 2 makes that an explicit guarantee. Aligns the form's default and API-fallback value with the backend default (ACCEPTED_SHORTLISTED, not ALL) so organizers don't see a misleading initial selection. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent b34926a commit 80a8270

2 files changed

Lines changed: 32 additions & 10 deletions

File tree

components/organization/hackathons/settings/SubmissionVisibilitySettingsTab.tsx

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ export default function SubmissionVisibilitySettingsTab({
4747
resolver: zodResolver(visibilitySettingsSchema),
4848
defaultValues: {
4949
submissionVisibility: SubmissionVisibility.PUBLIC,
50-
submissionStatusVisibility: SubmissionStatusVisibility.ALL,
50+
submissionStatusVisibility:
51+
SubmissionStatusVisibility.ACCEPTED_SHORTLISTED,
5152
},
5253
});
5354

@@ -61,7 +62,7 @@ export default function SubmissionVisibilitySettingsTab({
6162
response.data.submissionVisibility || SubmissionVisibility.PUBLIC,
6263
submissionStatusVisibility:
6364
response.data.submissionStatusVisibility ||
64-
SubmissionStatusVisibility.ALL,
65+
SubmissionStatusVisibility.ACCEPTED_SHORTLISTED,
6566
});
6667
}
6768
} catch (error) {
@@ -181,32 +182,52 @@ export default function SubmissionVisibilitySettingsTab({
181182
<FormItem className='flex items-center space-y-0 space-x-3 rounded-lg border border-gray-900 p-4'>
182183
<FormControl>
183184
<RadioGroupItem
184-
value={SubmissionStatusVisibility.ALL}
185+
value={
186+
SubmissionStatusVisibility.ACCEPTED_SHORTLISTED
187+
}
185188
/>
186189
</FormControl>
187190
<FormLabel className='cursor-pointer font-normal text-white'>
188-
<div className='font-medium'>All Submissions</div>
191+
<div className='font-medium'>
192+
Shortlisted only (recommended)
193+
</div>
189194
<div className='text-xs text-gray-400'>
190-
Show all projects (accepted, shortlisted, and
191-
rejected).
195+
Submissions stay hidden until you shortlist them.
196+
Disqualified projects are never shown.
192197
</div>
193198
</FormLabel>
194199
</FormItem>
195200
<FormItem className='flex items-center space-y-0 space-x-3 rounded-lg border border-gray-900 p-4'>
196201
<FormControl>
197202
<RadioGroupItem
198203
value={
199-
SubmissionStatusVisibility.ACCEPTED_SHORTLISTED
204+
SubmissionStatusVisibility.HIDDEN_UNTIL_RESULTS
200205
}
201206
/>
202207
</FormControl>
203208
<FormLabel className='cursor-pointer font-normal text-white'>
204209
<div className='font-medium'>
205-
Accepted/Shortlisted Only
210+
Hidden until results are announced
211+
</div>
212+
<div className='text-xs text-gray-400'>
213+
Submissions stay hidden from everyone (except the
214+
participants who made them and your team) until you
215+
publish results. Then only shortlisted projects
216+
appear.
206217
</div>
218+
</FormLabel>
219+
</FormItem>
220+
<FormItem className='flex items-center space-y-0 space-x-3 rounded-lg border border-gray-900 p-4'>
221+
<FormControl>
222+
<RadioGroupItem
223+
value={SubmissionStatusVisibility.ALL}
224+
/>
225+
</FormControl>
226+
<FormLabel className='cursor-pointer font-normal text-white'>
227+
<div className='font-medium'>All submissions</div>
207228
<div className='text-xs text-gray-400'>
208-
Only show projects that have been approved or
209-
shortlisted.
229+
Every submission is visible as soon as it&apos;s
230+
made. Disqualified projects are still hidden.
210231
</div>
211232
</FormLabel>
212233
</FormItem>

lib/api/hackathons.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ export enum SubmissionVisibility {
3232
export enum SubmissionStatusVisibility {
3333
ALL = 'ALL',
3434
ACCEPTED_SHORTLISTED = 'ACCEPTED_SHORTLISTED',
35+
HIDDEN_UNTIL_RESULTS = 'HIDDEN_UNTIL_RESULTS',
3536
}
3637

3738
export enum VenueType {

0 commit comments

Comments
 (0)