MVP #141

Merged
flixcoo merged 705 commits from development into main 2026-01-09 12:55:50 +00:00
2 changed files with 37 additions and 39 deletions
Showing only changes of commit 2fc7eab1ac - Show all commits

View File

@@ -26,7 +26,8 @@ class _HomeViewState extends State<HomeView> {
_gameCountFuture = db.gameDao.getGameCount(); _gameCountFuture = db.gameDao.getGameCount();
_groupCountFuture = db.groupDao.getGroupCount(); _groupCountFuture = db.groupDao.getGroupCount();
Future.wait([_gameCountFuture, _groupCountFuture]).then((_) { Future.wait([_gameCountFuture, _groupCountFuture]).then((_) async {
await Future.delayed(const Duration(milliseconds: 50));
if (mounted) { if (mounted) {
setState(() { setState(() {
isLoading = false; isLoading = false;
@@ -102,37 +103,29 @@ class _HomeViewState extends State<HomeView> {
width: constraints.maxWidth * 0.95, width: constraints.maxWidth * 0.95,
title: 'Recent Games', title: 'Recent Games',
icon: Icons.timer, icon: Icons.timer,
content: Padding( content: const Padding(
padding: const EdgeInsets.symmetric(horizontal: 40.0), padding: EdgeInsets.symmetric(horizontal: 40.0),
child: Column( child: Column(
mainAxisAlignment: MainAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
Skeleton.unite( GameTile(
unite: true, gameTitle: 'Gamenight',
borderRadius: BorderRadius.circular(8), gameType: 'Cabo',
child: const GameTile( ruleset: 'Lowest Points',
gameTitle: 'Gamenight', players: '5 Players',
gameType: 'Cabo', winner: 'Leonard',
ruleset: 'Lowest Points',
players: '5 Players',
winner: 'Leonard',
),
), ),
const Padding( Padding(
padding: EdgeInsets.symmetric(vertical: 8.0), padding: EdgeInsets.symmetric(vertical: 8.0),
child: Divider(), child: Divider(),
), ),
Skeleton.unite( GameTile(
unite: true, gameTitle: 'Schoolbreak',
borderRadius: BorderRadius.circular(8), gameType: 'Uno',
child: const GameTile( ruleset: 'Highest Points',
gameTitle: 'Schoolbreak', players: 'The Gang',
gameType: 'Uno', winner: 'Lina',
ruleset: 'Highest Points',
players: 'The Gang',
winner: 'Lina',
),
), ),
SizedBox(height: 8), SizedBox(height: 8),
], ],

View File

@@ -1,5 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:game_tracker/core/custom_theme.dart'; import 'package:game_tracker/core/custom_theme.dart';
import 'package:skeletonizer/skeletonizer.dart';
class GameTile extends StatefulWidget { class GameTile extends StatefulWidget {
final String gameTitle; final String gameTitle;
@@ -48,9 +49,11 @@ class _GameTileState extends State<GameTile> {
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
color: CustomTheme.primaryColor, color: CustomTheme.primaryColor,
), ),
child: Text( child: Skeleton.ignore(
widget.ruleset, child: Text(
style: const TextStyle(fontWeight: FontWeight.bold), widget.ruleset,
style: const TextStyle(fontWeight: FontWeight.bold),
),
), ),
), ),
Center( Center(
@@ -68,19 +71,21 @@ class _GameTileState extends State<GameTile> {
borderRadius: BorderRadius.circular(4), borderRadius: BorderRadius.circular(4),
color: Colors.yellow.shade300, color: Colors.yellow.shade300,
), ),
child: Row( child: Skeleton.ignore(
mainAxisAlignment: MainAxisAlignment.center, child: Row(
children: [ mainAxisAlignment: MainAxisAlignment.center,
const Icon(Icons.emoji_events, color: Colors.black, size: 20), children: [
Text( const Icon(Icons.emoji_events, color: Colors.black, size: 20),
widget.winner, Text(
textAlign: TextAlign.center, widget.winner,
style: const TextStyle( textAlign: TextAlign.center,
fontWeight: FontWeight.bold, style: const TextStyle(
color: Colors.black87, fontWeight: FontWeight.bold,
color: Colors.black87,
),
), ),
), ],
], ),
), ),
), ),
), ),