mirror of
https://github.com/element-hq/element-x-ios.git
synced 2025-03-10 21:39:12 +00:00
Room Member Details block section code improvement
This commit is contained in:
parent
660dacaca9
commit
b2f3f289d7
@ -74,29 +74,30 @@ struct RoomMemberDetailsScreen: View {
|
||||
|
||||
private var blockUserSection: some View {
|
||||
Section {
|
||||
if context.viewState.isIgnored {
|
||||
Button {
|
||||
context.send(viewAction: .showUnignoreAlert)
|
||||
} label: {
|
||||
Label(L10n.screenRoomMemberDetailsUnblockUser, systemImage: "slash.circle")
|
||||
}
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomMemberDetailsScreen.unignore)
|
||||
.buttonStyle(FormButtonStyle(accessory: context.viewState.isProcessingIgnoreRequest ? .progressView : nil))
|
||||
.disabled(context.viewState.isProcessingIgnoreRequest)
|
||||
} else {
|
||||
Button(role: .destructive) {
|
||||
context.send(viewAction: .showIgnoreAlert)
|
||||
} label: {
|
||||
Label(L10n.screenRoomMemberDetailsBlockUser, systemImage: "slash.circle")
|
||||
}
|
||||
.accessibilityIdentifier(A11yIdentifiers.roomMemberDetailsScreen.ignore)
|
||||
.buttonStyle(FormButtonStyle(accessory: context.viewState.isProcessingIgnoreRequest ? .progressView : nil))
|
||||
.disabled(context.viewState.isProcessingIgnoreRequest)
|
||||
Button {
|
||||
context.send(viewAction: blockUserButtonAction)
|
||||
} label: {
|
||||
Label(blockUserButtonTitle, systemImage: "slash.circle")
|
||||
}
|
||||
.accessibilityIdentifier(blockUserButtonAccessibilityIdentifier)
|
||||
.buttonStyle(FormButtonStyle(accessory: context.viewState.isProcessingIgnoreRequest ? .progressView : nil))
|
||||
.disabled(context.viewState.isProcessingIgnoreRequest)
|
||||
}
|
||||
.formSectionStyle()
|
||||
}
|
||||
|
||||
private var blockUserButtonAction: RoomMemberDetailsViewAction {
|
||||
context.viewState.isIgnored ? .showUnignoreAlert : .showIgnoreAlert
|
||||
}
|
||||
|
||||
private var blockUserButtonTitle: String {
|
||||
context.viewState.isIgnored ? L10n.screenRoomMemberDetailsUnblockUser : L10n.screenRoomMemberDetailsBlockUser
|
||||
}
|
||||
|
||||
private var blockUserButtonAccessibilityIdentifier: String {
|
||||
context.viewState.isIgnored ? A11yIdentifiers.roomMemberDetailsScreen.unignore : A11yIdentifiers.roomMemberDetailsScreen.ignore
|
||||
}
|
||||
|
||||
@ViewBuilder
|
||||
private func blockUserAlertActions(_ item: IgnoreUserAlertItem) -> some View {
|
||||
Button(item.cancelTitle, role: .cancel) { }
|
||||
|
Loading…
x
Reference in New Issue
Block a user