import type { ReactNode } from 'react';
import { X, Trophy, Calendar, Award, Users, BookOpen, Tag } from 'lucide-react';
import type { Achievement } from '../data';
import { useLang } from '../context/LanguageContext';
interface AchievementModalProps {
achievement: Achievement | null;
onClose: () => void;
}
function InfoRow({ icon, label, value }: { icon: ReactNode; label: string; value: string }) {
return (
);
}
export default function AchievementModal({ achievement, onClose }: AchievementModalProps) {
const { t } = useLang();
if (!achievement) return null;
return (
e.stopPropagation()}
>
{/* Image header */}
{/* Close button */}
{/* Rank badge */}
{achievement.rank}
{achievement.level}
{/* Content */}
{achievement.category}
{achievement.title}
{/* Info grid */}
} label={t.modal.tim} value={achievement.team} />
{achievement.nim && (
} label={t.modal.nim} value={achievement.nim} />
)}
} label={t.modal.angkatan} value={achievement.generation} />
} label={t.modal.tahun} value={String(achievement.year)} />
} label={t.modal.kompetisi} value={achievement.competition} />
} label={t.modal.bidang} value={achievement.category} />
{/* Members list */}
{achievement.members && achievement.members.length > 0 && (
)}
{/* Description */}
{t.modal.deskripsi}
{achievement.description.replace(/\*\*/g, '')}
{/* Close button */}
);
}