Fix/wallet small fixes (#10427)

* fix(wallet): back button #10374

* fix(wallet): Bottom bar missing #10394

* fix(Wallet): Remove WalletFooter flickering

* fix(@desktop/wallet): Added footer for section layout
This commit is contained in:
Cuteivist 2023-04-26 19:31:34 +02:00 committed by GitHub
parent c44e46a6a5
commit 75d17b4a07
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 116 additions and 106 deletions

View File

@ -66,6 +66,11 @@ SplitView {
This property holds the right panel of the component. This property holds the right panel of the component.
*/ */
property Component rightPanel property Component rightPanel
/*!
\qmlproperty Component StatusAppLayout::footer
This property holds the footer of the component.
*/
property Item footer
/*! /*!
\qmlproperty bool StatusAppLayout::showRightPanel \qmlproperty bool StatusAppLayout::showRightPanel
@ -134,6 +139,12 @@ SplitView {
} }
} }
onFooterChanged: {
if (!!footer) {
footer.parent = footerSlot
}
}
Control { Control {
SplitView.minimumWidth: (!!leftPanel) ? 304 : 0 SplitView.minimumWidth: (!!leftPanel) ? 304 : 0
SplitView.preferredWidth: (!!leftPanel) ? 304 : 0 SplitView.preferredWidth: (!!leftPanel) ? 304 : 0
@ -167,7 +178,15 @@ SplitView {
id: centerPanelSlot id: centerPanelSlot
width: parent.width width: parent.width
anchors.top: statusToolBar.bottom anchors.top: statusToolBar.bottom
anchors.bottom: footerSlot.top
anchors.bottomMargin: footerSlot.visible ? 8 : 0
}
Item {
id: footerSlot
width: parent.width
height: visible ? childrenRect.height : 0
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
visible: (!!footer)
} }
} }
} }

View File

@ -96,6 +96,7 @@ Item {
rightPanelStackView.replace(cmpSavedAddresses) rightPanelStackView.replace(cmpSavedAddresses)
else else
rightPanelStackView.replace(walletContainer) rightPanelStackView.replace(walletContainer)
RootStore.backButtonName = ""
} }
emojiPopup: root.emojiPopup emojiPopup: root.emojiPopup
networkConnectionStore: root.networkConnectionStore networkConnectionStore: root.networkConnectionStore
@ -114,5 +115,12 @@ Item {
NumberAnimation { property: "opacity"; from: 1; to: 0; duration: 400; easing.type: Easing.OutCubic } NumberAnimation { property: "opacity"; from: 1; to: 0; duration: 400; easing.type: Easing.OutCubic }
} }
} }
footer: WalletFooter {
sendModal: root.sendModalPopup
width: parent.width
walletStore: RootStore
networkConnectionStore: root.networkConnectionStore
}
} }
} }

View File

@ -42,13 +42,9 @@ Item {
} }
} }
ColumnLayout {
anchors.fill: parent
StackLayout { StackLayout {
id: stack id: stack
Layout.fillWidth: true anchors.fill: parent
Layout.preferredHeight: parent.height - footer.height
onCurrentIndexChanged: { onCurrentIndexChanged: {
RootStore.backButtonName = d.getBackButtonText(currentIndex) RootStore.backButtonName = d.getBackButtonText(currentIndex)
} }
@ -139,15 +135,4 @@ Item {
visible: (stack.currentIndex === 3) visible: (stack.currentIndex === 3)
} }
} }
WalletFooter {
id: footer
Layout.fillWidth: true
Layout.leftMargin: !!root.StackView ? -root.StackView.view.anchors.leftMargin : 0
Layout.rightMargin: !!root.StackView ? -root.StackView.view.anchors.rightMargin : 0
sendModal: root.sendModal
walletStore: RootStore
networkConnectionStore: root.networkConnectionStore
}
}
} }

View File

@ -1,5 +1,6 @@
import QtQuick 2.13 import QtQuick 2.13
import QtQuick.Controls 2.13 import QtQuick.Controls 2.13
import QtQuick.Layouts 1.13
import utils 1.0 import utils 1.0
@ -100,23 +101,20 @@ Item {
StatusListView { StatusListView {
id: listView id: listView
objectName: "SavedAddressesView_savedAddresses" objectName: "SavedAddressesView_savedAddresses"
anchors.top: errorMessage.bottom anchors.top: header.bottom
anchors.topMargin: Style.current.padding anchors.topMargin: Style.current.padding
anchors.bottom: parent.bottom anchors.bottom: parent.bottom
anchors.bottomMargin: Style.current.halfPadding
anchors.right: parent.right anchors.right: parent.right
anchors.left: parent.left anchors.left: parent.left
visible: listView.count > 0
spacing: 5 spacing: 5
visible: count > 0
model: SortFilterProxyModel { model: SortFilterProxyModel {
sourceModel: RootStore.savedAddresses sourceModel: RootStore.savedAddresses
sorters: RoleSorter { roleName: "createdAt"; sortOrder: Qt.DescendingOrder } sorters: RoleSorter { roleName: "createdAt"; sortOrder: Qt.DescendingOrder }
} }
delegate: SavedAddressesDelegate { delegate: SavedAddressesDelegate {
id: savedAddressDelegate id: savedAddressDelegate
objectName: "savedAddressView_Delegate_" + name objectName: "savedAddressView_Delegate_" + name
name: model.name name: model.name
address: model.address address: model.address
chainShortNames: model.chainShortNames chainShortNames: model.chainShortNames