fixed search bugs where duplicates where created or search results were wrong

This commit is contained in:
2025-11-18 17:08:07 +01:00
parent c31d757615
commit 412d1fd334

View File

@@ -130,9 +130,12 @@ class _CreateGroupViewState extends State<CreateGroupView> {
suggestedPlayers = [...allPlayers]; suggestedPlayers = [...allPlayers];
} else { } else {
suggestedPlayers = allPlayers.where((player) { suggestedPlayers = allPlayers.where((player) {
return player.name.toLowerCase().contains( final bool nameMatches = player.name
value.toLowerCase(), .toLowerCase()
); .contains(value.toLowerCase());
final bool isNotSelected = !selectedPlayers
.contains(player);
return nameMatches && isNotSelected;
}).toList(); }).toList();
} }
}); });
@@ -180,11 +183,19 @@ 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); final currentSearch = _searchBarController
.text
.toLowerCase();
selectedPlayers.remove(selectedPlayer); selectedPlayers.remove(selectedPlayer);
suggestedPlayers.sort( if (currentSearch.isEmpty ||
(a, b) => a.name.compareTo(b.name), selectedPlayer.name
); .toLowerCase()
.contains(currentSearch)) {
suggestedPlayers.add(selectedPlayer);
suggestedPlayers.sort(
(a, b) => a.name.compareTo(b.name),
);
}
}); });
}, },
), ),