Files
party-mix-app/apps/web/tailwind.config.ts
Kirko 24856a644f 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>
2026-04-25 12:59:58 +03:00

52 lines
1.4 KiB
TypeScript

import type { Config } from 'tailwindcss'
const config: Config = {
content: ['./src/**/*.{js,ts,jsx,tsx,mdx}'],
theme: {
extend: {
colors: {
bg: '#0a0a0f',
surface: '#12121a',
surface2: '#1a1a26',
// eslint-disable-next-line @typescript-eslint/no-explicit-any
accent: (({ opacityValue }: { opacityValue?: string }) =>
opacityValue !== undefined ? `rgba(var(--accent-rgb),${opacityValue})` : 'var(--accent)') as any,
muted: '#555555',
'app-text': '#f0f0f0',
},
fontFamily: {
sans: ['var(--font-dm-sans)', 'DM Sans', 'sans-serif'],
display: ['var(--font-syne)', 'Syne', 'sans-serif'],
},
borderRadius: {
app: '16px',
},
keyframes: {
fadeUp: {
from: { opacity: '0', transform: 'translateY(6px)' },
to: { opacity: '1', transform: 'translateY(0)' },
},
coverPulse: {
from: { transform: 'scale(1)' },
to: { transform: 'scale(1.06)' },
},
glowPulse: {
from: { opacity: '0.4' },
to: { opacity: '0.9' },
},
},
animation: {
fadeUp: 'fadeUp 0.25s ease both',
coverPulse: 'coverPulse 2s ease-in-out infinite alternate',
glowPulse: 'glowPulse 1.5s ease-in-out infinite alternate',
},
maxWidth: {
app: '660px',
},
},
},
plugins: [],
}
export default config