emojis removed, updated headers, added spectate mode

This commit is contained in:
2025-12-20 10:17:23 +01:00
parent 5ae91d70e6
commit 3d033817a5
11 changed files with 1506 additions and 348 deletions
+83 -74
View File
@@ -576,9 +576,17 @@ void _moveBullet(Offset offsetDelta) {
),
child: Column(
children: [
Text(
'🎯 $nextTraining',
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
Row(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
const Icon(Icons.track_changes, size: 18, color: Colors.white),
const SizedBox(width: 8),
Text(
nextTraining,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16, color: Colors.white),
),
],
),
const SizedBox(height: 4),
Text(
@@ -611,9 +619,17 @@ void _moveBullet(Offset offsetDelta) {
),
child: Column(
children: [
Text(
'🏆 $nextTournament',
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
Row(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
const Icon(Icons.emoji_events, size: 18, color: Colors.white),
const SizedBox(width: 8),
Text(
nextTournament,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16, color: Colors.white),
),
],
),
const SizedBox(height: 4),
Text(
@@ -656,9 +672,21 @@ void _moveBullet(Offset offsetDelta) {
),
child: Column(
children: [
Text(
'${lastIsTournament ? "🏆" : "🎯"} $lastFolder',
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16),
Row(
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
Icon(
lastIsTournament ? Icons.emoji_events : Icons.track_changes,
size: 18,
color: Colors.white,
),
const SizedBox(width: 8),
Text(
lastFolder,
style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16, color: Colors.white),
),
],
),
const SizedBox(height: 4),
Text(
@@ -982,48 +1010,34 @@ Widget build(BuildContext context) {
),
],
),
child: Column(
children: [
Container(
height: 30,
decoration: BoxDecoration(
color: Colors.grey[300],
borderRadius: const BorderRadius.only(
topLeft: Radius.circular(16),
topRight: Radius.circular(16),
),
),
alignment: Alignment.center,
child: Text(
child: Container(
decoration: BoxDecoration(
color: _getBulletButtonColor(index),
borderRadius: BorderRadius.circular(16),
),
alignment: Alignment.center,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text(
'${index + 1}',
style: const TextStyle(
fontWeight: FontWeight.bold,
fontSize: 14,
color: Colors.black87,
fontSize: 12,
color: Colors.white,
),
),
),
Expanded(
child: Container(
decoration: BoxDecoration(
color: _getBulletButtonColor(index),
borderRadius: const BorderRadius.only(
bottomLeft: Radius.circular(16),
bottomRight: Radius.circular(16),
),
),
alignment: Alignment.center,
child: Text(
'$score',
style: const TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
),
const SizedBox(height: 4),
Text(
'$score',
style: const TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),
],
],
),
),
),
),
@@ -1095,41 +1109,36 @@ Widget build(BuildContext context) {
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
// Left side - Label (darker grey)
const Padding(
padding: EdgeInsets.only(right: 16),
// Left side - Label with icon
Padding(
padding: const EdgeInsets.only(right: 16),
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(
"🎯 Total Score:",
style: TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
),
child: Row(
children: [
const Icon(Icons.track_changes, size: 24, color: Colors.white),
const SizedBox(width: 8),
const Text(
"Total Score:",
style: TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
],
),
),
),
// Right side - Score badge (grey with rounded corners)
Container(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 10),
decoration: BoxDecoration(
color: Colors.grey[800],
borderRadius: BorderRadius.circular(16),
border: Border.all(
color: Colors.grey[700]!,
width: 2,
),
),
child: FittedBox(
fit: BoxFit.scaleDown,
child: Text(
"$_totalScore",
style: const TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
),
// Right side - Score number (no box)
FittedBox(
fit: BoxFit.scaleDown,
child: Text(
"$_totalScore",
style: const TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
),