"use client"; interface BadgeCardProps { badge: { id: string; name: string; description: string; icon: string; earnedDate?: string; progress?: number; requirement?: number; }; earned: boolean; } export default function BadgeCard({ badge, earned }: BadgeCardProps) { const progressPercent = badge.progress && badge.requirement ? (badge.progress / badge.requirement) * 100 : 0; return (
{badge.icon}

{badge.name}

{badge.description}

{earned && badge.earnedDate ? (
Earned {new Date(badge.earnedDate).toLocaleDateString()}
) : badge.progress !== undefined && badge.requirement !== undefined ? (
Progress {badge.progress} / {badge.requirement}

{Math.round(progressPercent)}% complete

) : (
Not earned yet
)}
); }