From ee5fef7dda8be00d5e2fc7e4ffd15444060b2a07 Mon Sep 17 00:00:00 2001 From: Khushboo Mehta Date: Tue, 12 Oct 2021 20:26:02 +0200 Subject: [PATCH] feat(@desktop/onboarding): refactor/restructure ui/onboarding to new architecture closes #3799 --- .../controls/AccountViewDelegate.qml} | 24 +++++++-------- .../Onboarding/panels/AccountListPanel.qml} | 16 ++++------ .../popups}/BeforeGetStartedModal.qml | 7 +++-- .../popups}/ConfirmAddExistingKeyModal.qml | 11 ++----- .../popups}/EnterSeedPhraseModal.qml | 11 ++----- .../Onboarding/popups}/GenKeyModal.qml | 17 +++++------ .../popups}/InvalidSeedPhraseModal.qml | 5 ++-- .../popups/KeycardCreatePINModal.qml} | 12 +++++--- .../popups}/MnemonicRecoverySuccessModal.qml | 11 +++---- .../popups}/SelectAnotherAccountModal.qml | 19 +++++------- .../shared}/CreatePasswordModal.qml | 3 +- .../Onboarding/stores/KeycardStore.qml | 19 ++++++++++++ .../Onboarding/stores/LoginStore.qml | 24 +++++++++++++++ .../Onboarding/stores/OnboardingStore.qml | 29 ++++++++++++++++++ ui/app/AppLayouts/Onboarding/stores/qmldir | 3 ++ .../Onboarding/views/ExistingKeyView.qml} | 12 ++++---- .../Onboarding/views/GenKeyView.qml} | 12 ++++---- .../views/KeycardFlowSelectionView.qml} | 17 ++++++----- .../Onboarding/views/KeysMainView.qml} | 13 +++----- .../Onboarding/views/LoginView.qml} | 30 ++++++++++--------- .../Profile/Sections/PrivacyContainer.qml | 2 +- ui/main.qml | 12 ++++---- ui/nim-status-client.pro | 3 -- ui/onboarding/Keycard/qmldir | 1 - ui/onboarding/Login/qmldir | 4 --- ui/onboarding/Login/samples/AccountsData.qml | 20 ------------- ui/onboarding/Login/samples/qmldir | 1 - ui/onboarding/qmldir | 10 ------- 28 files changed, 181 insertions(+), 167 deletions(-) rename ui/{onboarding/Login/AccountView.qml => app/AppLayouts/Onboarding/controls/AccountViewDelegate.qml} (89%) rename ui/{onboarding/Login/AccountList.qml => app/AppLayouts/Onboarding/panels/AccountListPanel.qml} (78%) rename ui/{onboarding => app/AppLayouts/Onboarding/popups}/BeforeGetStartedModal.qml (98%) rename ui/{onboarding/Login => app/AppLayouts/Onboarding/popups}/ConfirmAddExistingKeyModal.qml (83%) rename ui/{onboarding => app/AppLayouts/Onboarding/popups}/EnterSeedPhraseModal.qml (93%) rename ui/{onboarding => app/AppLayouts/Onboarding/popups}/GenKeyModal.qml (84%) rename ui/{onboarding => app/AppLayouts/Onboarding/popups}/InvalidSeedPhraseModal.qml (91%) rename ui/{onboarding/Keycard/CreatePINModal.qml => app/AppLayouts/Onboarding/popups/KeycardCreatePINModal.qml} (95%) rename ui/{onboarding => app/AppLayouts/Onboarding/popups}/MnemonicRecoverySuccessModal.qml (89%) rename ui/{onboarding/Login => app/AppLayouts/Onboarding/popups}/SelectAnotherAccountModal.qml (76%) rename ui/{onboarding => app/AppLayouts/Onboarding/shared}/CreatePasswordModal.qml (99%) create mode 100644 ui/app/AppLayouts/Onboarding/stores/KeycardStore.qml create mode 100644 ui/app/AppLayouts/Onboarding/stores/LoginStore.qml create mode 100644 ui/app/AppLayouts/Onboarding/stores/OnboardingStore.qml create mode 100644 ui/app/AppLayouts/Onboarding/stores/qmldir rename ui/{onboarding/ExistingKey.qml => app/AppLayouts/Onboarding/views/ExistingKeyView.qml} (90%) rename ui/{onboarding/GenKey.qml => app/AppLayouts/Onboarding/views/GenKeyView.qml} (80%) rename ui/{onboarding/KeycardFlowSelection.qml => app/AppLayouts/Onboarding/views/KeycardFlowSelectionView.qml} (87%) rename ui/{onboarding/KeysMain.qml => app/AppLayouts/Onboarding/views/KeysMainView.qml} (94%) rename ui/{onboarding/Login.qml => app/AppLayouts/Onboarding/views/LoginView.qml} (91%) delete mode 100644 ui/onboarding/Keycard/qmldir delete mode 100644 ui/onboarding/Login/qmldir delete mode 100644 ui/onboarding/Login/samples/AccountsData.qml delete mode 100644 ui/onboarding/Login/samples/qmldir delete mode 100644 ui/onboarding/qmldir diff --git a/ui/onboarding/Login/AccountView.qml b/ui/app/AppLayouts/Onboarding/controls/AccountViewDelegate.qml similarity index 89% rename from ui/onboarding/Login/AccountView.qml rename to ui/app/AppLayouts/Onboarding/controls/AccountViewDelegate.qml index ed4a6d3ff8..13c97bc752 100644 --- a/ui/onboarding/Login/AccountView.qml +++ b/ui/app/AppLayouts/Onboarding/controls/AccountViewDelegate.qml @@ -2,10 +2,13 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import utils 1.0 -import "../../shared" -import "../../shared/status" -Rectangle { +import "../../../../shared" +import "../../../../shared/status" + +Rectangle { + id: accountViewDelegate + property string username: "Jotaro Kujo" property string keyUid: "0x123345677890987654321123456" property string address: "" @@ -17,7 +20,6 @@ Rectangle { } property bool isHovered: false - id: root height: 64 anchors.right: parent.right anchors.left: parent.left @@ -69,8 +71,8 @@ Rectangle { anchors.right: parent.right anchors.rightMargin: Style.current.padding anchors.verticalCenter: parent.verticalCenter - checked: root.selected - isHovered: root.isHovered + checked: accountViewDelegate.selected + isHovered: accountViewDelegate.isHovered } MouseArea { @@ -81,16 +83,10 @@ Rectangle { onAccountSelect(index) } onEntered: { - root.isHovered = true + accountViewDelegate.isHovered = true } onExited: { - root.isHovered = false + accountViewDelegate.isHovered = false } } } - -/*##^## -Designer { - D{i:0;formeditorColor:"#ffffff";height:64;width:450} -} -##^##*/ diff --git a/ui/onboarding/Login/AccountList.qml b/ui/app/AppLayouts/Onboarding/panels/AccountListPanel.qml similarity index 78% rename from ui/onboarding/Login/AccountList.qml rename to ui/app/AppLayouts/Onboarding/panels/AccountListPanel.qml index f133a39c57..6ca6975af2 100644 --- a/ui/onboarding/Login/AccountList.qml +++ b/ui/app/AppLayouts/Onboarding/panels/AccountListPanel.qml @@ -1,22 +1,22 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 -import "./samples/" + +import "../controls" import utils 1.0 ListView { - property var accounts: AccountsData {} + id: accountsView + property var isSelected: function () {} property var onAccountSelect: function () {} - id: accountsView anchors.fill: parent - model: accounts focus: true spacing: Style.current.smallPadding clip: true - delegate: AccountView { + delegate: AccountViewDelegate { username: model.username identicon: model.thumbnailImage || model.identicon keyUid: model.keyUid @@ -29,9 +29,3 @@ ListView { } } } - -/*##^## -Designer { - D{i:0;autoSize:true;height:480;width:640} -} -##^##*/ diff --git a/ui/onboarding/BeforeGetStartedModal.qml b/ui/app/AppLayouts/Onboarding/popups/BeforeGetStartedModal.qml similarity index 98% rename from ui/onboarding/BeforeGetStartedModal.qml rename to ui/app/AppLayouts/Onboarding/popups/BeforeGetStartedModal.qml index eef531f7bd..2a9a4fd66d 100644 --- a/ui/onboarding/BeforeGetStartedModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/BeforeGetStartedModal.qml @@ -2,13 +2,14 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import QtQuick.Layouts 1.14 - import utils 1.0 -import "../shared" -import "../shared/status" + +import "../../../../shared" +import "../../../../shared/status" ModalPopup { id: popup + displayCloseButton: false //% "Before you get started..." title: qsTrId("before-you-get-started---") diff --git a/ui/onboarding/Login/ConfirmAddExistingKeyModal.qml b/ui/app/AppLayouts/Onboarding/popups/ConfirmAddExistingKeyModal.qml similarity index 83% rename from ui/onboarding/Login/ConfirmAddExistingKeyModal.qml rename to ui/app/AppLayouts/Onboarding/popups/ConfirmAddExistingKeyModal.qml index 5dc305f36e..402fa48710 100644 --- a/ui/onboarding/Login/ConfirmAddExistingKeyModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/ConfirmAddExistingKeyModal.qml @@ -2,8 +2,9 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import utils 1.0 -import "../../shared" -import "../../shared/status" + +import "../../../../shared" +import "../../../../shared/status" ModalPopup { property var onOpenModalClick: function () {} @@ -31,9 +32,3 @@ ModalPopup { } } } - -/*##^## -Designer { - D{i:0;formeditorColor:"#ffffff";height:500;width:400} -} -##^##*/ diff --git a/ui/onboarding/EnterSeedPhraseModal.qml b/ui/app/AppLayouts/Onboarding/popups/EnterSeedPhraseModal.qml similarity index 93% rename from ui/onboarding/EnterSeedPhraseModal.qml rename to ui/app/AppLayouts/Onboarding/popups/EnterSeedPhraseModal.qml index a62968848c..1f1ddae6a9 100644 --- a/ui/onboarding/EnterSeedPhraseModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/EnterSeedPhraseModal.qml @@ -3,8 +3,9 @@ import QtQuick.Controls 2.13 import QtGraphicalEffects 1.13 import utils 1.0 -import "../shared" -import "../shared/status" + +import "../../../../shared" +import "../../../../shared/status" ModalPopup { property var onConfirmSeedClick: function () {} @@ -63,9 +64,3 @@ ModalPopup { } } } - -/*##^## -Designer { - D{i:0;formeditorColor:"#ffffff";height:500;width:400} -} -##^##*/ diff --git a/ui/onboarding/GenKeyModal.qml b/ui/app/AppLayouts/Onboarding/popups/GenKeyModal.qml similarity index 84% rename from ui/onboarding/GenKeyModal.qml rename to ui/app/AppLayouts/Onboarding/popups/GenKeyModal.qml index bbe5d4beae..9d562beede 100644 --- a/ui/onboarding/GenKeyModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/GenKeyModal.qml @@ -1,11 +1,14 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import QtGraphicalEffects 1.13 + import StatusQ.Controls 0.1 import utils 1.0 -import "../shared" -import "./Login" + +import "../../../../shared" +import "../panels" +import "../stores" ModalPopup { property int selectedIndex: 0 @@ -15,12 +18,12 @@ ModalPopup { //% "Choose a chat name" title: qsTrId("intro-wizard-title2") - AccountList { + AccountListPanel { id: accountList anchors.fill: parent interactive: false - accounts: onboardingModel + model: OnboardingStore.onBoardingModel isSelected: function (index) { return index === selectedIndex } @@ -42,9 +45,3 @@ ModalPopup { } } } - -/*##^## -Designer { - D{i:0;formeditorColor:"#ffffff";height:500;width:400} -} -##^##*/ diff --git a/ui/onboarding/InvalidSeedPhraseModal.qml b/ui/app/AppLayouts/Onboarding/popups/InvalidSeedPhraseModal.qml similarity index 91% rename from ui/onboarding/InvalidSeedPhraseModal.qml rename to ui/app/AppLayouts/Onboarding/popups/InvalidSeedPhraseModal.qml index d4cf42aef3..77293ea171 100644 --- a/ui/onboarding/InvalidSeedPhraseModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/InvalidSeedPhraseModal.qml @@ -2,8 +2,9 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import utils 1.0 -import "../shared" -import "../shared/status" + +import "../../../../shared" +import "../../../../shared/status" ModalPopup { id: popup diff --git a/ui/onboarding/Keycard/CreatePINModal.qml b/ui/app/AppLayouts/Onboarding/popups/KeycardCreatePINModal.qml similarity index 95% rename from ui/onboarding/Keycard/CreatePINModal.qml rename to ui/app/AppLayouts/Onboarding/popups/KeycardCreatePINModal.qml index e801bcf6ee..08ae711266 100644 --- a/ui/onboarding/Keycard/CreatePINModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/KeycardCreatePINModal.qml @@ -1,14 +1,16 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import QtQuick.Layouts 1.13 + import StatusQ.Core 0.1 import StatusQ.Core.Theme 0.1 import StatusQ.Controls 0.1 import StatusQ.Popups 0.1 -import "../../imports/utils" as Imports -import "../../shared" -import "../../shared/keycard" +import utils 1.0 as Imports + +import "../../../../shared" +import "../../../../shared/keycard" StatusModal { property bool firstPINFieldValid: false @@ -17,6 +19,8 @@ StatusModal { property string repeatPINValidationError: "" property bool submitted: false + signal submitBtnClicked(string pin) + id: popup header.title: qsTr("Create PIN") anchors.centerIn: parent @@ -102,7 +106,7 @@ StatusModal { onClicked: { submitted = true - keycardModel.init(firstPINField.text) + submitBtnClicked() popup.close() } } diff --git a/ui/onboarding/MnemonicRecoverySuccessModal.qml b/ui/app/AppLayouts/Onboarding/popups/MnemonicRecoverySuccessModal.qml similarity index 89% rename from ui/onboarding/MnemonicRecoverySuccessModal.qml rename to ui/app/AppLayouts/Onboarding/popups/MnemonicRecoverySuccessModal.qml index fd8fd8460b..f18d9555df 100644 --- a/ui/onboarding/MnemonicRecoverySuccessModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/MnemonicRecoverySuccessModal.qml @@ -3,8 +3,9 @@ import QtQuick.Controls 2.13 import QtQuick.Dialogs 1.3 import utils 1.0 -import "../shared" -import "../shared/status" +import "../../../../shared" +import "../../../../shared/status" +import "../stores" ModalPopup { id: popup @@ -32,7 +33,7 @@ ModalPopup { StatusImageIdenticon { id: identicon - source: onboardingModel.currentAccount.identicon + source: OnboardingStore.currentAccount.identicon anchors.top: info.bottom anchors.topMargin: Style.current.bigPadding anchors.horizontalCenter: parent.horizontalCenter @@ -45,7 +46,7 @@ ModalPopup { anchors.top: identicon.bottom anchors.topMargin: Style.current.padding anchors.horizontalCenter: identicon.horizontalCenter - text: onboardingModel.currentAccount.username + text: OnboardingStore.currentAccount.username font.weight: Font.Bold font.pixelSize: 15 } @@ -54,7 +55,7 @@ ModalPopup { anchors.top: username.bottom anchors.topMargin: Style.current.halfPadding anchors.horizontalCenter: username.horizontalCenter - text: onboardingModel.currentAccount.address + text: OnboardingStore.currentAccount.address width: 120 } diff --git a/ui/onboarding/Login/SelectAnotherAccountModal.qml b/ui/app/AppLayouts/Onboarding/popups/SelectAnotherAccountModal.qml similarity index 76% rename from ui/onboarding/Login/SelectAnotherAccountModal.qml rename to ui/app/AppLayouts/Onboarding/popups/SelectAnotherAccountModal.qml index 53f54b2638..6514f0e6e0 100644 --- a/ui/onboarding/Login/SelectAnotherAccountModal.qml +++ b/ui/app/AppLayouts/Onboarding/popups/SelectAnotherAccountModal.qml @@ -2,8 +2,11 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import utils 1.0 -import "../../shared" -import "../../shared/status" +import "../../../../shared" +import "../../../../shared/status" + +import "../panels" +import "../stores" ModalPopup { property var onAccountSelect: function () {} @@ -12,13 +15,13 @@ ModalPopup { //% "Your keys" title: qsTrId("your-keys") - AccountList { + AccountListPanel { id: accountList anchors.fill: parent - accounts: loginModel + model: LoginStore.loginModelInst isSelected: function (index, keyUid) { - return loginModel.currentAccount.keyUid === keyUid + return LoginStore.loginModelInst.currentAccount.keyUid === keyUid } onAccountSelect: function(index) { @@ -40,9 +43,3 @@ ModalPopup { } } } - -/*##^## -Designer { - D{i:0;formeditorColor:"#ffffff";height:500;width:400} -} -##^##*/ diff --git a/ui/onboarding/CreatePasswordModal.qml b/ui/app/AppLayouts/Onboarding/shared/CreatePasswordModal.qml similarity index 99% rename from ui/onboarding/CreatePasswordModal.qml rename to ui/app/AppLayouts/Onboarding/shared/CreatePasswordModal.qml index 38040384d4..c01e9396dc 100644 --- a/ui/onboarding/CreatePasswordModal.qml +++ b/ui/app/AppLayouts/Onboarding/shared/CreatePasswordModal.qml @@ -1,10 +1,11 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import QtQuick.Dialogs 1.3 + import StatusQ.Controls 0.1 import utils 1.0 -import "../shared" +import "../../../../shared" ModalPopup { property bool loading: false diff --git a/ui/app/AppLayouts/Onboarding/stores/KeycardStore.qml b/ui/app/AppLayouts/Onboarding/stores/KeycardStore.qml new file mode 100644 index 0000000000..3190f22121 --- /dev/null +++ b/ui/app/AppLayouts/Onboarding/stores/KeycardStore.qml @@ -0,0 +1,19 @@ +pragma Singleton + +import QtQuick 2.13 + +QtObject { + property var keycardModelInst: keycardModel + + function startConnection() { + keycardModel.startConnection() + } + + function init(pin) { + keycardModel.init(pin) + } + + function recoverAccount() { + keycardModel.recoverAccount() + } +} diff --git a/ui/app/AppLayouts/Onboarding/stores/LoginStore.qml b/ui/app/AppLayouts/Onboarding/stores/LoginStore.qml new file mode 100644 index 0000000000..c7e08f50a7 --- /dev/null +++ b/ui/app/AppLayouts/Onboarding/stores/LoginStore.qml @@ -0,0 +1,24 @@ +pragma Singleton + +import QtQuick 2.13 + +QtObject { + property var loginModelInst: loginModel + property var currentAccount: loginModel.currentAccount + + function login(password) { + loginModel.login(password) + } + + function tryToObtainPassword() { + loginModel.tryToObtainPassword() + } + + function setCurrentAccount(index) { + loginModel.setCurrentAccount(index) + } + + function rowCount() { + return loginModel.rowCount() + } +} diff --git a/ui/app/AppLayouts/Onboarding/stores/OnboardingStore.qml b/ui/app/AppLayouts/Onboarding/stores/OnboardingStore.qml new file mode 100644 index 0000000000..c8464c5807 --- /dev/null +++ b/ui/app/AppLayouts/Onboarding/stores/OnboardingStore.qml @@ -0,0 +1,29 @@ +pragma Singleton + +import QtQuick 2.13 + +QtObject { + property var onBoardingModel: onboardingModel + property var currentAccount: onboardingModel.currentAccount + + function importMnemonic(mnemonic) { + onboardingModel.importMnemonic(mnemonic) + } + + function setCurrentAccount(selectedAccountIdx) { + onboardingModel.setCurrentAccount(selectedAccountIdx) + } + + property ListModel accountsSampleData: ListModel { + ListElement { + username: "Ferocious Herringbone Sinewave2" + identicon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAg0lEQVR4nOzXwQmAMBAFURV7sQybsgybsgyr0QYUlE1g+Mw7ioQMe9lMQwhDaAyhMYTGEJqYkPnrj/t5XE/ft2UdW1yken7MRAyhMYTGEBpDaAyhKe9JbzvSX9WdLWYihtAYQuMLkcYQGkPUScxEDKExhMYQGkNoDKExhMYQmjsAAP//ZfIUZgXTZXQAAAAASUVORK5CYII=" + address: "0x123456789009876543211234567890" + } + ListElement { + username: "Another Account" + identicon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAg0lEQVR4nOzXwQmAMBAFURV7sQybsgybsgyr0QYUlE1g+Mw7ioQMe9lMQwhDaAyhMYTGEJqYkPnrj/t5XE/ft2UdW1yken7MRAyhMYTGEBpDaAyhKe9JbzvSX9WdLWYihtAYQuMLkcYQGkPUScxEDKExhMYQGkNoDKExhMYQmjsAAP//ZfIUZgXTZXQAAAAASUVORK5CYII=" + address: "0x123456789009876543211234567890" + } + } +} diff --git a/ui/app/AppLayouts/Onboarding/stores/qmldir b/ui/app/AppLayouts/Onboarding/stores/qmldir new file mode 100644 index 0000000000..73e94ffd37 --- /dev/null +++ b/ui/app/AppLayouts/Onboarding/stores/qmldir @@ -0,0 +1,3 @@ +singleton OnboardingStore 1.0 OnboardingStore.qml +singleton LoginStore 1.0 LoginStore.qml +singleton KeycardStore 1.0 KeycardStore.qml diff --git a/ui/onboarding/ExistingKey.qml b/ui/app/AppLayouts/Onboarding/views/ExistingKeyView.qml similarity index 90% rename from ui/onboarding/ExistingKey.qml rename to ui/app/AppLayouts/Onboarding/views/ExistingKeyView.qml index e6bed33666..be7389036c 100644 --- a/ui/onboarding/ExistingKey.qml +++ b/ui/app/AppLayouts/Onboarding/views/ExistingKeyView.qml @@ -3,6 +3,10 @@ import QtQuick.Controls 2.13 import utils 1.0 +import "../popups" +import "../stores" +import "../shared" + Item { property var onClosed: function () {} id: existingKeyView @@ -18,7 +22,7 @@ Item { onConfirmSeedClick: function (mnemonic) { wentNext = true enterSeedPhraseModal.close() - onboardingModel.importMnemonic(mnemonic) + OnboardingStore.importMnemonic(mnemonic) removeMnemonicAfterLogin = true recoverySuccessModal.open() } @@ -51,9 +55,3 @@ Item { } } } - -/*##^## -Designer { - D{i:0;autoSize:true;height:480;width:640} -} -##^##*/ diff --git a/ui/onboarding/GenKey.qml b/ui/app/AppLayouts/Onboarding/views/GenKeyView.qml similarity index 80% rename from ui/onboarding/GenKey.qml rename to ui/app/AppLayouts/Onboarding/views/GenKeyView.qml index e3b5f09106..335c5d2fcc 100644 --- a/ui/onboarding/GenKey.qml +++ b/ui/app/AppLayouts/Onboarding/views/GenKeyView.qml @@ -1,5 +1,9 @@ import QtQuick 2.13 +import "../popups" +import "../stores" +import "../shared" + Item { property var onClosed: function () {} id: genKeyView @@ -14,7 +18,7 @@ Item { id: genKeyModal onNextClick: function (selectedIndex) { wentNext = true - onboardingModel.setCurrentAccount(selectedIndex) + OnboardingStore.setCurrentAccount(selectedIndex) createPasswordModal.open() } onClosed: function () { @@ -31,9 +35,3 @@ Item { } } } - -/*##^## -Designer { - D{i:0;autoSize:true;formeditorColor:"#ffffff";height:480;width:640} -} -##^##*/ diff --git a/ui/onboarding/KeycardFlowSelection.qml b/ui/app/AppLayouts/Onboarding/views/KeycardFlowSelectionView.qml similarity index 87% rename from ui/onboarding/KeycardFlowSelection.qml rename to ui/app/AppLayouts/Onboarding/views/KeycardFlowSelectionView.qml index 148263546b..5b90866191 100644 --- a/ui/onboarding/KeycardFlowSelection.qml +++ b/ui/app/AppLayouts/Onboarding/views/KeycardFlowSelectionView.qml @@ -1,6 +1,8 @@ import QtQuick 2.13 -import "./Keycard" -import "../shared/keycard" + +import "../../../../shared/keycard" +import "../popups" +import "../stores" Item { enum OnboardingFlow { @@ -16,11 +18,12 @@ Item { id: keycardView Component.onCompleted: { insertCard.open() - keycardModel.startConnection() + KeycardStore.startConnection() } - CreatePINModal { + KeycardCreatePINModal { id: createPinModal + onSubmitBtnClicked: KeycardStore.init(pin) onClosed: function () { if (!createPinModal.submitted) { keycardView.onClosed() @@ -55,7 +58,7 @@ Item { Connections { id: connection - target: keycardModel + target: OnboardingStore.keycardModelInst ignoreUnknownSignals: true onCardUnpaired: { @@ -69,7 +72,7 @@ Item { onCardAuthenticated: { switch (flow) { case OnboardingFlow.Recover: { - keycardModel.recoverAccount(); + KeycardStore.recoverAccount(); break; } case OnboardingFlow.Generate: { @@ -108,4 +111,4 @@ Item { } } -} \ No newline at end of file +} diff --git a/ui/onboarding/KeysMain.qml b/ui/app/AppLayouts/Onboarding/views/KeysMainView.qml similarity index 94% rename from ui/onboarding/KeysMain.qml rename to ui/app/AppLayouts/Onboarding/views/KeysMainView.qml index 9106cfd305..bd20be38df 100644 --- a/ui/onboarding/KeysMain.qml +++ b/ui/app/AppLayouts/Onboarding/views/KeysMainView.qml @@ -1,8 +1,10 @@ import QtQuick 2.13 import QtQuick.Controls 2.13 import QtQuick.Controls.Universal 2.12 -import "../shared" -import "../shared/status" + +import "../../../../shared" +import "../../../../shared/status" +import "../popups" import utils 1.0 @@ -80,7 +82,6 @@ Page { font.pixelSize: 15 } - StatusButton { id: btnGenKey anchors.top: txtDesc1.bottom @@ -112,9 +113,3 @@ Page { } } } - -/*##^## -Designer { - D{i:0;autoSize:true;formeditorColor:"#ffffff";formeditorZoom:0.8999999761581421;height:760;width:1080} -} -##^##*/ diff --git a/ui/onboarding/Login.qml b/ui/app/AppLayouts/Onboarding/views/LoginView.qml similarity index 91% rename from ui/onboarding/Login.qml rename to ui/app/AppLayouts/Onboarding/views/LoginView.qml index 44b3d36cc7..88ba09e2c6 100644 --- a/ui/onboarding/Login.qml +++ b/ui/app/AppLayouts/Onboarding/views/LoginView.qml @@ -3,11 +3,13 @@ import QtQuick.Controls 2.13 import QtQuick.Layouts 1.13 import QtQuick.Dialogs 1.3 import QtGraphicalEffects 1.13 -import "../shared" -import "../shared/status" + +import "../../../../shared" +import "../../../../shared/status" +import "../popups" +import "../stores" import utils 1.0 -import "./Login" Item { property var onGenKeyClicked: function () {} @@ -18,8 +20,8 @@ Item { anchors.fill: parent function setCurrentFlow(isLogin) { - loginModel.isCurrentFlow = isLogin; - onboardingModel.isCurrentFlow = !isLogin; + LoginStore.loginModelInst.isCurrentFlow = isLogin; + OnboardingStore.onBoardingModel.isCurrentFlow = !isLogin; } function doLogin(password) { @@ -28,8 +30,8 @@ Item { setCurrentFlow(true); loading = true - loginModel.login(password) - applicationWindow.checkForStoringPassToKeychain(loginModel.currentAccount.username, password, false) + LoginStore.login(password) + applicationWindow.checkForStoringPassToKeychain(LoginStore.currentAccount.username, password, false) txtPassword.textField.clear() } @@ -38,7 +40,7 @@ Item { { connection.enabled = true txtPassword.visible = false - loginModel.tryToObtainPassword() + LoginStore.tryToObtainPassword() } else { @@ -53,7 +55,7 @@ Item { Connections{ id: connection - target: loginModel + target: LoginStore.loginModelInst onObtainingPasswordError: { enabled = false @@ -91,12 +93,12 @@ Item { StatusImageIdenticon { id: userImage anchors.horizontalCenter: parent.horizontalCenter - source: loginModel.currentAccount.thumbnailImage + source: LoginStore.currentAccount.thumbnailImage } StyledText { id: usernameText - text: loginModel.currentAccount.username + text: LoginStore.currentAccount.username font.weight: Font.Bold font.pixelSize: 17 anchors.top: userImage.bottom @@ -115,7 +117,7 @@ Item { SelectAnotherAccountModal { id: selectAnotherAccountModal onAccountSelect: function (index) { - loginModel.setCurrentAccount(index) + LoginStore.setCurrentAccount(index) resetLogin() } onOpenModalClick: function () { @@ -162,7 +164,7 @@ Item { changeAccountBtn.isHovered = false } onClicked: { - if (loginModel.rowCount() > 1) { + if (LoginStore.rowCount() > 1) { selectAnotherAccountModal.open() } else { confirmAddExstingKeyModal.open() @@ -223,7 +225,7 @@ Item { } Connections { - target: loginModel + target: LoginStore.loginModelInst ignoreUnknownSignals: true onLoginResponseChanged: { if (error) { diff --git a/ui/app/AppLayouts/Profile/Sections/PrivacyContainer.qml b/ui/app/AppLayouts/Profile/Sections/PrivacyContainer.qml index 2414bb2a78..0ab15794a0 100644 --- a/ui/app/AppLayouts/Profile/Sections/PrivacyContainer.qml +++ b/ui/app/AppLayouts/Profile/Sections/PrivacyContainer.qml @@ -6,7 +6,7 @@ import QtGraphicalEffects 1.13 import utils 1.0 import "../../../../shared" import "../../../../shared/status" -import "../../../../onboarding/" as OnboardingComponents +import "../../Onboarding/shared" as OnboardingComponents Item { id: privacyContainer diff --git a/ui/main.qml b/ui/main.qml index f8579428cb..ffe4be2307 100644 --- a/ui/main.qml +++ b/ui/main.qml @@ -11,7 +11,7 @@ import QtQuick.Controls.Universal 2.12 import DotherSide 0.1 -import "./onboarding" +import "./app/AppLayouts/Onboarding/views" import "./app" import "./sounds" import "./shared" @@ -539,7 +539,7 @@ StatusWindow { Component { id: keysMain - KeysMain { + KeysMainView { btnGenKey.onClicked: applicationWindow.navigateTo("GenKey") btnExistingKey.onClicked: applicationWindow.navigateTo("ExistingKey") btnKeycard.onClicked: applicationWindow.navigateTo("KeycardFlowSelection") @@ -548,7 +548,7 @@ StatusWindow { Component { id: existingKey - ExistingKey { + ExistingKeyView { onClosed: function () { removeMnemonicAfterLogin = false if (hasAccounts) { @@ -562,7 +562,7 @@ StatusWindow { Component { id: genKey - GenKey { + GenKeyView { onClosed: function () { if (hasAccounts) { applicationWindow.navigateTo("InitialState") @@ -575,7 +575,7 @@ StatusWindow { Component { id: keycardFlowSelection - KeycardFlowSelection { + KeycardFlowSelectionView { onClosed: function () { if (hasAccounts) { applicationWindow.navigateTo("InitialState") @@ -588,7 +588,7 @@ StatusWindow { Component { id: login - Login { + LoginView { onGenKeyClicked: function () { applicationWindow.navigateTo("GenKey") } diff --git a/ui/nim-status-client.pro b/ui/nim-status-client.pro index e90592e00c..5009f80834 100644 --- a/ui/nim-status-client.pro +++ b/ui/nim-status-client.pro @@ -19,9 +19,6 @@ SOURCES = *.qml \ imports/*.qml \ shared/status/*.qml \ shared/keycard/*.qml \ - onboarding/*.qml \ - onboarding/Login/*.qml \ - onboarding/Keycard/*.qml \ app/AppLayouts/*.qml \ app/AppLayouts/Browser/*.qml \ app/AppLayouts/Chat/*.qml \ diff --git a/ui/onboarding/Keycard/qmldir b/ui/onboarding/Keycard/qmldir deleted file mode 100644 index a898c4833e..0000000000 --- a/ui/onboarding/Keycard/qmldir +++ /dev/null @@ -1 +0,0 @@ -CreatePINModal 1.0 CreatePINModal.qml diff --git a/ui/onboarding/Login/qmldir b/ui/onboarding/Login/qmldir deleted file mode 100644 index 6d079d259e..0000000000 --- a/ui/onboarding/Login/qmldir +++ /dev/null @@ -1,4 +0,0 @@ -AccountList 1.0 AccountList.qml -AccountView 1.0 AccountView.qml -SelectAnotherAccountModal 1.0 SelectAnotherAccountModal.qml -ConfirmAddExistingKeyModal 1.0 ConfirmAddExistingKeyModal.qml diff --git a/ui/onboarding/Login/samples/AccountsData.qml b/ui/onboarding/Login/samples/AccountsData.qml deleted file mode 100644 index 17a36048d7..0000000000 --- a/ui/onboarding/Login/samples/AccountsData.qml +++ /dev/null @@ -1,20 +0,0 @@ -import QtQuick 2.13 - -ListModel { - ListElement { - username: "Ferocious Herringbone Sinewave2" - identicon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAg0lEQVR4nOzXwQmAMBAFURV7sQybsgybsgyr0QYUlE1g+Mw7ioQMe9lMQwhDaAyhMYTGEJqYkPnrj/t5XE/ft2UdW1yken7MRAyhMYTGEBpDaAyhKe9JbzvSX9WdLWYihtAYQuMLkcYQGkPUScxEDKExhMYQGkNoDKExhMYQmjsAAP//ZfIUZgXTZXQAAAAASUVORK5CYII=" - address: "0x123456789009876543211234567890" - } - ListElement { - username: "Another Account" - identicon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAg0lEQVR4nOzXwQmAMBAFURV7sQybsgybsgyr0QYUlE1g+Mw7ioQMe9lMQwhDaAyhMYTGEJqYkPnrj/t5XE/ft2UdW1yken7MRAyhMYTGEBpDaAyhKe9JbzvSX9WdLWYihtAYQuMLkcYQGkPUScxEDKExhMYQGkNoDKExhMYQmjsAAP//ZfIUZgXTZXQAAAAASUVORK5CYII=" - address: "0x123456789009876543211234567890" - } -} - -/*##^## -Designer { - D{i:0;autoSize:true;height:480;width:640} -} -##^##*/ diff --git a/ui/onboarding/Login/samples/qmldir b/ui/onboarding/Login/samples/qmldir deleted file mode 100644 index f8cf8d8b19..0000000000 --- a/ui/onboarding/Login/samples/qmldir +++ /dev/null @@ -1 +0,0 @@ -AccountsData 1.0 AccountsData.qml diff --git a/ui/onboarding/qmldir b/ui/onboarding/qmldir deleted file mode 100644 index bd3417bd78..0000000000 --- a/ui/onboarding/qmldir +++ /dev/null @@ -1,10 +0,0 @@ -ExistingKey 1.0 ExistingKey.qml -GenKey 1.0 GenKey.qml -KeysMain 1.0 KeysMain.qml -Login 1.0 Login.qml -OnboardingMain 1.0 OnboardingMain.qml -EnterSeedPhraseModal 1.0 EnterSeedPhraseModal.qml -CreatePasswordModal 1.0 CreatePasswordModal.qml -GenKeyModal 1.0 GenKeyModal.qml -BeforeGetStartedModal 1.0 BeforeGetStartedModal.qml -KeycardFlowSelection 1.0 KeycardFlowSelection.qml