From c4f7c9732dd855fe8f947ad1f931f9a70682f69b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Tinkl?= Date: Mon, 27 May 2024 23:29:31 +0200 Subject: [PATCH] fix(AddEditSavedAddressPopup): hide network selector for ENS names - fix some typos, add some forgotten `qsTr()` calls - improve SB page with create/edit modes Fixes #14909 --- .../pages/AddEditSavedAddressPopupPage.qml | 160 ++++++++++++++++++ storybook/pages/SavedAddressPopupPage.qml | 74 -------- .../popups/AddEditSavedAddressPopup.qml | 19 +-- 3 files changed, 168 insertions(+), 85 deletions(-) create mode 100644 storybook/pages/AddEditSavedAddressPopupPage.qml delete mode 100644 storybook/pages/SavedAddressPopupPage.qml diff --git a/storybook/pages/AddEditSavedAddressPopupPage.qml b/storybook/pages/AddEditSavedAddressPopupPage.qml new file mode 100644 index 0000000000..be260b4c00 --- /dev/null +++ b/storybook/pages/AddEditSavedAddressPopupPage.qml @@ -0,0 +1,160 @@ +import QtQuick 2.15 +import QtQuick.Controls 2.15 +import QtQuick.Layouts 1.15 + +import SortFilterProxyModel 0.2 + +import Storybook 1.0 +import Models 1.0 +import AppLayouts.Wallet.popups 1.0 + +import utils 1.0 + +SplitView { + orientation: Qt.Horizontal + + Logs { id: logs } + + PopupBackground { + id: popupBg + + SplitView.fillWidth: true + SplitView.fillHeight: true + + Button { + id: reopenButton + anchors.centerIn: parent + text: "Reopen" + + onClicked: popupBg.openDialog() + } + + function openDialog() { + popupComponent.createObject(popupBg) + } + + Component.onCompleted: openDialog() + + Component { + id: popupComponent + AddEditSavedAddressPopup { + visible: true + destroyOnClose: true + modal: false + closePolicy: Popup.NoAutoClose + + flatNetworks: SortFilterProxyModel { + sourceModel: NetworksModel.flatNetworks + filters: ValueFilter { roleName: "isTest"; value: false } + } + + store: QtObject { + function savedAddressNameExists(name) { + return false + } + function createOrUpdateSavedAddress(name, address, ens, colorId, chainShortNames) { + logs.logEvent("createOrUpdateSavedAddress", ["name", "address", "ens", "colorId", "chainShortNames"], arguments) + } + } + + // Emulate resolving ENS by simple validation + QtObject { + id: mainModule + + function resolveENS(name, uuid) { + if (Utils.isValidEns(name)) { + resolvedENS("", "0x1234567890123456789012345678901234567890", uuid) + } + else { + resolvedENS("", "", uuid) + } + } + + signal resolvedENS(string pubkey, string address, string uuid) + } + + Component.onCompleted: initWithParams({edit: ctrlIsEdit.checked, + name: ctrlIsEdit.checked ? ctrlName.text : "", + address: ctrlIsEdit.checked ? (ctrlAddressRadio.checked ? ctrlAddress.text : ctrlEnsAddress.text) + : "", + colorId : ctrlIsEdit.checked ? "magenta" : ""}) + } + } + } + + LogsAndControlsPanel { + SplitView.minimumWidth: 300 + SplitView.preferredWidth: 300 + + logsView.logText: logs.logText + + ColumnLayout { + anchors.fill: parent + + Switch { + id: ctrlIsEdit + text: "Is edit?" + } + + RowLayout { + Layout.leftMargin: 8 + Layout.fillWidth: true + visible: ctrlIsEdit.checked + Label { text: "Name:" } + TextField { + Layout.fillWidth: true + id: ctrlName + text: "cool name" + } + } + + Label { + Layout.leftMargin: 8 + visible: ctrlIsEdit.checked + text: "Address:" + } + ButtonGroup { id: addressButtonGroup } + + RowLayout { + visible: ctrlIsEdit.checked + Layout.leftMargin: 8 + Layout.fillWidth: true + + RadioButton { + id: ctrlAddressRadio + checked: true + ButtonGroup.group: addressButtonGroup + } + TextField { + Layout.fillWidth: true + id: ctrlAddress + text: "0x1234567890123456789012345678901234567891" + placeholderText: "Regular address" + } + } + + RowLayout { + visible: ctrlIsEdit.checked + Layout.leftMargin: 8 + Layout.fillWidth: true + + RadioButton { + id: ctrlEnsRadio + ButtonGroup.group: addressButtonGroup + } + TextField { + Layout.fillWidth: true + id: ctrlEnsAddress + text: "me.eth" + placeholderText: "ENS address" + } + } + + Item { Layout.fillHeight: true } + } + } +} + +// category: Popups + +// https://www.figma.com/file/idUoxN7OIW2Jpp3PMJ1Rl8/%E2%9A%99%EF%B8%8F-Settings-%7C-Desktop?type=design&node-id=23256-263282&mode=design&t=0DRwQJKDGYJPHkq1-4 diff --git a/storybook/pages/SavedAddressPopupPage.qml b/storybook/pages/SavedAddressPopupPage.qml deleted file mode 100644 index ac5fe89ef2..0000000000 --- a/storybook/pages/SavedAddressPopupPage.qml +++ /dev/null @@ -1,74 +0,0 @@ -import QtQuick 2.15 -import QtQuick.Controls 2.15 -import QtQuick.Layouts 1.15 - -import SortFilterProxyModel 0.2 - -import Storybook 1.0 -import Models 1.0 -import AppLayouts.Wallet.popups 1.0 - -import utils 1.0 - -SplitView { - orientation: Qt.Horizontal - - PopupBackground { - id: popupBg - - property var popupIntance: null - - SplitView.fillWidth: true - SplitView.fillHeight: true - - Button { - id: reopenButton - anchors.centerIn: parent - text: "Reopen" - enabled: !dialog.visible - - onClicked: dialog.open() - } - - AddEditSavedAddressPopup { - id: dialog - - visible: true - flatNetworks: SortFilterProxyModel { - sourceModel: NetworksModel.flatNetworks - filters: ValueFilter { roleName: "isTest"; value: false } - } - - store: QtObject { - property var savedAddressNameExists: function() { return false } - } - - // Emulate resoling ENS by simple validation - QtObject { - id: mainModule - - function resolveENS(name, uuid) { - if (Utils.isValidEns(name)) { - resolvedENS("", "0x1234567890123456789012345678901234567890", uuid) - } - else { - resolvedENS("", "", uuid) - } - } - - signal resolvedENS(string pubkey, string address, string uuid) - } - - Component.onCompleted: initWithParams() - } - } - - Pane { - SplitView.minimumWidth: 300 - SplitView.preferredWidth: 300 - } -} - -// category: Popups - -// https://www.figma.com/file/idUoxN7OIW2Jpp3PMJ1Rl8/%E2%9A%99%EF%B8%8F-Settings-%7C-Desktop?type=design&node-id=23256-263282&mode=design&t=0DRwQJKDGYJPHkq1-4 diff --git a/ui/app/AppLayouts/Wallet/popups/AddEditSavedAddressPopup.qml b/ui/app/AppLayouts/Wallet/popups/AddEditSavedAddressPopup.qml index 92404e5da5..f9cd3aa51d 100644 --- a/ui/app/AppLayouts/Wallet/popups/AddEditSavedAddressPopup.qml +++ b/ui/app/AppLayouts/Wallet/popups/AddEditSavedAddressPopup.qml @@ -38,10 +38,6 @@ StatusModal { property var store: RootStore - onClosed: { - root.close() - } - function initWithParams(params = {}) { d.storedName = params.name?? "" d.storedColorId = params.colorId?? "" @@ -73,7 +69,7 @@ StatusModal { .arg(d.chainShortNames) .arg(d.address == Constants.zeroAddress? "" : d.address)) - nameInput.input.edit.forceActiveFocus(Qt.MouseFocusReason) + nameInput.input.edit.forceActiveFocus() } enum CardType { @@ -132,7 +128,7 @@ StatusModal { property bool checkingContactsAddressInProgress: false property int contactsWithSameAddress: 0 - function checkIfAddressIsAlreadyAdddedToWallet(address) { + function checkIfAddressIsAlreadyAddedToWallet(address) { let account = root.store.getWalletAccount(address) d.cardsModel.clear() d.addressAlreadyAddedToWalletError = !!account.name @@ -149,7 +145,7 @@ StatusModal { }) } - function checkIfAddressIsAlreadyAdddedToSavedAddresses(address) { + function checkIfAddressIsAlreadyAddedToSavedAddresses(address) { let savedAddress = root.store.getSavedAddress(address) d.cardsModel.clear() d.addressAlreadyAddedToSavedAddressesError = !!savedAddress.address @@ -200,13 +196,13 @@ StatusModal { d.addressAlreadyAddedToSavedAddressesError = false if (d.addressInputIsAddress) { - d.checkIfAddressIsAlreadyAdddedToWallet(d.address) + d.checkIfAddressIsAlreadyAddedToWallet(d.address) if (d.addressAlreadyAddedToWalletError) { addressInput.errorMessageCmp.text = qsTr("You cannot add your own account as a saved address") addressInput.errorMessageCmp.visible = true return } - d.checkIfAddressIsAlreadyAdddedToSavedAddresses(d.address) + d.checkIfAddressIsAlreadyAddedToSavedAddresses(d.address) if (d.addressAlreadyAddedToSavedAddressesError) { addressInput.errorMessageCmp.text = qsTr("This address is already saved") addressInput.errorMessageCmp.visible = true @@ -589,12 +585,13 @@ StatusModal { id: networkSelector objectName: "addSavedAddressNetworkSelector" - title: "Network preference" + title: qsTr("Network preference") implicitWidth: d.componentWidth anchors.horizontalCenter: parent.horizontalCenter enabled: d.addressInputValid && !d.addressInputIsENS - defaultItemText: "Add networks" + visible: !(d.editMode && d.addressInputIsENS) + defaultItemText: qsTr("Add networks") defaultItemImageSource: "add" rightButtonVisible: true