/**
 * 小程序工作台功能入口字典：常量定义
 * 主题预设与小程序端 xk-service-card 现用配色一一对应，避免后台随手填出不协调的颜色
 */

/** 启用状态选项 */
export const STATUS_OPTIONS = [
  { label: '启用', value: 1 },
  { label: '禁用', value: 0 },
];

/** 主题预设：value 为图标主色，bg 为图标区渐变底（与小程序端现有配色一致） */
export const THEME_PRESETS = [
  { label: '橙金', value: '#F97316', bg: 'linear-gradient(135deg, #FFF7ED, #FFEDD5)' },
  { label: '科技蓝', value: '#3B82F6', bg: 'linear-gradient(135deg, #EFF6FF, #DBEAFE)' },
  { label: '优雅紫', value: '#A855F7', bg: 'linear-gradient(135deg, #FAF5FF, #F3E8FF)' },
  { label: '安全绿', value: '#22C55E', bg: 'linear-gradient(135deg, #F0FDF4, #DCFCE7)' },
  { label: '青色', value: '#06B6D4', bg: 'linear-gradient(135deg, #ECFEFF, #CFFAFE)' },
  { label: '琥珀', value: '#D97706', bg: 'linear-gradient(135deg, #FFFBEB, #FEF3C7)' },
  { label: '警戒红', value: '#EF4444', bg: 'linear-gradient(135deg, #FEE2E2, #FECACA)' },
  { label: '翡翠绿', value: '#10B981', bg: 'linear-gradient(135deg, #ECFDF5, #D1FAE5)' },
  { label: '天空蓝', value: '#0EA5E9', bg: 'linear-gradient(135deg, #F0F9FF, #E0F2FE)' },
  { label: '中性灰', value: '#6B7280', bg: 'linear-gradient(135deg, #F3F4F6, #E5E7EB)' },
];

/** 主题下拉选项（label + value） */
export const THEME_OPTIONS = THEME_PRESETS.map((item) => ({
  label: item.label,
  value: item.value,
}));

/**
 * 按主色反查完整主题对象（提交时组装 {bg,color} 存库）
 */
export function buildThemeByColor(color: string) {
  const preset = THEME_PRESETS.find((item) => item.value === color);
  if (!preset) return null;
  return { bg: preset.bg, color: preset.value };
}

/**
 * 解析存库的 theme（可能是 JSON 字符串或对象），返回主色用于表单回显
 */
export function parseThemeColor(theme: any): string {
  let parsed = theme;
  if (typeof theme === 'string' && theme) {
    try {
      parsed = JSON.parse(theme);
    } catch {
      parsed = null;
    }
  }
  return parsed?.color || '';
}
