This matrix shows every shared UI component and where it is currently imported in the codebase.
Actively Used Components
| Shared Component | Landing | Admin |
|---|
AlertDialog | — | App.tsx (delete job confirmation) |
Badge | — | JobList, JobForm, JobDetailPage, ApplicantList |
Breadcrumb | — | JobDetailPage |
Button | ContactPage | LoginPage, JobForm, JobDetailPage, ApplicantList |
Card | — | LoginPage, JobList, ApplicantList |
Checkbox | job-detail (application form) | — |
Dialog | MobileNavModal | — |
Input | ContactPage | LoginPage, JobForm |
Label | ContactPage, job-detail | LoginPage, JobForm |
LoadingState | OpportunityBoard | — |
ErrorState | OpportunityBoard | — |
RadioGroup | ContactPage | — |
SearchInput | OpportunityBoard | — |
Select | ContactPage | JobForm, ApplicantList |
Separator | — | JobForm |
Sidebar | — | App.tsx (main navigation) |
Table | — | CandidatesTable |
Tabs | — | JobDetailPage |
Textarea | ContactPage | JobForm |
App-Specific Components (Not Shared)
Landing-Only
| Component | File | Could share? |
|---|
ShaderGradientBackground | shader-gradient-background.tsx | Yes — identical to admin version |
FilterDropdown | filter-dropdown.tsx | Could use Popover + Command |
OpportunityCard | job-card.tsx | Specific to landing |
HeroNav | hero-nav.tsx | Specific to landing |
MobileNavModal | mobile-nav-modal.tsx | Specific to landing |
PageHeader | page-header.tsx | Specific to landing |
Footer | footer.tsx | Specific to landing |
| Motion components | motion.tsx | Yes — useful cross-app |
Admin-Only
| Component | File | Could share? |
|---|
ShaderGradientBackground | ShaderGradientBackground.tsx | Yes — identical to landing version |
ProsperChatPanel | ProsperChatPanel.tsx | Specific to admin |
FilePill | Inside CandidateInfoPage.tsx | Could extract to shared |
SectionHeading | Inside CandidateInfoPage.tsx | Could extract to shared |