import {
  SPECIAL_TEAM_ID_MAP,
  SPECIAL_TEAM_NAME_MAP,
  SPECIAL_TEAM_AVATAR,
} from '../../press-schedule-card-gp/utils';


function parseTeamInfo(team: Record<string, any> = {}) {
  if (!team.team_id) {
    return {
      isSpecial: true,
      avatar: SPECIAL_TEAM_AVATAR,
      teamavatar: SPECIAL_TEAM_AVATAR,

      name: '待定',
      teamNameDesc: '待定',

    };
  }

  const isSpecial = Object.keys(SPECIAL_TEAM_ID_MAP).includes(team.team_id);
  if (isSpecial) {
    const name = SPECIAL_TEAM_NAME_MAP[team.team_id as 'dd'];
    return {
      isSpecial,
      avatar: SPECIAL_TEAM_AVATAR,
      teamavatar: SPECIAL_TEAM_AVATAR,

      name,
      teamNameDesc: name,
    };
  }
  return {
    isSpecial: false,
    avatar: team.team_logo?.[0],
    teamavatar: team.team_logo?.[0],

    name: team.team_name,
    teamNameDesc: team.team_name,
  };
}

export function getCardTeams(card: Record<string, any>) {
  const {
    team_a: iTeamA = {},
    team_b: iTeamB = {},
  } = card;

  const getTeamInfo = (team: Record<string, any>) => ({
    ...parseTeamInfo(team),
    teamId: team.team_id,
    teamid: team.team_id,
    rank: team.rank,
    score: team.team_score || 0,
    memberList: team.mems?.map((item: any) => ({
      avatar: item.mem_avatar,
      name: item.mem_nick,
    })) || [],
    isWinner: team.winner == 1,
  });

  const teamA = getTeamInfo(iTeamA);
  const teamB = getTeamInfo(iTeamB);

  return {
    teamA,
    teamB,
  };
}
