

const LABEL_SYMBOL_MAP = {
  未开始: 'isLabelGray',
  报名中: 'isLabelYellow',
  报名结束: 'isLabelGray',
  待开赛: 'isLabelPurple',
  已报名: 'isLabelGreen',
  比赛中: 'isLabelPurple',
  已结束: 'isLabelGray',
};


export function getLabelSymbol(labelName: string) {
  return LABEL_SYMBOL_MAP[labelName as keyof typeof LABEL_SYMBOL_MAP] || '';
}


function getCurDatePosAtChild(childInfo: {
  act_start_time?: number;
  act_end_time?: number;
}) {
  const now = (new Date()).getTime();
  const startTime = (childInfo.act_start_time || 0) * 1000;
  const endTime = (childInfo.act_end_time || 0) * 1000;
  if (now < startTime) {
    // 未开始
    return -1;
  }
  if (now >= startTime && now <= endTime) {
    // 进行中
    return 0;
  }
  if (now > endTime) {
    // 已结束
    return 1;
  }
}

// 与竖版基本一致，考虑到后续可能不同，所以并未直接复用
export function getLabelName(item: {
  state?: number;
  disp_status?: number;
  child_info?: {
    act_start_time: number;
    act_end_time: number;
  }
}) {
  const curPos = getCurDatePosAtChild(item.child_info || {});

  // state, 报名状态 1可报名 2已报名 3不可报名
  //  disp_status, 展示状态  1报名中 2待比赛 3比赛中 4已结束


  if (item.state == 2 && curPos === -1) {
    return '已报名';
  } if (item.state == 2 && curPos === 0) {
    return '比赛中';
  } if (item.state == 2 && curPos === 1) {
    return '已结束';
  } if (item.state == 1 && curPos === -1) {
    return '报名中';
  }
  if (item.disp_status == 4) {
    return '已结束';
  }
  if (item.state == 1 && item.disp_status == 1) {
    return '报名中';
  }
  if (item.state == 1 && (curPos == 0 || curPos == 1)) {
    return '报名结束';
  }
  if (curPos == -1) {
    return '未开始';
  }
  return '报名结束';
}


