status-desktop/ui/app/AppLayouts/Wallet/components/collectiblesComponents/CollectiblesContent.qml

124 lines
4.1 KiB
QML
Raw Normal View History

2020-08-18 20:11:36 +00:00
import QtQuick 2.13
import QtQuick.Controls 2.13
import QtGraphicalEffects 1.13
import QtQml.Models 2.13
2020-08-18 20:11:36 +00:00
import "../../../../../imports"
import "../../../../../shared"
ScrollView {
readonly property int imageSize: 164
property var collectiblesModal
property string buttonText: "View in Cryptokitties"
property var getLink: function () {}
property var collectibles: []
2020-08-18 20:11:36 +00:00
id: root
height: visible ? contentLoader.item.height : 0
2020-08-18 20:11:36 +00:00
width: parent.width
ScrollBar.vertical.policy: ScrollBar.AlwaysOff
ScrollBar.horizontal.policy: ScrollBar.AsNeeded
clip: true
Loader {
id: contentLoader
active: true
width: parent.width
height: root.imageSize
sourceComponent: !!error ? errorComponent : collectiblesContentComponent
}
Component {
id: errorComponent
2020-08-18 20:11:36 +00:00
Item {
width: parent.width
height: root.imageSize
2020-08-18 20:11:36 +00:00
Item {
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
height: childrenRect.height
width: somethingWentWrongText.width
2020-08-18 20:11:36 +00:00
StyledText {
id: somethingWentWrongText
2020-08-26 15:52:26 +00:00
//% "Something went wrong"
text: qsTrId("something-went-wrong")
anchors.horizontalCenter: parent.horizontalCenter
color: Style.current.secondaryText
font.pixelSize: 13
2020-08-18 20:11:36 +00:00
}
StyledButton {
2020-08-26 15:52:26 +00:00
//% "Reload"
label: qsTrId("reload")
anchors.horizontalCenter: parent.horizontalCenter
anchors.top: somethingWentWrongText.bottom
anchors.topMargin: Style.current.halfPadding
onClicked: {
walletModel.reloadCollectible(collectibleType)
}
}
}
}
}
Component {
id: collectiblesContentComponent
Row {
id: contentRow
bottomPadding: Style.current.padding
spacing: Style.current.padding
Repeater {
model: collectibles
2020-08-27 14:41:50 +00:00
Item {
width: collectibleImage.width
height: collectibleImage.height
2020-08-27 14:41:50 +00:00
clip: true
Image {
id: collectibleImage
width: root.imageSize
height: root.imageSize
2020-08-27 14:41:50 +00:00
z: 1
source: modelData.image
sourceSize.width: width
sourceSize.height: height
fillMode: Image.PreserveAspectCrop
2020-08-27 14:41:50 +00:00
anchors.verticalCenter: parent.verticalCenter
anchors.horizontalCenter: parent.horizontalCenter
}
Rectangle {
radius: 16
z: 2
border.width: 1
border.color: Style.current.border
color: Style.current.transparent
anchors.fill: parent
}
MouseArea {
cursorShape: Qt.PointingHandCursor
anchors.fill: parent
onClicked: {
collectiblesModal.openModal({
name: modelData.name,
id: modelData.id,
description: modelData.description,
buttonText: root.buttonText,
link: root.getLink(modelData.id, modelData.externalUrl),
image: modelData.image
})
}
}
}
2020-08-18 20:11:36 +00:00
}
}
}
}