diff --git a/apps/web/app/[section]/[...slug]/page.tsx b/apps/web/app/[section]/[...slug]/page.tsx index d51457f..e892321 100644 --- a/apps/web/app/[section]/[...slug]/page.tsx +++ b/apps/web/app/[section]/[...slug]/page.tsx @@ -54,47 +54,47 @@ function CustomFieldBadges({ if (customEntries.length === 0) return null; return ( -
+
{customEntries.map(([key, value]) => { const label = key.charAt(0).toUpperCase() + key.slice(1).replace(/_/g, " "); - let colorClass = "bg-[#141517] border-[#23252a] text-[#d0d6e0]"; + let colorClass = "bg-[var(--bg-elevated)] border-[var(--border-color)] text-[var(--text-secondary)]"; let icon = "๐Ÿท๏ธ"; let displayValue: string; if (typeof value === "number") { - colorClass = "bg-[#5e6ad2]/10 border-[#5e6ad2]/30 text-[#7170ff]"; + colorClass = "bg-[#5e6ad2]/10 border-[#5e6ad2]/30 text-[#5e6ad2] dark:text-[#7170ff]"; icon = "๐ŸŽฏ"; displayValue = `${value} pts`; } else if (typeof value === "boolean") { colorClass = value - ? "bg-emerald-500/10 border-emerald-500/30 text-emerald-400" - : "bg-rose-500/10 border-rose-500/30 text-rose-400"; + ? "bg-emerald-500/10 border-emerald-500/30 text-emerald-600 dark:text-emerald-400" + : "bg-rose-500/10 border-rose-500/30 text-rose-600 dark:text-rose-400"; icon = value ? "โœ“" : "โœ•"; displayValue = value ? "Solved" : "Pending"; } else if (Array.isArray(value)) { - colorClass = "bg-[#5e6ad2]/10 border-[#5e6ad2]/30 text-[#7170ff]"; + colorClass = "bg-[#5e6ad2]/10 border-[#5e6ad2]/30 text-[#5e6ad2] dark:text-[#7170ff]"; icon = "๐Ÿ—‚๏ธ"; displayValue = value.join(", "); } else { const v = String(value).toLowerCase(); if (/^(easy|simple|beginner)/i.test(v)) { - colorClass = "bg-emerald-500/10 border-emerald-500/30 text-emerald-400"; + colorClass = "bg-emerald-500/10 border-emerald-500/30 text-emerald-600 dark:text-emerald-400"; icon = "๐ŸŸข"; displayValue = "Easy"; } else if (/^(medium|intermediate)/i.test(v)) { - colorClass = "bg-amber-500/10 border-amber-500/30 text-amber-400"; + colorClass = "bg-amber-500/10 border-amber-500/30 text-amber-600 dark:text-amber-400"; icon = "๐ŸŸก"; displayValue = "Medium"; } else if (/^(hard|expert|advanced)/i.test(v)) { - colorClass = "bg-rose-500/10 border-rose-500/30 text-rose-400"; + colorClass = "bg-rose-500/10 border-rose-500/30 text-rose-600 dark:text-rose-400"; icon = "๐Ÿ”ด"; displayValue = "Hard"; } else if (/^(pwn|web|crypto|misc|forensic|reverse|binary)/i.test(v)) { - colorClass = "bg-indigo-500/10 border-indigo-500/30 text-indigo-300"; + colorClass = "bg-indigo-500/10 border-indigo-500/30 text-indigo-600 dark:text-indigo-300"; icon = "โšก"; displayValue = v.toUpperCase(); } else if (/ctf|def.?con|event/i.test(v)) { - colorClass = "bg-[#5e6ad2]/10 border-[#5e6ad2]/30 text-[#7170ff]"; + colorClass = "bg-[#5e6ad2]/10 border-[#5e6ad2]/30 text-[#5e6ad2] dark:text-[#7170ff]"; icon = "๐Ÿ†"; displayValue = String(value); } else { @@ -108,7 +108,7 @@ function CustomFieldBadges({ className={`inline-flex items-center gap-1.5 px-2.5 py-1 border rounded-md text-xs font-mono transition-colors ${colorClass}`} > {icon} - {label}: + {label}: {displayValue} ); @@ -157,12 +157,12 @@ function FolderIndexPage({ return (
{/* Breadcrumb */} -