GameResultView erstellen #62

Merged
flixcoo merged 31 commits from feature/48-game-result-view-erstellen into development 2025-12-06 14:06:29 +00:00
Owner

Game Result View erstellen

Zugehörige Issue(s):
Closes #48

Beschreibung

Es wurde ein GameResultView erstellt, der die Möglichkeit bietet einen Gewinner eines Games auszuwählen.

Änderungen

  • Radio mit Save Button zum auswählen von Winnern eines übergebenen Games implementiert
  • Wenn einer Winner bereits selected war, ist der Standardmäßig ausgewählt
  • Die vorherige Seite GameHistoryView wird neugeladen

Zusätzliche Anmerkungen

Ich habe jetzt noch nichts im GameCreateView angepasst, weil der ja noch aktuell in Progress ist, Felix hat aber ja verkackt und das mit in die DB Branch gemacht, die ja vorhin reingemergt wurde.

# Game Result View erstellen **Zugehörige Issue(s):** Closes #48 ## Beschreibung Es wurde ein GameResultView erstellt, der die Möglichkeit bietet einen Gewinner eines Games auszuwählen. ## Änderungen - Radio mit Save Button zum auswählen von Winnern eines übergebenen Games implementiert - Wenn einer Winner bereits selected war, ist der Standardmäßig ausgewählt - Die vorherige Seite `GameHistoryView` wird neugeladen ## Zusätzliche Anmerkungen Ich habe jetzt noch nichts im GameCreateView angepasst, weil der ja noch aktuell in Progress ist, Felix hat aber ja verkackt und das mit in die DB Branch gemacht, die ja vorhin reingemergt wurde.
sneeex added this to the Minimum Viable Product (MVP) milestone 2025-11-23 19:44:03 +00:00
sneeex self-assigned this 2025-11-23 19:44:03 +00:00
sneeex added 2 commits 2025-11-23 19:44:03 +00:00
made settingsbutton redirect to game result view
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m5s
Pull Request Pipeline / lint (pull_request) Failing after 2m14s
937f1e3ac8
sneeex changed title from Game Result View erstellen to WIP: Game Result View erstellen 2025-11-23 19:44:11 +00:00
flixcoo changed title from WIP: Game Result View erstellen to WIP: GameResultView erstellen 2025-11-25 08:10:57 +00:00
sneeex added a new dependency 2025-11-25 10:28:17 +00:00
sneeex added 1 commit 2025-11-25 10:28:30 +00:00
Merge branch 'development' into feature/48-game-result-view-erstellen
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m6s
Pull Request Pipeline / lint (pull_request) Failing after 2m9s
b291673899
sneeex added a new dependency 2025-11-25 16:20:27 +00:00
sneeex added 5 commits 2025-11-25 16:23:22 +00:00
sneeex added 1 commit 2025-11-25 16:24:39 +00:00
add todo comment
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m14s
Pull Request Pipeline / lint (pull_request) Failing after 2m17s
00fd6880e9
sneeex added 1 commit 2025-11-25 16:29:27 +00:00
fix lint
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m0s
Pull Request Pipeline / lint (pull_request) Successful in 2m9s
d97871d15b
sneeex added 2 commits 2025-11-25 21:03:43 +00:00
add textoverflow behaviour
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m5s
Pull Request Pipeline / lint (pull_request) Failing after 2m8s
86ec4de5c0
sneeex added 1 commit 2025-11-25 22:22:07 +00:00
added missing consts
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m7s
Pull Request Pipeline / lint (pull_request) Successful in 2m7s
9ba3dd7909
sneeex requested review from Owners 2025-11-25 22:22:14 +00:00
sneeex added the
PR
Ready for Review
2
label 2025-11-25 22:22:18 +00:00
sneeex changed title from WIP: GameResultView erstellen to GameResultView erstellen 2025-11-25 22:22:26 +00:00
sneeex changed title from GameResultView erstellen to WIP: GameResultView erstellen 2025-11-25 22:24:37 +00:00
flixcoo added
PR
In Review
1
and removed
PR
Ready for Review
2
labels 2025-11-26 11:42:03 +00:00
flixcoo changed title from WIP: GameResultView erstellen to GameResultView erstellen 2025-11-26 11:58:54 +00:00
Owner

Review macht noch keinen Sinn, ich warte auf die entsprechenden PRs

Review macht noch keinen Sinn, ich warte auf die entsprechenden PRs
flixcoo added
PR
Ready for Review
2
Workflow
On Hold
3
and removed
PR
In Review
1
labels 2025-11-26 12:00:44 +00:00
Author
Owner

Review macht noch keinen Sinn, ich warte auf die entsprechenden PRs

Aber kannst dir doch das schon mal angucken, das wichtigste steht ja

> Review macht noch keinen Sinn, ich warte auf die entsprechenden PRs Aber kannst dir doch das schon mal angucken, das wichtigste steht ja
Owner

Aber kannst dir doch das schon mal angucken, das wichtigste steht ja

ja hab ich, sieht gut soweit aus

> Aber kannst dir doch das schon mal angucken, das wichtigste steht ja ja hab ich, sieht gut soweit aus
flixcoo added a new dependency 2025-12-02 15:41:23 +00:00
sneeex added 1 commit 2025-12-02 19:48:37 +00:00
Merge branch 'development' into feature/48-game-result-view-erstellen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m4s
Pull Request Pipeline / lint (pull_request) Successful in 2m9s
09b407eba8
sneeex added 1 commit 2025-12-05 17:55:04 +00:00
Merge branch 'development' into feature/48-game-result-view-erstellen
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m4s
Pull Request Pipeline / lint (pull_request) Successful in 2m7s
dd2024e96e
sneeex added 7 commits 2025-12-05 18:41:08 +00:00
sneeex removed the
Workflow
On Hold
3
label 2025-12-05 18:43:35 +00:00
sneeex added 1 commit 2025-12-05 18:44:41 +00:00
remove print
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 2m12s
Pull Request Pipeline / test (pull_request) Successful in 2m14s
f5842f9c4a
sneeex added 1 commit 2025-12-05 19:33:32 +00:00
add delay and change empty games message
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m11s
Pull Request Pipeline / lint (pull_request) Successful in 2m11s
7323f52153
flixcoo requested changes 2025-12-05 23:37:44 +00:00
Dismissed
@@ -109,0 +105,4 @@
onTap: () async {
await Navigator.push(
context,
MaterialPageRoute(
Owner

ich fände hier noch `fullscreenDialog: true' cool, ich finde das passt besser zur Navigation, also:

onTap: () async {
  await Navigator.push(
    context,
    MaterialPageRoute(
      fullscreenDialog: true,
      builder: (context) =>
          GameResultView(game: games[index]),
    ),
  );
  setState(() {
    _gameListFuture = db.gameDao.getAllGames();
  });
}
ich fände hier noch `fullscreenDialog: true' cool, ich finde das passt besser zur Navigation, also: ```dart onTap: () async { await Navigator.push( context, MaterialPageRoute( fullscreenDialog: true, builder: (context) => GameResultView(game: games[index]), ), ); setState(() { _gameListFuture = db.gameDao.getAllGames(); }); } ```
Author
Owner

aber finde die animation dann komisch, das fadet so ein und sehe da jetzt keinen großen unterschied, also warum fullscreendialog und nicht das normale?

aber finde die animation dann komisch, das fadet so ein und sehe da jetzt keinen großen unterschied, also warum fullscreendialog und nicht das normale?
Owner

Korrektur:

 onTap: () async {
  await Navigator.push(
    context,
    CupertinoPageRoute(
      fullscreenDialog: true,
      builder: (context) =>
          GameResultView(game: games[index]),
    ),
  );
  setState(() {
    _gameListFuture = db.gameDao.getAllGames();
  });
}
Korrektur: ```dart onTap: () async { await Navigator.push( context, CupertinoPageRoute( fullscreenDialog: true, builder: (context) => GameResultView(game: games[index]), ), ); setState(() { _gameListFuture = db.gameDao.getAllGames(); }); } ```
sneeex marked this conversation as resolved
@@ -0,0 +20,4 @@
class _GameResultViewState extends State<GameResultView> {
late final List<Player> allPlayers;
late final AppDatabase db;
Player? _player;
Owner

Umbenennen in selectedPlayer oder currentWinner o.Ä.

Umbenennen in `selectedPlayer` oder `currentWinner` o.Ä.
sneeex marked this conversation as resolved
@@ -0,0 +78,4 @@
fontWeight: FontWeight.bold,
),
),
const SizedBox(height: 2),
Owner

Würde height mindestens auf 10 erhöhen

Würde `height` mindestens auf 10 erhöhen
sneeex marked this conversation as resolved
@@ -0,0 +81,4 @@
const SizedBox(height: 2),
Visibility(
visible: allPlayers.isNotEmpty,
replacement: const TopCenteredMessage(
Owner

Macht das Sinn überhaupt zu implementieren? Gibt es Fälle in denen ein Spiel keine Spieler hat?

Macht das Sinn überhaupt zu implementieren? Gibt es Fälle in denen ein Spiel keine Spieler hat?
Author
Owner

Eigentlich nicht, soll ich's weglassen dann?

Eigentlich nicht, soll ich's weglassen dann?
sneeex marked this conversation as resolved
@@ -0,0 +153,4 @@
List<Player> getAllPlayers(Game game) {
if (game.group == null && game.players != null) {
return [...game.players!];
Owner

Warum wird an dieser Stelle und in Zeile 160 der Spread-Operator gebraucht?

Warum wird an dieser Stelle und in Zeile 160 der Spread-Operator gebraucht?
Author
Owner

Gebraucht nicht zwingend, aber ich will lieber eine Kopie als die Referenz zu der ursprünglichen Liste übergeben, damit diese nicht im Widget im Umlauf ist

Gebraucht nicht zwingend, aber ich will lieber eine Kopie als die Referenz zu der ursprünglichen Liste übergeben, damit diese nicht im Widget im Umlauf ist
Author
Owner

Damit die auf jeden Fall gleich bleibt

Damit die auf jeden Fall gleich bleibt
Owner

Okay safe, das hatte ich nicht auf dem schirm

Okay safe, das hatte ich nicht auf dem schirm
flixcoo marked this conversation as resolved
@@ -0,0 +6,4 @@
final T value;
final ValueChanged<T> onContainerTap;
const CustomRadioListTile({
Owner

Würde Umbennenen in RadioListTile, weil das gibt es bisher noch nicht, oder? Würde Custom[Widget] immer nur verwenden, wenn es [Widget] bereits gibt (z.B. SearchBar)

Würde Umbennenen in `RadioListTile`, weil das gibt es bisher noch nicht, oder? Würde `Custom[Widget]` immer nur verwenden, wenn es [Widget] bereits gibt (z.B. `SearchBar`)
Author
Owner

Ja fair aber dann Guck vielleicht mal was es gibt und was nicht xD https://api.flutter.dev/flutter/material/RadioListTile-class.html

Ja fair aber dann Guck vielleicht mal was es gibt und was nicht xD https://api.flutter.dev/flutter/material/RadioListTile-class.html
sneeex marked this conversation as resolved
flixcoo requested review from gelbeinhalb 2025-12-05 23:37:55 +00:00
sneeex added 1 commit 2025-12-06 09:01:05 +00:00
refactor game result view variable naming and layout
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m12s
Pull Request Pipeline / lint (pull_request) Successful in 2m12s
03035138ac
Owner

wäre es nicht entspannter, wenn man nicht auf den save button drücken müsste um zu speichern?
Also dass die buttons im menü das sofort in die db speichern?

wäre es nicht entspannter, wenn man nicht auf den save button drücken müsste um zu speichern? Also dass die buttons im menü das sofort in die db speichern?
gelbeinhalb requested changes 2025-12-06 09:55:55 +00:00
Dismissed
@@ -84,2 +80,2 @@
title: 'Error',
message: 'No Games Available',
title: 'Info',
message: 'No games created yet.',
Owner

Ich finde wir sollten für solche generischen Statusmeldungen nicht komplette Sätze mit Punkt machen oder?
Finde No games created yet passt da besser rein als die Version mit Punkt am Ende

Ich finde wir sollten für solche generischen Statusmeldungen nicht komplette Sätze mit Punkt machen oder? Finde `No games created yet` passt da besser rein als die Version mit Punkt am Ende
sneeex marked this conversation as resolved
@@ -0,0 +126,4 @@
backgroundColor: CustomTheme.boxColor,
content: const Center(
child: Text(
'Error while setting winner, please try again',
Owner

Hier ist auch kein Punkt :)
Würde ich aber auch so lassen höhö

Hier ist auch kein Punkt :) Würde ich aber auch so lassen höhö
sneeex marked this conversation as resolved
sneeex added 1 commit 2025-12-06 10:22:39 +00:00
removed dots after TopCenteredMessage text
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m17s
Pull Request Pipeline / lint (pull_request) Successful in 2m20s
306a783d67
Owner

Deselection mit einbauen

Deselection mit einbauen
Owner

Save Button wegmachen und direkte selection zum Speichern in der Datenbank nutzen

Save Button wegmachen und direkte selection zum Speichern in der Datenbank nutzen
sneeex added 1 commit 2025-12-06 12:31:13 +00:00
made winner deselectable and added auto save on select
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m8s
Pull Request Pipeline / lint (pull_request) Successful in 2m11s
697767f0de
sneeex added 1 commit 2025-12-06 12:34:16 +00:00
changed MaterialPageRoute to CupertinoPageRoute for ios animation
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m6s
Pull Request Pipeline / lint (pull_request) Successful in 2m21s
b1bb8b919f
gelbeinhalb approved these changes 2025-12-06 12:35:32 +00:00
Dismissed
gelbeinhalb left a comment
Owner

lgtm

lgtm
sneeex added 2 commits 2025-12-06 13:20:42 +00:00
Refactor winner selection and persistence logic in GameResultView
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m25s
Pull Request Pipeline / lint (pull_request) Failing after 2m25s
1ed6290628
sneeex dismissed gelbeinhalb's review 2025-12-06 13:20:42 +00:00
Reason:

New commits pushed, approval review dismissed automatically according to repository settings

sneeex added 1 commit 2025-12-06 13:21:21 +00:00
add braces to if/else statement in game_result_view.dart
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m18s
Pull Request Pipeline / lint (pull_request) Successful in 2m20s
dbbe04d4cc
sneeex requested review from flixcoo 2025-12-06 13:21:36 +00:00
sneeex requested review from gelbeinhalb 2025-12-06 13:21:42 +00:00
Owner

ja perfekt, so passt das doch

ja perfekt, so passt das doch
flixcoo approved these changes 2025-12-06 14:06:25 +00:00
flixcoo merged commit dcd8b460c1 into development 2025-12-06 14:06:29 +00:00
flixcoo deleted branch feature/48-game-result-view-erstellen 2025-12-06 14:06:29 +00:00
Sign in to join this conversation.
No Reviewers
3 Participants
Notifications
Due Date
No due date set.
Blocks
#78 Game zu Match umbenennen
liquid-development/game-tracker
Depends on
#20 GameHistoryView anpassen
liquid-development/game-tracker
Reference: liquid-development/game-tracker#62