mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 08:15:16 +00:00
Can change group visibility
This commit is contained in:
@ -1,9 +1,12 @@
|
||||
import 'package:comunic/helpers/groups_helper.dart';
|
||||
import 'package:comunic/models/advanced_group_info.dart';
|
||||
import 'package:comunic/models/group.dart';
|
||||
import 'package:comunic/ui/dialogs/multi_choices_dialog.dart';
|
||||
import 'package:comunic/ui/dialogs/virtual_directory_dialog.dart';
|
||||
import 'package:comunic/ui/widgets/async_screen_widget.dart';
|
||||
import 'package:comunic/ui/widgets/comunic_back_button_widget.dart';
|
||||
import 'package:comunic/ui/widgets/safe_state.dart';
|
||||
import 'package:comunic/ui/widgets/settings/multi_choices_settings_tile.dart';
|
||||
import 'package:comunic/ui/widgets/settings/text_settings_edit_tile.dart';
|
||||
import 'package:comunic/utils/input_utils.dart';
|
||||
import 'package:comunic/utils/intl_utils.dart';
|
||||
@ -69,7 +72,10 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
|
||||
|
||||
Widget _buildContent() {
|
||||
return SettingsList(
|
||||
sections: [_buildGeneralSection()],
|
||||
sections: [
|
||||
_buildGeneralSection(),
|
||||
_buildAccessRestrictions(),
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
@ -137,4 +143,37 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
|
||||
],
|
||||
);
|
||||
}
|
||||
|
||||
List<MultiChoiceEntry<GroupVisibilityLevel>> get _visibilityLevels => [
|
||||
MultiChoiceEntry(
|
||||
id: GroupVisibilityLevel.OPEN,
|
||||
title: tr("Open group"),
|
||||
subtitle:
|
||||
tr("Group information & public posts are available to everyone."),
|
||||
),
|
||||
MultiChoiceEntry(
|
||||
id: GroupVisibilityLevel.PRIVATE,
|
||||
title: tr("Private groupe"),
|
||||
subtitle: tr("The group is accessible to accepted members only."),
|
||||
),
|
||||
MultiChoiceEntry(
|
||||
id: GroupVisibilityLevel.SECRETE,
|
||||
title: tr("Secrete groupe"),
|
||||
subtitle: tr("The group is visible only to invited members."),
|
||||
),
|
||||
];
|
||||
|
||||
Widget _buildAccessRestrictions() => SettingsSection(
|
||||
title: tr("Access restrictions"),
|
||||
tiles: [
|
||||
MultiChoicesSettingsTile(
|
||||
title: tr("Group visibility"),
|
||||
choices: _visibilityLevels,
|
||||
currentValue: _groupSettings.visibilityLevel,
|
||||
onChanged: (v) {
|
||||
_groupSettings.visibilityLevel = v;
|
||||
_updateSettings();
|
||||
})
|
||||
],
|
||||
);
|
||||
}
|
||||
|
Reference in New Issue
Block a user