feat: restyle leaderboard tab — pill nav, unsaved changes bar

This commit is contained in:
2026-03-21 21:45:21 +01:00
parent db0b1491bd
commit 8a7299fba2

View File

@@ -135,19 +135,19 @@ export function LeaderboardManager({ serverId, initialData }: LeaderboardManager
return (
<div className="space-y-4">
{dirty && (
<div className="flex items-center justify-between rounded-lg bg-yellow-900/40 px-4 py-2 text-sm text-yellow-300">
<div className="flex items-center justify-between rounded-lg border border-gh-yellow/30 bg-gh-yellow-bg px-4 py-2 text-sm text-gh-yellow">
<span>Unsaved changes</span>
<div className="flex gap-2">
<button
onClick={() => setDraft(saved)}
className="rounded px-2 py-1 text-xs text-yellow-400 hover:text-yellow-200"
className="rounded px-2 py-1 text-xs text-gh-yellow hover:text-gh-primary"
>
Discard
</button>
<button
onClick={handleSave}
disabled={isSubmitting}
className="rounded bg-yellow-600 px-3 py-1 text-xs font-semibold text-white hover:bg-yellow-500 disabled:opacity-50"
className="rounded bg-gh-yellow px-3 py-1 text-xs font-semibold text-gh-base hover:opacity-90 disabled:opacity-40"
>
{isSubmitting ? 'Saving…' : 'Save'}
</button>
@@ -156,7 +156,9 @@ export function LeaderboardManager({ serverId, initialData }: LeaderboardManager
)}
{error && (
<div className="rounded-lg bg-red-900/40 px-4 py-2 text-sm text-red-300">{error}</div>
<div className="rounded-lg border border-gh-red/30 bg-gh-red-bg px-4 py-2 text-sm text-gh-red">
{error}
</div>
)}
<div className="flex flex-wrap gap-2">
@@ -164,10 +166,10 @@ export function LeaderboardManager({ serverId, initialData }: LeaderboardManager
<button
key={s.id}
onClick={() => setActiveSection(s.id)}
className={`rounded-lg px-3 py-1.5 text-sm font-medium transition-colors ${
className={`rounded-md px-3 py-1.5 text-sm font-medium transition-colors ${
activeSection === s.id
? 'bg-blue-600 text-white'
: 'bg-gray-700 text-gray-300 hover:bg-gray-600'
? 'bg-gh-blue text-white'
: 'bg-gh-overlay text-gh-secondary hover:bg-gh-border'
}`}
>
{s.label}
@@ -182,7 +184,7 @@ export function LeaderboardManager({ serverId, initialData }: LeaderboardManager
<button
onClick={handleSave}
disabled={isSubmitting}
className="rounded-lg bg-blue-600 px-4 py-2 text-sm font-semibold text-white hover:bg-blue-500 disabled:opacity-50"
className="rounded-lg border border-gh-btn-green bg-gh-btn-green px-4 py-2 text-sm font-semibold text-white hover:bg-gh-btn-green-hover disabled:opacity-40"
>
{isSubmitting ? 'Saving…' : 'Save Leaderboard'}
</button>