mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-11-04 04:04:18 +00:00 
			
		
		
		
	Can change group members visibility settings
This commit is contained in:
		@@ -4,14 +4,14 @@
 | 
			
		||||
 | 
			
		||||
// ignore_for_file: lines_longer_than_80_chars
 | 
			
		||||
 | 
			
		||||
// ignore: implementation_imports
 | 
			
		||||
import 'package:file_picker/src/file_picker_web.dart';
 | 
			
		||||
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
 | 
			
		||||
import 'package:shared_preferences_web/shared_preferences_web.dart';
 | 
			
		||||
import 'package:url_launcher_web/url_launcher_web.dart';
 | 
			
		||||
import 'package:video_player_web/video_player_web.dart';
 | 
			
		||||
import 'package:wakelock_web/wakelock_web.dart';
 | 
			
		||||
 | 
			
		||||
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
 | 
			
		||||
 | 
			
		||||
// ignore: public_member_api_docs
 | 
			
		||||
void registerPlugins(Registrar registrar) {
 | 
			
		||||
  FilePickerWeb.registerWith(registrar);
 | 
			
		||||
 
 | 
			
		||||
@@ -236,6 +236,7 @@ class GroupsHelper {
 | 
			
		||||
            "posts_level",
 | 
			
		||||
            invertMap(
 | 
			
		||||
                _APIGroupsPostsCreationLevelsMap)[settings.postCreationLevel])
 | 
			
		||||
        .addBool("is_members_list_public", settings.isMembersListPublic)
 | 
			
		||||
        .addString("description", settings.description)
 | 
			
		||||
        .addString("url", settings.url)
 | 
			
		||||
        .execWithThrow();
 | 
			
		||||
@@ -356,6 +357,7 @@ class GroupsHelper {
 | 
			
		||||
        registrationLevel:
 | 
			
		||||
            _APIGroupsRegistrationLevelsMap[map["registration_level"]],
 | 
			
		||||
        postCreationLevel: _APIGroupsPostsCreationLevelsMap[map["posts_level"]],
 | 
			
		||||
        isMembersListPublic: map["is_members_list_public"],
 | 
			
		||||
        virtualDirectory: nullToEmpty(map["virtual_directory"]),
 | 
			
		||||
        following: map["following"],
 | 
			
		||||
        timeCreate: map["time_create"],
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ import 'group.dart';
 | 
			
		||||
/// @author Pierre Hubert
 | 
			
		||||
 | 
			
		||||
class AdvancedGroupInfo extends Group implements LikeElement {
 | 
			
		||||
  bool isMembersListPublic;
 | 
			
		||||
  final int timeCreate;
 | 
			
		||||
  String description;
 | 
			
		||||
  String url;
 | 
			
		||||
@@ -26,6 +27,7 @@ class AdvancedGroupInfo extends Group implements LikeElement {
 | 
			
		||||
    @required GroupPostCreationLevel postCreationLevel,
 | 
			
		||||
    @required String virtualDirectory,
 | 
			
		||||
    @required bool following,
 | 
			
		||||
    @required this.isMembersListPublic,
 | 
			
		||||
    @required this.timeCreate,
 | 
			
		||||
    @required this.description,
 | 
			
		||||
    @required this.url,
 | 
			
		||||
 
 | 
			
		||||
@@ -88,6 +88,14 @@ class AboutGroupSection extends StatelessWidget {
 | 
			
		||||
                    ? tr("Private group")
 | 
			
		||||
                    : tr("Open group"))),
 | 
			
		||||
          ),
 | 
			
		||||
 | 
			
		||||
          // Group members visibility
 | 
			
		||||
          ListTile(
 | 
			
		||||
            leading: Icon(Icons.remove_red_eye),
 | 
			
		||||
            title: Text(tr("Members list visibility")),
 | 
			
		||||
            subtitle:
 | 
			
		||||
                Text(group.isMembersListPublic ? tr("Public") : tr("Private")),
 | 
			
		||||
          ),
 | 
			
		||||
        ],
 | 
			
		||||
      );
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -243,6 +243,16 @@ class _GroupSettingsScreenState extends SafeState<GroupSettingsScreen> {
 | 
			
		||||
                _groupSettings.postCreationLevel = s;
 | 
			
		||||
                _updateSettings();
 | 
			
		||||
              }),
 | 
			
		||||
 | 
			
		||||
          // Groups members list visibility
 | 
			
		||||
          SettingsTile.switchTile(
 | 
			
		||||
            title: tr("Make members list public"),
 | 
			
		||||
            onToggle: (s) {
 | 
			
		||||
              _groupSettings.isMembersListPublic = s;
 | 
			
		||||
              _updateSettings();
 | 
			
		||||
            },
 | 
			
		||||
            switchValue: _groupSettings.isMembersListPublic,
 | 
			
		||||
          )
 | 
			
		||||
        ],
 | 
			
		||||
      );
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user