parent
6ecb636ec2
commit
77003fb052
|
@ -87,6 +87,7 @@ SplitView {
|
||||||
modal: false
|
modal: false
|
||||||
closePolicy: Popup.CloseOnEscape
|
closePolicy: Popup.CloseOnEscape
|
||||||
|
|
||||||
|
feesLoading: feesLoadingCheckbox.checked
|
||||||
interactive: interactiveCheckbox.checked
|
interactive: interactiveCheckbox.checked
|
||||||
|
|
||||||
accountsModel: d.walletAccountsModel
|
accountsModel: d.walletAccountsModel
|
||||||
|
@ -490,6 +491,11 @@ SplitView {
|
||||||
checked: true
|
checked: true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CheckBox {
|
||||||
|
id: feesLoadingCheckbox
|
||||||
|
text: "Fees loading"
|
||||||
|
}
|
||||||
|
|
||||||
Text {
|
Text {
|
||||||
text: "Select an accounts"
|
text: "Select an accounts"
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,42 @@
|
||||||
|
import QtQuick 2.14
|
||||||
|
import QtQuick.Controls 2.14
|
||||||
|
|
||||||
|
import StatusQ.Core.Theme 0.1
|
||||||
|
|
||||||
|
import Storybook 1.0
|
||||||
|
|
||||||
|
import AppLayouts.Wallet.panels 1.0
|
||||||
|
|
||||||
|
SplitView {
|
||||||
|
orientation: Qt.Vertical
|
||||||
|
Logs { id: logs }
|
||||||
|
|
||||||
|
Rectangle {
|
||||||
|
SplitView.fillHeight: true
|
||||||
|
SplitView.fillWidth: true
|
||||||
|
color: Theme.palette.baseColor3
|
||||||
|
|
||||||
|
SimpleTransactionsFees {
|
||||||
|
anchors.centerIn: parent
|
||||||
|
width: 400
|
||||||
|
|
||||||
|
loading: loadingCheckbox.checked
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
LogsAndControlsPanel {
|
||||||
|
id: logsAndControlsPanel
|
||||||
|
|
||||||
|
SplitView.minimumHeight: 100
|
||||||
|
SplitView.preferredHeight: 200
|
||||||
|
|
||||||
|
logsView.logText: logs.logText
|
||||||
|
|
||||||
|
CheckBox {
|
||||||
|
id: loadingCheckbox
|
||||||
|
text: "loading"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// category: Views
|
|
@ -130,8 +130,6 @@ Rectangle {
|
||||||
rotation: 45
|
rotation: 45
|
||||||
},
|
},
|
||||||
StatusTextWithLoadingState {
|
StatusTextWithLoadingState {
|
||||||
font.pixelSize: 15
|
|
||||||
customColor: Theme.palette.directColor1
|
|
||||||
text: LocaleUtils.currencyAmountToLocaleString(entry.amountCurrency)
|
text: LocaleUtils.currencyAmountToLocaleString(entry.amountCurrency)
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
import QtQuick 2.15
|
||||||
|
import QtQuick.Controls 2.15
|
||||||
|
import QtQuick.Layouts 1.14
|
||||||
|
|
||||||
|
import StatusQ.Core 0.1
|
||||||
|
import StatusQ.Core.Theme 0.1
|
||||||
|
import StatusQ.Controls 0.1
|
||||||
|
import StatusQ.Components 0.1
|
||||||
|
|
||||||
|
Control {
|
||||||
|
id: root
|
||||||
|
|
||||||
|
/** property to set fees in fiat along with fiat symbol **/
|
||||||
|
property alias cryptoFees: cryptoFeesText.text
|
||||||
|
/** property to set fees in crypto along with crypto symbol **/
|
||||||
|
property alias fiatFees: fiatFeesText.text
|
||||||
|
|
||||||
|
/** property to set loading state in the fees component **/
|
||||||
|
property bool loading
|
||||||
|
|
||||||
|
implicitHeight: 64
|
||||||
|
|
||||||
|
padding: Theme.padding
|
||||||
|
topPadding: 12
|
||||||
|
bottomPadding: 12
|
||||||
|
|
||||||
|
background: Rectangle {
|
||||||
|
color: Theme.palette.indirectColor1
|
||||||
|
radius: 8
|
||||||
|
}
|
||||||
|
|
||||||
|
contentItem: RowLayout {
|
||||||
|
width: parent.width
|
||||||
|
spacing: 12
|
||||||
|
|
||||||
|
StatusRoundIcon {
|
||||||
|
Layout.alignment: Qt.AlignTop
|
||||||
|
|
||||||
|
radius: 8
|
||||||
|
asset.name: "gas"
|
||||||
|
asset.color: Theme.palette.directColor1
|
||||||
|
}
|
||||||
|
ColumnLayout {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
spacing: 0
|
||||||
|
|
||||||
|
StatusBaseText {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
lineHeightMode: Text.FixedHeight
|
||||||
|
lineHeight: 22
|
||||||
|
|
||||||
|
text: qsTr("Est Mainnet transaction fee")
|
||||||
|
}
|
||||||
|
StatusTextWithLoadingState {
|
||||||
|
id: cryptoFeesText
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
loading: root.loading
|
||||||
|
customColor: Theme.palette.baseColor1
|
||||||
|
lineHeightMode: Text.FixedHeight
|
||||||
|
lineHeight: 22
|
||||||
|
|
||||||
|
text: qsTr("0.0007 ETH")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
StatusTextWithLoadingState {
|
||||||
|
id: fiatFeesText
|
||||||
|
|
||||||
|
Layout.alignment: Qt.AlignRight
|
||||||
|
|
||||||
|
loading: root.loading
|
||||||
|
customColor: Theme.palette.baseColor1
|
||||||
|
lineHeightMode: Text.FixedHeight
|
||||||
|
lineHeight: 22
|
||||||
|
|
||||||
|
text: qsTr("1.45 EUR")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,3 +15,4 @@ WalletHeader 1.0 WalletHeader.qml
|
||||||
SendModalHeader 1.0 SendModalHeader.qml
|
SendModalHeader 1.0 SendModalHeader.qml
|
||||||
StickySendModalHeader 1.0 StickySendModalHeader.qml
|
StickySendModalHeader 1.0 StickySendModalHeader.qml
|
||||||
RecipientSelectorPanel 1.0 RecipientSelectorPanel.qml
|
RecipientSelectorPanel 1.0 RecipientSelectorPanel.qml
|
||||||
|
SimpleTransactionsFees 1.0 SimpleTransactionsFees.qml
|
||||||
|
|
|
@ -14,6 +14,7 @@ import shared.controls 1.0
|
||||||
|
|
||||||
import AppLayouts.Wallet.panels 1.0
|
import AppLayouts.Wallet.panels 1.0
|
||||||
import AppLayouts.Wallet.controls 1.0
|
import AppLayouts.Wallet.controls 1.0
|
||||||
|
import AppLayouts.Wallet.views 1.0
|
||||||
import AppLayouts.Wallet 1.0
|
import AppLayouts.Wallet 1.0
|
||||||
|
|
||||||
import utils 1.0
|
import utils 1.0
|
||||||
|
@ -78,8 +79,10 @@ StatusDialog {
|
||||||
/** Input function to format currency amount to locale string **/
|
/** Input function to format currency amount to locale string **/
|
||||||
required property var fnFormatCurrencyAmount
|
required property var fnFormatCurrencyAmount
|
||||||
|
|
||||||
/** input property to decide if send mdoal is interactive or prefilled**/
|
/** input property to decide if send modal is interactive or prefilled **/
|
||||||
property bool interactive
|
property bool interactive
|
||||||
|
/** input property to decide if fees are loading **/
|
||||||
|
property bool feesLoading
|
||||||
|
|
||||||
/** property to set and expose currently selected account **/
|
/** property to set and expose currently selected account **/
|
||||||
property string selectedAccountAddress
|
property string selectedAccountAddress
|
||||||
|
@ -176,6 +179,12 @@ StatusDialog {
|
||||||
d.selectedTokenEntry.currentBalance : 0
|
d.selectedTokenEntry.currentBalance : 0
|
||||||
return WalletUtils.calculateMaxSafeSendAmount(maxCryptoBalance, d.selectedCryptoTokenSymbol)
|
return WalletUtils.calculateMaxSafeSendAmount(maxCryptoBalance, d.selectedCryptoTokenSymbol)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
readonly property bool allValuesFilled: !!root.selectedAccountAddress &&
|
||||||
|
root.selectedChainId !== 0 &&
|
||||||
|
!!root.selectedTokenKey &&
|
||||||
|
!!root.selectedRecipientAddress &&
|
||||||
|
!!root.selectedAmount
|
||||||
}
|
}
|
||||||
|
|
||||||
width: 556
|
width: 556
|
||||||
|
@ -205,7 +214,13 @@ StatusDialog {
|
||||||
anchors.top: parent.top
|
anchors.top: parent.top
|
||||||
|
|
||||||
implicitWidth: parent.width
|
implicitWidth: parent.width
|
||||||
implicitHeight: scrollView.implicitHeight
|
implicitHeight: Math.max(sendModalHeader.height +
|
||||||
|
amountToSend.height +
|
||||||
|
recipientsPanelLayout.height +
|
||||||
|
feesLayout.height +
|
||||||
|
scrollViewLayout.spacing*3 +
|
||||||
|
28,
|
||||||
|
scrollView.implicitHeight)
|
||||||
|
|
||||||
// Floating account Selector
|
// Floating account Selector
|
||||||
AccountSelectorHeader {
|
AccountSelectorHeader {
|
||||||
|
@ -358,20 +373,22 @@ StatusDialog {
|
||||||
/** TODO: replace with new and improved recipient selector TBD under
|
/** TODO: replace with new and improved recipient selector TBD under
|
||||||
https://github.com/status-im/status-desktop/issues/16916 **/
|
https://github.com/status-im/status-desktop/issues/16916 **/
|
||||||
ColumnLayout {
|
ColumnLayout {
|
||||||
spacing: Theme.halfPadding
|
id: recipientsPanelLayout
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
spacing: Theme.halfPadding
|
||||||
|
|
||||||
StatusBaseText {
|
StatusBaseText {
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
text: qsTr("To")
|
text: qsTr("To")
|
||||||
font.pixelSize: 15
|
|
||||||
color: Theme.palette.directColor1
|
|
||||||
}
|
}
|
||||||
RecipientSelectorPanel {
|
RecipientSelectorPanel {
|
||||||
id: recipientsPanel
|
id: recipientsPanel
|
||||||
|
|
||||||
Layout.fillWidth: true
|
Layout.fillWidth: true
|
||||||
Layout.fillHeight: true
|
Layout.fillHeight: true
|
||||||
Layout.bottomMargin: Theme.xlPadding
|
Layout.bottomMargin: feesLayout.visible ? 0 : Theme.xlPadding
|
||||||
|
|
||||||
savedAddressesModel: root.savedAddressesModel
|
savedAddressesModel: root.savedAddressesModel
|
||||||
myAccountsModel: root.accountsModel
|
myAccountsModel: root.accountsModel
|
||||||
|
@ -380,6 +397,27 @@ StatusDialog {
|
||||||
onResolveENS: root.fnResolveENS(ensName, uuid)
|
onResolveENS: root.fnResolveENS(ensName, uuid)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Fees Component
|
||||||
|
ColumnLayout {
|
||||||
|
id: feesLayout
|
||||||
|
|
||||||
|
Layout.fillWidth: true
|
||||||
|
Layout.bottomMargin: Theme.xlPadding
|
||||||
|
|
||||||
|
spacing: Theme.halfPadding
|
||||||
|
|
||||||
|
StatusBaseText {
|
||||||
|
elide: Text.ElideRight
|
||||||
|
text: qsTr("Fees")
|
||||||
|
}
|
||||||
|
SimpleTransactionsFees {
|
||||||
|
Layout.fillWidth: true
|
||||||
|
|
||||||
|
loading: root.feesLoading
|
||||||
|
}
|
||||||
|
visible: d.allValuesFilled
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue