Fix: SetState Error
This commit is contained in:
@@ -110,7 +110,9 @@ class _PlayerSelectionState extends State<PlayerSelection> {
|
|||||||
final bool nameMatches = player.name.toLowerCase().contains(
|
final bool nameMatches = player.name.toLowerCase().contains(
|
||||||
value.toLowerCase(),
|
value.toLowerCase(),
|
||||||
);
|
);
|
||||||
final bool isNotSelected = !selectedPlayers.any((p) => p.id == player.id);
|
final bool isNotSelected = !selectedPlayers.any(
|
||||||
|
(p) => p.id == player.id,
|
||||||
|
);
|
||||||
return nameMatches && isNotSelected;
|
return nameMatches && isNotSelected;
|
||||||
}).toList();
|
}).toList();
|
||||||
}
|
}
|
||||||
@@ -224,8 +226,9 @@ class _PlayerSelectionState extends State<PlayerSelection> {
|
|||||||
db.playerDao.getAllPlayers(),
|
db.playerDao.getAllPlayers(),
|
||||||
Future.delayed(Constants.MINIMUM_SKELETON_DURATION),
|
Future.delayed(Constants.MINIMUM_SKELETON_DURATION),
|
||||||
]).then((results) => results[0] as List<Player>);
|
]).then((results) => results[0] as List<Player>);
|
||||||
if (mounted) {
|
|
||||||
_allPlayersFuture.then((loadedPlayers) {
|
_allPlayersFuture.then((loadedPlayers) {
|
||||||
|
if (!mounted) return;
|
||||||
setState(() {
|
setState(() {
|
||||||
// If a list of available players is provided (even if empty), use that list.
|
// If a list of available players is provided (even if empty), use that list.
|
||||||
if (widget.availablePlayers != null) {
|
if (widget.availablePlayers != null) {
|
||||||
@@ -249,13 +252,17 @@ class _PlayerSelectionState extends State<PlayerSelection> {
|
|||||||
allPlayers = [...loadedPlayers];
|
allPlayers = [...loadedPlayers];
|
||||||
if (widget.initialSelectedPlayers != null) {
|
if (widget.initialSelectedPlayers != null) {
|
||||||
// Excludes already selected players from the suggested players list.
|
// Excludes already selected players from the suggested players list.
|
||||||
suggestedPlayers = loadedPlayers.where((p) => !widget.initialSelectedPlayers!.any((ip) => ip.id == p.id)).toList();
|
suggestedPlayers = loadedPlayers
|
||||||
|
.where(
|
||||||
|
(p) => !widget.initialSelectedPlayers!.any(
|
||||||
|
(ip) => ip.id == p.id,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
.toList();
|
||||||
// Ensures that only players available for selection are pre-selected.
|
// Ensures that only players available for selection are pre-selected.
|
||||||
selectedPlayers = widget.initialSelectedPlayers!
|
selectedPlayers = widget.initialSelectedPlayers!
|
||||||
.where(
|
.where(
|
||||||
(p) => allPlayers.any(
|
(p) => allPlayers.any((available) => available.id == p.id),
|
||||||
(available) => available.id == p.id,
|
|
||||||
),
|
|
||||||
)
|
)
|
||||||
.toList();
|
.toList();
|
||||||
} else {
|
} else {
|
||||||
@@ -267,7 +274,6 @@ class _PlayerSelectionState extends State<PlayerSelection> {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
/// Adds a new player to the database from the search bar input.
|
/// Adds a new player to the database from the search bar input.
|
||||||
/// Shows a snackbar indicating success or failure.
|
/// Shows a snackbar indicating success or failure.
|
||||||
|
|||||||
Reference in New Issue
Block a user