Render proper icons for achievements (no raw 'award' text)
cgen-3f33579807bb4803906be828e7ccef28
This commit is contained in:
parent
84d01c987c
commit
bb6122d432
1 changed files with 13 additions and 1 deletions
|
|
@ -89,6 +89,16 @@ const PassportSummary = ({
|
||||||
: Math.min(((totalXp % 1000) / 1000) * 100, 100);
|
: Math.min(((totalXp % 1000) / 1000) * 100, 100);
|
||||||
const featureAchievements = achievements.slice(0, MAX_HERO_ACHIEVEMENTS);
|
const featureAchievements = achievements.slice(0, MAX_HERO_ACHIEVEMENTS);
|
||||||
|
|
||||||
|
const getAchievementEmoji = (icon?: string, name?: string) => {
|
||||||
|
const key = (icon || name || "").toLowerCase();
|
||||||
|
if (/founding|founder/.test(key)) return "🎖️";
|
||||||
|
if (/trophy|award|medal|badge/.test(key)) return "🏆";
|
||||||
|
if (/welcome/.test(key)) return "🎉";
|
||||||
|
if (/star/.test(key)) return "⭐";
|
||||||
|
if (/rocket|launch/.test(key)) return "🚀";
|
||||||
|
return icon && icon.length <= 3 ? icon : "✨";
|
||||||
|
};
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Card className="bg-gradient-to-br from-slate-950/90 via-slate-900/70 to-slate-950/90 border border-slate-800 shadow-2xl">
|
<Card className="bg-gradient-to-br from-slate-950/90 via-slate-900/70 to-slate-950/90 border border-slate-800 shadow-2xl">
|
||||||
<CardHeader className="flex flex-col gap-4 md:flex-row md:items-start md:justify-between">
|
<CardHeader className="flex flex-col gap-4 md:flex-row md:items-start md:justify-between">
|
||||||
|
|
@ -212,7 +222,9 @@ const PassportSummary = ({
|
||||||
className="rounded-xl border border-slate-800 bg-slate-900/40 p-4"
|
className="rounded-xl border border-slate-800 bg-slate-900/40 p-4"
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-2 text-slate-100">
|
<div className="flex items-center gap-2 text-slate-100">
|
||||||
<span className="text-xl">{achievement.icon || "✨"}</span>
|
<span className="text-xl">
|
||||||
|
{getAchievementEmoji(achievement.icon as any, achievement.name)}
|
||||||
|
</span>
|
||||||
<span className="text-sm font-medium">
|
<span className="text-sm font-medium">
|
||||||
{achievement.name}
|
{achievement.name}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue