Permissions screen redesign (#4735)

* Redesigned permissions screen

# Conflicts:
#	ElementX.xcodeproj/project.pbxproj

* updated tests

* update proj

* fix pseudo language tests
This commit is contained in:
Mauro
2025-11-12 14:41:44 +01:00
committed by GitHub
parent cd411b57e0
commit cbe0cfe129
76 changed files with 545 additions and 467 deletions
@@ -119,10 +119,10 @@ class RoomRolesAndPermissionsFlowCoordinator: FlowCoordinatorProtocol {
stateMachine.addRoutes(event: .finishedChangingRoles, transitions: [.changingRoles => .rolesAndPermissionsScreen])
stateMachine.addRoutes(event: .changePermissions, transitions: [.rolesAndPermissionsScreen => .changingPermissions]) { [weak self] context in
guard let (permissions, group) = context.userInfo as? (RoomPermissions, RoomRolesAndPermissionsScreenPermissionsGroup) else {
guard let permissions = context.userInfo as? RoomPermissions else {
fatalError("Expected a group and the current permissions")
}
self?.presentChangePermissionsScreen(permissions: permissions, group: group)
self?.presentChangePermissionsScreen(permissions: permissions)
}
stateMachine.addRoutes(event: .finishedChangingPermissions, transitions: [.changingPermissions => .rolesAndPermissionsScreen])
@@ -144,8 +144,8 @@ class RoomRolesAndPermissionsFlowCoordinator: FlowCoordinatorProtocol {
switch action {
case .editRoles(let role):
stateMachine.tryEvent(.changeRoles, userInfo: role)
case .editPermissions(let permissions, let group):
stateMachine.tryEvent(.changePermissions, userInfo: (permissions, group))
case .editPermissions(let permissions):
stateMachine.tryEvent(.changePermissions, userInfo: permissions)
case .demotedOwnUser:
stateMachine.tryEvent(.demotedOwnUser)
}
@@ -179,9 +179,8 @@ class RoomRolesAndPermissionsFlowCoordinator: FlowCoordinatorProtocol {
}
}
private func presentChangePermissionsScreen(permissions: RoomPermissions, group: RoomRolesAndPermissionsScreenPermissionsGroup) {
private func presentChangePermissionsScreen(permissions: RoomPermissions) {
let parameters = RoomChangePermissionsScreenCoordinatorParameters(permissions: permissions,
permissionsGroup: group,
roomProxy: roomProxy,
userIndicatorController: userIndicatorController,
analytics: analytics)