This commit is contained in:
2025-11-01 15:52:12 +01:00
parent 3054027ebf
commit 1c6c19c4c9
6 changed files with 67 additions and 30 deletions

View File

@@ -80,16 +80,22 @@ class _MembersDialogState extends State<MembersDialog> {
final List<String> newMembers = [...widget.list.members, user.id];
await apiService.updateList(widget.list.id, members: newMembers);
setState(() {
widget.list.members = newMembers;
_userEmails[user.id] = user.data['email'] as String;
_emailCtl.clear();
_hasChanges = true;
});
if (mounted) {
setState(() {
widget.list.members = newMembers;
_userEmails[user.id] = user.data['email'] as String;
_emailCtl.clear();
_hasChanges = true;
});
}
} catch (e) {
setState(() => _error = e.toString());
if (mounted) {
setState(() => _error = e.toString());
}
} finally {
setState(() => _isLoading = false);
if (mounted) {
setState(() => _isLoading = false);
}
}
}
@@ -128,17 +134,29 @@ class _MembersDialogState extends State<MembersDialog> {
.toList();
await apiService.updateList(widget.list.id, members: newMembers);
setState(() {
widget.list.members = newMembers;
_hasChanges = true;
});
if (mounted) {
setState(() {
widget.list.members = newMembers;
_hasChanges = true;
});
}
} catch (e) {
setState(() => _error = e.toString());
if (mounted) {
setState(() => _error = e.toString());
}
} finally {
setState(() => _isLoading = false);
if (mounted) {
setState(() => _isLoading = false);
}
}
}
@override
void dispose() {
_emailCtl.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
final bool isOwner = widget.list.owner == apiService.userId;