fixed groups not getting added & added feature to remove player from all players when selected

This commit is contained in:
2025-11-17 20:20:56 +01:00
parent 7a85b5c1ac
commit 6b2fb18ec0

View File

@@ -35,6 +35,7 @@ class _CreateGroupViewState extends State<CreateGroupView> {
_allPlayersFuture = db.playerDao.getAllPlayers(); _allPlayersFuture = db.playerDao.getAllPlayers();
_allPlayersFuture.then((loadedPlayers) { _allPlayersFuture.then((loadedPlayers) {
setState(() { setState(() {
loadedPlayers.sort((a, b) => a.name.compareTo(b.name));
allPlayers = loadedPlayers; allPlayers = loadedPlayers;
suggestedPlayers = loadedPlayers; suggestedPlayers = loadedPlayers;
}); });
@@ -171,7 +172,11 @@ class _CreateGroupViewState extends State<CreateGroupView> {
child: const Icon(Icons.close, size: 20), child: const Icon(Icons.close, size: 20),
onTap: () { onTap: () {
setState(() { setState(() {
suggestedPlayers.add(selectedPlayer);
selectedPlayers.remove(selectedPlayer); selectedPlayers.remove(selectedPlayer);
suggestedPlayers.sort(
(a, b) => a.name.compareTo(b.name),
);
}); });
}, },
), ),
@@ -295,6 +300,15 @@ class _CreateGroupViewState extends State<CreateGroupView> {
selectedPlayers.add( selectedPlayers.add(
suggestedPlayers[index], suggestedPlayers[index],
); );
selectedPlayers.sort(
(a, b) =>
a.name.compareTo(
b.name,
),
);
suggestedPlayers.remove(
suggestedPlayers[index],
);
} }
}); });
}, },
@@ -321,39 +335,34 @@ class _CreateGroupViewState extends State<CreateGroupView> {
onPressed: onPressed:
(_groupNameController.text.isEmpty || selectedPlayers.isEmpty) (_groupNameController.text.isEmpty || selectedPlayers.isEmpty)
? null ? null
: () { : () async {
String id = "ID_" + _groupNameController.text; String id = "ID_" + _groupNameController.text;
String name = _groupNameController.text; String name = _groupNameController.text;
List<Player> members = selectedPlayers; List<Player> members = selectedPlayers;
db.groupDao.addGroup( bool success = await db.groupDao.addGroup(
group: Group(id: id, name: name, members: members), group: Group(id: id, name: name, members: members),
); );
print(name); if (success) {
print(id);
for (int i = 0; i < members.length; i++) {
print(members[i].name);
print(members[i].id);
}
if (true) {
//eigentlich wenn create group erfolgreich
_groupNameController.clear(); _groupNameController.clear();
_searchBarController.clear(); _searchBarController.clear();
selectedPlayers.clear(); selectedPlayers.clear();
Navigator.pop(context);
} else {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
backgroundColor: CustomTheme.boxColor,
content: Center(
child: Text(
"Error while creating group, please try again",
style: TextStyle(color: Colors.white),
),
),
),
);
} }
setState(() {}); setState(() {});
}, },
), ),
SizedBox(height: 10),
FullWidthButton(
text: "Cancel",
infillColor: CustomTheme.boxColor,
borderColor: CustomTheme.primaryColor,
disabledInfillColor: CustomTheme.boxColor,
sizeRelativeToWidth: 0.95,
onPressed: () {
Navigator.pop(context);
},
),
SizedBox(height: 20), SizedBox(height: 20),
], ],
), ),
@@ -363,22 +372,6 @@ class _CreateGroupViewState extends State<CreateGroupView> {
Future<void> addSamplePlayers(BuildContext context) async { Future<void> addSamplePlayers(BuildContext context) async {
final db = Provider.of<AppDatabase>(context, listen: false); final db = Provider.of<AppDatabase>(context, listen: false);
/*await db.groupDao.addGroup(
group: Group(
id: "dg1",
name: "Debug Gruppe 1",
members: [
Player(id: '1', name: 'Spieler 1'),
Player(id: '2', name: 'Spieler 2'),
Player(id: '3', name: 'Spieler 3'),
],
),
);
final group = await db.groupDao.getGroupById(groupId: "dg1");
print(group.name);
print(group.id);
print(group.members.length);
*/
final playerCount = await db.playerDao.getPlayerCount(); final playerCount = await db.playerDao.getPlayerCount();
if (playerCount == 0) { if (playerCount == 0) {
for (int i = 1; i <= 10; i++) { for (int i = 1; i <= 10; i++) {