78 lines
2.4 KiB
QML
78 lines
2.4 KiB
QML
import QtQuick 2.13
|
|
import QtGraphicalEffects 1.13
|
|
import "../../../imports"
|
|
import "../../../shared"
|
|
import "./components/collectiblesComponents"
|
|
import "./components/collectiblesComponents/collectiblesData.js" as CollectiblesData
|
|
|
|
Item {
|
|
id: root
|
|
|
|
StyledText {
|
|
id: noCollectiblesText
|
|
color: Style.current.secondaryText
|
|
//% "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
|
|
}
|
|
|
|
Column {
|
|
id: collectiblesSection
|
|
spacing: Style.current.halfPadding
|
|
anchors.fill: parent
|
|
|
|
Repeater {
|
|
id: collectiblesRepeater
|
|
model: walletModel.collectiblesLists
|
|
|
|
CollectiblesContainer {
|
|
property var collectibleData: CollectiblesData.collectiblesData[model.collectibleType]
|
|
|
|
collectibleName: collectibleData.collectibleName
|
|
collectibleIconSource: "../../img/collectibles/" + collectibleData.collectibleIconSource
|
|
collectiblesModal: collectiblesModalComponent
|
|
buttonText: collectibleData.buttonText
|
|
getLink: collectibleData.getLink
|
|
onActiveChanged: {
|
|
checkCollectiblesVisibility()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Connections {
|
|
target: walletModel.collectiblesLists
|
|
onDataChanged: {
|
|
checkCollectiblesVisibility()
|
|
}
|
|
}
|
|
}
|
|
|
|
/*##^##
|
|
Designer {
|
|
D{i:0;autoSize:true;formeditorColor:"#ffffff";height:480;width:640}
|
|
}
|
|
##^##*/
|