feat: runtime accent color picker with 6 presets

Replace all hardcoded #c8ff00 / rgba(200,255,0,...) with CSS custom
properties (--accent, --accent-rgb) so the accent color updates live.
Add themeStore (Zustand + localStorage) with 6 presets (Лайм, Синий,
Розовый, Фиолет, Оранж, Минт). Add ThemeApplier component that syncs
CSS vars on load. Add color picker UI section in ExtraTab.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-25 12:59:58 +03:00
parent 0097fb5183
commit 24856a644f
21 changed files with 187 additions and 96 deletions

View File

@@ -34,8 +34,8 @@ function TopChartsCard({ tracks }: { tracks: string[] }) {
onClick={handlePlay}
className="text-[12px] font-display font-bold px-3 py-1.5 rounded-[9px] transition-all duration-200 cursor-pointer whitespace-nowrap shrink-0 mt-1"
style={{
background: launched ? '#c8ff00' : 'rgba(200,255,0,0.15)',
color: launched ? '#0a0a0f' : '#c8ff00',
background: launched ? 'var(--accent)' : 'rgba(var(--accent-rgb),0.15)',
color: launched ? '#0a0a0f' : 'var(--accent)',
}}
>
{launched ? '▶ Играет' : '▶ Слушать'}