diff --git a/src/app/modules/onboarding/module.nim b/src/app/modules/onboarding/module.nim index b723247bae..a08eb219d8 100644 --- a/src/app/modules/onboarding/module.nim +++ b/src/app/modules/onboarding/module.nim @@ -264,12 +264,14 @@ method onNodeLogin*[T](self: Module[T], err: string, account: AccountDto, settin let err2 = self.delegate.userLoggedIn() if err2.len != 0: error "error from userLoggedIn", err2 + self.onAccountLoginError(err2) return if self.localPairingStatus != nil and self.localPairingStatus.installation != nil and self.localPairingStatus.installation.id != "": # We tried to login by pairing, so finilize the process self.controller.finishPairingThroughSeedPhraseProcess(self.localPairingStatus.installation.id) + self.view.accountLoginSuccess() self.finishAppLoading2() method onLocalPairingStatusUpdate*[T](self: Module[T], status: LocalPairingStatus) = diff --git a/src/app/modules/onboarding/view.nim b/src/app/modules/onboarding/view.nim index 1dd494b4a7..c3c6b4ce69 100644 --- a/src/app/modules/onboarding/view.nim +++ b/src/app/modules/onboarding/view.nim @@ -36,6 +36,7 @@ QtObject: proc appLoaded*(self: View) {.signal.} proc accountLoginError*(self: View, error: string, wrongPassword: bool) {.signal.} + proc accountLoginSuccess*(self: View) {.signal.} ### QtProperties ### diff --git a/storybook/pages/OnboardingLayoutPage.qml b/storybook/pages/OnboardingLayoutPage.qml index ecff586f81..d1c005fd7f 100644 --- a/storybook/pages/OnboardingLayoutPage.qml +++ b/storybook/pages/OnboardingLayoutPage.qml @@ -164,14 +164,18 @@ SplitView { logs.logEvent("OnboardingStore.inputConnectionStringForBootstrapping", ["connectionString"], arguments) } - // password signals + // login result signals signal accountLoginError(string error, bool wrongPassword) - - // (test) error handler onAccountLoginError: function (error, wrongPassword) { ctrlLoginResult.result = "" onboarding.unwindToLoginScreen() } + + signal accountLoginSuccess() + onAccountLoginSuccess: { + ctrlLoginResult.result = "" + onboarding.stack.push(splashScreen, { runningProgressAnimation: true }) + } } biometricsAvailable: ctrlBiometrics.checked @@ -204,8 +208,7 @@ SplitView { onboardingStore.accountLoginError("", true) ctrlLoginResult.result = "" } else { - ctrlLoginResult.result = "" - stack.push(splashScreen, { runningProgressAnimation: true }) + onboardingStore.accountLoginSuccess() } } diff --git a/ui/app/AppLayouts/Onboarding2/stores/OnboardingStore.qml b/ui/app/AppLayouts/Onboarding2/stores/OnboardingStore.qml index 4bd0a9db2b..bb9aab75aa 100644 --- a/ui/app/AppLayouts/Onboarding2/stores/OnboardingStore.qml +++ b/ui/app/AppLayouts/Onboarding2/stores/OnboardingStore.qml @@ -9,6 +9,9 @@ QtObject { signal appLoaded + signal accountLoginSuccess() + signal accountLoginError(string error, bool wrongPassword) + readonly property QtObject d: StatusQUtils.QObject { id: d readonly property var onboardingModuleInst: onboardingModule @@ -16,6 +19,7 @@ QtObject { Component.onCompleted: { d.onboardingModuleInst.appLoaded.connect(root.appLoaded) d.onboardingModuleInst.accountLoginError.connect(root.accountLoginError) + d.onboardingModuleInst.accountLoginSuccess.connect(root.accountLoginSuccess) } } @@ -62,8 +66,6 @@ QtObject { } // password - signal accountLoginError(string error, bool wrongPassword) - function getPasswordStrengthScore(password: string) { // -> int return d.onboardingModuleInst.getPasswordStrengthScore(password, "") // The second argument is username } diff --git a/ui/main.qml b/ui/main.qml index f499594256..a4c10319ff 100644 --- a/ui/main.qml +++ b/ui/main.qml @@ -480,7 +480,6 @@ StatusWindow { } onLoginRequested: function (keyUid, method, data) { - stack.push(splashScreenV2, { runningProgressAnimation: true }) onboardingStore.loginRequested(keyUid, method, data) } @@ -499,6 +498,9 @@ StatusWindow { applicationWindow.storeAppState() moveToAppMain() } + onAccountLoginSuccess: { + stack.push(splashScreenV2, { runningProgressAnimation: true }) + } onAccountLoginError: function (error, wrongPassword) { onboardingLayout.unwindToLoginScreen() // error handled internally }