diff --git a/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart b/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart index b01f18c3c..64d2000bc 100644 --- a/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart +++ b/lib/pages/chat_permissions_settings/chat_permissions_settings_view.dart @@ -83,6 +83,13 @@ class ChatPermissionsSettingsView extends StatelessWidget { eventsPowerLevels.removeWhere( (key, value) => excludedEvents.contains(key), ); + + final spaceEvents = ['ban', 'invite', 'kick', 'user_default']; + if (room.isSpace) { + powerLevels.removeWhere( + (key, value) => !spaceEvents.contains(key), + ); + } // Pangea# return Column( children: [ @@ -123,44 +130,50 @@ class ChatPermissionsSettingsView extends StatelessWidget { room: room, // Pangea# ), - Divider(color: theme.dividerColor), - ListTile( - title: Text( - L10n.of(context).notifications, - style: TextStyle( - color: theme.colorScheme.primary, - fontWeight: FontWeight.bold, + // #Pangea + if (!room.isSpace) ...[ + // Pangea# + Divider(color: theme.dividerColor), + ListTile( + title: Text( + L10n.of(context).notifications, + style: TextStyle( + color: theme.colorScheme.primary, + fontWeight: FontWeight.bold, + ), ), ), - ), - Builder( - builder: (context) { - const key = 'rooms'; - final value = powerLevelsContent - .containsKey('notifications') - ? powerLevelsContent - .tryGetMap('notifications') - ?.tryGet('rooms') ?? - 0 - : 0; - return PermissionsListTile( - permissionKey: key, - permission: value, - category: 'notifications', - canEdit: room.canChangePowerLevel, - onChanged: (level) => controller.editPowerLevel( - context, - key, - value, - newLevel: level, + Builder( + builder: (context) { + const key = 'rooms'; + final value = + powerLevelsContent.containsKey('notifications') + ? powerLevelsContent + .tryGetMap( + 'notifications', + ) + ?.tryGet('rooms') ?? + 0 + : 0; + return PermissionsListTile( + permissionKey: key, + permission: value, category: 'notifications', - ), - // #Pangea - room: room, - // Pangea# - ); - }, - ), + canEdit: room.canChangePowerLevel, + onChanged: (level) => controller.editPowerLevel( + context, + key, + value, + newLevel: level, + category: 'notifications', + ), + // #Pangea + room: room, + // Pangea# + ); + }, + ), + ], Divider(color: theme.dividerColor), ListTile( title: Text(