mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Move session related responsibilities from ChatsFlowFlowCoordinator to UserSessionFlowCoordinator.
Specifically: onboarding, session verification and logout.
This commit is contained in:
+2
-2
@@ -16,12 +16,12 @@ enum SessionVerificationScreenCoordinatorAction {
|
||||
enum SessionVerificationScreenFlow {
|
||||
case deviceInitiator
|
||||
case deviceResponder(requestDetails: SessionVerificationRequestDetails)
|
||||
case userIntiator(userID: String)
|
||||
case userInitiator(userID: String)
|
||||
case userResponder(requestDetails: SessionVerificationRequestDetails)
|
||||
|
||||
var isResponder: Bool {
|
||||
switch self {
|
||||
case .deviceInitiator, .userIntiator:
|
||||
case .deviceInitiator, .userInitiator:
|
||||
false
|
||||
case .deviceResponder, .userResponder:
|
||||
true
|
||||
|
||||
+6
-6
@@ -36,7 +36,7 @@ struct SessionVerificationScreenViewState: BindableState {
|
||||
switch flow {
|
||||
case .deviceInitiator, .deviceResponder:
|
||||
return (\.devices, .defaultSolid)
|
||||
case .userIntiator, .userResponder:
|
||||
case .userInitiator, .userResponder:
|
||||
return (\.userProfileSolid, .defaultSolid)
|
||||
}
|
||||
case .acceptingVerificationRequest:
|
||||
@@ -74,7 +74,7 @@ struct SessionVerificationScreenViewState: BindableState {
|
||||
switch flow {
|
||||
case .deviceInitiator:
|
||||
return L10n.screenSessionVerificationUseAnotherDeviceTitle
|
||||
case .userIntiator:
|
||||
case .userInitiator:
|
||||
return L10n.screenSessionVerificationUserInitiatorTitle
|
||||
case .deviceResponder, .userResponder:
|
||||
return L10n.screenSessionVerificationRequestTitle
|
||||
@@ -108,7 +108,7 @@ struct SessionVerificationScreenViewState: BindableState {
|
||||
switch flow {
|
||||
case .deviceInitiator, .deviceResponder:
|
||||
return L10n.screenSessionVerificationWaitingOtherDeviceTitle
|
||||
case .userIntiator, .userResponder:
|
||||
case .userInitiator, .userResponder:
|
||||
return L10n.screenSessionVerificationWaitingOtherUserTitle
|
||||
}
|
||||
}
|
||||
@@ -119,7 +119,7 @@ struct SessionVerificationScreenViewState: BindableState {
|
||||
switch flow {
|
||||
case .deviceInitiator:
|
||||
return L10n.screenSessionVerificationUseAnotherDeviceSubtitle
|
||||
case .userIntiator:
|
||||
case .userInitiator:
|
||||
return L10n.screenSessionVerificationUserInitiatorSubtitle
|
||||
case .deviceResponder:
|
||||
return L10n.screenSessionVerificationRequestSubtitle
|
||||
@@ -146,14 +146,14 @@ struct SessionVerificationScreenViewState: BindableState {
|
||||
switch flow {
|
||||
case .deviceInitiator, .deviceResponder:
|
||||
return L10n.screenSessionVerificationCompareEmojisSubtitle
|
||||
case .userIntiator, .userResponder:
|
||||
case .userInitiator, .userResponder:
|
||||
return L10n.screenSessionVerificationCompareEmojisUserSubtitle
|
||||
}
|
||||
case .verified:
|
||||
switch flow {
|
||||
case .deviceInitiator, .deviceResponder:
|
||||
return L10n.screenSessionVerificationCompleteSubtitle
|
||||
case .userIntiator, .userResponder:
|
||||
case .userInitiator, .userResponder:
|
||||
return L10n.screenSessionVerificationCompleteUserSubtitle
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -178,7 +178,7 @@ class SessionVerificationScreenViewModel: SessionVerificationViewModelType, Sess
|
||||
switch flow {
|
||||
case .deviceInitiator:
|
||||
return await sessionVerificationControllerProxy.requestDeviceVerification()
|
||||
case .userIntiator(let userID):
|
||||
case .userInitiator(let userID):
|
||||
return await sessionVerificationControllerProxy.requestUserVerification(userID)
|
||||
default:
|
||||
fatalError("Incorrect API usage.")
|
||||
|
||||
+5
-5
@@ -43,7 +43,7 @@ struct SessionVerificationScreen: View {
|
||||
private var toolbar: some ToolbarContent {
|
||||
ToolbarItem(placement: .cancellationAction) {
|
||||
switch context.viewState.flow {
|
||||
case .userIntiator, .userResponder:
|
||||
case .userInitiator, .userResponder:
|
||||
Button(L10n.actionCancel) {
|
||||
context.send(viewAction: .cancel)
|
||||
}
|
||||
@@ -91,7 +91,7 @@ struct SessionVerificationScreen: View {
|
||||
SessionVerificationRequestDetailsView(details: details,
|
||||
isUserVerification: true,
|
||||
mediaProvider: context.mediaProvider)
|
||||
case .userIntiator:
|
||||
case .userInitiator:
|
||||
Button(L10n.actionLearnMore) {
|
||||
UIApplication.shared.open(context.viewState.learnMoreURL)
|
||||
}
|
||||
@@ -129,7 +129,7 @@ struct SessionVerificationScreen: View {
|
||||
switch context.viewState.verificationState {
|
||||
case .initial:
|
||||
switch context.viewState.flow {
|
||||
case .deviceInitiator, .userIntiator:
|
||||
case .deviceInitiator, .userInitiator:
|
||||
Button(L10n.actionStartVerification) {
|
||||
context.send(viewAction: .requestVerification)
|
||||
}
|
||||
@@ -152,7 +152,7 @@ struct SessionVerificationScreen: View {
|
||||
}
|
||||
case .cancelled:
|
||||
switch context.viewState.flow {
|
||||
case .deviceInitiator, .userIntiator:
|
||||
case .deviceInitiator, .userInitiator:
|
||||
Button(L10n.actionRetry) {
|
||||
context.send(viewAction: .restart)
|
||||
}
|
||||
@@ -214,7 +214,7 @@ struct SessionVerification_Previews: PreviewProvider, TestablePreview {
|
||||
sessionVerificationScreen(state: .initial, flow: .deviceInitiator)
|
||||
.previewDisplayName("Initial - Device Initiator")
|
||||
|
||||
sessionVerificationScreen(state: .initial, flow: .userIntiator(userID: "@bob:matrix.org"))
|
||||
sessionVerificationScreen(state: .initial, flow: .userInitiator(userID: "@bob:matrix.org"))
|
||||
.previewDisplayName("Initial - User Initiator")
|
||||
|
||||
let details = SessionVerificationRequestDetails(senderProfile: UserProfileProxy(userID: "@bob:matrix.org",
|
||||
|
||||
Reference in New Issue
Block a user