/** * @file MemberProfileCard.tsx * @description Client component rendering detailed profile information and activity metrics for a specific team member. */ "use client"; import { getFullName, getInitials, formatTimeAgo } from "@/utils/user"; import { Mail, Clock, ShieldCheck } from "lucide-react"; import { UserListItem } from "@/types/user"; /** * Properties for the MemberProfileCard component. * * @interface MemberProfileCardProps * @property {UserListItem} member - The user item containing detailed profile data, activity status, and credentials. */ interface MemberProfileCardProps { member: UserListItem; } /** * Renders a detailed profile card for a team member, including user avatar initials, online status indicators, * contact information, and activity metrics. * * @param {MemberProfileCardProps} props - The component props. * @returns {JSX.Element} The rendered member profile card component. */ export default function MemberProfileCard({ member }: MemberProfileCardProps) { const stats = [ { label: "Last Activity", value: formatTimeAgo(member.lastLogin), icon: Clock, color: "text-blue-400 bg-blue-500/10 border-blue-500/20", }, { label: "Account Status", value: "Active - Member", icon: ShieldCheck, color: "text-emerald-400 bg-emerald-500/10 border-emerald-500/20", }, ]; return (
{/* Accent Bar */}
{getInitials(member.firstName, member.lastName)}

{getFullName(member.firstName, member.lastName)}

{member.email}
{stats.map((stat) => (

{stat.label}

{stat.value}

))}
); }