/**
 * AI 图标随机配色工具
 * 6 种配色方案，页面 onLoad 时随机选取一种，统一应用到该页面所有 AI 标识
 * 色值来源：docs/h5_ui/css/ai-icons.css
 */

export interface AiColorVars {
  '--ai-from': string
  '--ai-to': string
  '--ai-from-deep': string
  '--ai-to-deep': string
}

export interface AiColorResult {
  className: string
  vars: AiColorVars
}

type ColorKey = 'red' | 'orange' | 'yellow' | 'blue' | 'indigo' | 'purple'

const AI_COLOR_SCHEMES: Record<ColorKey, AiColorVars> = {
  red:    { '--ai-from': '#e74c3c', '--ai-to': '#f39c9c', '--ai-from-deep': '#c0392b', '--ai-to-deep': '#e74c3c' },
  orange: { '--ai-from': '#e67e22', '--ai-to': '#f5c77e', '--ai-from-deep': '#ca6c17', '--ai-to-deep': '#e67e22' },
  yellow: { '--ai-from': '#d4a017', '--ai-to': '#f7dc6f', '--ai-from-deep': '#b8860b', '--ai-to-deep': '#d4a017' },
  blue:   { '--ai-from': '#2980b9', '--ai-to': '#7ec8e3', '--ai-from-deep': '#1a5276', '--ai-to-deep': '#2980b9' },
  indigo: { '--ai-from': '#667eea', '--ai-to': '#a78bfa', '--ai-from-deep': '#4a5fc7', '--ai-to-deep': '#667eea' },
  purple: { '--ai-from': '#764ba2', '--ai-to': '#c084fc', '--ai-from-deep': '#5b3080', '--ai-to-deep': '#764ba2' },
}

const COLOR_KEYS: ColorKey[] = ['red', 'orange', 'yellow', 'blue', 'indigo', 'purple']

/**
 * 随机选取一种 AI 配色方案
 * 返回 className（用于 WXML class 绑定）和 vars（CSS 变量值）
 */
export function getRandomAiColor(): AiColorResult {
  const key = COLOR_KEYS[Math.floor(Math.random() * COLOR_KEYS.length)]
  return {
    className: `ai-color-${key}`,
    vars: AI_COLOR_SCHEMES[key],
  }
}

export { AI_COLOR_SCHEMES }
