feat: app shell with sidebar + bug fixes
UI: - Add persistent sidebar (210px) with band switcher dropdown, Library/Player/Settings nav, user avatar row, and sign-out button - Align design system CSS vars to CLAUDE.md spec (#0f0f12 bg, #e8a22a amber accent, rgba borders/text) - Remove light mode toggle (no light mode in v1) - Homepage auto-redirects to first band; shows create-band form only when no bands exist - Strip full-page wrappers from all pages (shell owns layout) - Remove debug console.log statements from SongPage Bug fixes: - nginx: trailing slash on `location ^~ /api/v1/bands/` caused 301 redirect on POST, dropping the request body — removed trailing slash - API: _member_from_request (used by nc-scan stream) only accepted Bearer token, not httpOnly cookie — add rh_token cookie fallback - API: internal_secret config field now has a dev default so the service starts without INTERNAL_SECRET env var set Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", sans-serif;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
background: var(--bg);
|
||||
color: var(--text);
|
||||
@@ -14,39 +14,23 @@ input, textarea, button, select {
|
||||
font-family: inherit;
|
||||
}
|
||||
|
||||
/* ── Dark theme (default) — GitHub Primer slate ─────────────────────────── */
|
||||
:root,
|
||||
[data-theme="dark"] {
|
||||
--bg: #0d1117;
|
||||
--bg-subtle: #161b22;
|
||||
--bg-inset: #21262d;
|
||||
--border: #30363d;
|
||||
--text: #e6edf3;
|
||||
--text-muted: #8b949e;
|
||||
--text-subtle: #484f58;
|
||||
--accent: #f0a840;
|
||||
--accent-bg: #2a1e08;
|
||||
--accent-fg: #080c10;
|
||||
--teal: #38c9a8;
|
||||
--teal-bg: #0a2820;
|
||||
--danger: #f85149;
|
||||
--danger-bg: #1a0810;
|
||||
}
|
||||
|
||||
/* ── Light theme ─────────────────────────────────────────────────────────── */
|
||||
[data-theme="light"] {
|
||||
--bg: #ffffff;
|
||||
--bg-subtle: #f6f8fa;
|
||||
--bg-inset: #eef1f5;
|
||||
--border: #d0d7de;
|
||||
--text: #24292f;
|
||||
--text-muted: #57606a;
|
||||
--text-subtle: #afb8c1;
|
||||
--accent: #f0a840;
|
||||
--accent-bg: #fff8e1;
|
||||
--accent-fg: #1c1007;
|
||||
--teal: #0a6b56;
|
||||
--teal-bg: #d1f7ef;
|
||||
--danger: #cf222e;
|
||||
--danger-bg: #ffebe9;
|
||||
/* ── Design system (dark only — no light mode in v1) ─────────────────────── */
|
||||
:root {
|
||||
--bg: #0f0f12;
|
||||
--bg-subtle: rgba(255,255,255,0.025);
|
||||
--bg-inset: rgba(255,255,255,0.04);
|
||||
--border: rgba(255,255,255,0.08);
|
||||
--border-subtle: rgba(255,255,255,0.05);
|
||||
--text: #eeeef2;
|
||||
--text-muted: rgba(255,255,255,0.35);
|
||||
--text-subtle: rgba(255,255,255,0.22);
|
||||
--accent: #e8a22a;
|
||||
--accent-hover: #f0b740;
|
||||
--accent-bg: rgba(232,162,42,0.1);
|
||||
--accent-border: rgba(232,162,42,0.28);
|
||||
--accent-fg: #0f0f12;
|
||||
--teal: #4dba85;
|
||||
--teal-bg: rgba(61,200,120,0.1);
|
||||
--danger: #e07070;
|
||||
--danger-bg: rgba(220,80,80,0.1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user