import type { User } from "../types/user"; interface UserProfileProps { /** The user object to display */ user: User; /** Show the full address block */ showAddress?: boolean; /** Called when the edit button is clicked */ onEdit: (userId: number) => void; /** Custom CSS class name */ className?: string; /** Maximum number of tags to display */ maxTags?: number; } export function UserProfile({ user, showAddress, onEdit, className, maxTags }: UserProfileProps) { const visibleTags = maxTags ? user.tags.slice(0, maxTags) : user.tags; return (

{user.name}

{user.email}

{user.role} {showAddress && user.address && (
{user.address.street}, {user.address.city}, {user.address.country} {user.address.zip && ` ${user.address.zip}`}
)}
{visibleTags.map((tag) => ( {tag} ))}
); }