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
@@ -92,42 +92,22 @@ struct RoomRolesAndPermissionsScreen: View {
private var permissionsSection: some View {
Section {
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsRoomDetails,
icon: \.info),
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsPermissionsHeader,
icon: \.settings),
details: .isWaiting(context.viewState.permissions == nil),
kind: .navigationLink {
context.send(viewAction: .editPermissions(.roomDetails))
context.send(viewAction: .editPermissions)
})
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.roomDetails)
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.permissions)
.disabled(context.viewState.permissions == nil)
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsMessagesAndContent,
icon: \.chat),
details: .isWaiting(context.viewState.permissions == nil),
kind: .navigationLink {
context.send(viewAction: .editPermissions(.messagesAndContent))
})
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.messagesAndContent)
.disabled(context.viewState.permissions == nil)
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsMemberModeration,
icon: \.user),
details: .isWaiting(context.viewState.permissions == nil),
kind: .navigationLink {
context.send(viewAction: .editPermissions(.memberModeration))
})
.accessibilityIdentifier(A11yIdentifiers.roomRolesAndPermissionsScreen.memberModeration)
.disabled(context.viewState.permissions == nil)
} header: {
Text(L10n.screenRoomRolesAndPermissionsPermissionsHeader)
.compoundListSectionHeader()
}
}
private var resetSection: some View {
Section {
ListRow(label: .plain(title: L10n.screenRoomRolesAndPermissionsReset,
role: .destructive),
ListRow(label: .default(title: L10n.screenRoomRolesAndPermissionsReset,
icon: \.delete,
role: .destructive),
kind: .button {
context.send(viewAction: .reset)
})