Comprehensive UX audit fixes: navigation, feedback, affordances, and accessibility
CI / build-and-push (push) Successful in 28s

Address 18 issues across high/medium/low impact tiers identified in a full
interface review. Key changes: Models page decomposed into tabs, confirmation
dialogs for irreversible actions (deploy/open-source/acquire), chart Y-axes
made visible, hash router extended for Market tab persistence, collapsible
sidebar, keyboard navigation shortcuts (g+key chords), notification bulk
actions, achievement progress bars, and ARIA label improvements.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-25 09:05:26 -04:00
parent 09a5cb69a7
commit 8d650fefae
17 changed files with 332 additions and 82 deletions
+11 -8
View File
@@ -83,14 +83,17 @@ export function SettingsPage() {
<div className="text-sm">Music Volume</div>
<div className="text-xs text-surface-400">Background music level</div>
</div>
<input
type="range"
min={0}
max={100}
value={settings.musicVolume * 100}
onChange={(e) => setMusicVolume(Number(e.target.value) / 100)}
className="w-32 accent-accent"
/>
<div className="flex items-center gap-2">
<input
type="range"
min={0}
max={100}
value={settings.musicVolume * 100}
onChange={(e) => setMusicVolume(Number(e.target.value) / 100)}
className="w-32 accent-accent"
/>
<span className="text-sm font-mono text-surface-400 w-8 text-right">{Math.round(settings.musicVolume * 100)}%</span>
</div>
</div>
</div>