{ "$schema": "https://ui.shadcn.com/schema/registry-item.json", "name": "profile-page", "title": "Profile Page", "description": "User profile page with cover image, avatar, stats, tabbed content area, and sidebar section.", "registryDependencies": [ "https://raw.githubusercontent.com/dnachavez/adminlte-next/master/public/r/adminlte-theme.json", "https://raw.githubusercontent.com/dnachavez/adminlte-next/master/public/r/adminlte-tabs.json", "https://raw.githubusercontent.com/dnachavez/adminlte-next/master/public/r/box.json", "https://raw.githubusercontent.com/dnachavez/adminlte-next/master/public/r/profile-card.json" ], "files": [ { "path": "registry/new-york/profile-page/blocks/profile-page.tsx", "content": "\"use client\"\n\nimport * as React from \"react\"\nimport { cn } from \"@/registry/new-york/adminlte-theme/lib/cn\"\n\ninterface ProfileStat {\n label: string\n value: string | number\n href?: string\n}\n\ninterface ProfilePageProps extends React.HTMLAttributes {\n name: string\n avatarUrl: string\n role?: string\n coverImageUrl?: string\n coverColor?: string\n stats?: ProfileStat[]\n tabs?: { id: string; label: string; icon?: React.ReactNode; content: React.ReactNode }[]\n defaultTab?: string\n sidebar?: React.ReactNode\n}\n\nfunction ProfilePage({\n className,\n name,\n avatarUrl,\n role,\n coverImageUrl,\n coverColor = \"#3c8dbc\",\n stats = [],\n tabs = [],\n defaultTab,\n sidebar,\n ...props\n}: ProfilePageProps) {\n const [activeTab, setActiveTab] = React.useState(defaultTab || tabs[0]?.id || \"\")\n\n return (\n
\n
\n {/* Left column */}\n
\n
\n {/* Cover + Avatar */}\n \n \n
\n\n
\n

{name}

\n {role &&

{role}

}\n
\n\n {/* Stats */}\n {stats.length > 0 && (\n
\n
\n {stats.map((stat, i) => (\n \n {stat.value}\n {stat.label}\n \n ))}\n
\n
\n )}\n
\n\n {sidebar}\n
\n\n {/* Right column - Tabs */}\n {tabs.length > 0 && (\n
\n
\n
    \n {tabs.map((tab) => (\n
  • \n setActiveTab(tab.id)}\n >\n {tab.icon && {tab.icon}}\n {tab.label}\n \n
  • \n ))}\n
\n
\n {tabs.map((tab) => (\n
\n {tab.content}\n
\n ))}\n
\n
\n
\n )}\n
\n \n )\n}\n\nexport { ProfilePage }\nexport type { ProfilePageProps, ProfileStat }\n", "type": "registry:component" } ], "type": "registry:block" }