From 2dd4f52336dfab9db96fda0de03bb80ad107fa28 Mon Sep 17 00:00:00 2001 From: mathiskirchner Date: Sun, 16 Nov 2025 16:42:18 +0100 Subject: [PATCH] removed sample groups from groups view --- .../views/main_menu/groups_view.dart | 82 ++++--------------- 1 file changed, 18 insertions(+), 64 deletions(-) diff --git a/lib/presentation/views/main_menu/groups_view.dart b/lib/presentation/views/main_menu/groups_view.dart index 0d5b993..c5f8def 100644 --- a/lib/presentation/views/main_menu/groups_view.dart +++ b/lib/presentation/views/main_menu/groups_view.dart @@ -1,10 +1,12 @@ import 'package:flutter/material.dart'; import 'package:game_tracker/core/custom_theme.dart'; +import 'package:game_tracker/data/db/database.dart'; import 'package:game_tracker/data/dto/group.dart'; import 'package:game_tracker/data/dto/player.dart'; import 'package:game_tracker/presentation/widgets/full_width_button.dart'; import 'package:game_tracker/presentation/widgets/group_tile.dart'; import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; +import 'package:provider/provider.dart'; import 'package:skeletonizer/skeletonizer.dart'; class GroupsView extends StatefulWidget { @@ -15,76 +17,25 @@ class GroupsView extends StatefulWidget { } class _GroupsViewState extends State { - Future> _getMockGroups() async { - await Future.delayed(const Duration(seconds: 2)); - final player1 = Player(id: 'p1', name: 'Felix'); - final player2 = Player(id: 'p2', name: 'Yannick'); - final player3 = Player(id: 'p3', name: 'Mathis'); - final player4 = Player(id: 'p4', name: 'Petrus'); + late Future> _allGroupsFuture; - return [ - Group( - id: 'g1', - name: 'Weekend Warriors', - members: [ - player1, - player2, - player4, - player3, - player1, - player4, - player2, - ], - ), - Group(id: 'g2', name: 'Strategy Masters', members: [player3, player4]), - Group( - id: 'g3', - name: 'The Cardboard Crew', - members: [player1, player2, player3, player4], - ), - Group( - id: 'g4', - name: 'Gamers', - members: [player1, player3, player1, player4], - ), - Group( - id: 'g4', - name: 'The Group', - members: [player4, player1, player3, player4, player3], - ), - Group( - id: 'g4', - name: 'Friends', - members: [player4, player1, player3, player4], - ), - Group( - id: 'g4', - name: 'Sample Group', - members: [player1, player1, player4, player3], - ), - Group( - id: 'g4', - name: 'The Group', - members: [player1, player1, player3, player4], - ), - Group( - id: 'g4', - name: 'The Best', - members: [player1, player3, player1, player4, player1], - ), - ]; - } - - final player = Player(id: 'p1', name: 'Felix'); + final player = Player(id: 'p1', name: 'Sample'); late final List skeletonData = List.filled( 8, Group( - id: 'g1', - name: 'Weekend Warriors', + id: '0', + name: 'Sample Game', members: [player, player, player, player], ), ); + @override + void initState() { + super.initState(); + final db = Provider.of(context, listen: false); + _allGroupsFuture = db.groupDao.getAllGroups(); + } + @override Widget build(BuildContext context) { return Scaffold( @@ -93,7 +44,7 @@ class _GroupsViewState extends State { alignment: Alignment.center, children: [ FutureBuilder>( - future: _getMockGroups(), + future: _allGroupsFuture, builder: (BuildContext context, AsyncSnapshot> snapshot) { if (snapshot.hasError) { @@ -134,8 +85,11 @@ class _GroupsViewState extends State { ), child: ListView.builder( padding: const EdgeInsets.only(bottom: 85), - itemCount: groups.length, + itemCount: groups.length + 1, itemBuilder: (BuildContext context, int index) { + if (index == groups.length) { + return const SizedBox(height: 60); + } return GroupTile(group: groups[index]); }, ),