Files
club-launcher/tailwind.config.ts
T
houseassassin 35c61c2496 feat: v1.2.0 — Apps tab, light/dark theme, visual overhaul, animations
- Apps tab: new AppEntry type (source: 'app'), apps.json storage, IPC handlers
  (apps:add/remove/update), square tile layout in grid, blue APP badge
- Light/dark theme: CSS variables in :root/.light, ThemeToggle (Sun/Moon),
  persisted in localStorage, smooth 0.2s transition
- Visual overhaul: gradient logo, pill badges, glassmorphism header,
  gradient play button, modern AdminPanel as slide-in drawer from right
- Animations: 3D tilt + glow on hover, bounce on favorite star, ripple on play,
  slide indicator in CategoryFilter, per-category grid re-animation
- AdminPanel: ESC to close, slide-in/out animation, Game/App toggle in add form,
  separate sections for games and apps

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 12:59:37 +00:00

71 lines
2.2 KiB
TypeScript

import type { Config } from 'tailwindcss'
export default {
content: ['./src/**/*.{ts,tsx}', './index.html'],
darkMode: 'class',
theme: {
extend: {
colors: {
bg: 'var(--bg)',
card: 'var(--card)',
cardHover: 'var(--cardHover)',
accent: 'var(--accent)',
accentHover: 'var(--accentH)',
surface: 'var(--surface)',
text: 'var(--text)',
muted: 'var(--muted)',
border: 'var(--border)',
},
aspectRatio: {
steam: '460 / 215',
app: '1 / 1',
},
animation: {
'fade-in': 'fadeIn 0.22s ease-out both',
'scale-in': 'scaleIn 0.18s ease-out both',
'slide-in-right':'slideInRight 0.28s cubic-bezier(0.16,1,0.3,1) both',
'slide-in-up': 'slideInUp 0.22s ease-out both',
shimmer: 'shimmer 1.4s ease-in-out infinite',
'bounce-star': 'bounceStar 0.35s ease-out',
ripple: 'ripple 0.5s ease-out',
},
keyframes: {
fadeIn: {
from: { opacity: '0', transform: 'translateY(8px)' },
to: { opacity: '1', transform: 'translateY(0)' },
},
scaleIn: {
from: { opacity: '0', transform: 'scale(0.93)' },
to: { opacity: '1', transform: 'scale(1)' },
},
slideInRight: {
from: { transform: 'translateX(100%)' },
to: { transform: 'translateX(0)' },
},
slideInUp: {
from: { opacity: '0', transform: 'translateY(16px)' },
to: { opacity: '1', transform: 'translateY(0)' },
},
shimmer: {
'0%, 100%': { opacity: '0.4' },
'50%': { opacity: '0.8' },
},
bounceStar: {
'0%': { transform: 'scale(1)' },
'40%': { transform: 'scale(1.45)' },
'100%': { transform: 'scale(1)' },
},
ripple: {
'0%': { transform: 'scale(0)', opacity: '0.4' },
'100%': { transform: 'scale(2.5)', opacity: '0' },
},
},
backdropBlur: { xs: '4px' },
transitionTimingFunction: {
spring: 'cubic-bezier(0.16, 1, 0.3, 1)',
},
},
},
plugins: [],
} satisfies Config