style(dm): redesign dashboard with purple-gold theme
Redesign DM Dashboard (/dm/, /ru/dm/) with purple-gold theme (#534AB7 + #c8a84b): Design System: - Update dm-theme.css with 49 purple-gold tokens (transitions, shadows, hover states) - Create DmTabs.astro with ARIA, keyboard nav, URL hash sync, localStorage persistence - Create DmSidebar.astro for desktop navigation - Redesign DmHeader with gold accent - Update DmButton, DmCard, DmInput primitives - Expand i18n to 47 strings Layout: - Redesign DmLayout with 3-column dashboard grid (sidebar|main|context) - Update /dm/index.astro and /ru/dm/index.astro with named slots Feature Components: - DiceRoller: empty state, ARIA live, color-coded history, storage key fallback - InitiativeTracker: HP editing, active highlighting, storage key fallback - Open5eReference: skeletons, debounce, error retry, gold tabs - NotesPanel: cross-tab sync, copy-to-clipboard, auto-save - AuthPanel: VK/Yandex brand colors, pill buttons Tests: - Add 50 Playwright E2E tests (smoke, dice, initiative, reference, notes, data-migration) Fixes: - Document Open5e client.ts URL bugfix - Add backward-compatible storage key fallback for dice/initiative - Preserve legacy sessionStorage data on load
This commit is contained in:
+45
-7
@@ -1,11 +1,49 @@
|
||||
.dm-theme {
|
||||
--accent: #E87722;
|
||||
--accent-light: #FF9F43;
|
||||
--accent-dark: #D35400;
|
||||
--bg-primary: #0f0f0f;
|
||||
--bg-secondary: #1a1a1a;
|
||||
--bg-card: #242424;
|
||||
/* Primary Accents */
|
||||
--accent: #534AB7;
|
||||
--accent-light: #6b5fc7;
|
||||
--accent-dark: #3f3791;
|
||||
--accent-hover: #6b5fc7;
|
||||
|
||||
/* Secondary (Gold) */
|
||||
--gold: #c8a84b;
|
||||
--gold-light: #d4b76a;
|
||||
--gold-dark: #a88a3a;
|
||||
--gold-hover: #d4b76a;
|
||||
|
||||
/* Backgrounds — warm dark tones */
|
||||
--bg-primary: #16120e;
|
||||
--bg-secondary: #1e1912;
|
||||
--bg-card: #221e18;
|
||||
--bg-input: #1a1610;
|
||||
|
||||
/* Text */
|
||||
--text-primary: #f4f4f5;
|
||||
--text-secondary: #a1a1aa;
|
||||
--border-color: #3f3f46;
|
||||
--text-muted: #71717a;
|
||||
--text-cream: #e8dcc8;
|
||||
|
||||
/* Borders */
|
||||
--border-color: #3a3428;
|
||||
--border-gold: rgba(200, 168, 75, 0.15);
|
||||
--border-gold-strong: rgba(180, 150, 80, 0.1);
|
||||
|
||||
/* Semantic Colors */
|
||||
--success: #6ab04c;
|
||||
--danger: #e06060;
|
||||
--warning: #f0a030;
|
||||
|
||||
/* Transitions */
|
||||
--transition-fast: 150ms;
|
||||
--transition-base: 250ms;
|
||||
--transition-slow: 350ms;
|
||||
|
||||
/* Shadows */
|
||||
--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
|
||||
--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -2px rgba(0, 0, 0, 0.3);
|
||||
--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.3);
|
||||
--shadow-glow: 0 0 20px rgba(83, 74, 183, 0.3);
|
||||
|
||||
/* Focus Ring */
|
||||
--focus-ring: 0 0 0 2px var(--bg-primary), 0 0 0 4px var(--accent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user