mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 06:55:59 +00:00
Refactored alert info to not use the soon to be deprecated API (#1084)
* refactored alert info to not use the soon to be deprecated API * missing files and changelog * updated some tests * Update ElementX/Sources/Screens/RoomMemberDetailsScreen/View/RoomMemberDetailsScreen.swift Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com> --------- Co-authored-by: Doug <6060466+pixlwave@users.noreply.github.com>
This commit is contained in:
+7
-2
@@ -26,7 +26,7 @@ struct RoomMemberDetailsScreenViewState: BindableState {
|
||||
}
|
||||
|
||||
struct RoomMemberDetailsScreenViewStateBindings {
|
||||
struct IgnoreUserAlertItem: AlertItem, Equatable {
|
||||
struct IgnoreUserAlertItem: AlertProtocol, Equatable {
|
||||
enum Action {
|
||||
case ignore
|
||||
case unignore
|
||||
@@ -65,7 +65,7 @@ struct RoomMemberDetailsScreenViewStateBindings {
|
||||
}
|
||||
|
||||
var ignoreUserAlert: IgnoreUserAlertItem?
|
||||
var errorAlert: ErrorAlertItem?
|
||||
var alertInfo: AlertInfo<RoomMemberDetailsScreenError>?
|
||||
}
|
||||
|
||||
enum RoomMemberDetailsScreenViewAction {
|
||||
@@ -74,3 +74,8 @@ enum RoomMemberDetailsScreenViewAction {
|
||||
case ignoreConfirmed
|
||||
case unignoreConfirmed
|
||||
}
|
||||
|
||||
enum RoomMemberDetailsScreenError: Hashable {
|
||||
case alert(String)
|
||||
case unknown
|
||||
}
|
||||
|
||||
+4
-4
@@ -55,8 +55,8 @@ class RoomMemberDetailsScreenViewModel: RoomMemberDetailsScreenViewModelType, Ro
|
||||
switch result {
|
||||
case .success:
|
||||
state.details.isIgnored = true
|
||||
case .failure(let error):
|
||||
state.bindings.errorAlert = .init(error: error)
|
||||
case .failure:
|
||||
state.bindings.alertInfo = .init(id: .unknown)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -68,8 +68,8 @@ class RoomMemberDetailsScreenViewModel: RoomMemberDetailsScreenViewModelType, Ro
|
||||
switch result {
|
||||
case .success:
|
||||
state.details.isIgnored = false
|
||||
case .failure(let error):
|
||||
state.bindings.errorAlert = .init(error: error)
|
||||
case .failure:
|
||||
state.bindings.alertInfo = .init(id: .unknown)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,7 +29,7 @@ struct RoomMemberDetailsScreen: View {
|
||||
}
|
||||
.elementFormStyle()
|
||||
.alert(item: $context.ignoreUserAlert, actions: blockUserAlertActions, message: blockUserAlertMessage)
|
||||
.errorAlert(item: $context.errorAlert)
|
||||
.alert(item: $context.alertInfo)
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
Reference in New Issue
Block a user