feat: implemented multiple winners with teams
This commit is contained in:
@@ -56,6 +56,7 @@ class CustomWidthButton extends StatelessWidget {
|
||||
onPressed!.call();
|
||||
},
|
||||
style: ElevatedButton.styleFrom(
|
||||
splashFactory: NoSplash.splashFactory,
|
||||
foregroundColor: textcolor,
|
||||
disabledForegroundColor: disabledTextColor,
|
||||
backgroundColor: buttonBackgroundColor,
|
||||
@@ -91,6 +92,7 @@ class CustomWidthButton extends StatelessWidget {
|
||||
onPressed!.call();
|
||||
},
|
||||
style: OutlinedButton.styleFrom(
|
||||
splashFactory: NoSplash.splashFactory,
|
||||
foregroundColor: textcolor,
|
||||
disabledForegroundColor: disabledTextColor,
|
||||
backgroundColor: buttonBackgroundColor,
|
||||
@@ -128,6 +130,7 @@ class CustomWidthButton extends StatelessWidget {
|
||||
onPressed!.call();
|
||||
},
|
||||
style: TextButton.styleFrom(
|
||||
splashFactory: NoSplash.splashFactory,
|
||||
foregroundColor: textcolor,
|
||||
disabledForegroundColor: disabledTextColor,
|
||||
backgroundColor: buttonBackgroundColor,
|
||||
|
||||
@@ -5,12 +5,12 @@ import 'package:tallee/core/custom_theme.dart';
|
||||
class CustomCheckboxListTile extends StatelessWidget {
|
||||
const CustomCheckboxListTile({
|
||||
super.key,
|
||||
required this.text,
|
||||
required this.content,
|
||||
required this.value,
|
||||
required this.onChanged,
|
||||
});
|
||||
|
||||
final String text;
|
||||
final Widget content;
|
||||
final bool value;
|
||||
final ValueChanged<bool> onChanged;
|
||||
|
||||
@@ -39,16 +39,7 @@ class CustomCheckboxListTile extends StatelessWidget {
|
||||
onChanged(v);
|
||||
},
|
||||
),
|
||||
Expanded(
|
||||
child: Text(
|
||||
text,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
style: const TextStyle(
|
||||
fontSize: 16,
|
||||
fontWeight: FontWeight.w500,
|
||||
),
|
||||
),
|
||||
),
|
||||
Expanded(child: content),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
||||
@@ -347,24 +347,27 @@ class _MatchTileState extends State<MatchTile> {
|
||||
if (widget.match.mvt.isEmpty) return '';
|
||||
final ruleset = widget.match.game.ruleset;
|
||||
|
||||
if (ruleset == Ruleset.singleWinner) {
|
||||
return '${loc.winner}: ${widget.match.mvt.first.name}';
|
||||
} else if (ruleset == Ruleset.singleLoser) {
|
||||
return '${loc.loser}: ${widget.match.mvt.first.name}';
|
||||
} else if (ruleset == Ruleset.highestScore ||
|
||||
ruleset == Ruleset.lowestScore) {
|
||||
final mvt = widget.match.mvt;
|
||||
final mvtScore =
|
||||
widget.match.teams!
|
||||
.firstWhere((team) => team.id == mvt.first.id)
|
||||
.score ??
|
||||
0;
|
||||
final mvtNames = mvt.map((team) => team.name).join(', ');
|
||||
return '${loc.winner}: $mvtNames (${getPointLabel(loc, mvtScore)})';
|
||||
} else if (ruleset == Ruleset.placement) {
|
||||
return '${loc.winner}: ${widget.match.mvt.first.name}';
|
||||
switch (ruleset) {
|
||||
case Ruleset.singleWinner:
|
||||
return '${loc.winner}: ${widget.match.mvt.first.name}';
|
||||
case Ruleset.singleLoser:
|
||||
return '${loc.loser}: ${widget.match.mvt.first.name}';
|
||||
case Ruleset.highestScore:
|
||||
case Ruleset.lowestScore:
|
||||
final mvt = widget.match.mvt;
|
||||
final mvtScore =
|
||||
widget.match.teams!
|
||||
.firstWhere((team) => team.id == mvt.first.id)
|
||||
.score ??
|
||||
0;
|
||||
final mvtNames = mvt.map((team) => team.name).join(', ');
|
||||
return '${loc.winner}: $mvtNames (${getPointLabel(loc, mvtScore)})';
|
||||
case Ruleset.placement:
|
||||
return '${loc.winner}: ${widget.match.mvt.first.name}';
|
||||
case Ruleset.multipleWinners:
|
||||
final mvtNames = widget.match.mvt.map((team) => team.name).join(', ');
|
||||
return '${loc.winners}: $mvtNames';
|
||||
}
|
||||
return '${loc.winner}: n.A.';
|
||||
}
|
||||
|
||||
Icon getMvpIcon() {
|
||||
@@ -372,6 +375,7 @@ class _MatchTileState extends State<MatchTile> {
|
||||
|
||||
switch (widget.match.game.ruleset) {
|
||||
case Ruleset.singleWinner:
|
||||
case Ruleset.multipleWinners:
|
||||
return Icon(icon, size: 20, color: Colors.amber);
|
||||
case Ruleset.singleLoser:
|
||||
return Icon(icon, size: 20, color: Colors.blue);
|
||||
@@ -379,8 +383,6 @@ class _MatchTileState extends State<MatchTile> {
|
||||
return Icon(icon, size: 20, color: Colors.orange);
|
||||
case Ruleset.highestScore:
|
||||
return Icon(icon, size: 20, color: Colors.green);
|
||||
case Ruleset.multipleWinners:
|
||||
return Icon(icon, size: 20, color: Colors.amber);
|
||||
case Ruleset.placement:
|
||||
return Icon(icon, size: 20, color: Colors.deepOrangeAccent);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user