status-desktop/ui/app/AppLayouts/Wallet/views/CollectiblesView.qml

80 lines
2.4 KiB
QML
Raw Normal View History

2020-06-17 19:18:31 +00:00
import QtQuick 2.13
2020-08-18 18:46:11 +00:00
import QtGraphicalEffects 1.13
import utils 1.0
import shared 1.0
import shared.panels 1.0
import "../helpers/collectiblesData.js" as CollectiblesData
import "../popups"
import "../panels"
import "../stores"
2020-05-28 14:54:42 +00:00
Item {
2020-08-18 18:46:11 +00:00
id: root
2020-07-28 18:19:46 +00:00
StyledText {
id: noCollectiblesText
color: Style.current.secondaryText
2020-08-26 15:52:26 +00:00
//% "Collectibles will appear here"
text: qsTrId("collectibles-will-appear-here")
anchors.horizontalCenter: parent.horizontalCenter
anchors.verticalCenter: parent.verticalCenter
font.pixelSize: 15
}
CollectiblesModal {
id: collectiblesModalComponent
}
function checkCollectiblesVisibility() {
// Show the collectibles section only if at least one of the sub-items is visible
// Sub-items are visible only if they are loading or have more than zero collectible
let showCollectibles = false
let currentItem
for (let i = 0; i < collectiblesRepeater.count; i++) {
currentItem = collectiblesRepeater.itemAt(i)
if (currentItem && currentItem.active) {
showCollectibles = true
break
}
}
noCollectiblesText.visible = !showCollectibles
collectiblesSection.visible = showCollectibles
}
2020-08-18 18:46:11 +00:00
Column {
id: collectiblesSection
spacing: Style.current.halfPadding
anchors.fill: parent
Repeater {
id: collectiblesRepeater
model: RootStore.collectiblesList
CollectiblesContainer {
property var collectibleData: CollectiblesData.collectiblesData[model.collectibleType]
collectibleName: collectibleData.collectibleName
collectibleIconSource: Style.png("collectibles/" + collectibleData.collectibleIconSource)
collectiblesModal: collectiblesModalComponent
buttonText: collectibleData.buttonText
getLink: collectibleData.getLink
2020-08-27 14:41:50 +00:00
onActiveChanged: {
checkCollectiblesVisibility()
}
onReloadCollectibles: {
RootStore.reloadCollectible(collectibleType)
}
}
2020-08-18 18:46:11 +00:00
}
2020-07-28 18:19:46 +00:00
}
Connections {
target: RootStore.collectiblesList
onDataChanged: {
checkCollectiblesVisibility()
}
}
2020-05-28 14:54:42 +00:00
}