-
-
- No stats available yet
-
-
-
- );
- }
-
- const overallStats = statsData.reduce(
- (acc, stat) => ({
- matches: acc.matches + stat.matches,
- wins: acc.wins + stat.wins,
- losses: acc.losses + stat.losses,
- total_cups_made: acc.total_cups_made + stat.total_cups_made,
- total_cups_against: acc.total_cups_against + stat.total_cups_against,
- }),
- { matches: 0, wins: 0, losses: 0, total_cups_made: 0, total_cups_against: 0 }
- );
-
- const winPercentage = overallStats.matches > 0
- ? ((overallStats.wins / overallStats.matches) * 100)
- : 0;
-
- const avgCupsPerMatch = overallStats.matches > 0
- ? (overallStats.total_cups_made / overallStats.matches)
- : 0;
-
- const avgCupsAgainstPerMatch = overallStats.matches > 0
- ? (overallStats.total_cups_against / overallStats.matches)
- : 0;
-
- const validMarginOfVictory = statsData.filter(stat => stat.margin_of_victory > 0);
- const validMarginOfLoss = statsData.filter(stat => stat.margin_of_loss > 0);
-
- const avgMarginOfVictory = validMarginOfVictory.length > 0
- ? (validMarginOfVictory.reduce((acc, stat) => acc + stat.margin_of_victory, 0) / validMarginOfVictory.length)
- : 0;
-
- const avgMarginOfLoss = validMarginOfLoss.length > 0
- ? (validMarginOfLoss.reduce((acc, stat) => acc + stat.margin_of_loss, 0) / validMarginOfLoss.length)
- : 0;
-
- const getWinRateColor = (rate: number) => {
- if (rate >= 70) return "green";
- if (rate >= 50) return "blue";
- if (rate >= 30) return "orange";
- return "red";
- };
-
- return (
-