Talent Sourcing

About this block

Talent SourcingPRO

A project detail dashboard for staffing: sidebar + action topbar with a project actions menu, a project header with status pills, a five-up stat strip with project meta, functional pipeline sub-tabs, a search / recently-active toggle / filters-menu toolbar that live-filters the grid, and a responsive grid of nine talent cards with wishlist and invite toggles.

Dashboard6: Talent Sourcing

A recruiting dashboard for staffing and talent sourcing: a project detail view with a candidate pipeline, live-filtering toolbar, and a responsive grid of talent cards. It pairs a collapsible sidebar and action topbar with a stat strip, pipeline sub-tabs, and wishlist / invite controls, making it a ready-made ATS UI for any Next.js / React hiring dashboard built on shadcn/ui.

Upgrade to Pro

Pro blocks install through the shadcn CLI with your license key and ship their full source. Docs and live previews stay open to everyone, so you can read every block's details first.

Upgrade Now

Installation

Swap YOUR_EMAIL and YOUR_KEY for the email and license key on your account. Find your license key on your account page.

Radix flavor

bash
npx shadcn add "https://ui.beste.co/r/dashboard6?email=YOUR_EMAIL&license_key=YOUR_KEY"

Base UI flavor

bash
npx shadcn add "https://ui.beste.co/r-base/dashboard6?email=YOUR_EMAIL&license_key=YOUR_KEY"

This installs the block to components/beste/block/dashboard6.tsx, the Beste components it composes (sidebar-nav, user-menu, notifications-menu, and talent-card), and the shadcn/ui dependencies they need (button, badge, avatar, input, switch, dropdown-menu).

Quick start

The installed file exports dashboard6Demo alongside the block: the exact prop behind the preview above. Spread it to get the full dashboard in one line. It is a full-height layout (h-screen), so give it the whole viewport rather than nesting it inside a constrained container.

tsx
import { Dashboard6, dashboard6Demo } from "@/components/beste/block/dashboard6";

export default function Page() {
  return <Dashboard6 {...dashboard6Demo} />;
}

Props

Every prop is optional. Omit any and the block falls back to its built-in demo data, so <Dashboard6 /> renders a complete, populated recruiting dashboard out of the box. Pass just the props you want to override.

PropTypeDefaultDescription
brandNamestring"Scout"Brand label next to the folder icon in the sidebar header
headingstring"Product launch film — Berlin"Project title in the content header
userDashboardUserdemo userIdentity shown in the topbar account menu
navGroupsSidebarNavGroup[]demo groupsSidebar navigation, rendered in order as labeled groups
userItemsUserMenuItem[]demo itemsRows in the account dropdown menu
notificationsNotificationItem[]demo itemsEntries in the notifications popover
statsStatItem[]demo statsThe cards in the stat strip
projectMetaProjectMetaItem[]demo rowsThe project meta row under the stats
talentsTalent[]demo rowsCandidate cards rendered in the grid

The block-local data types:

ts
type DashboardUser = {
  name: string;
  email: string;
  avatar: string; // image URL, rendered with a plain <img>
};

type StatItem = { value: string; label: string }; // value pre-formatted, e.g. "2 of 3"
type ProjectMetaItem = { label: string; value: string };

type Talent = {
  name: string;
  avatar?: string;          // image URL; falls back to initials
  verified?: boolean;       // shows a verified check
  rating?: number;          // omit to show the "New" label
  reviews?: number;
  location: string;
  distance: string;
  rate: string;             // pre-formatted day rate, e.g. "$142"
  availability?: string;    // muted availability line under the actions
  wishlisted?: boolean;     // seeds the card's wishlist toggle
  invited?: boolean;        // seeds the card's invite toggle
  recentlyActive?: boolean; // matched by the "Recently active" filter
};

The remaining props reuse the interfaces exported by the composed Beste components:

ts
// from sidebar-nav
type SidebarNavGroup = {
  label?: string; // muted uppercase group heading (hidden when collapsed)
  items: {
    id: string;
    label: string;
    icon?: LucideIcon;
    badge?: string | number; // small trailing count/tag
    href?: string;           // renders an <a> instead of a <button>
  }[];
};

// from user-menu
type UserMenuItem = {
  id: string;
  label: string;
  icon?: LucideIcon;
  destructive?: boolean; // red row with a separator above it
};

// from notifications-menu
type NotificationItem = {
  id: string;
  title: string;
  description?: string;
  time: string;
  icon?: LucideIcon;
  unread?: boolean;
};

Still internal

A few structural bits stay as constants in the installed file — edit them in place:

  • subTabs — the pipeline sub-tab definitions ({ label, count? }) used for the tab strip layout.
  • The project header badges (Event production, Active, Hired 2 of 3) and the topbar action buttons (Back to projects, Team, Project) are inline in the JSX.

Components

This block composes these Beste UI components (all installed for you):

  • talent-card — the candidate card with avatar, rating, location, rate, and wishlist / invite toggles.
  • sidebar-nav — the collapsible left navigation with grouped items and a brand header.
  • user-menu — the avatar dropdown in the topbar, rendered in compact mode.
  • notifications-menu — the bell dropdown fed by demoNotifications.

Behavior notes

  • The Recently active toggle and the Verified only checkbox (in the Filters menu) live-filter the talent grid; both narrow at once, and the Filters button shows a dot while either is on. The candidate count above the grid updates to match.
  • The Filters menu also carries its own Recently active checkbox, kept in sync with the toolbar toggle since both write the same state.
  • The pipeline sub-tabs (Candidates, Screening, Interviews, Offers, Contracts, Onboarding) are clickable and track the active tab; the grid content itself does not change per tab.
  • The topbar sidebar toggle collapses the sidebar on desktop; on mobile (below md) a panel button opens the sidebar in a slide-out sheet, which closes on navigation.
  • Each talent card manages its own wishlist and invite state, seeded from defaultWishlisted / defaultInvited per candidate.
  • The search input is presentational (it does not filter the grid).
  • The project actions menu (Duplicate, Share, Archive, Delete) is a wired dropdown but its items have no handlers.

Requirements

  • Next.js App Router. Rendered as a client component ("use client"), so it composes into any page.
  • Full-height layout: the root is h-screen w-full, so mount it as a page-level view, not inside a card.
  • Candidate avatars render with a plain <img> (via talent-card), so no next.config images.remotePatterns setup is needed for remote hosts.

Wiring the form up

This block ships the form markup only; state, validation, and submit are yours to add. Our guide wires the shadcn Field primitives to React Hook Form, TanStack Form, and Formisch on one field system.

More Dashboard blocks

View all Dashboard
PRO

dashboard4

Project Workspace

A project-management dashboard: sidebar + search topbar, a four-up project stats row with one highlighted card, a weekly project-analytics bar chart, a reminder card with a start-meeting action, a team-collaboration list, a project-progress radial gauge, and a focus time-tracker card.

PRO

dashboard9

Sales Pipeline

A sales-CRM dashboard: sidebar + search topbar, pipeline KPIs, a four-stage kanban board of deal cards with owners and hot-lead flags, a revenue-vs-forecast area chart, a team-quota radial gauge, and a rep leaderboard with progress bars.

PRO

dashboard8

Finance Overview

A personal-finance dashboard: sidebar + search topbar, a dark total-balance hero with account tiles, a budget radial gauge, income/expense/savings KPIs, a cashflow bar chart, a spending-mix donut, and a colored transactions table.

PRO

dashboard2

Customers Table

A customers management section powered by the data-table engine: avatar cells, status badges, sortable columns, keyword search, row selection with a live selected count, per-row action menus, pagination, and an export / add-customer toolbar.

PRO

dashboard1

Admin Shell

A full admin dashboard shell: collapsible icon sidebar, topbar with a ⌘K command palette and account menu, a greeting header, a three-up KPI row with trend badges, and a recent-orders data table. The frame the rest of the dashboard blocks drop into.

PRO

dashboard11

Fitness Overview

A health dashboard with a top navigation bar (no sidebar): three activity-ring radial gauges, a steps area chart and a heart-rate line chart, and a recent-workouts list. A Today/Week/Month segmented control live-swaps the chart data and totals.