Appearance
Worker Dashboard
Overview of the worker's engagements, pending offers, onboarding status, and actionable tasks.
Route
/dashboard
Roles
Visible only to candidate/worker users (the page conditionally renders CandidateView when isCandidateView is true; otherwise the employer dashboard is shown).
Features
- Active engagement summary via the Offers Widget
- Pending tasks and actions via the Tasks Widget (feature-flagged with
useTasksWidget) - Onboarding document checklist via the Onboarding Widget (feature-flagged with
showOnboardingDocumentsWidget) - Congratulation modal on first login after key milestones
Layout
The dashboard renders up to three side-by-side widgets in a flex-wrap layout:
- Offers Widget (
CandidateOfferWidgetV2) — always shown - Onboarding Widget — shown when
showOnboardingDocumentsWidgetis enabled and the worker has outstanding onboarding documents ($showOnboardingDocumentsis true) - Tasks Widget — shown when
useTasksWidgetis enabled
Offers Widget
Displays all current candidate offers (excluding HR-only offers) with the following details per offer card:
- Entity name (with profile picture initials)
- Job title
- Country flag
- Worker type tag (Employee or Contractor)
- Status corner indicating the engagement stage (e.g. offer pending, agreement signing, active)
- Status text — derived from
EorStatus, with a specialCandidateIdRequiredmessage for offline-imported workers whose identity is not yet verified
Clicking an offer card navigates to the candidate offer flow:
- Contractors navigate to
/contractor-candidate-offer/:id/main-terms - Employees navigate to
/candidate-offer/:id/main-terms
The widget displays the offer count in the header (e.g. "Engagements (3)"). If there are no offers, a "no offers" message is shown.
The widget subscribes to WebSocket updates via CandidateOfferUpdatesToken so new or changed offers appear in real time without a page refresh.
Tasks Widget
Displays a list of actionable tasks fetched from the task list API. Each task card shows:
- A coloured icon representing the task type
- A title and description with an optional action link
- A three-dot menu with Pin / Unpin and Hide actions
Tasks are sorted with pinned tasks first, then by most recent timestamp. Task types include identity verification (CompleteIdVerification), additional nationality requests (ProvideAdditionalNationality), right-to-work actions, and work permit statuses. Actioning a task either opens the iDenfy identity verification flow or navigates to the relevant offer page.
The widget subscribes to WebSocket updates via TaskListToken so the task list refreshes automatically when tasks change.
Onboarding Widget
Shown conditionally when the tenant has onboarding documents enabled. Displays a checklist of required onboarding documents the worker must upload or sign.