1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-11-26 06:49:22 +00:00

Can update "allow posts from friends" setting

This commit is contained in:
Pierre HUBERT 2020-04-27 18:58:18 +02:00
parent 9e5decae61
commit 38c1474d2e
3 changed files with 24 additions and 7 deletions

View File

@ -11,7 +11,7 @@ class GeneralSettings {
String lastName;
UserPageVisibility pageVisibility;
bool allowComments;
final bool allowPostsFromFriends;
bool allowPostsFromFriends;
bool allowComunicEmails;
final bool publicFriendsList;
final String virtualDirectory;

View File

@ -50,11 +50,13 @@ class __GeneralAccountSettingsBodyState
@override
Widget build(BuildContext context) {
return AsyncScreenWidget(
key: _key,
onReload: () async =>
_settings = await SettingsHelper.getGeneralSettings(),
onBuild: _buildSettings,
errorMessage: tr("Could not load general settings!"));
key: _key,
onReload: () async =>
_settings = await SettingsHelper.getGeneralSettings(),
onBuild: _buildSettings,
errorMessage: tr("Could not load general settings!"),
showOldDataWhileUpdating: true,
);
}
Widget _buildSettings() {
@ -166,6 +168,16 @@ class __GeneralAccountSettingsBodyState
},
switchValue: _settings.allowComments,
),
// Allow posts from friends
SettingsTile.switchTile(
title: tr("Allow posts from your friends on your page"),
onToggle: (v) {
_settings.allowPostsFromFriends = v;
_updateSettings();
},
switchValue: _settings.allowPostsFromFriends,
),
];
}

View File

@ -25,14 +25,19 @@ class AsyncScreenWidget extends StatefulWidget {
/// Error message that will be shown in case of error
final String errorMessage;
/// Specify whether old data can be kept or not while updating this widget
final bool showOldDataWhileUpdating;
const AsyncScreenWidget({
Key key,
@required this.onReload,
@required this.onBuild,
@required this.errorMessage,
this.showOldDataWhileUpdating = false,
}) : assert(onReload != null),
assert(onBuild != null),
assert(errorMessage != null),
assert(showOldDataWhileUpdating != null),
super(key: key);
@override
@ -75,7 +80,7 @@ class AsyncScreenWidgetState extends SafeState<AsyncScreenWidget> {
try {
setState(() {
error = false;
ready = false;
ready = widget.showOldDataWhileUpdating;
});
// Call parent method