// 用户问题管理字典
import { getLocale, getIntl } from 'umi';

// 问题回答状态枚举
export enum AnswerStatus {
  UNREAD = '0',  // 未阅
  READ = '1',    // 已阅
  ANSWERED = '2', // 已回答
}

// 问题回答状态文本映射
export const AnswerStatusText = {
  [AnswerStatus.UNREAD]: () => getIntl().formatMessage({ id: 'userQuestion.unread' }),
  [AnswerStatus.READ]: () => getIntl().formatMessage({ id: 'userQuestion.read' }),
  [AnswerStatus.ANSWERED]: () => getIntl().formatMessage({ id: 'userQuestion.answered' }),
};

// 问题回答状态标签颜色
export const AnswerStatusColor = {
  [AnswerStatus.UNREAD]: 'orange',
  [AnswerStatus.READ]: 'blue',
  [AnswerStatus.ANSWERED]: 'green',
};

// 是否发布枚举
export enum PublishStatus {
  NO = 0,  // 未发布
  YES = 1, // 已发布
}

// 发布状态文本映射
export const PublishStatusText = {
  [PublishStatus.NO]: () => getIntl().formatMessage({ id: 'userQuestion.unpublished' }),
  [PublishStatus.YES]: () => getIntl().formatMessage({ id: 'userQuestion.published' }),
};

// 发布状态标签颜色
export const PublishStatusColor = {
  [PublishStatus.NO]: 'orange',
  [PublishStatus.YES]: 'green',
};

// 是否置顶枚举
export enum TopStatus {
  NO = 0,  // 不置顶
  YES = 1, // 置顶
}

// 置顶状态文本映射
export const TopStatusText = {
  [TopStatus.NO]: () => getIntl().formatMessage({ id: 'userQuestion.untop' }),
  [TopStatus.YES]: () => getIntl().formatMessage({ id: 'userQuestion.top' }),
};

// 置顶状态标签颜色
export const TopStatusColor = {
  [TopStatus.NO]: 'default',
  [TopStatus.YES]: 'red',
};

// 模态框类型
export enum ModalType {
  VIEW = 'view',   // 查看
  ANSWER = 'answer', // 回答
  EDIT = 'edit',   // 编辑
}

// 问题分类选项
export const QuestionCategoryOptions = [
  { value: '招标流程', label: () => getIntl().formatMessage({ id: 'questionCategory.biddingProcess' }) },
  { value: '投标指南', label: () => getIntl().formatMessage({ id: 'questionCategory.biddingGuide' }) },
  { value: '注册指南', label: () => getIntl().formatMessage({ id: 'questionCategory.registrationGuide' }) },
  { value: '系统操作', label: () => getIntl().formatMessage({ id: 'questionCategory.systemOperation' }) },
  { value: '其他问题', label: () => getIntl().formatMessage({ id: 'questionCategory.otherIssues' }) },
];
