Teamspiele implementieren #217

Open
flixcoo wants to merge 55 commits from feature/168-teamspiele-implementieren into development
Owner

Zugehörige Issue(s)

Closes #168

Beschreibung

Diese PR implementiert die Teamspiele. Ein Match wird in der CreateMatchView als Teamspiel markiert. Danach können Teams erstellt, bearbeitet und danach die Spieler organisiert und durchgewechselt werden. Es wurde für jedes Ruleset die MatchResultView angepasst, dass dort auch Teams ausgewählt werden können. Ein Team speichert seine eigenen Scores, diese werden aber auch auf die jeweiligen Teammitglieder propagiert.

Änderungen

  • MatchResultView: Für jedes Ruleset auch eine Teamspiel variante implementiert
  • CreateGameView: Switch ergänzt, welcher ein Spiel als Teamspielen deklariert
  • MatchDetailView:
    • InfoTile mit Teams inkl. Membern hinzugefügt
    • Ergebniss-Tile angepasst, so dass Ergebnisse von Teamspielen angezeigt werden können
  • MatchTile: Teams-Anzeige, welche die Spieler-Anzeige ersetzt
  • CustomWidthButton in diversen Ansichten ersetzt
  • GameColor zu AppColor umbenannt

Tests & Daten

  • DAO-Methoden für Team-Winner, -Loser, -Scores und -Placement
  • Tests für neue DAO-Methoden geschrieben
  • Test ergänzt, welcher die Spieldaten exportiert und die exportierten Daten validiert
  • Schema an neue Teamspiele angepasst
  • Exportieren / Importen von Teamspielen gefixt
  • Testdaten erneuert

Neue Views

  • CreateTeamView: Teams erstellen, Farbe & Name ändern und Spieler neu verteilen
  • ManageMembersView: Teammitglieder von Teams ändern

Zusätzliche Anmerkungen

No response

### Zugehörige Issue(s) Closes #168 ### Beschreibung Diese PR implementiert die Teamspiele. Ein Match wird in der `CreateMatchView` als Teamspiel markiert. Danach können Teams erstellt, bearbeitet und danach die Spieler organisiert und durchgewechselt werden. Es wurde für jedes Ruleset die `MatchResultView` angepasst, dass dort auch Teams ausgewählt werden können. Ein Team speichert seine eigenen Scores, diese werden aber auch auf die jeweiligen Teammitglieder propagiert. ### Änderungen - `MatchResultView`: Für jedes Ruleset auch eine Teamspiel variante implementiert - `CreateGameView`: Switch ergänzt, welcher ein Spiel als Teamspielen deklariert - `MatchDetailView`: - InfoTile mit Teams inkl. Membern hinzugefügt - Ergebniss-Tile angepasst, so dass Ergebnisse von Teamspielen angezeigt werden können - `MatchTile`: Teams-Anzeige, welche die Spieler-Anzeige ersetzt - `CustomWidthButton` in diversen Ansichten ersetzt - `GameColor` zu `AppColor` umbenannt #### Tests & Daten - DAO-Methoden für Team-Winner, -Loser, -Scores und -Placement - Tests für neue DAO-Methoden geschrieben - Test ergänzt, welcher die Spieldaten exportiert und die exportierten Daten validiert - Schema an neue Teamspiele angepasst - Exportieren / Importen von Teamspielen gefixt - Testdaten erneuert #### Neue Views - `CreateTeamView`: Teams erstellen, Farbe & Name ändern und Spieler neu verteilen - `ManageMembersView`: Teammitglieder von Teams ändern ### Zusätzliche Anmerkungen _No response_
flixcoo added this to the Alpha milestone 2026-05-11 12:07:51 +00:00
flixcoo self-assigned this 2026-05-11 12:07:51 +00:00
flixcoo added 1 commit 2026-05-11 15:50:56 +00:00
feat: added test for exported json
Some checks failed
Pull Request Pipeline / lint (pull_request) Successful in 51s
Pull Request Pipeline / test (pull_request) Failing after 10m46s
badf5ea311
flixcoo added 9 commits 2026-05-17 22:48:36 +00:00
flixcoo added 2 commits 2026-05-17 23:32:38 +00:00
# Conflicts:
#	lib/presentation/views/main_menu/match_view/create_match/create_match_view.dart
#	lib/presentation/views/main_menu/match_view/match_detail_view.dart
#	lib/presentation/views/main_menu/match_view/match_result_view.dart
#	lib/presentation/widgets/buttons/main_menu_button.dart
#	pubspec.yaml
fix: refresh problem
Some checks failed
Pull Request Pipeline / lint (pull_request) Successful in 55s
Pull Request Pipeline / test (pull_request) Failing after 10m44s
0f621cd799
Owner

Mathis audio anhören

Mathis audio anhören
flixcoo added the due date 2026-05-22 2026-05-18 12:06:28 +00:00
flixcoo added 5 commits 2026-05-18 20:51:58 +00:00
fix: schema
Some checks failed
Pull Request Pipeline / lint (pull_request) Successful in 54s
Pull Request Pipeline / test (pull_request) Has been cancelled
f069f62e26
flixcoo added 1 commit 2026-05-18 20:55:55 +00:00
fix: export test
Some checks failed
Pull Request Pipeline / lint (pull_request) Successful in 54s
Pull Request Pipeline / test (pull_request) Failing after 10m41s
369cabe996
flixcoo added 6 commits 2026-05-20 22:19:22 +00:00
flixcoo added 1 commit 2026-05-20 22:34:54 +00:00
fix: async test
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 44s
Pull Request Pipeline / lint (pull_request) Successful in 52s
aaeb4bf18c
flixcoo changed title from WIP: Teamspiele implementieren to Teamspiele implementieren 2026-05-20 22:39:56 +00:00
flixcoo requested review from Owners 2026-05-20 22:40:01 +00:00
flixcoo added the
PR
Ready for Review
2
label 2026-05-20 22:40:04 +00:00
sneeex added 1 commit 2026-05-21 08:35:00 +00:00
sort arb files
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 41s
Pull Request Pipeline / lint (pull_request) Successful in 52s
63f050b34f
Owner

Datei zum testen?

Datei zum testen?
Owner

Haste Drag and Drop mal ausprobiert?

Haste Drag and Drop mal ausprobiert?
flixcoo removed review request for Owners 2026-05-21 16:44:51 +00:00
flixcoo added 10 commits 2026-05-21 16:50:59 +00:00
flixcoo added 2 commits 2026-05-21 18:12:10 +00:00
fix: team import
Some checks failed
Pull Request Pipeline / test (pull_request) Failing after 44s
Pull Request Pipeline / lint (pull_request) Successful in 51s
12b7bcdc6c
flixcoo requested review from Owners 2026-05-21 18:14:13 +00:00
Author
Owner

Testdaten sind hier

Testdaten sind [hier](https://discord.com/channels/921763177245605888/938410896299028570/1507083970720960602)
Owner

mach auf jeden fall die scroll physics in den view weg, also auch in den ergebnis eintragen views

mach auf jeden fall die scroll physics in den view weg, also auch in den ergebnis eintragen views
flixcoo added 1 commit 2026-05-21 19:10:14 +00:00
feat: Implemented LiveEditView
Some checks failed
Pull Request Pipeline / test (pull_request) Failing after 44s
Pull Request Pipeline / lint (pull_request) Successful in 52s
46134a4f5c
flixcoo added 1 commit 2026-05-21 19:22:17 +00:00
fix: team json tests
Some checks failed
Pull Request Pipeline / test (pull_request) Failing after 43s
Pull Request Pipeline / lint (pull_request) Successful in 52s
14eb77e241
flixcoo added 1 commit 2026-05-21 19:30:01 +00:00
fix: enum fromJson
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 44s
Pull Request Pipeline / lint (pull_request) Successful in 52s
a7d36787ce
flixcoo added 1 commit 2026-05-21 19:33:02 +00:00
updated tests
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 44s
Pull Request Pipeline / lint (pull_request) Successful in 53s
a6deba4238
flixcoo added 2 commits 2026-05-21 22:48:49 +00:00
updated team tests
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 43s
Pull Request Pipeline / lint (pull_request) Successful in 55s
6fb4a8996c
sneeex requested changes 2026-05-22 06:44:45 +00:00
sneeex left a comment
Owner

Wenn ich Items in dem View wo man die Spieler den Teams zuordnet rumschiebt folgendes:

The following assertion was thrown while applying parent data.:
Incorrect use of ParentDataWidget.

The ParentDataWidget Expanded(flex: 1) wants to apply ParentData of type FlexParentData to a RenderObject, which has been set up to accept ParentData of incompatible type StackParentData.

Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, Expanded widgets are placed directly inside Flex widgets.
The offending Expanded is currently placed inside a Stack widget.

und wenn ich ein Match im Team Modus erstelle (d.h. ich klicke auf create match und komm dann in die Ansicht wo man die Teams erstellen kann) das gleiche

Außerdem wenn ich ganz normal Match mit Spielern erstelle:
grafik.png

Und warum sind die Teams hier in ner anderen Reihenfolge als woanders?
grafik.png
grafik.png
grafik.png

Wenn ich Items in dem View wo man die Spieler den Teams zuordnet rumschiebt folgendes: ``` The following assertion was thrown while applying parent data.: Incorrect use of ParentDataWidget. The ParentDataWidget Expanded(flex: 1) wants to apply ParentData of type FlexParentData to a RenderObject, which has been set up to accept ParentData of incompatible type StackParentData. Usually, this means that the Expanded widget has the wrong ancestor RenderObjectWidget. Typically, Expanded widgets are placed directly inside Flex widgets. The offending Expanded is currently placed inside a Stack widget. ``` und wenn ich ein Match im Team Modus erstelle (d.h. ich klicke auf create match und komm dann in die Ansicht wo man die Teams erstellen kann) das gleiche Außerdem wenn ich ganz normal Match mit Spielern erstelle: <img width="364" alt="grafik.png" src="attachments/55ec3237-44fd-4c9c-af31-fcd95d655ed3"> Und warum sind die Teams hier in ner anderen Reihenfolge als woanders? <img width="260" alt="grafik.png" src="attachments/7e9f7c12-4756-4fcc-926a-ef3a08b9a0ef"> <img width="262" alt="grafik.png" src="attachments/4a51a9af-4a61-41fe-ac22-7d9b0fc5c3f6"> <img width="246" alt="grafik.png" src="attachments/9dcb5cf6-ce4d-4d10-a9fb-b9903b44db1a">
sneeex added
PR
In Review
1
and removed
PR
Ready for Review
2
labels 2026-05-22 06:45:06 +00:00
Author
Owner

@sneeex hab alles gefixt, bis auf das:

Außerdem wenn ich ganz normal Match mit Spielern erstelle:

Das konnte ich nicht reproduzieren. Hab aber noch was an der Logik geändert, das wenn man Spieler von Team 2 an die letzte Position von Team 1 oder einen Spieler von Team 1 an die erste Position von Team 2 schiebt, dass das jetzt auch möglich ist.

@sneeex hab alles gefixt, bis auf das: > Außerdem wenn ich ganz normal Match mit Spielern erstelle: Das konnte ich nicht reproduzieren. Hab aber noch was an der Logik geändert, das wenn man Spieler von Team 2 an die letzte Position von Team 1 oder einen Spieler von Team 1 an die erste Position von Team 2 schiebt, dass das jetzt auch möglich ist.
flixcoo requested review from sneeex 2026-05-22 13:07:02 +00:00
flixcoo added 3 commits 2026-05-22 13:07:17 +00:00
fix: sorting problems
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 44s
Pull Request Pipeline / lint (pull_request) Successful in 51s
47829a6955
flixcoo requested review from gelbeinhalb 2026-05-22 18:09:30 +00:00
flixcoo added 1 commit 2026-05-22 22:20:13 +00:00
Merge branch 'development' into feature/168-teamspiele-implementieren
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 47s
Pull Request Pipeline / lint (pull_request) Successful in 53s
Pull Request Pipeline / localizations (pull_request) Successful in 26s
cf7dbe60f4
# Conflicts:
#	lib/l10n/arb/app_de.arb
#	lib/l10n/arb/app_en.arb
#	lib/l10n/generated/app_localizations.dart
#	lib/l10n/generated/app_localizations_de.dart
#	lib/l10n/generated/app_localizations_en.dart
#	pubspec.yaml
flixcoo added 2 commits 2026-05-22 22:41:41 +00:00
# Conflicts:
#	lib/presentation/views/main_menu/match_view/match_result_view.dart
#	pubspec.yaml
Updated deprecated attribute
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 48s
Pull Request Pipeline / test (pull_request) Successful in 49s
Pull Request Pipeline / localizations (pull_request) Successful in 29s
4b30673125
flixcoo added 1 commit 2026-05-22 22:42:46 +00:00
Merge branch 'development' into feature/168-teamspiele-implementieren
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 52s
Pull Request Pipeline / test (pull_request) Successful in 1m2s
Pull Request Pipeline / localizations (pull_request) Successful in 32s
25afe998f5
# Conflicts:
#	pubspec.yaml
flixcoo added 1 commit 2026-05-22 23:08:36 +00:00
Updated highlightedBoxDecoration
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 47s
Pull Request Pipeline / test (pull_request) Successful in 46s
Pull Request Pipeline / localizations (pull_request) Successful in 26s
a1b2a1d722
flixcoo added 1 commit 2026-05-22 23:18:25 +00:00
Updated game tile
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 46s
Pull Request Pipeline / lint (pull_request) Successful in 50s
Pull Request Pipeline / localizations (pull_request) Successful in 27s
3c9d115d08
flixcoo added 2 commits 2026-05-23 14:13:50 +00:00
Added empty build for teams & player in match tile / detail view
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 46s
Pull Request Pipeline / test (pull_request) Successful in 47s
Pull Request Pipeline / localizations (pull_request) Successful in 27s
99c3c3c257
All checks were successful
Pull Request Pipeline / lint (pull_request) Successful in 46s
Required
Details
Pull Request Pipeline / test (pull_request) Successful in 47s
Required
Details
Pull Request Pipeline / localizations (pull_request) Successful in 27s
Required
Details
This pull request has changes conflicting with the target branch.
  • pubspec.yaml
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin feature/168-teamspiele-implementieren:feature/168-teamspiele-implementieren
git checkout feature/168-teamspiele-implementieren
Sign in to join this conversation.
No Reviewers
No Label
PR
In Review
1
2 Participants
Notifications
Due Date
2026-05-22
Dependencies

No dependencies set.

Reference: liquid-development/game-tracker#217