MVP #141

Merged
flixcoo merged 705 commits from development into main 2026-01-09 12:55:50 +00:00
Showing only changes of commit 6cbc64c042 - Show all commits

View File

@@ -2,7 +2,20 @@ import 'package:flutter/material.dart';
import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/core/custom_theme.dart';
class GameTile extends StatefulWidget { class GameTile extends StatefulWidget {
const GameTile({super.key}); final String gameTitle;
final String gameType;
final String ruleset;
final String players;
final String winner;
const GameTile({
super.key,
required this.gameTitle,
required this.gameType,
required this.ruleset,
required this.players,
required this.winner,
});
@override @override
State<GameTile> createState() => _GameTileState(); State<GameTile> createState() => _GameTileState();
@@ -11,29 +24,19 @@ class GameTile extends StatefulWidget {
class _GameTileState extends State<GameTile> { class _GameTileState extends State<GameTile> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Column(
padding: const EdgeInsets.all(12),
height: 120,
width: 250,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(12),
color: CustomTheme.boxColor,
border: Border.all(color: CustomTheme.boxBorder),
),
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
const Row( Row(
children: [ children: [
Text( Text(
'Gametitle', widget.gameTitle,
style: TextStyle(fontSize: 18, fontWeight: FontWeight.bold), style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
), ),
SizedBox(width: 5), const SizedBox(width: 5),
Text( Text(
'Gametype', widget.gameType,
style: TextStyle(fontSize: 14, color: Colors.grey), style: const TextStyle(fontSize: 14, color: Colors.grey),
), ),
], ],
), ),
@@ -45,18 +48,18 @@ class _GameTileState extends State<GameTile> {
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
color: CustomTheme.primaryColor, color: CustomTheme.primaryColor,
), ),
child: const Text(
'Ruleset',
style: TextStyle(fontWeight: FontWeight.bold),
),
),
const Center(
child: Text( child: Text(
'5 Player', widget.ruleset,
style: TextStyle(fontWeight: FontWeight.bold), style: const TextStyle(fontWeight: FontWeight.bold),
),
),
Center(
heightFactor: 1.5,
child: Text(
widget.players,
style: const TextStyle(fontWeight: FontWeight.bold),
), ),
), ),
const Spacer(),
Center( Center(
child: Container( child: Container(
padding: const EdgeInsets.symmetric(horizontal: 4), padding: const EdgeInsets.symmetric(horizontal: 4),
@@ -65,18 +68,23 @@ class _GameTileState extends State<GameTile> {
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
color: Colors.yellow.shade300, color: Colors.yellow.shade300,
), ),
child: const Text( child: Row(
'In Progress', mainAxisAlignment: MainAxisAlignment.center,
children: [
const Icon(Icons.emoji_events, color: Colors.black, size: 20),
Text(
widget.winner,
textAlign: TextAlign.center, textAlign: TextAlign.center,
style: TextStyle( style: const TextStyle(
fontWeight: FontWeight.bold, fontWeight: FontWeight.bold,
color: Colors.black87, color: Colors.black87,
), ),
), ),
],
),
), ),
), ),
], ],
),
); );
} }
} }