import { Achievement } from '../api/client'; import styles from './AchievementBadge.module.css'; interface Props { achievement: Achievement; } export default function AchievementBadge({ achievement }: Props) { const { name, description, icon, color, rankLabel, unlocked, current, target } = achievement; return (
{/* Glow background for unlocked */} {unlocked && (
)} {/* Lock overlay for locked */} {!unlocked && (
lock
)} {/* Icon */}
{unlocked && (
)} {icon}
{/* Name + Description */}

{name}

{description}

{/* Progress or Rank label */} {unlocked ? (
{rankLabel}
) : (
{current}/{target}
)}
); }