Admin Candidates
CandidatesTable
File: apps/admin/src/app/components/CandidatesTable.tsx
A compact table showing applicants for a specific job posting.
Shared UI Used
| Component | Import Source |
|---|---|
Table, TableHeader, TableBody, TableRow, TableHead, TableCell | @prosper/shared/components/ui/table |
Columns
| Column | Width | Content |
|---|---|---|
| Name | 140px | Candidate full name |
| Date Applied | 120px | Formatted date |
| Summary | auto | Resume summary (truncated) |
| Actions | 72px | Star toggle, select toggle icons |
Interactions
- Row click: navigates to
CandidateInfoPage - Star icon: toggles starred state
- Select icon: toggles selected/shortlisted state
- Hover: blue highlight (
bg-[#edf5ff])
ApplicantList
File: apps/admin/src/app/components/ApplicantList.tsx
A card-based list view for applicants with sorting and filtering.
Shared UI Used
| Component | Import Source |
|---|---|
Card, CardContent, CardHeader, CardTitle, CardDescription | @prosper/shared/components/ui/card |
Button | @prosper/shared/components/ui/button |
Badge | @prosper/shared/components/ui/badge |
Select, SelectTrigger, SelectContent, SelectItem, SelectValue | @prosper/shared/components/ui/select |
Sort Options
- Relevance (default) — by
relevanceScoredescending - Date — by
appliedAtdescending - Starred — starred first, then by relevance
Relevance Badge Mapping
| Score | Variant | Label |
|---|---|---|
| >= 80 | default | High Match |
| >= 60 | secondary | Medium Match |
| < 60 | outline | Low Match |
CandidateInfoPage
File: apps/admin/src/app/components/CandidateInfoPage.tsx
A detailed profile view for an individual candidate.
Sections
- Header — Name, email, location, applied date
- Documents — Resume and cover letter download pills
- Professional Links — LinkedIn, portfolio URLs
- Additional Details — Work authorization, sponsorship, relocation, reference consent
- Why Interested — Free-text response
- AI Chat —
ProsperChatPanelfor AI-assisted candidate review
Custom Components (not using shared UI)
FilePill— A styled download link for resume/cover letter filesSectionHeading— Uppercase label used to title each section