Bearbeiten und Löschen von Matches #171
2 Participants
Notifications
Due Date
No due date set.
Blocks
Depends on
#190 Matchweise Groupmember entfernen
liquid-development/game-tracker
#156 Neue Datenbank Struktur
liquid-development/game-tracker
Reference: liquid-development/game-tracker#171
Reference in New Issue
Block a user
Delete Branch "feature/120-bearbeiten-und-loeschen-von-matches"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Zugehörige Issue(s)
Closes #120
Closes #190
Beschreibung
Es wurde eine neue View implementiert, um die Match-Details einzusehen, Ergebnisse einzutragen, die Gruppe zu bearbeiten und zu löschen. Das Bearbeiten Navigiert dann zu einer modifizierten
CreateMatchViewÄnderungen
MatchDetailViewimplementiert, welche Details zu einem Match anzeigt, und Buttons, zum löschen und bearbeiten des Matches sowie zum Ergebnisse eintragen enthältMatchResultView. Hier gesetzte Gewinner werden in derMatchDetailViewaktualisiert.MatchView, in welcher die Liste der Matches aktualisiert wird.CreateMatchView, in welcher die Details des Matches, wie Name, Gruppe und Spieler, eingetragen sindgroup.members- undplayers-Attribute vereinfachtcommon.darteingeführt, für Funktionen, die von unterschiedlichen Klassen genutzt werdenDie
PlayerSelectionwurde an die neue Datenbank angepasstFehler beim Setzen des Winners behoben
Zusätzliche Anmerkungen
Dieser PR sollte mit dem PR #148 abgeglichen werden, um doppelte Arbeit zu vermeiden.
Es wurde hier auch der Issue #190 mit gelöst.
WIP: Bearbeiten und Löschen von Matchesto Bearbeiten und Löschen von MatchesZu 1:
Zu 2:
ja das kommt nur weil hier auch viele änderungen von deiner pr drin sind
Hab ich behoben, der Winner wird jetzt einfach zurückgesetzt (Auf
nullgesetzt), denke das ist erstmal die schlauste VarianteHab ich gerade mal versucht, aber kriegs nicht hin. Es macht auch keinen sinn, dass das nicht aktualisiert, weil der spieler ist in der datenbank und das match wird auch richtig gefetched, aber irgendwie wird es nicht angezeigt
Dann schau morgen noch mal oder so, aber sonst macht das ja keinen Sinn das mit nem Fehler zu approven
Jep mach ich
@@ -25,0 +24,4 @@const CreateMatchView({super.key,this.onWinnerChanged,this.match,evtl. zu matchToEdit umbenennen wie in create group view
Geändert
@@ -50,3 +61,3 @@/// who are not members of the selected group. If no group is selected,/// this list is identical to [playerList].List<Player> filteredPlayerList = [];/*List<Player> filteredPlayerList = [];*/??
Hab die Variable entfernt, die wurde ursprünglich genutzt, damit die Spieler der ausgewählten Gruppe nicht in den
suggestedPlayersauftauchen. Da diese aber nun auch in denselectedPlayerssind, wird die nicht mehr gebraucht@@ -260,3 +239,2 @@bool _enableCreateGameButton() {return (selectedGroup != null ||(selectedPlayers.length > 1));return (selectedGroup != null || (selectedPlayers.length > 1));sollte nicht auch hier als bedingung rein, dass game ausgewählt ist (auch wenns gerade noch keine funktion hat)
Geändert
@@ -263,2 +241,3 @@}// If a match was provied to the view, it updates the match in the databasetippfehler: provided
@@ -265,0 +350,4 @@Future<Game> getTemporaryGame() async {Game? game;// No game is selecteddann button nicht aktiviert? (siehe oben)
d.h. überflüssig
Geändert
@@ -0,0 +142,4 @@const Icon(Icons.group),const SizedBox(width: 8),Text(// TODO: Update after DB changes??
Entfernt
@@ -51,3 +50,1 @@...previousChildren,if (currentChild != null) currentChild,],children: [...previousChildren, ?currentChild],was macht das?
Das ist ein Null-aware Spread Operator, d.h. das Element
currentChildwird nur in die Liste eingefügt, wenn es nichtnullist. Der Ausdruck ist Äquivalent zuSiehe Discord-Nachricht bzw. Dart Documentation
@@ -244,0 +262,4 @@// Ensures that only players available for selection are pre-selected.selectedPlayers = widget.initialSelectedPlayers!.where((p) => allPlayers.any((available) => available.id == p.id),was geht hier ab? wieso changes?
Da kam dieser Error, den du hattest her. Da habe ich ein if statement entfernt, dadurch hat sich alles verschoben und wird als Änderung markiert. Effektiv habe ich nur ein
if(mounted){...}durch einif(!mounted) return;ersetzt@@ -69,7 +69,6 @@ class CustomSearchBar extends StatelessWidget {constraints ?? const BoxConstraints(maxHeight: 45, minHeight: 45),hintText: hintText,onChanged: onChanged,hintStyle: WidgetStateProperty.all(const TextStyle(fontSize: 16)),??
Hab das über das Theme gelöst. Gibt jetzt ein
SearchBarThemeData searchBarThemeworüber das geregelt wirdwäre das nicht smart jetzt meins zu reviewen bei dir nochmal reinzumergen (weils ja sowieso schon drin ist) und dann zu mergen? oder wie geht jetzt ab hier?
ich würde sagen erst meins, weil ich bei mir ja auch noch den anderen issues drin habe + weitere fixes die du dann parallel implementieren müsstest damit deins richtig funktioniert