fixed search bugs where duplicates where created or search results were wrong
This commit is contained in:
@@ -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),
|
||||||
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user