Sale Djenic f9244e2c9f fix(@desktop/onboarding): Onboarding/Login flow improvements
- startup, login and onboarding modules merged into the single one
- `State` class introduced which is the base class for all states, every state
  determines what is the next state in each of 3 possible actions, and what
  is the previous state, if it has previous state
- `StateWrapper` class is introduced as a convenient way to expose
  `State`'s props and deal with them on the qml side
- startup module maintains states as a linked list and there are few convenient
  methods to move through the list `onBackActionClicked`, `onNextPrimaryActionClicked`
  `onNextSecondaryActionClicked`, `onNextTertiaryActionClicked`
- redundant code removed

Fixes: #6473
2022-07-22 08:13:27 +02:00

67 lines
1.8 KiB
QML

import QtQuick 2.14
QtObject {
id: root
property var startupModuleInst: startupModule
property var currentStartupState: startupModuleInst.currentStartupState
property var selectedLoginAccount: startupModuleInst.selectedLoginAccount
function backAction() {
root.currentStartupState.backAction()
}
function doPrimaryAction() {
root.currentStartupState.doPrimaryAction()
}
function doSecondaryAction() {
root.currentStartupState.doSecondaryAction()
}
function doTertiaryAction() {
root.currentStartupState.doTertiaryAction()
}
function showBeforeGetStartedPopup() {
return root.startupModuleInst.showBeforeGetStartedPopup()
}
function beforeGetStartedPopupAccepted() {
root.startupModuleInst.beforeGetStartedPopupAccepted()
}
function generateImage(source, aX, aY, bX, bY) {
return root.startupModuleInst.generateImage(source, aX, aY, bX, bY)
}
function setDisplayName(value) {
root.startupModuleInst.setDisplayName(value)
}
function getDisplayName() {
return root.startupModuleInst.getDisplayName()
}
function setPassword(value) {
root.startupModuleInst.setPassword(value)
}
function getPassword() {
return root.startupModuleInst.getPassword()
}
function getPasswordStrengthScore(password) {
let userName = root.startupModuleInst.importedAccountAlias
return root.startupModuleInst.getPasswordStrengthScore(password, userName)
}
function validMnemonic(mnemonic) {
return root.startupModuleInst.validMnemonic(mnemonic)
}
function setSelectedLoginAccountByIndex(index) {
root.startupModuleInst.setSelectedLoginAccountByIndex(index)
}
}