fix: gamepad nav dead ends on Apps page, orange glass active sidebar style

- Nav-tab-active now uses orange glass (bg, border, glow, gradient)
- Sidebar focus-visible uses matching orange tint
- Enter on containers skips uninstall button, finds primary action
- Down/Right from grid edges falls back to all focusable elements
- Global fallback for standalone buttons in empty/error states
- Full gamepad nav map for all onboarding screens + login modes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-30 00:04:58 +01:00
co-authored by Claude Opus 4.6
parent 967af7d96f
commit 5f481d8078
3 changed files with 326 additions and 33 deletions
+15 -10
View File
@@ -967,15 +967,17 @@ input[type="radio"]:active + * {
transform: translateY(1px);
}
/* Active Navigation Tab Style - matches hover container */
/* Active Navigation Tab Style — orange glass */
.nav-tab-active {
position: relative;
background: rgba(0, 0, 0, 0.35) !important;
background: rgba(251, 146, 60, 0.15) !important;
box-shadow:
0 6px 16px rgba(0, 0, 0, 0.6),
inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
0 6px 16px rgba(0, 0, 0, 0.5),
0 0 12px rgba(251, 146, 60, 0.15),
inset 0 1px 0 rgba(251, 146, 60, 0.3) !important;
color: rgba(255, 255, 255, 1) !important;
font-weight: 600 !important;
border: 1px solid rgba(251, 146, 60, 0.3) !important;
}
.nav-tab-active::before {
@@ -984,23 +986,26 @@ input[type="radio"]:active + * {
inset: 0;
border-radius: inherit;
padding: 2px;
background: linear-gradient(135deg, rgba(255, 255, 255, 0.3), transparent);
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
background: linear-gradient(135deg, rgba(251, 146, 60, 0.4), rgba(251, 146, 60, 0.05));
-webkit-mask:
linear-gradient(#fff 0 0) content-box,
linear-gradient(#fff 0 0);
-webkit-mask-composite: xor;
mask-composite: exclude;
pointer-events: none;
}
/* Sidebar nav items: grow + glow on gamepad focus (same as containers) */
/* Sidebar nav items: grow + glow on gamepad focus */
.sidebar-nav-item {
transition: transform 0.2s ease, box-shadow 0.2s ease;
transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
.sidebar-nav-item:focus-visible {
outline: none !important;
background: rgba(255, 255, 255, 0.1) !important;
background: rgba(251, 146, 60, 0.12) !important;
color: white !important;
box-shadow:
0 0 0 1px rgba(251, 146, 60, 0.3),
0 0 12px rgba(251, 146, 60, 0.15) !important;
}
}