MVP #141
@@ -89,7 +89,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
),
|
),
|
||||||
SizedBox(height: constraints.maxHeight * 0.02),
|
SizedBox(height: constraints.maxHeight * 0.02),
|
||||||
StatisticsTile(
|
StatisticsTile(
|
||||||
icon: Icons.casino,
|
icon: Icons.percent,
|
||||||
title: 'Winrate per Player',
|
title: 'Winrate per Player',
|
||||||
width: constraints.maxWidth * 0.95,
|
width: constraints.maxWidth * 0.95,
|
||||||
values: winRates,
|
values: winRates,
|
||||||
@@ -105,7 +105,6 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
itemCount: 10,
|
itemCount: 10,
|
||||||
barColor: Colors.green,
|
barColor: Colors.green,
|
||||||
),
|
),
|
||||||
|
|
||||||
SizedBox(height: MediaQuery.paddingOf(context).bottom),
|
SizedBox(height: MediaQuery.paddingOf(context).bottom),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
@@ -129,6 +128,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
final winner = game.winner;
|
final winner = game.winner;
|
||||||
if (winner != null) {
|
if (winner != null) {
|
||||||
final index = winCounts.indexWhere((entry) => entry.$1 == winner.id);
|
final index = winCounts.indexWhere((entry) => entry.$1 == winner.id);
|
||||||
|
// -1 means winner not found in winCounts
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
final current = winCounts[index].$2;
|
final current = winCounts[index].$2;
|
||||||
winCounts[index] = (winner.id, current + 1);
|
winCounts[index] = (winner.id, current + 1);
|
||||||
@@ -141,6 +141,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
// Adding all players with zero wins
|
// Adding all players with zero wins
|
||||||
for (var player in players) {
|
for (var player in players) {
|
||||||
final index = winCounts.indexWhere((entry) => entry.$1 == player.id);
|
final index = winCounts.indexWhere((entry) => entry.$1 == player.id);
|
||||||
|
// -1 means player not found in winCounts
|
||||||
if (index == -1) {
|
if (index == -1) {
|
||||||
winCounts.add((player.id, 0));
|
winCounts.add((player.id, 0));
|
||||||
}
|
}
|
||||||
@@ -175,6 +176,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
final members = game.group!.members.map((p) => p.id).toList();
|
final members = game.group!.members.map((p) => p.id).toList();
|
||||||
for (var playerId in members) {
|
for (var playerId in members) {
|
||||||
final index = gameCounts.indexWhere((entry) => entry.$1 == playerId);
|
final index = gameCounts.indexWhere((entry) => entry.$1 == playerId);
|
||||||
|
// -1 means player not found in gameCounts
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
final current = gameCounts[index].$2;
|
final current = gameCounts[index].$2;
|
||||||
gameCounts[index] = (playerId, current + 1);
|
gameCounts[index] = (playerId, current + 1);
|
||||||
@@ -187,6 +189,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
final members = game.players!.map((p) => p.id).toList();
|
final members = game.players!.map((p) => p.id).toList();
|
||||||
for (var playerId in members) {
|
for (var playerId in members) {
|
||||||
final index = gameCounts.indexWhere((entry) => entry.$1 == playerId);
|
final index = gameCounts.indexWhere((entry) => entry.$1 == playerId);
|
||||||
|
// -1 means player not found in gameCounts
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
final current = gameCounts[index].$2;
|
final current = gameCounts[index].$2;
|
||||||
gameCounts[index] = (playerId, current + 1);
|
gameCounts[index] = (playerId, current + 1);
|
||||||
@@ -200,6 +203,7 @@ class _StatisticsViewState extends State<StatisticsView> {
|
|||||||
// Adding all players with zero games
|
// Adding all players with zero games
|
||||||
for (var player in players) {
|
for (var player in players) {
|
||||||
final index = gameCounts.indexWhere((entry) => entry.$1 == player.id);
|
final index = gameCounts.indexWhere((entry) => entry.$1 == player.id);
|
||||||
|
// -1 means player not found in gameCounts
|
||||||
if (index == -1) {
|
if (index == -1) {
|
||||||
gameCounts.add((player.id, 0));
|
gameCounts.add((player.id, 0));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,7 +80,9 @@ class StatisticsTile extends StatelessWidget {
|
|||||||
const Spacer(),
|
const Spacer(),
|
||||||
Center(
|
Center(
|
||||||
child: Text(
|
child: Text(
|
||||||
values[index].$2.toString(),
|
values[index].$2 <= 1
|
||||||
|
? values[index].$2.toStringAsFixed(2)
|
||||||
|
: values[index].$2.toString(),
|
||||||
textAlign: TextAlign.center,
|
textAlign: TextAlign.center,
|
||||||
style: const TextStyle(
|
style: const TextStyle(
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
|
|||||||
Reference in New Issue
Block a user