import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Trophy, Award, Crown, Compass } from "lucide-react"; export default function Achievements({ earnedXp, phaseClaims, }: { earnedXp: number; phaseClaims: Record; }) { const badges: { id: string; label: string; unlocked: boolean; icon: any; desc: string; }[] = [ { id: "rookie", label: "Rookie Explorer", unlocked: earnedXp >= 100, icon: Compass, desc: "Earn 100+ XP", }, { id: "seasoned", label: "Seasoned Adventurer", unlocked: earnedXp >= 300, icon: Trophy, desc: "Earn 300+ XP", }, { id: "master", label: "Master Builder", unlocked: earnedXp >= 600, icon: Crown, desc: "Earn 600+ XP", }, { id: "trailblazer", label: "Trailblazer", unlocked: ["now", "month1", "month2", "month3"].every( (k) => (phaseClaims[k] || 0) > 0, ), icon: Award, desc: "Complete a quest in every phase", }, ]; return ( Achievements Earn badges as you progress. Displayed publicly soon. {badges.map((b) => { const Icon = b.icon; return (
{b.label}
{b.desc}
{b.unlocked ? "Unlocked" : "Locked"}
); })}
); }