Skip to main content
Version: 1.0.3

Profile Page

Overview

A complete profile management component with editing capabilities, avatar upload, social links management, and multiple customization options. Perfect for user profile pages, settings sections, or any user management interface.

Features

  • Avatar Management: Upload and preview avatar images with multiple shapes
  • Editable Fields: Toggle between view and edit modes for all profile information
  • Social Links: Add, edit, and remove social media links with automatic platform detection
  • Multiple Variants: Light, dark, gradient, glass, and card variants
  • Responsive Design: Works seamlessly across all screen sizes
  • Accessibility: Fully accessible with keyboard navigation and screen reader support
  • Customizable: Extensive customization options for every aspect

Installation

ignix add component profile

Usage

Profile Settings
Alex Thompson

Alex Thompson

Senior Product Designer

alex.thompson@example.com

San Francisco, CA

Basic Information

Display Name

Alex Thompson

Email Address

alex.thompson@example.com

Job Title

Senior Product Designer

Location

San Francisco, CA

Website

https://alexthompson.design

Phone

+1 (555) 123-4567

About Me

Product designer with 8+ years of experience creating digital experiences. Passionate about user-centered design and building products that make a difference. Currently leading design at InnovateTech.

Connect

ProfileData Interface

interface ProfileData {
displayName: string;
email: string;
bio: string;
avatarUrl: string | null;
socialLinks: SocialLink[];
location?: string;
jobTitle?: string;
website?: string;
phone?: string;
}

interface SocialLink {
id: string;
platform: string;
url: string;
}

Props

PropTypeDefaultDescription
headerTitlestring"Profile Settings"Title displayed in the header
headerIconReact.ReactNode<User className="w-4 h-4" />Icon displayed next to header title
initialProfileDataPartial<ProfileData>{}Initial profile data to display
onSave`(data: ProfileData, avatarFile?: File | null) => Promise<void> | void-Callback when save is clicked
onCancel() => void-Callback when cancel is clicked
variant"default" | "gradient" | "card" | "glass" | "dark"'default'Visual variant of the profile page
animationVariant"fadeUp" | "scaleIn" | "slideUp" | "slideLeft" | "slideRight"'fadeUp'Animation style for page entrance
avatarShape"circle" | "square" | "rounded" | "hexagon" | "star"'circle'Shape of the avatar
avatarSize"md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | "6xl" | "7xl" | "8xl" | "9xl"'3xl'Size of the avatar
inputVariantstringcleanVariant for input fields
buttonVariantstring'default'Variant for buttons
buttonAnimationVariantstring-Animation variant for buttons
customHeaderReact.ReactNode-Custom header component
customAvatarSectionReact.ReactNode-Custom avatar section component
customSocialLinksReact.ReactNode-Custom social links component
editButtonLabelstring'Edit Profile'Label for edit button
saveButtonLabelstring'Save Changes'Label for save button
cancelButtonLabelstring'Cancel'Label for cancel button
savingButtonLabelstring'Saving...'Label for saving state button
isLoadingbooleanfalseShow loading state
status"online" | "offline" | "away" | "busy"-User status indicator
showSaveNotificationbooleantrueShow notification on save
saveNotificationDurationnumber3000Duration of save notification in ms
saveNotificationMessagestring"Changes saved successfully!"Message for save notification
customNotificationReact.ReactNode-Custom notification component
darkModebooleanfalseEnable dark mode