export interface ThemeColors {
  '--primary': string;
  '--primary-foreground': string;
  '--background': string;
  '--card': string;
  '--error': string;
  '--success': string;
  '--warning': string;
  '--muted': string;
  '--border': string;
  '--sidebar-bg': string;
  '--sidebar-text': string;
  '--sidebar-active': string;
  '--text': string;
}

export interface DesignTheme {
  id: string;
  name: string;
  style: string;
  description: string;
  rating: number;
  tags: string[];
  fonts: { heading: string; body: string; importUrl?: string };
  colors: ThemeColors;
  palette: { name: string; hex: string }[];
  isDark: boolean;
}

export const themes: DesignTheme[] = [
  {
    id: 'fitpulse-orange',
    name: 'FitPulse Orange',
    style: 'Энергичный минимализм',
    description: 'Фирменный стиль MyFitCRM — оранжевый акцент на светлом фоне. Чистые линии, крупная типографика Inter.',
    rating: 9.5,
    tags: ['Фирменный', 'Энергичный', 'Универсальный'],
    fonts: { heading: 'Inter', body: 'Inter' },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#FF6B00' },
      { name: 'Sidebar', hex: '#1B1B3A' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#F5F5F5' },
      { name: 'Success', hex: '#43A047' },
      { name: 'Error', hex: '#E53935' },
    ],
    colors: {
      '--primary': '#FF6B00',
      '--primary-foreground': '#FFFFFF',
      '--background': '#F5F5F5',
      '--card': '#FFFFFF',
      '--error': '#E53935',
      '--success': '#43A047',
      '--warning': '#FF9800',
      '--muted': '#6B7280',
      '--border': '#E5E7EB',
      '--sidebar-bg': '#1B1B3A',
      '--sidebar-text': '#CBD5E1',
      '--sidebar-active': '#FF6B00',
      '--text': '#111827',
    },
  },
  {
    id: 'crimson-power',
    name: 'Crimson Power',
    style: 'Бело-красная динамика',
    description: 'Красно-белая палитра — энергия и мощь. Красный акцент на чистом белом фоне. Для CrossFit, единоборств и силовых клубов.',
    rating: 9.1,
    tags: ['CrossFit', 'Силовой', 'Энергичный'],
    fonts: { heading: 'Inter', body: 'Inter' },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#DC2626' },
      { name: 'Active', hex: '#EF4444' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#FAFAFA' },
      { name: 'Success', hex: '#16A34A' },
      { name: 'Sidebar', hex: '#1C1917' },
    ],
    colors: {
      '--primary': '#DC2626',
      '--primary-foreground': '#FFFFFF',
      '--background': '#FAFAFA',
      '--card': '#FFFFFF',
      '--error': '#B91C1C',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#6B7280',
      '--border': '#E5E7EB',
      '--sidebar-bg': '#1C1917',
      '--sidebar-text': '#D6D3D1',
      '--sidebar-active': '#EF4444',
      '--text': '#171717',
    },
  },
  {
    id: 'royal-blue',
    name: 'Royal Blue',
    style: 'Бело-синяя корпоративная',
    description: 'Классический сине-белый стиль. Синий передаёт надёжность и профессионализм. Для сетевых и корпоративных клубов.',
    rating: 9.3,
    tags: ['Корпоративный', 'Сетевой', 'Надёжный'],
    fonts: {
      heading: 'Plus Jakarta Sans',
      body: 'Plus Jakarta Sans',
      importUrl: 'https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#2563EB' },
      { name: 'Active', hex: '#3B82F6' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#F8FAFC' },
      { name: 'Muted', hex: '#64748B' },
      { name: 'Sidebar', hex: '#1E293B' },
    ],
    colors: {
      '--primary': '#2563EB',
      '--primary-foreground': '#FFFFFF',
      '--background': '#F8FAFC',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#64748B',
      '--border': '#E2E8F0',
      '--sidebar-bg': '#1E293B',
      '--sidebar-text': '#CBD5E1',
      '--sidebar-active': '#3B82F6',
      '--text': '#0F172A',
    },
  },
  {
    id: 'emerald-wellness',
    name: 'Emerald Wellness',
    style: 'Зелёная свежесть',
    description: 'Зелёная палитра, вдохновлённая природой. Мягкие тона и плавные формы для йога-студий, wellness и пилатес-клубов.',
    rating: 8.8,
    tags: ['Wellness', 'Экологичный', 'Мягкий'],
    fonts: {
      heading: 'Nunito',
      body: 'Nunito',
      importUrl: 'https://fonts.googleapis.com/css2?family=Nunito:wght@400;600;700&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#059669' },
      { name: 'Accent', hex: '#34D399' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#F8FAF8' },
      { name: 'Border', hex: '#D1E7D3' },
      { name: 'Sidebar', hex: '#14532D' },
    ],
    colors: {
      '--primary': '#059669',
      '--primary-foreground': '#FFFFFF',
      '--background': '#F8FAF8',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#16A34A',
      '--warning': '#EA580C',
      '--muted': '#6B8068',
      '--border': '#D1E7D3',
      '--sidebar-bg': '#14532D',
      '--sidebar-text': '#BBF7D0',
      '--sidebar-active': '#34D399',
      '--text': '#14532D',
    },
  },
  {
    id: 'nordic-frost',
    name: 'Nordic Frost',
    style: 'Скандинавский минимализм',
    description: 'Чёрно-белая основа с оранжевым акцентом. Скандинавский минимализм для бутик-студий и премиальных клубов.',
    rating: 9.0,
    tags: ['Минимализм', 'Премиум', 'Строгий'],
    fonts: {
      heading: 'DM Sans',
      body: 'DM Sans',
      importUrl: 'https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#18181B' },
      { name: 'Accent', hex: '#F97316' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#FAFAFA' },
      { name: 'Gray', hex: '#A1A1AA' },
      { name: 'Border', hex: '#E4E4E7' },
    ],
    colors: {
      '--primary': '#18181B',
      '--primary-foreground': '#FFFFFF',
      '--background': '#FAFAFA',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#A1A1AA',
      '--border': '#E4E4E7',
      '--sidebar-bg': '#18181B',
      '--sidebar-text': '#D4D4D8',
      '--sidebar-active': '#F97316',
      '--text': '#18181B',
    },
  },
  {
    id: 'pacific-teal',
    name: 'Pacific Teal',
    style: 'Бирюзовая свежесть',
    description: 'Бирюзово-голубая палитра с водной тематикой. Лёгкость и чистота для бассейнов, аква-фитнеса и SPA-зон.',
    rating: 8.7,
    tags: ['Бассейн', 'SPA', 'Свежий'],
    fonts: {
      heading: 'Poppins',
      body: 'Poppins',
      importUrl: 'https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#0891B2' },
      { name: 'Accent', hex: '#22D3EE' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#F0FDFA' },
      { name: 'Sidebar', hex: '#164E63' },
      { name: 'Border', hex: '#A5F3FC' },
    ],
    colors: {
      '--primary': '#0891B2',
      '--primary-foreground': '#FFFFFF',
      '--background': '#F0FDFA',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#0D9488',
      '--warning': '#F59E0B',
      '--muted': '#64748B',
      '--border': '#A5F3FC',
      '--sidebar-bg': '#164E63',
      '--sidebar-text': '#CFFAFE',
      '--sidebar-active': '#22D3EE',
      '--text': '#134E4A',
    },
  },
  {
    id: 'amethyst-light',
    name: 'Amethyst Light',
    style: 'Фиолетовая элегантность',
    description: 'Фиолетовая палитра в светлом исполнении. Современный стиль для инновационных, EMS и женских фитнес-клубов.',
    rating: 8.6,
    tags: ['Hi-tech', 'Инновации', 'Стильный'],
    fonts: {
      heading: 'Outfit',
      body: 'Outfit',
      importUrl: 'https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#7C3AED' },
      { name: 'Accent', hex: '#A78BFA' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#FAFAFF' },
      { name: 'Sidebar', hex: '#2E1065' },
      { name: 'Border', hex: '#E9E5F5' },
    ],
    colors: {
      '--primary': '#7C3AED',
      '--primary-foreground': '#FFFFFF',
      '--background': '#FAFAFF',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#8B8599',
      '--border': '#E9E5F5',
      '--sidebar-bg': '#2E1065',
      '--sidebar-text': '#DDD6FE',
      '--sidebar-active': '#A78BFA',
      '--text': '#1E1B4B',
    },
  },
  {
    id: 'rose-garden',
    name: 'Rose Garden',
    style: 'Розовая утончённость',
    description: 'Розовые акценты с элегантной serif-типографикой. Для женских фитнес-клубов, бутик-студий и премиум-классов.',
    rating: 8.9,
    tags: ['Женский', 'Элегантный', 'Бутик'],
    fonts: {
      heading: 'Playfair Display',
      body: 'Lato',
      importUrl: 'https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Lato:wght@400;700&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#E11D48' },
      { name: 'Accent', hex: '#FB7185' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#FFF7F8' },
      { name: 'Sidebar', hex: '#4C0519' },
      { name: 'Border', hex: '#FFE4E6' },
    ],
    colors: {
      '--primary': '#E11D48',
      '--primary-foreground': '#FFFFFF',
      '--background': '#FFF7F8',
      '--card': '#FFFFFF',
      '--error': '#BE123C',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#9F7B88',
      '--border': '#FFE4E6',
      '--sidebar-bg': '#4C0519',
      '--sidebar-text': '#FECDD3',
      '--sidebar-active': '#FB7185',
      '--text': '#1C1917',
    },
  },
  {
    id: 'sunset-coral',
    name: 'Sunset Coral',
    style: 'Коралловый закат',
    description: 'Тёплые коралловые тона с мягкими акцентами. Для молодёжных клубов, танцевальных студий и групповых программ.',
    rating: 8.5,
    tags: ['Молодёжный', 'Тёплый', 'Динамичный'],
    fonts: {
      heading: 'Manrope',
      body: 'Manrope',
      importUrl: 'https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;700;800&display=swap',
    },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#EA580C' },
      { name: 'Accent', hex: '#FB923C' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#FFFBF5' },
      { name: 'Sidebar', hex: '#431407' },
      { name: 'Border', hex: '#FED7AA' },
    ],
    colors: {
      '--primary': '#EA580C',
      '--primary-foreground': '#FFFFFF',
      '--background': '#FFFBF5',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#92714D',
      '--border': '#FED7AA',
      '--sidebar-bg': '#431407',
      '--sidebar-text': '#FFEDD5',
      '--sidebar-active': '#FB923C',
      '--text': '#431407',
    },
  },
  {
    id: 'cloud-professional',
    name: 'Cloud Professional',
    style: 'Нейтральная деловая',
    description: 'Нейтральная серо-синяя палитра. Универсальный профессиональный стиль, подходящий для любого типа клуба.',
    rating: 8.8,
    tags: ['Нейтральный', 'Универсальный', 'Деловой'],
    fonts: { heading: 'Inter', body: 'Inter' },
    isDark: false,
    palette: [
      { name: 'Primary', hex: '#475569' },
      { name: 'Accent', hex: '#64748B' },
      { name: 'Surface', hex: '#FFFFFF' },
      { name: 'Background', hex: '#F8FAFC' },
      { name: 'Sidebar', hex: '#0F172A' },
      { name: 'Border', hex: '#E2E8F0' },
    ],
    colors: {
      '--primary': '#475569',
      '--primary-foreground': '#FFFFFF',
      '--background': '#F8FAFC',
      '--card': '#FFFFFF',
      '--error': '#DC2626',
      '--success': '#16A34A',
      '--warning': '#F59E0B',
      '--muted': '#94A3B8',
      '--border': '#E2E8F0',
      '--sidebar-bg': '#0F172A',
      '--sidebar-text': '#CBD5E1',
      '--sidebar-active': '#64748B',
      '--text': '#0F172A',
    },
  },
];

export const DEFAULT_THEME_ID = 'fitpulse-orange';

export function getThemeById(id: string): DesignTheme | undefined {
  return themes.find((t) => t.id === id);
}
