Talent Card

SA

Selin Aydar

4.6(18 reviews)

Porto, PT

820 miles away

$142

avg. daily rate

Recently active — Available

About this component

Talent Card

A candidate/freelancer card: avatar with verified badge, star rating or new label, a location/rate split, and toggleable wishlist and invite actions that track their own state. Ideal for talent marketplaces and staffing grids.

Usage

The import and the props worth knowing about, in one place.

import { TalentCard } from "@/components/beste/component/talent-card";

<TalentCard
  name="Selin Aydar"
  verified
  rating={4.6}
  reviews={18}
  location="Porto, PT"
  distance="820 miles away"
  rate="$142"
  availability="Recently active — Available"
  onWishlist={(saved) => console.log("wishlist:", saved)}
  onInvite={(invited) => console.log("invite:", invited)}
/>

Playground

Turn the props on the right; the snippet under them is what you would write to get what you see.

SA

Selin Aydar

4.6(18 reviews)

Porto, PT

820 miles away

$142

avg. daily rate

Recently active — Available

Usage
import { TalentCard } from "@/components/beste/component/talent-card";

<TalentCard
  name="Selin Aydar"
  avatar="https://images.unsplash.com/photo-1534528741775-53994a69daeb?q=80&w=128&auto=format&fit=crop"
  verified
  location="Porto, PT"
  distance="820 miles away"
  rate="$142"
  availability="Recently active — Available"
/>

Keyboard and gestures

Every one of these is in the component already. They are listed because a props table cannot mention a gesture, so nothing else on this page can tell you they exist.

The heartToggles the shortlist and calls `onWishlist` with what it became — the card keeps the state so the page does not have to.
The invite buttonFlips between inviting and invited, and calls `onInvite`.

Props

Read from the component's own type, so this cannot drift from what it accepts.

PropTypeDefaultDescription
name*string
avatarstring
verifiedboolean
ratingnumberAverage rating; omit to show the "New" label instead
reviewsnumber
location*string
distance*string
rate*string
availabilitystringMuted availability line under the actions
defaultWishlistedboolean
defaultInvitedboolean
onWishlist(next: boolean) => void
onInvite(next: boolean) => void
classNamestring

More Dashboard components

View all Dashboard

User Menu

Topbar account menu: avatar trigger with name and email, dropdown with icon items, keyboard shortcuts, and a destructive sign-out row. Compact avatar-only mode for dense headers.

Actions
A
Amara Okaforamara@northwind.io
ScaleActive$4,820Jan 4, 2026
D
Diego Santosdiego@lumen.app
StarterTrial$0Feb 18, 2026
P
Priya Nairpriya@vertex.co
GrowthActive$2,140Nov 22, 2025
T
Tom Fischertom@basecamp.dev
StarterChurned$380Aug 9, 2025
L
Lena Björklena@aurora.se
ScaleActive$6,390Mar 2, 2026
M
Marcus Reedmarcus@hexa.io
StarterTrial$0Feb 27, 2026

8 row(s)

Page 1 of 2

Data Table

Client-side data-table engine: column-driven config with custom cell renderers, sortable headers, keyword search, row selection, per-row action menus, and pagination. Owns all state; blocks pass columns + rows as data.

January 2026

Sun
Mon
Tue
Wed
Thu
Fri
Sat

Calendar Month

A month grid with selectable days, a today marker, colored event dots per day, and prev/next month controls. Data-driven (weekStart + daysInMonth) so it renders deterministically; controlled or self-managed selection.

Sidebar Nav

Dashboard sidebar with a brand header, grouped nav items, Lucide icons, trailing count badges, and an active state. Collapse is driven from the shell topbar via the `collapsed` prop (icon rail when true).

Color Picker

OKLCH-native colour picker: a gamut-aware lightness and chroma plane, RGB and OKLCH tabs whose rows show their own colour ramp on hover, a field that accepts hex, rgb() or oklch(), screen eyedropper and preset swatches.

Notifications Menu

Topbar bell trigger with an unread count and a popover feed: icon rows with title, description, timestamp, unread dots, a mark-all-read action, and a scrollable list. Manages read state internally.