GameHistoryView anpassen #20

Merged
flixcoo merged 27 commits from feature/2-gamehistoryview-anpassen into development 2025-11-30 15:59:25 +00:00
2 changed files with 56 additions and 6 deletions
Showing only changes of commit 69e13e877e - Show all commits

View File

@@ -1,6 +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:game_tracker/presentation/widgets/game_tile.dart'; import 'package:game_tracker/presentation/widgets/game_history_tile.dart';
import 'package:game_tracker/presentation/widgets/top_centered_message.dart'; import 'package:game_tracker/presentation/widgets/top_centered_message.dart';
class GameHistoryView extends StatefulWidget { class GameHistoryView extends StatefulWidget {
@@ -178,10 +178,11 @@ class _GameHistoryViewState extends State<GameHistoryView> {
Widget gameHistoryListView(allGameData, suggestedGameData) { Widget gameHistoryListView(allGameData, suggestedGameData) {
if (suggestedGameData.isEmpty && allGameData.isEmpty) { if (suggestedGameData.isEmpty && allGameData.isEmpty) {
return TopCenteredMessage("Keine Spiele erstellt"); return const TopCenteredMessage(icon: Icons.error, title: 'Keine Spiele erstellt', message: '',);
} else if (suggestedGameData.isEmpty) { } else if (suggestedGameData.isEmpty) {
return TopCenteredMessage("Kein Spiel mit den Suchparametern gefunden."); return const TopCenteredMessage(icon: Icons.error, title: 'Keine Spiele mit den Suchparametern gefunden', message: '',);
} }
return ListView.separated( return ListView.separated(
padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0), padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 8.0),
itemCount: suggestedGameData.length, itemCount: suggestedGameData.length,
@@ -191,12 +192,12 @@ Widget gameHistoryListView(allGameData, suggestedGameData) {
), ),
itemBuilder: (context, index) { itemBuilder: (context, index) {
final currentGame = suggestedGameData[index]; final currentGame = suggestedGameData[index];
return GameTile( return GameHistoryTile(
gameTitle: currentGame['title'], gameTitle: currentGame['title'],
gameType: currentGame['game'], gameType: currentGame['game'],
ruleset: currentGame['date'], ruleset: currentGame['date'],
players: '${currentGame['players']} Spieler', groupName: currentGame['group'],
winner: currentGame['group'], winner: "ich",
); );
}, },
); );

View File

@@ -0,0 +1,49 @@
import 'package:flutter/material.dart';
import 'package:game_tracker/core/custom_theme.dart';
import 'package:skeletonizer/skeletonizer.dart';
class GameHistoryTile extends StatefulWidget {
final String gameTitle;
final String gameType;
final String ruleset;
final String groupName;
final String winner;
const GameHistoryTile({
super.key,
required this.gameTitle,
required this.gameType,
required this.ruleset,
required this.groupName,
required this.winner,
});
@override
State<GameHistoryTile> createState() => _GameHistoryTileState();
}
class _GameHistoryTileState extends State<GameHistoryTile> {
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
Text(
widget.gameTitle,
style: const TextStyle(fontSize: 18, fontWeight: FontWeight.bold),
),
const SizedBox(width: 5),
Text(
widget.gameType,
style: const TextStyle(fontSize: 14, color: Colors.grey),
),
],
),
],
);
}
}