mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Add RoomRolesAndPermissionsFlowCoordinator. (#2539)
This commit is contained in:
+1
@@ -28,6 +28,7 @@ struct RoomRolesAndPermissionsScreenViewState: BindableState {
|
||||
|
||||
enum RoomRolesAndPermissionsScreenViewAction {
|
||||
case editRoles(RoomRolesAndPermissionsScreenRole)
|
||||
case editOwnUserRole
|
||||
case editPermissions(RoomRolesAndPermissionsScreenPermissionsGroup)
|
||||
case reset
|
||||
}
|
||||
|
||||
+2
@@ -47,6 +47,8 @@ class RoomRolesAndPermissionsScreenViewModel: RoomRolesAndPermissionsScreenViewM
|
||||
switch viewAction {
|
||||
case .editRoles(let role):
|
||||
actionsSubject.send(.editRoles(role))
|
||||
case .editOwnUserRole:
|
||||
break
|
||||
case .editPermissions(let permissionsGroup):
|
||||
actionsSubject.send(.editPermissions(permissionsGroup))
|
||||
case .reset:
|
||||
|
||||
+11
@@ -40,6 +40,7 @@ struct RoomRolesAndPermissionsScreen: View {
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .editRoles(.administrators))
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.administrators)
|
||||
|
||||
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsModerators,
|
||||
icon: \.chatProblem),
|
||||
@@ -47,6 +48,13 @@ struct RoomRolesAndPermissionsScreen: View {
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .editRoles(.moderators))
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.moderators)
|
||||
|
||||
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsChangeMyRole,
|
||||
icon: \.edit),
|
||||
kind: .button {
|
||||
context.send(viewAction: .editOwnUserRole)
|
||||
})
|
||||
} header: {
|
||||
Text(L10n.screenRoomRolesAndPermissionsRolesHeader)
|
||||
.compoundListSectionHeader()
|
||||
@@ -76,18 +84,21 @@ struct RoomRolesAndPermissionsScreen: View {
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .editPermissions(.roomDetails))
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.roomDetails)
|
||||
|
||||
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsMessagesAndContent,
|
||||
icon: \.chat),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .editPermissions(.messagesAndContent))
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.messagesAndContent)
|
||||
|
||||
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsMemberModeration,
|
||||
icon: \.user),
|
||||
kind: .navigationLink {
|
||||
context.send(viewAction: .editPermissions(.memberModeration))
|
||||
})
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.memberModeration)
|
||||
} header: {
|
||||
Text(L10n.screenRoomRolesAndPermissionsPermissionsHeader)
|
||||
.compoundListSectionHeader()
|
||||
|
||||
Reference in New Issue
Block a user