export type TerminalThemeId = 'auto' | 'light' | 'dark' | 'vscode-dark' | 'dracula' | 'nord';

export interface TerminalTheme {
  id: TerminalThemeId;
  name: string;
  description: string;
  colors: Record<string, string>;
}

export const TERMINAL_THEMES: TerminalTheme[] = [
  {
    id: 'auto',
    name: 'Auto',
    description: 'Follow system theme',
    colors: {}, // Actual colors determined at runtime
  },
  {
    id: 'dark',
    name: 'Dark',
    description: 'VibeTunnel default dark',
    colors: {
      background: '#1e1e1e',
      foreground: '#d4d4d4',
      cursor: 'rgb(var(--color-primary))',
      cursorAccent: '#1e1e1e',
      black: '#000000',
      red: '#cd0000',
      green: '#00cd00',
      yellow: '#cdcd00',
      blue: '#0000ee',
      magenta: '#cd00cd',
      cyan: '#00cdcd',
      white: '#e5e5e5',
      brightBlack: '#7f7f7f',
      brightRed: '#ff0000',
      brightGreen: '#00ff00',
      brightYellow: '#ffff00',
      brightBlue: '#5c5cff',
      brightMagenta: '#ff00ff',
      brightCyan: '#00ffff',
      brightWhite: '#ffffff',
    },
  },
  {
    id: 'light',
    name: 'Light',
    description: 'Soft light theme',
    colors: {
      background: '#f8f9fa',
      foreground: '#1f2328',
      cursor: 'rgb(var(--color-primary))',
      cursorAccent: '#f8f9fa',
      black: '#24292f',
      red: '#cf222e',
      green: '#1a7f37',
      yellow: '#9a6700',
      blue: '#0969da',
      magenta: '#8250df',
      cyan: '#1b7c83',
      white: '#6e7781',
      brightBlack: '#57606a',
      brightRed: '#da3633',
      brightGreen: '#2da44e',
      brightYellow: '#bf8700',
      brightBlue: '#218bff',
      brightMagenta: '#a475f9',
      brightCyan: '#3192aa',
      brightWhite: '#8c959f',
      selectionBackground: '#0969da',
      selectionForeground: '#ffffff',
      selectionInactiveBackground: '#e1e4e8',
    },
  },
  {
    id: 'vscode-dark',
    name: 'VS Code Dark',
    description: 'Popular theme from Visual Studio Code',
    colors: {
      background: '#1E1E1E',
      foreground: '#D4D4D4',
      cursor: '#AEAFAD',
      cursorAccent: '#1E1E1E',
      black: '#000000',
      red: '#CD3131',
      green: '#0DBC79',
      yellow: '#E5E510',
      blue: '#2472C8',
      magenta: '#BC3FBC',
      cyan: '#11A8CD',
      white: '#E5E5E5',
      brightBlack: '#666666',
      brightRed: '#F14C4C',
      brightGreen: '#23D18B',
      brightYellow: '#F5F543',
      brightBlue: '#3B8EEA',
      brightMagenta: '#D670D6',
      brightCyan: '#29B8DB',
      brightWhite: '#FFFFFF',
    },
  },
  {
    id: 'dracula',
    name: 'Dracula',
    description: 'Classic dark theme',
    colors: {
      background: '#282A36',
      foreground: '#F8F8F2',
      cursor: '#F8F8F2',
      cursorAccent: '#282A36',
      black: '#21222C',
      red: '#FF5555',
      green: '#50FA7B',
      yellow: '#F1FA8C',
      blue: '#BD93F9',
      magenta: '#FF79C6',
      cyan: '#8BE9FD',
      white: '#F8F8F2',
      brightBlack: '#6272A4',
      brightRed: '#FF6E6E',
      brightGreen: '#69FF94',
      brightYellow: '#FFFFA5',
      brightBlue: '#D6ACFF',
      brightMagenta: '#FF92DF',
      brightCyan: '#A4FFFF',
      brightWhite: '#FFFFFF',
    },
  },
  {
    id: 'nord',
    name: 'Nord',
    description: 'Arctic north-bluish palette',
    colors: {
      background: '#2E3440',
      foreground: '#D8DEE9',
      cursor: '#D8DEE9',
      cursorAccent: '#2E3440',
      black: '#3B4252',
      red: '#BF616A',
      green: '#A3BE8C',
      yellow: '#EBCB8B',
      blue: '#81A1C1',
      magenta: '#B48EAD',
      cyan: '#88C0D0',
      white: '#E5E9F0',
      brightBlack: '#4C566A',
      brightRed: '#BF616A',
      brightGreen: '#A3BE8C',
      brightYellow: '#EBCB8B',
      brightBlue: '#81A1C1',
      brightMagenta: '#B48EAD',
      brightCyan: '#8FBCBB',
      brightWhite: '#ECEFF4',
    },
  },
];
