Pipeline & Kanban
The pipeline feature provides a drag-and-drop Kanban board for managing candidates through recruitment stages.
Pipeline Stages
Candidates flow through configurable stages:
NEW → IN_REVIEW → INTERVIEW → APPROVED / REJECTED
Each stage is represented as a Kanban column. Candidates can be dragged between columns to update their status.
Components
Pipeline Page Components
| Component | File | Purpose |
|---|---|---|
| PipelineHeader | components/pipeline/PipelineHeader.tsx | Pipeline name, stats, and actions |
| PipelineTabs | components/pipeline/PipelineTabs.tsx | Tab navigation between pipeline views |
| DetailsHeader | components/pipeline/DetailsHeader.tsx | Candidate detail header in pipeline context |
Kanban Components
| Component | File | Purpose |
|---|---|---|
| KanbanBoard | components/ux/KanbanBoard.tsx | Container managing columns and drag events |
| KanbanCard | components/ux/KanbanCard.tsx | Individual draggable card |
| KanbanJobCardAdapter | components/ux/KanbanJobCardAdapter.tsx | Adapter for job-specific card rendering |
| CandidatesKanban | components/reusable/candidates/CandidatesKanban.tsx | Candidate-specific Kanban board |
Candidate Cards
| Component | File | Purpose |
|---|---|---|
| CandidateCard | components/reusable/candidates/CandidateCard.tsx | Standard candidate card |
| CandidateKanbanCard | components/reusable/candidates/CandidateKanbanCard.tsx | Compact Kanban variant |
| CandidateRecommendedCard | components/reusable/candidates/CandidateRecommendedCard.tsx | AI-recommended candidate display |
Candidate Detail Tabs
| Component | File | Purpose |
|---|---|---|
| ApplicationTab | components/reusable/candidates/ApplicationTab.tsx | Application details |
| ResumeTab | components/reusable/candidates/ResumeTab.tsx | Resume/CV display |
| OptionDropdown | components/reusable/candidates/OptionDropdown.tsx | Action dropdown (move, reject, etc.) |
Pipeline Pages
| Route | Purpose |
|---|---|
app/company/pipeline/ | Main pipeline Kanban view |
app/company/pipeline/manage/ | Pipeline configuration and stage management |
app/company/pipeline/_components/ | Page-specific components |
Related Hooks
| Hook | Purpose |
|---|---|
usePersistentSelection | Persists selected candidates across navigation |
useUpdateCandidateStatus | Updates candidate pipeline status |
useGetCandidates | Fetches candidates with filtering |
useDeleteCandidate | Removes candidate |
useAddCandidate | Adds candidate to pipeline |