status-desktop/ui/app/AppLayouts/Wallet/views/collectibles/CollectibleMedia.qml

43 lines
1.3 KiB
QML

import QtQuick 2.14
import StatusQ.Components 0.1
import StatusQ.Core.Theme 0.1
import utils 1.0
StatusRoundedMedia {
id: root
readonly property bool isEmpty: !mediaUrl.toString() && !fallbackImageUrl.toString()
property color backgroundColor: Theme.palette.baseColor5
property bool isCollectibleLoading: false
property bool isMetadataValid: false
radius: Style.current.radius
color: isError || isEmpty ? Theme.palette.baseColor5 : backgroundColor
Loader {
id: loadingCompLoader
anchors.fill: parent
active: root.isCollectibleLoading || root.isLoading
sourceComponent: LoadingComponent {radius: root.radius}
}
Loader {
anchors.fill: parent
active: (root.isError || root.isEmpty) && !loadingCompLoader.active
sourceComponent: LoadingErrorComponent {
radius: root.radius
text: {
if (root.isError && root.componentMediaType === StatusRoundedMedia.MediaType.Unkown) {
return qsTr("Unsupported\nfile format")
}
if (!root.isMetadataValid) {
return qsTr("Info can't\nbe fetched")
}
return qsTr("Failed\nto load")
}
}
}
}