2023-03-10 15:55:50 +00:00
import QtQuick 2.0
import QtQuick . Layouts 1.14
import StatusQ . Core 0.1
import StatusQ . Components 0.1
import StatusQ . Core . Theme 0.1
import utils 1.0
import AppLayouts . Wallet . views . collectibles 1.0
StatusScrollView {
id: root
property int viewWidth: 560 // by design
property var model
2023-03-31 12:52:51 +00:00
signal itemClicked ( int index ,
int chainId ,
string chainName ,
string accountName ,
string accountAddress )
2023-03-10 15:55:50 +00:00
QtObject {
id: d
function getStateText ( deployState ) {
2023-04-11 08:09:01 +00:00
if ( deployState === Constants . DeployState . Failed ) {
2023-03-10 15:55:50 +00:00
return qsTr ( "Failed" )
}
2023-04-11 08:09:01 +00:00
if ( deployState === Constants . DeployState . InProgress ) {
2023-03-10 15:55:50 +00:00
return qsTr ( "Minting..." )
}
return ""
}
}
contentWidth: mainLayout . width
contentHeight: mainLayout . height
padding: 0
ColumnLayout {
id: mainLayout
width: root . viewWidth
spacing: Style . current . padding
StatusBaseText {
text: qsTr ( "Collectibles" )
font.pixelSize: Theme . primaryTextFontSize
color: Theme . palette . baseColor1
}
StatusGridView {
id: gridView
Layout.fillWidth: true
Layout.preferredHeight: 500 // TODO
model: root . model
cellHeight: 229
cellWidth: 176
delegate: CollectibleView {
height: gridView . cellHeight
width: gridView . cellWidth
title: model . name ? model.name : "..."
subTitle: d . getStateText ( model . deployState )
2023-04-03 15:38:05 +00:00
fallbackImageUrl: model . image ? model.image : ""
2023-03-10 15:55:50 +00:00
backgroundColor: model . backgroundColor ? model.backgroundColor : "transparent" // TODO BACKEND
2023-03-17 15:09:27 +00:00
isLoading: false
2023-03-10 15:55:50 +00:00
navigationIconVisible: true
2023-03-31 12:52:51 +00:00
onClicked: root . itemClicked ( model . index , model . chainId , model . chainName , model . accountName , model . address ) // TODO: Replace to model.key when role exists in backend
2023-03-10 15:55:50 +00:00
}
}
}
}