diff --git a/storybook/PagesModel.qml b/storybook/PagesModel.qml index 3d64ebbc23..567d3f06f7 100644 --- a/storybook/PagesModel.qml +++ b/storybook/PagesModel.qml @@ -221,6 +221,10 @@ ListModel { title: "UserAgreementPopup" section: "Popups" } + ListElement { + title: "StatusButton" + section: "Controls" + } ListElement { title: "MembersSelector" section: "Components" diff --git a/storybook/figma.json b/storybook/figma.json index 3b4451c712..b82460690a 100644 --- a/storybook/figma.json +++ b/storybook/figma.json @@ -215,5 +215,8 @@ ], "UserAgreementPopup": [ "https://www.figma.com/file/17fc13UBFvInrLgNUKJJg5/Kuba⎜Desktop?type=design&node-id=31450-560694&t=Q4MOViPCoHsTjhs6-0" + ], + "StatusButton": [ + "https://www.figma.com/file/MtAO3a7HnEH5xjCDVNilS7/%F0%9F%8E%A8-Design-System-%E2%8E%9C-Desktop?type=design&node-id=1-12&t=UHegCbqAa5K7qUKd-0" ] } diff --git a/storybook/pages/StatusButtonPage.qml b/storybook/pages/StatusButtonPage.qml new file mode 100644 index 0000000000..50e3df1d6f --- /dev/null +++ b/storybook/pages/StatusButtonPage.qml @@ -0,0 +1,272 @@ +import QtQuick 2.14 +import QtQuick.Controls 2.14 +import QtQuick.Layouts 1.14 + +import StatusQ.Controls 0.1 + +import Storybook 1.0 + +SplitView { + Logs { id: logs } + + QtObject { + id: d + readonly property var sizesModel: [StatusBaseButton.Size.Tiny, StatusBaseButton.Size.Small, StatusBaseButton.Size.Large] + + readonly property string effectiveEmoji: ctrlEmojiEnabled.checked ? ctrlEmoji.text : "" + readonly property int effectiveTextPosition: ctrlTextPosLeft.checked ? StatusBaseButton.TextPosition.Left + : StatusBaseButton.TextPosition.Right + } + + SplitView { + orientation: Qt.Horizontal + SplitView.fillWidth: true + + Pane { + SplitView.fillWidth: true + SplitView.fillHeight: true + + GridLayout { + anchors.centerIn: parent + rowSpacing: 10 + columnSpacing: 10 + columns: 4 + + Label { text: "" } + Label { text: "Tiny" } + Label { text: "Small" } + Label { text: "Large" } + + Label { + text: "StatusButton" + Layout.columnSpan: 4 + font.bold: true + } + + Label { text: "Text only:" } + Repeater { + model: d.sizesModel + delegate: StatusButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + size: modelData + text: ctrlText.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + textFillWidth: ctrlFillWidth.checked + } + } + + Label { text: "Icon only:" } + Repeater { + model: d.sizesModel + delegate: StatusButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + size: modelData + icon.name: ctrlIconName.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + textFillWidth: ctrlFillWidth.checked + } + } + + Label { text: "Text + icon:" } + Repeater { + model: d.sizesModel + delegate: StatusButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + size: modelData + text: ctrlText.text + icon.name: ctrlIconName.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + textFillWidth: ctrlFillWidth.checked + } + } + + Label { text: "Round icon:" } + Repeater { + model: d.sizesModel + delegate: StatusButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + Layout.preferredHeight: width + size: modelData + icon.name: ctrlIconName.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + isRoundIcon: true + radius: height/2 + textFillWidth: ctrlFillWidth.checked + } + } + + Label { + text: "StatusFlatButton (no Primary variant)" + Layout.columnSpan: 4 + font.bold: true + } + + Label { text: "Text only:" } + Repeater { + model: d.sizesModel + delegate: StatusFlatButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + size: modelData + text: ctrlText.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + textFillWidth: ctrlFillWidth.checked + } + } + + Label { text: "Icon only:" } + Repeater { + model: d.sizesModel + delegate: StatusFlatButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + size: modelData + icon.name: ctrlIconName.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + textFillWidth: ctrlFillWidth.checked + } + } + + Label { text: "Text + icon:" } + Repeater { + model: d.sizesModel + delegate: StatusFlatButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + size: modelData + text: ctrlText.text + icon.name: ctrlIconName.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + textFillWidth: ctrlFillWidth.checked + } + } + + Label { text: "Round icon:" } + Repeater { + model: d.sizesModel + delegate: StatusFlatButton { + Layout.preferredWidth: ctrlWidth.value || implicitWidth + Layout.preferredHeight: width + size: modelData + icon.name: ctrlIconName.text + asset.emoji: d.effectiveEmoji + textPosition: d.effectiveTextPosition + type: ctrlType.currentIndex + loading: ctrlLoading.checked + enabled: ctrlEnabled.checked + isRoundIcon: true + radius: height/2 + textFillWidth: ctrlFillWidth.checked + } + } + } + } + + LogsAndControlsPanel { + id: logsAndControlsPanel + + SplitView.minimumWidth: 300 + SplitView.preferredWidth: 400 + + logsView.logText: logs.logText + + ColumnLayout { + width: parent.width + RowLayout { + Label { text: "Text:" } + TextField { + id: ctrlText + placeholderText: "Button text" + text: "Foobar" + } + // enum StatusBaseButton.TextPosition.xxx + RadioButton { + id: ctrlTextPosLeft + text: "left" + } + RadioButton { + id: ctrlTextPosRight + text: "right" + checked: true + } + } + RowLayout { + Label { text: "Icon name:" } + TextField { + id: ctrlIconName + placeholderText: "Icon name" + text: "gif" + } + } + RowLayout { + Label { text: "Emoji:" } + TextField { + id: ctrlEmoji + text: "💩" + } + CheckBox { + id: ctrlEmojiEnabled + text: "enabled" + } + } + RowLayout { + Label { text: "Type:" } + ComboBox { + id: ctrlType + model: ["Normal", "Danger", "Primary"] // enum StatusBaseButton.Type.xxx + } + } + RowLayout { + Label { text: "Width:" } + SpinBox { + id: ctrlWidth + from: 0 + to: 280 + value: 0 // 0 == implicitWidth + stepSize: 10 + textFromValue: function(value, locale) { return value === 0 ? "Implicit" : value } + } + CheckBox { + id: ctrlFillWidth + text: "Fill width" + } + } + Switch { + id: ctrlLoading + text: "Loading" + } + Switch { + id: ctrlEnabled + text: "Enabled" + checked: true + } + } + } + } +} + diff --git a/storybook/pages/TransactionDelegatePage.qml b/storybook/pages/TransactionDelegatePage.qml index 41bbbc64fa..253f77ada8 100644 --- a/storybook/pages/TransactionDelegatePage.qml +++ b/storybook/pages/TransactionDelegatePage.qml @@ -13,7 +13,7 @@ SplitView { readonly property QtObject mockupModelData: QtObject { property int timestamp: Date.now() / 1000 - property int txStatus: 0 + property int txType: ctrlType.currentValue property string from: "0xfB8131c260749c7835a08ccBdb64728De432858E" property string to: "0x3fb81384583b3910BB14Cc72582E8e8a56E83ae9" property bool isNFT: false @@ -22,6 +22,12 @@ SplitView { property string nftImageUrl: Style.png("collectibles/HappyMeow") } + readonly property QtObject mockupStore: QtObject { + function formatCurrencyAmount(cryptoValue, symbol) { + return "%1 %2".arg(cryptoValue).arg(symbol) + } + } + SplitView { orientation: Qt.Vertical SplitView.fillWidth: true @@ -58,17 +64,8 @@ SplitView { bridgeNetworkName: "Mainnet" feeFiatValue: 10.34 feeCryptoValue: 0.013 - transactionStatus: Constants.TransactionStatus.Pending - transactionType: Constants.TransactionType.Send - formatCurrencyAmount: function(amount, symbol, options = null, locale = null) { - const currencyAmount = { - amount: amount, - symbol: symbol, - displayDecimals: 8, - stripTrailingZeroes: true - } - return LocaleUtils.currencyAmountToLocaleString(currencyAmount, options) - } + transactionStatus: ctrlStatus.currentValue + rootStore: root.mockupStore } } } @@ -111,6 +108,7 @@ SplitView { } ComboBox { + id: ctrlType Layout.fillWidth: true textRole: "name" valueRole: "type" @@ -123,7 +121,6 @@ SplitView { ListElement { name: "Swap"; type: Constants.TransactionType.Swap } ListElement { name: "Bridge"; type: Constants.TransactionType.Bridge } } - onActivated: delegate.transactionType = model.get(currentIndex).type } Label { @@ -133,16 +130,16 @@ SplitView { } ComboBox { + id: ctrlStatus Layout.fillWidth: true textRole: "name" - valueRole: "type" + valueRole: "status" model: ListModel { - ListElement { name: "Pending"; status: Constants.TransactionStatus.Pending } ListElement { name: "Failed"; status: Constants.TransactionStatus.Failed } + ListElement { name: "Pending"; status: Constants.TransactionStatus.Pending } ListElement { name: "Complete"; status: Constants.TransactionStatus.Complete } ListElement { name: "Finished"; status: Constants.TransactionStatus.Finished } } - onActivated: delegate.transactionStatus = model.get(currentIndex).status } } } diff --git a/storybook/pages/WalletHeaderPage.qml b/storybook/pages/WalletHeaderPage.qml index f0832b8234..738d3c2a7d 100644 --- a/storybook/pages/WalletHeaderPage.qml +++ b/storybook/pages/WalletHeaderPage.qml @@ -42,11 +42,12 @@ SplitView { property var dummyOverview: updateDummyView(StatusColors.colors['black']) function updateDummyView(color) { + const clr = Utils.getIdForColor(color) dummyOverview = ({ name: "helloworld", mixedcaseAddress: "0xcdc2ea3b6ba8fed3a3402f8db8b2fab53e7b7421", ens: emptyString, - color: color, + colorId: clr, emoji: "⚽", balanceLoading: false, hasBalanceCache: true, @@ -56,7 +57,6 @@ SplitView { stripTrailingZeroes: false}), isAllAccounts: false, hideWatchAccounts: false - }) } @@ -64,7 +64,7 @@ SplitView { name: "", mixedcaseAddress: "0xcdc2ea3b6ba8fed3a3402f8db8b2fab53e7b7421", ens: emptyString, - color: "", + colorId: "", emoji: "", balanceLoading: false, hasBalanceCache: true, @@ -74,10 +74,7 @@ SplitView { stripTrailingZeroes: false}), isAllAccounts: true, hideWatchAccounts: true, - colors: StatusColors.colors['blue2']+ ";" + - StatusColors.colors['yellow']+ ";" + - StatusColors.colors['green2'] + ";" + - StatusColors.colors['red2'] + colorIds: "purple;pink;magenta" }) readonly property QtObject connectionStore: QtObject { @@ -169,15 +166,12 @@ SplitView { id: repeater model: Theme.palette.customisationColorsArray delegate: StatusColorRadioButton { - radioButtonColor: repeater.model[index] + radioButtonColor: modelData checked: index === 0 - onCheckedChanged: d.updateDummyView(repeater.model[index]) + onToggled: d.updateDummyView(modelData) } } } - ButtonGroup { - buttons: row.children - } } } } diff --git a/test/ui-test/testSuites/global_shared/scripts/wallet_names.py b/test/ui-test/testSuites/global_shared/scripts/wallet_names.py index b726b81b4e..2d4fdfa2e6 100644 --- a/test/ui-test/testSuites/global_shared/scripts/wallet_names.py +++ b/test/ui-test/testSuites/global_shared/scripts/wallet_names.py @@ -6,7 +6,7 @@ from scripts.settings_names import * # Main: mainWindow_WalletLayout = {"container": statusDesktop_mainWindow, "type": "WalletLayout", "unnamed": 1, "visible": True} mainWallet_LeftTab = {"container": statusDesktop_mainWindow, "objectName": "walletLeftTab", "type": "LeftTabView", "visible": True} -mainWallet_Saved_Addresses_Button = {"container": mainWindow_RighPanel, "objectName": "savedAddressesBtn", "type": "StatusButton"} +mainWallet_Saved_Addresses_Button = {"container": mainWindow_RighPanel, "objectName": "savedAddressesBtn", "type": "StatusFlatButton"} walletAccounts_StatusListView = {"container": statusDesktop_mainWindow, "objectName": "walletAccountsListView", "type": "StatusListView", "visible": True} walletAccounts_WalletAccountItem_Placeholder = {"container": walletAccounts_StatusListView, "objectName": "walletAccount-%NAME%", "type": "StatusListItem", "visible": True} walletAccount_StatusListItem = {"container": walletAccounts_StatusListView, "objectName": RegularExpression("walletAccount*"), "type": "StatusListItem", "visible": True} diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml index b488cba7fb..f92da20e37 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusBaseButton.qml @@ -27,7 +27,9 @@ Button { Right } - property StatusAssetSettings asset: StatusAssetSettings { } + property StatusAssetSettings asset: StatusAssetSettings { + color: d.textColor + } property bool loading @@ -38,7 +40,6 @@ Button { property color textColor property color disabledTextColor property color borderColor: "transparent" - property int textAlignment: Qt.AlignVCenter | Qt.AlignHCenter property bool textFillWidth: false property int radius: size === StatusBaseButton.Size.Tiny ? 6 : 8 @@ -53,6 +54,17 @@ Button { id: d readonly property color textColor: root.enabled || root.loading ? root.textColor : root.disabledTextColor readonly property bool iconOnly: root.display === AbstractButton.IconOnly || root.text === "" + readonly property int iconSize: { + switch(root.size) { + case StatusBaseButton.Size.Tiny: + return 16 + case StatusBaseButton.Size.Small: + return 20 + case StatusBaseButton.Size.Large: + default: + return 24 + } + } } font.family: Theme.palette.baseFont.name @@ -60,16 +72,26 @@ Button { font.pixelSize: size === StatusBaseButton.Size.Large ? 15 : 13 horizontalPadding: { - if (d.iconOnly) - return spacing + if (d.iconOnly) { + return isRoundIcon ? 8 : spacing + } if (root.icon.name) { - return size === StatusBaseButton.Size.Large ? 18 : 16 + switch (size) { + case StatusBaseButton.Size.Tiny: + return 8 + case StatusBaseButton.Size.Small: + return 16 + case StatusBaseButton.Size.Large: + default: + return 18 + } } return size === StatusBaseButton.Size.Large ? 24 : 12 } verticalPadding: { - if (d.iconOnly) - return spacing + if (d.iconOnly) { + return isRoundIcon ? 8 : spacing + } switch (size) { case StatusBaseButton.Size.Tiny: return 5 @@ -83,9 +105,9 @@ Button { spacing: root.size === StatusBaseButton.Size.Large ? 6 : 4 - icon.height: 24 - icon.width: 24 - icon.color: d.textColor + icon.width: d.iconSize + icon.height: d.iconSize + icon.color: asset.color background: Rectangle { radius: root.radius @@ -97,73 +119,86 @@ Button { } } - contentItem: RowLayout { - spacing: root.spacing + contentItem: Item { + implicitWidth: layout.implicitWidth + implicitHeight: layout.implicitHeight - Component { - id: baseIcon + RowLayout { + id: layout + anchors.centerIn: parent + width: root.textFillWidth ? root.availableWidth : Math.min(root.availableWidth, implicitWidth) + height: Math.min(root.availableHeight, implicitHeight) + spacing: root.spacing - StatusIcon { - icon: root.icon.name - rotation: root.asset.rotation - opacity: !root.loading && root.icon.name !== "" - color: root.icon.color + Component { + id: baseIcon + + StatusIcon { + icon: root.icon.name + rotation: root.asset.rotation + opacity: !root.loading && root.icon.name !== "" && root.display !== AbstractButton.TextOnly + color: root.icon.color + } } - } - Component { - id: roundIcon + Component { + id: roundIcon - StatusRoundIcon { - asset.name: root.icon.name - asset.color: root.asset.color - asset.bgColor: root.asset.bgColor + StatusRoundIcon { + opacity: !root.loading && root.icon.name !== "" && root.display !== AbstractButton.TextOnly + asset.name: root.icon.name + asset.width: d.iconSize + asset.height: d.iconSize + asset.color: root.icon.color + asset.bgColor: root.asset.bgColor + } } - } - Component { - id: text + Component { + id: text - StatusBaseText { - opacity: !root.loading - font: root.font - text: root.text - color: d.textColor - elide: Text.ElideRight + StatusBaseText { + opacity: !root.loading + font: root.font + text: root.text + color: d.textColor + elide: Text.ElideRight + maximumLineCount: 1 + } } - } - Loader { - Layout.alignment: root.textAlignment - Layout.fillWidth: root.textFillWidth - active: root.textPosition === StatusBaseButton.TextPosition.Left && !d.iconOnly - visible: active - sourceComponent: text - } + Loader { + Layout.fillWidth: true + active: root.textPosition === StatusBaseButton.TextPosition.Left && !d.iconOnly + visible: active + sourceComponent: text + } - Loader { - id: iconLoader + Loader { + id: iconLoader - Layout.preferredWidth: active ? root.icon.width : 0 - Layout.preferredHeight: active ? root.icon.height : 0 - Layout.alignment: Qt.AlignCenter - active: root.icon.name !== "" - sourceComponent: root.isRoundIcon ? roundIcon : baseIcon - } + Layout.preferredWidth: active ? root.icon.width : 0 + Layout.preferredHeight: active ? root.icon.height : 0 + Layout.alignment: Qt.AlignCenter + active: root.icon.name !== "" + sourceComponent: root.isRoundIcon ? roundIcon : baseIcon + } - StatusEmoji { - Layout.preferredWidth: visible ? root.icon.width : 0 - Layout.preferredHeight: visible ? root.icon.height : 0 - visible: root.asset.emoji - emojiId: Emoji.iconId(root.asset.emoji, root.asset.emojiSize) || "" - } + StatusEmoji { + Layout.preferredWidth: visible ? root.icon.width : 0 + Layout.preferredHeight: visible ? root.icon.height : 0 + Layout.alignment: Qt.AlignCenter + opacity: !root.loading && root.display !== AbstractButton.TextOnly + visible: root.asset.emoji + emojiId: Emoji.iconId(root.asset.emoji, root.asset.emojiSize) || "" + } - Loader { - Layout.alignment: root.textAlignment - Layout.fillWidth: root.textFillWidth - active: root.textPosition === StatusBaseButton.TextPosition.Right && !d.iconOnly - visible: active - sourceComponent: text + Loader { + Layout.fillWidth: true + active: root.textPosition === StatusBaseButton.TextPosition.Right && !d.iconOnly + visible: active + sourceComponent: text + } } } diff --git a/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml b/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml index 5c2cdee982..f6983f4e76 100644 --- a/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml +++ b/ui/StatusQ/src/StatusQ/Controls/StatusIconTextButton.qml @@ -59,7 +59,7 @@ AbstractButton { spacing: root.spacing StatusIcon { Layout.alignment: Qt.AlignVCenter - icon: root.statusIcon + icon: root.statusIcon || root.icon.source || root.icon.name color: root.icon.color width: root.icon.width height: root.icon.height diff --git a/ui/StatusQ/src/StatusQ/Core/Theme/ThemePalette.qml b/ui/StatusQ/src/StatusQ/Core/Theme/ThemePalette.qml index 4c97f65e45..178b6b19ce 100644 --- a/ui/StatusQ/src/StatusQ/Core/Theme/ThemePalette.qml +++ b/ui/StatusQ/src/StatusQ/Core/Theme/ThemePalette.qml @@ -279,7 +279,7 @@ QtObject { property color yinYang } - property var customisationColorsArray: [ + readonly property var customisationColorsArray: [ customisationColors.blue, customisationColors.purple, customisationColors.orange, @@ -294,7 +294,7 @@ QtObject { customisationColors.yinYang ] - property var communityColorsArray: [ + readonly property var communityColorsArray: [ customisationColors.blue, customisationColors.yellow, customisationColors.magenta, diff --git a/ui/app/AppLayouts/Chat/controls/community/MembersDropdown.qml b/ui/app/AppLayouts/Chat/controls/community/MembersDropdown.qml index 46f6f7338e..061248caff 100644 --- a/ui/app/AppLayouts/Chat/controls/community/MembersDropdown.qml +++ b/ui/app/AppLayouts/Chat/controls/community/MembersDropdown.qml @@ -241,8 +241,6 @@ StatusDropdown { Layout.fillWidth: true - textFillWidth: true - enabled: { if (root.forceButtonDisabled) return false diff --git a/ui/app/AppLayouts/Wallet/panels/WalletHeader.qml b/ui/app/AppLayouts/Wallet/panels/WalletHeader.qml index 5b784b079e..e637e93096 100644 --- a/ui/app/AppLayouts/Wallet/panels/WalletHeader.qml +++ b/ui/app/AppLayouts/Wallet/panels/WalletHeader.qml @@ -69,7 +69,6 @@ Item { hoverColor: Theme.palette.baseColor2 font.weight: Font.Normal - textAlignment: Qt.AlignTop | Qt.AlignHCenter textPosition: StatusBaseButton.TextPosition.Left textColor: Theme.palette.baseColor1 text: overview.ens || StatusQUtils.Utils.elideText(overview.mixedcaseAddress, 6, 4) @@ -96,7 +95,6 @@ Item { hoverColor: Theme.palette.baseColor2 font.weight: Font.Normal - textAlignment: Qt.AlignTop | Qt.AlignHCenter textColor: Theme.palette.baseColor1 text: overview.hideWatchAccounts ? qsTr("Show watch-only"): qsTr("Hide watch-only") diff --git a/ui/app/AppLayouts/Wallet/views/LeftTabView.qml b/ui/app/AppLayouts/Wallet/views/LeftTabView.qml index c5bcbb4fbe..030d83f760 100644 --- a/ui/app/AppLayouts/Wallet/views/LeftTabView.qml +++ b/ui/app/AppLayouts/Wallet/views/LeftTabView.qml @@ -391,23 +391,19 @@ Rectangle { } } - contentItem: StatusButton { + contentItem: StatusFlatButton { id: savedAddressesBtn objectName: "savedAddressesBtn" - size: StatusBaseButton.Size.Large - normalColor: "transparent" hoverColor: Theme.palette.primaryColor3 - asset.color: Theme.palette.primaryColor1 asset.bgColor: Theme.palette.primaryColor3 - font.weight: Font.Medium text: qsTr("Saved addresses") icon.name: "address" icon.width: 40 icon.height: 40 + icon.color: Theme.palette.primaryColor1 isRoundIcon: true textColor: Theme.palette.directColor1 - textAlignment: Qt.AlignVCenter | Qt.AlignLeft textFillWidth: true spacing: parent.ListView.view.firstItem.statusListItemTitleArea.anchors.leftMargin onClicked: { diff --git a/ui/imports/shared/controls/TransactionDelegate.qml b/ui/imports/shared/controls/TransactionDelegate.qml index cd74827794..09badfc54d 100644 --- a/ui/imports/shared/controls/TransactionDelegate.qml +++ b/ui/imports/shared/controls/TransactionDelegate.qml @@ -349,13 +349,13 @@ StatusListItem { break } if (type === Constants.TransactionType.Swap) { - const crypto = rootStore.formatCurrencyAmount(d.swapCryptoValue, d.swapSymbol) - const fiat = rootStore.formatCurrencyAmount(d.swapCryptoValue, d.swapSymbol) + const crypto = rootStore.formatCurrencyAmount(root.swapCryptoValue, root.swapSymbol) + const fiat = rootStore.formatCurrencyAmount(root.swapCryptoValue, root.swapSymbol) valuesString += qsTr("Amount received %1 (%2)").arg(crypto).arg(fiat) + endl2 } else if (type === Constants.TransactionType.Bridge) { // Reduce crypto value by fee value const valueInCrypto = rootStore.getCryptoValue(root.fiatValue - feeFiatValue, root.symbol, root.currentCurrency) - const crypto = rootStore.formatCurrencyAmount(valueInCrypto, d.symbol) + const crypto = rootStore.formatCurrencyAmount(valueInCrypto, root.symbol) const fiat = rootStore.formatCurrencyAmount(root.fiatValue - feeFiatValue, root.currentCurrency) valuesString += qsTr("Amount received %1 (%2)").arg(crypto).arg(fiat) + endl2 } @@ -658,11 +658,10 @@ StatusListItem { height: parent.height * 0.7 verticalPadding: 0 horizontalPadding: radius - textFillWidth: true text: qsTr("Retry") size: StatusButton.Small type: StatusButton.Primary - visible: !root.loading && root.transactionStatus === Constants.TransactionType.Failed + visible: !root.loading && root.transactionStatus === Constants.TransactionStatus.Failed onClicked: root.retryClicked() } @@ -705,7 +704,7 @@ StatusListItem { } PropertyChanges { target: root.asset - bgBorderWidth: root.transactionStatus === Constants.TransactionType.Failed ? 0 : 1 + bgBorderWidth: root.transactionStatus === Constants.TransactionStatus.Failed ? 0 : 1 width: 34 height: 34 bgWidth: 56 diff --git a/ui/imports/shared/popups/CommunityIntroDialog.qml b/ui/imports/shared/popups/CommunityIntroDialog.qml index f3b1e4a10b..cb622dd826 100644 --- a/ui/imports/shared/popups/CommunityIntroDialog.qml +++ b/ui/imports/shared/popups/CommunityIntroDialog.qml @@ -36,7 +36,6 @@ StatusDialog { type: root.isInvitationPending ? StatusBaseButton.Type.Danger : StatusBaseButton.Type.Normal enabled: checkBox.checked || root.isInvitationPending - textFillWidth: true onClicked: { if (root.isInvitationPending) { root.cancelMembershipRequest() diff --git a/ui/imports/shared/views/ProfileDialogView.qml b/ui/imports/shared/views/ProfileDialogView.qml index afdb29c26a..241e912945 100644 --- a/ui/imports/shared/views/ProfileDialogView.qml +++ b/ui/imports/shared/views/ProfileDialogView.qml @@ -384,7 +384,6 @@ Pane { Layout.preferredWidth: height visible: !d.isCurrentUser - size: StatusBaseButton.Size.Small horizontalPadding: 6 verticalPadding: 6 icon.name: "more" diff --git a/ui/imports/utils/Utils.qml b/ui/imports/utils/Utils.qml index 6fc729fde1..ed2fe3be6c 100644 --- a/ui/imports/utils/Utils.qml +++ b/ui/imports/utils/Utils.qml @@ -731,7 +731,7 @@ QtObject { function getIdForColor(color){ - let c = color.toUpperCase() + let c = color.toString().toUpperCase() switch(c) { case Theme.palette.customisationColors.blue.toString().toUpperCase(): return Constants.walletAccountColors.primary