mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Use the new strings for send failures when the unsigned devices are your own. (#3299)
This commit is contained in:
+9
-4
@@ -23,18 +23,23 @@ enum ResolveVerifiedUserSendFailureScreenViewModelAction {
|
||||
struct ResolveVerifiedUserSendFailureScreenViewState: BindableState {
|
||||
var currentFailure: TimelineItemSendFailure.VerifiedUser
|
||||
var currentMemberDisplayName: String
|
||||
var isYou: Bool
|
||||
|
||||
var title: String {
|
||||
switch currentFailure {
|
||||
case .hasUnsignedDevice: L10n.screenResolveSendFailureUnsignedDeviceTitle(currentMemberDisplayName)
|
||||
case .changedIdentity: L10n.screenResolveSendFailureChangedIdentityTitle(currentMemberDisplayName)
|
||||
case .hasUnsignedDevice:
|
||||
isYou ? L10n.screenResolveSendFailureYouUnsignedDeviceTitle : L10n.screenResolveSendFailureUnsignedDeviceTitle(currentMemberDisplayName)
|
||||
case .changedIdentity:
|
||||
L10n.screenResolveSendFailureChangedIdentityTitle(currentMemberDisplayName)
|
||||
}
|
||||
}
|
||||
|
||||
var subtitle: String {
|
||||
switch currentFailure {
|
||||
case .hasUnsignedDevice: L10n.screenResolveSendFailureUnsignedDeviceSubtitle(currentMemberDisplayName, currentMemberDisplayName)
|
||||
case .changedIdentity: L10n.screenResolveSendFailureChangedIdentitySubtitle(currentMemberDisplayName)
|
||||
case .hasUnsignedDevice:
|
||||
isYou ? L10n.screenResolveSendFailureYouUnsignedDeviceSubtitle : L10n.screenResolveSendFailureUnsignedDeviceSubtitle(currentMemberDisplayName, currentMemberDisplayName)
|
||||
case .changedIdentity:
|
||||
L10n.screenResolveSendFailureChangedIdentitySubtitle(currentMemberDisplayName)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+3
-1
@@ -49,7 +49,8 @@ class ResolveVerifiedUserSendFailureScreenViewModel: ResolveVerifiedUserSendFail
|
||||
}
|
||||
|
||||
super.init(initialViewState: ResolveVerifiedUserSendFailureScreenViewState(currentFailure: failure,
|
||||
currentMemberDisplayName: members[userID]?.displayName ?? userID))
|
||||
currentMemberDisplayName: members[userID]?.displayName ?? userID,
|
||||
isYou: userID == roomProxy.ownUserID))
|
||||
}
|
||||
|
||||
// MARK: Public
|
||||
@@ -83,6 +84,7 @@ class ResolveVerifiedUserSendFailureScreenViewModel: ResolveVerifiedUserSendFail
|
||||
if let (userID, failure) = iterator.next() {
|
||||
state.currentMemberDisplayName = members[userID]?.displayName ?? userID
|
||||
state.currentFailure = failure
|
||||
state.isYou = userID == roomProxy.ownUserID
|
||||
} else {
|
||||
actionsSubject.send(.dismiss)
|
||||
}
|
||||
|
||||
+4
@@ -78,12 +78,16 @@ struct ResolveVerifiedUserSendFailureScreen: View {
|
||||
|
||||
struct ResolveVerifiedUserSendFailureScreen_Previews: PreviewProvider, TestablePreview {
|
||||
static let unsignedDeviceViewModel = makeViewModel(failure: .hasUnsignedDevice(devices: ["@alice:matrix.org": []]))
|
||||
static let ownUnsignedDeviceViewModel = makeViewModel(failure: .hasUnsignedDevice(devices: [RoomMemberProxyMock.mockMe.userID: []]))
|
||||
static let changedIdentityViewModel = makeViewModel(failure: .changedIdentity(users: ["@alice:matrix.org"]))
|
||||
|
||||
static var previews: some View {
|
||||
ResolveVerifiedUserSendFailureScreen(context: unsignedDeviceViewModel.context)
|
||||
.previewDisplayName("Unsigned Device")
|
||||
|
||||
ResolveVerifiedUserSendFailureScreen(context: ownUnsignedDeviceViewModel.context)
|
||||
.previewDisplayName("Own Unsigned Device")
|
||||
|
||||
ResolveVerifiedUserSendFailureScreen(context: changedIdentityViewModel.context)
|
||||
.previewDisplayName("Identity Changed")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user