2026-02-14 15:26:42 +01:00
|
|
|
'use client'
|
|
|
|
|
|
|
|
|
|
import { Home, Users, FileText, MessageSquare, Layers } from 'lucide-react'
|
|
|
|
|
import { RoleNav, type NavItem, type RoleNavUser } from '@/components/layouts/role-nav'
|
|
|
|
|
|
|
|
|
|
interface ApplicantNavProps {
|
|
|
|
|
user: RoleNavUser
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export function ApplicantNav({ user }: ApplicantNavProps) {
|
|
|
|
|
const navigation: NavItem[] = [
|
|
|
|
|
{
|
|
|
|
|
name: 'Dashboard',
|
|
|
|
|
href: '/applicant',
|
|
|
|
|
icon: Home,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'Team',
|
|
|
|
|
href: '/applicant/team',
|
|
|
|
|
icon: Users,
|
|
|
|
|
},
|
|
|
|
|
{
|
Competition/Round architecture: full platform rewrite (Phases 1-9)
Replace Pipeline/Stage system with Competition/Round architecture.
New schema: Competition, Round (7 types), JuryGroup, AssignmentPolicy,
ProjectRoundState, DeliberationSession, ResultLock, SubmissionWindow.
New services: round-engine, round-assignment, deliberation, result-lock,
submission-manager, competition-context, ai-prompt-guard.
Full admin/jury/applicant/mentor UI rewrite. AI prompt hardening with
structured prompts, retry logic, and injection detection. All legacy
pipeline/stage code removed. 4 new migrations + seed aligned.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 23:04:15 +01:00
|
|
|
name: 'Competitions',
|
|
|
|
|
href: '/applicant/competitions',
|
2026-02-14 15:26:42 +01:00
|
|
|
icon: Layers,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'Documents',
|
|
|
|
|
href: '/applicant/documents',
|
|
|
|
|
icon: FileText,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
name: 'Mentoring',
|
|
|
|
|
href: '/applicant/mentor',
|
|
|
|
|
icon: MessageSquare,
|
|
|
|
|
},
|
|
|
|
|
]
|
|
|
|
|
|
|
|
|
|
return (
|
|
|
|
|
<RoleNav
|
|
|
|
|
navigation={navigation}
|
|
|
|
|
roleName="Applicant"
|
|
|
|
|
user={user}
|
|
|
|
|
basePath="/applicant"
|
|
|
|
|
/>
|
|
|
|
|
)
|
|
|
|
|
}
|