// ============================================
// 章节类型配置 - 用于段落级范式匹配
// ============================================

export const SECTION_TYPES = {
  problem: {
    id: 'problem',
    label: '存在问题',
    color: 'amber',
    bgClass: 'bg-amber-600/50',
    textClass: 'text-amber-200',
    logicKey: 'problemSection',
    keywords: ['在...方面', '不够', '有待', '存在', '问题', '不足'],
    description: '问题查摆、不足之处，通常采用"定性判断+具体表现+后果"结构'
  },
  analysis: {
    id: 'analysis',
    label: '原因剖析',
    color: 'purple',
    bgClass: 'bg-purple-600/50',
    textClass: 'text-purple-200',
    logicKey: 'analysisSection',
    keywords: ['究其根源', '根本原因', '深层原因', '思想上', '政治上', '作风上'],
    description: '原因分析、根源探究，通常从思想/政治/作风/能力/纪律等维度溯源'
  },
  remediation: {
    id: 'remediation',
    label: '整改措施',
    color: 'green',
    bgClass: 'bg-green-600/50',
    textClass: 'text-green-200',
    logicKey: 'remediationSection',
    keywords: ['针对', '整改', '措施', '持续', '加强', '提升', '下一步'],
    description: '整改方案、改进措施，通常包含具体行动和量化指标'
  },
  case: {
    id: 'case',
    label: '典型案例',
    color: 'red',
    bgClass: 'bg-red-600/50',
    textClass: 'text-red-200',
    logicKey: 'caseSection',
    keywords: ['案例', '以案', '典型', '警示', '教训'],
    description: '案例剖析，通常采用"以案说德/纪/法/责"结构'
  },
  intro: {
    id: 'intro',
    label: '开篇引言',
    color: 'slate',
    bgClass: 'bg-slate-600/50',
    textClass: 'text-slate-200',
    logicKey: null,
    keywords: ['根据', '按照', '为了', '会议', '要求'],
    description: '背景介绍、会议说明等'
  },
  conclusion: {
    id: 'conclusion',
    label: '结尾表态',
    color: 'blue',
    bgClass: 'bg-blue-600/50',
    textClass: 'text-blue-200',
    logicKey: null,
    keywords: ['决心', '表态', '今后', '将以', '努力'],
    description: '表态发言、决心表述等'
  }
}

// 获取所有章节类型列表
export const getSectionTypeList = () => {
  return Object.values(SECTION_TYPES)
}

// 根据 ID 获取章节类型
export const getSectionTypeById = (id) => {
  return SECTION_TYPES[id] || null
}

// 获取章节类型的样式类
export const getSectionTypeClasses = (id) => {
  const type = SECTION_TYPES[id]
  if (!type) return 'bg-slate-600/50 text-slate-200'
  return `${type.bgClass} ${type.textClass}`
}
