'use client'; import * as React from 'react'; import { Card, CardContent } from '../../ui/card'; import { Skeleton } from '../../ui/skeleton'; import { cn } from '../../shared/utils'; export interface ProfileCardSkeletonProps extends React.HTMLAttributes { /** Whether to show the stats grid row (3 columns) */ showStats?: boolean; /** Whether to show the action buttons row */ showActions?: boolean; } /** * Loading placeholder for `ProfileCard`. * * @description * Mirrors the visual layout of `ProfileCard`: centered avatar, name + role * text lines, optional stats grid, and optional action buttons. * * @example * ```tsx * {isLoading ? : } * ``` */ export function ProfileCardSkeleton({ showStats = true, showActions = true, className, ...props }: ProfileCardSkeletonProps) { return ( {/* Avatar */} {/* Name + role */}
{/* Optional department line */}
{/* Stats grid */} {showStats && (
{[0, 1, 2].map(i => (
))}
)} {/* Action buttons */} {showActions && (
)}
); }