Profile Header

Full profile header with cover image, avatar, stats, and action buttons.

Preview

Cover
Profile avatar

Demo Creator

@democreator

Digital artist and content creator sharing my creative journey

San Francisco, CAexample.com

12,500

Followers

850

Following

342

Posts

Usage

import { ProfileHeader } from "@/components/profile"

<ProfileHeader
  name="Demo Creator"
  username="democreator"
  avatar="/avatar.jpg"
  coverImage="/cover.jpg"
  bio="Digital artist and content creator"
  location="Los Angeles, CA"
  website="https://example.com"
  stats={[
    { label: "Followers", value: 12500 },
    { label: "Following", value: 850 },
    { label: "Posts", value: 342 },
  ]}
  verified
  onAvatarClick={() => handleAvatarClick()}
/>

Minimal Version

Only the required props for a simple profile header.

Profile avatar

Simple User

@simpleuser

<ProfileHeader
  name="Simple User"
  username="simpleuser"
  avatar="/avatar.jpg"
/>

With Cover Image

Cover
Profile avatar

Explorer Demo

@explorer

Exploring the world one adventure at a time

45,000

Followers

1,200

Following

892

Posts

Props

PropTypeDefaultDescription
namestring-Display name
usernamestring-Username (without @ prefix - added automatically)
avatarstring-Avatar image URL
coverImagestring-Cover/banner image URL
biostring-Profile bio text
locationstring-Location text
websitestring-Website URL
stats{ label: string, value: string | number }[]-Array of stat objects to display
verifiedbooleanfalseShow verification badge
onAvatarClick() => void-Avatar click handler

Stats Array Format

// Stats is an array of label/value pairs
stats={[
  { label: "Followers", value: 12500 },
  { label: "Following", value: 850 },
  { label: "Posts", value: 342 },
]}

// You can add any custom stats
stats={[
  { label: "Subscribers", value: "1.2M" },
  { label: "Videos", value: 156 },
  { label: "Views", value: "50M+" },
]}