mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 12:23:31 +00:00
Disable circles edits and show snackbar message when done
Addresses #75
This commit is contained in:
parent
45c2b3b490
commit
5b8320d8c4
1 changed files with 32 additions and 25 deletions
|
@ -160,36 +160,43 @@ class _UserProfileScreenState extends State<UserProfileScreen> {
|
|||
return <CircleData>{};
|
||||
});
|
||||
myCircles.sort((g1, g2) => g1.name.compareTo(g2.name));
|
||||
|
||||
final circlesWidgets = myCircles.map((g) {
|
||||
return CheckboxListTile(
|
||||
title: Text(g.name),
|
||||
value: usersCircles.contains(g),
|
||||
onChanged: (bool? value) async {
|
||||
if (isUpdating) {
|
||||
return;
|
||||
}
|
||||
onChanged: isUpdating
|
||||
? null
|
||||
: (bool? value) async {
|
||||
if (isUpdating) {
|
||||
return;
|
||||
}
|
||||
|
||||
final isAdding = value == true;
|
||||
final confirm = await showYesNoDialog(
|
||||
context,
|
||||
isAdding
|
||||
? 'Add user to ${g.name}'
|
||||
: 'Remove user from ${g.name}');
|
||||
if (confirm != true) {
|
||||
return;
|
||||
}
|
||||
setState(() {
|
||||
isUpdating = true;
|
||||
});
|
||||
if (isAdding) {
|
||||
await manager.addUserToCircle(g, profile);
|
||||
} else {
|
||||
await manager.removeUserFromCircle(g, profile);
|
||||
}
|
||||
setState(() {
|
||||
isUpdating = false;
|
||||
});
|
||||
},
|
||||
final isAdding = value == true;
|
||||
final confirm = await showYesNoDialog(
|
||||
context,
|
||||
isAdding
|
||||
? 'Add user to ${g.name}'
|
||||
: 'Remove user from ${g.name}');
|
||||
if (confirm != true) {
|
||||
return;
|
||||
}
|
||||
setState(() {
|
||||
isUpdating = true;
|
||||
});
|
||||
if (isAdding) {
|
||||
await manager.addUserToCircle(g, profile);
|
||||
} else {
|
||||
await manager.removeUserFromCircle(g, profile);
|
||||
}
|
||||
if (mounted) {
|
||||
buildSnackbar(context, "User's Circles Updated");
|
||||
}
|
||||
|
||||
setState(() {
|
||||
isUpdating = false;
|
||||
});
|
||||
},
|
||||
);
|
||||
}).toList();
|
||||
return Column(
|
||||
|
|
Loading…
Reference in a new issue