fix(@desktop/wallet): fix switch accounts after opening collectible details
Moved logic for CollectibleDetailView to Nim module.
This commit is contained in:
parent
2bf2861631
commit
ecd799c209
|
@ -1,3 +1,5 @@
|
|||
import ./item
|
||||
|
||||
type
|
||||
AccessInterface* {.pure inheritable.} = ref object of RootObj
|
||||
## Abstract class for any input/interaction with this module.
|
||||
|
@ -17,6 +19,9 @@ method fetch*(self: AccessInterface, collectionSlug: string) {.base.} =
|
|||
method setCurrentAddress*(self: AccessInterface, address: string) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method getCollectible*(self: AccessInterface, collectionSlug: string, id: int) : Item {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
# View Delegate Interface
|
||||
# Delegate for the view must be declared here due to use of QtObject and multi
|
||||
# inheritance, which is not well supported in Nim.
|
||||
|
|
|
@ -57,6 +57,9 @@ proc initItem*(
|
|||
result.rankings = rankings
|
||||
result.stats = stats
|
||||
|
||||
proc initItem*: Item =
|
||||
result = initItem(-1, "", "", "transparent", "Collectibles", "", @[], @[], @[])
|
||||
|
||||
proc `$`*(self: Item): string =
|
||||
result = fmt"""Collectibles(
|
||||
id: {self.id},
|
||||
|
|
|
@ -100,3 +100,9 @@ QtObject:
|
|||
self.items = items
|
||||
self.endResetModel()
|
||||
self.countChanged()
|
||||
|
||||
proc getItemByID*(self: Model, id: int): Item =
|
||||
for item in self.items:
|
||||
if(item.getId() == id):
|
||||
return item
|
||||
return initItem()
|
||||
|
|
|
@ -56,3 +56,6 @@ method fetch*(self: Module, collectionSlug: string) =
|
|||
c.statistics.map(t => initTrait(t.traitType, t.value, t.displayType, t.maxValue)),
|
||||
))
|
||||
self.view.setItems(collectionSlug, items)
|
||||
|
||||
method getCollectible*(self: Module, collectionSlug: string, id: int): Item =
|
||||
return self.view.getCollectible(collectionSlug, id)
|
||||
|
|
|
@ -34,8 +34,14 @@ QtObject:
|
|||
proc fetch*(self: View, collectionSlug: string) {.slot.} =
|
||||
self.delegate.fetch(collectionSlug)
|
||||
|
||||
proc getModelForCollection*(self: View, collectionSlug: string): QObject {.slot.} =
|
||||
proc getModelForCollectionPrivate(self: View, collectionSlug: string): Model =
|
||||
if not self.models.hasKey(collectionSlug):
|
||||
self.models[collectionSlug] = newModel()
|
||||
|
||||
return self.models[collectionSlug]
|
||||
|
||||
proc getModelForCollection*(self: View, collectionSlug: string): QObject {.slot.} =
|
||||
return self.getModelForCollectionPrivate(collectionSlug)
|
||||
|
||||
proc getCollectible*(self: View, collectionSlug: string, id: int): Item =
|
||||
let model = self.getModelForCollectionPrivate(collectionSlug)
|
||||
return model.getItemByID(id)
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
import ../../../../../../app_service/service/collectible/service as collectible_service
|
||||
import ./item
|
||||
|
||||
type
|
||||
AccessInterface* {.pure inheritable.} = ref object of RootObj
|
||||
|
@ -19,6 +20,8 @@ method loadCollections*(self: AccessInterface, address: string) {.base.} =
|
|||
method setCollections*(self: AccessInterface, collections: seq[CollectionDto]) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method getCollection*(self: AccessInterface, slug: string): Item {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
# View Delegate Interface
|
||||
# Delegate for the view must be declared here due to use of QtObject and multi
|
||||
|
|
|
@ -13,6 +13,9 @@ proc initItem*(name, slug, imageUrl: string, ownedAssetCount: int): Item =
|
|||
result.imageUrl = imageUrl
|
||||
result.ownedAssetCount = ownedAssetCount
|
||||
|
||||
proc initItem*(): Item =
|
||||
result = initItem("", "", "", 0)
|
||||
|
||||
proc `$`*(self: Item): string =
|
||||
result = fmt"""CollectibleCollection(
|
||||
name: {self.name},
|
||||
|
|
|
@ -74,3 +74,9 @@ QtObject:
|
|||
self.items = items
|
||||
self.endResetModel()
|
||||
self.countChanged()
|
||||
|
||||
proc getItemBySlug*(self: Model, slug: string): Item =
|
||||
for item in self.items:
|
||||
if(item.getSlug() == slug):
|
||||
return item
|
||||
return initItem()
|
||||
|
|
|
@ -51,3 +51,6 @@ method setCollections*(self: Module, collections: seq[CollectionDto]) =
|
|||
c.ownedAssetCount,
|
||||
))
|
||||
)
|
||||
|
||||
method getCollection*(self: Module, slug: string): Item =
|
||||
return self.view.getCollection(slug)
|
||||
|
|
|
@ -37,3 +37,6 @@ QtObject:
|
|||
|
||||
proc setItems*(self: View, items: seq[Item]) =
|
||||
self.model.setItems(items)
|
||||
|
||||
proc getCollection*(self: View, slug: string): Item =
|
||||
return self.model.getItemBySlug(slug)
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
import io_interface
|
||||
|
||||
import ../collectibles/module as collectibles_module
|
||||
import ../collections/module as collections_module
|
||||
|
||||
type
|
||||
Controller* = ref object of RootObj
|
||||
delegate: io_interface.AccessInterface
|
||||
collectiblesModule: collectibles_module.AccessInterface
|
||||
collectionsModule: collections_module.AccessInterface
|
||||
|
||||
proc newController*(
|
||||
delegate: io_interface.AccessInterface,
|
||||
collectiblesModule: collectibles_module.AccessInterface,
|
||||
collectionsModule: collections_module.AccessInterface
|
||||
): Controller =
|
||||
result = Controller()
|
||||
result.delegate = delegate
|
||||
result.collectiblesModule = collectiblesModule
|
||||
result.collectionsModule = collectionsModule
|
||||
|
||||
proc delete*(self: Controller) =
|
||||
discard
|
||||
|
||||
proc init*(self: Controller) =
|
||||
discard
|
||||
|
||||
proc update*(self: Controller, slug: string, id: int) =
|
||||
self.delegate.setData(self.collectionsModule.getCollection(slug), self.collectiblesModule.getCollectible(slug, id))
|
|
@ -0,0 +1,27 @@
|
|||
import ../collections/item as collection_item
|
||||
import ../collectibles/item as collectible_item
|
||||
|
||||
type
|
||||
AccessInterface* {.pure inheritable.} = ref object of RootObj
|
||||
## Abstract class for any input/interaction with this module.
|
||||
|
||||
method delete*(self: AccessInterface) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method load*(self: AccessInterface) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method isLoaded*(self: AccessInterface): bool {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method update*(self: AccessInterface, slug: string, id: int) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method setData*(self: AccessInterface, collection: collection_item.Item, collectible: collectible_item.Item) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
# View Delegate Interface
|
||||
# Delegate for the view must be declared here due to use of QtObject and multi
|
||||
# inheritance, which is not well supported in Nim.
|
||||
method viewDidLoad*(self: AccessInterface) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
|
@ -0,0 +1,54 @@
|
|||
import NimQml, sequtils, sugar
|
||||
|
||||
import ../../../../../global/global_singleton
|
||||
|
||||
import ./io_interface, ./view, ./controller
|
||||
import ../io_interface as delegate_interface
|
||||
import ../collectibles/module as collectibles_module
|
||||
import ../collections/module as collections_module
|
||||
|
||||
import ../collections/item as collection_item
|
||||
import ../collectibles/item as collectible_item
|
||||
|
||||
export io_interface
|
||||
|
||||
type
|
||||
Module* = ref object of io_interface.AccessInterface
|
||||
delegate: delegate_interface.AccessInterface
|
||||
view: View
|
||||
controller: Controller
|
||||
moduleLoaded: bool
|
||||
currentAccountIndex: int
|
||||
|
||||
proc newModule*(
|
||||
delegate: delegate_interface.AccessInterface,
|
||||
collectionsModule: collections_module.AccessInterface,
|
||||
collectiblesModule: collectibles_module.AccessInterface,
|
||||
): Module =
|
||||
result = Module()
|
||||
result.delegate = delegate
|
||||
result.view = newView(result)
|
||||
result.controller = newController(result, collectiblesModule, collectionsModule)
|
||||
result.moduleLoaded = false
|
||||
|
||||
method delete*(self: Module) =
|
||||
self.view.delete
|
||||
|
||||
method load*(self: Module) =
|
||||
singletonInstance.engine.setRootContextProperty("walletSectionCollectibleCurrent", newQVariant(self.view))
|
||||
|
||||
self.controller.init()
|
||||
self.view.load()
|
||||
|
||||
method isLoaded*(self: Module): bool =
|
||||
return self.moduleLoaded
|
||||
|
||||
method viewDidLoad*(self: Module) =
|
||||
self.moduleLoaded = true
|
||||
self.delegate.currentCollectibleModuleDidLoad()
|
||||
|
||||
method update*(self: Module, slug: string, id: int) =
|
||||
self.controller.update(slug, id)
|
||||
|
||||
method setData*(self: Module, collection: collection_item.Item, collectible: collectible_item.Item) =
|
||||
self.view.setData(collection, collectible)
|
|
@ -0,0 +1,181 @@
|
|||
import NimQml, sequtils, sugar
|
||||
|
||||
import ./io_interface
|
||||
import ../collections/model as collections_model
|
||||
import ../collectibles/model as collectibles_model
|
||||
import ../collections/item as collection_item
|
||||
import ../collectibles/item as collectible_item
|
||||
import ../collectibles/trait_model
|
||||
|
||||
QtObject:
|
||||
type
|
||||
View* = ref object of QObject
|
||||
delegate: io_interface.AccessInterface
|
||||
|
||||
name: string
|
||||
id: string
|
||||
description: string
|
||||
backgroundColor: string
|
||||
imageUrl: string
|
||||
collectionID: string
|
||||
collectionImageUrl: string
|
||||
permalink: string
|
||||
propertiesModel: TraitModel
|
||||
rankingsModel: TraitModel
|
||||
statsModel: TraitModel
|
||||
|
||||
proc setup(self: View) =
|
||||
self.QObject.setup
|
||||
|
||||
proc delete*(self: View) =
|
||||
self.QObject.delete
|
||||
|
||||
proc newView*(delegate: io_interface.AccessInterface): View =
|
||||
new(result, delete)
|
||||
result.setup()
|
||||
result.delegate = delegate
|
||||
result.description = "Collectibles"
|
||||
result.backgroundColor = "transparent"
|
||||
result.propertiesModel = newTraitModel()
|
||||
result.rankingsModel = newTraitModel()
|
||||
result.statsModel = newTraitModel()
|
||||
|
||||
proc load*(self: View) =
|
||||
self.delegate.viewDidLoad()
|
||||
|
||||
proc getName(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.name)
|
||||
|
||||
proc nameChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] name:
|
||||
read = getName
|
||||
notify = nameChanged
|
||||
|
||||
proc getID(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.id)
|
||||
|
||||
proc idChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] id:
|
||||
read = getID
|
||||
notify = idChanged
|
||||
|
||||
proc getDescription(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.description)
|
||||
|
||||
proc descriptionChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] description:
|
||||
read = getDescription
|
||||
notify = descriptionChanged
|
||||
|
||||
proc getBackgroundColor(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.backgroundColor)
|
||||
|
||||
proc backgroundColorChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] backgroundColor:
|
||||
read = getBackgroundColor
|
||||
notify = backgroundColorChanged
|
||||
|
||||
proc getImageUrl(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.imageUrl)
|
||||
|
||||
proc imageUrlChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] imageUrl:
|
||||
read = getImageUrl
|
||||
notify = imageUrlChanged
|
||||
|
||||
proc getCollectionID(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.collectionID)
|
||||
|
||||
proc collectionIDChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] collectionID:
|
||||
read = getCollectionID
|
||||
notify = collectionIDChanged
|
||||
|
||||
proc getCollectionImageUrl(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.collectionImageUrl)
|
||||
|
||||
proc collectionImageUrlChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] collectionImageUrl:
|
||||
read = getCollectionImageUrl
|
||||
notify = collectionImageUrlChanged
|
||||
|
||||
proc getPermalink(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.permalink)
|
||||
|
||||
proc permalinkChanged(self: View) {.signal.}
|
||||
|
||||
QtProperty[QVariant] permalink:
|
||||
read = getPermalink
|
||||
notify = permalinkChanged
|
||||
|
||||
proc propertiesChanged(self: View) {.signal.}
|
||||
|
||||
proc getProperties*(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.propertiesModel)
|
||||
|
||||
QtProperty[QVariant] properties:
|
||||
read = getProperties
|
||||
notify = propertiesChanged
|
||||
|
||||
proc rankingsChanged(self: View) {.signal.}
|
||||
|
||||
proc getRankings*(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.rankingsModel)
|
||||
|
||||
QtProperty[QVariant] rankings:
|
||||
read = getRankings
|
||||
notify = rankingsChanged
|
||||
|
||||
proc statsChanged(self: View) {.signal.}
|
||||
|
||||
proc getStats*(self: View): QVariant {.slot.} =
|
||||
return newQVariant(self.statsModel)
|
||||
|
||||
QtProperty[QVariant] rankings:
|
||||
read = getStats
|
||||
notify = statsChanged
|
||||
|
||||
proc update*(self: View, slug: string, id: int) {.slot.} =
|
||||
self.delegate.update(slug, id)
|
||||
|
||||
proc setData*(self: View, collection: collection_item.Item, collectible: collectible_item.Item) =
|
||||
if (self.name != collectible.getName()):
|
||||
self.name = collectible.getName()
|
||||
self.nameChanged()
|
||||
|
||||
let idString = $collectible.getId()
|
||||
if (self.id != idString):
|
||||
self.id = idString
|
||||
self.idChanged()
|
||||
|
||||
if (self.description != collectible.getDescription()):
|
||||
self.description = collectible.getDescription()
|
||||
self.descriptionChanged()
|
||||
|
||||
if (self.backgroundColor != collectible.getBackgroundColor()):
|
||||
self.backgroundColor = collectible.getBackgroundColor()
|
||||
self.backgroundColorChanged()
|
||||
|
||||
if (self.imageUrl != collectible.getImageUrl()):
|
||||
self.imageUrl = collectible.getImageUrl()
|
||||
self.imageUrlChanged()
|
||||
|
||||
if (self.collectionImageUrl != collection.getImageUrl()):
|
||||
self.collectionImageUrl = collection.getImageUrl()
|
||||
self.collectionImageUrlChanged()
|
||||
|
||||
self.propertiesModel.setItems(collectible.getProperties())
|
||||
self.propertiesChanged()
|
||||
|
||||
self.rankingsModel.setItems(collectible.getRankings())
|
||||
self.rankingsChanged()
|
||||
|
||||
self.statsModel.setItems(collectible.getStats())
|
||||
self.statsChanged()
|
|
@ -23,3 +23,6 @@ method collectiblesModuleDidLoad*(self: AccessInterface) {.base.} =
|
|||
|
||||
method collectionsModuleDidLoad*(self: AccessInterface) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
||||
method currentCollectibleModuleDidLoad*(self: AccessInterface) {.base.} =
|
||||
raise newException(ValueError, "No implementation available")
|
||||
|
|
|
@ -7,6 +7,7 @@ import ../../../../../app_service/service/wallet_account/service as wallet_accou
|
|||
import ./collectible/module as collectible_module
|
||||
import ./collections/module as collections_module
|
||||
import ./collectibles/module as collectibles_module
|
||||
import ./current_collectible/module as current_collectible_module
|
||||
|
||||
export io_interface
|
||||
|
||||
|
@ -19,6 +20,7 @@ type
|
|||
collectiblesModule: collectibles_module.AccessInterface
|
||||
collectionsModule: collections_module.AccessInterface
|
||||
collectibleModule: collectible_module.AccessInterface
|
||||
currentCollectibleModule: current_collectible_module.AccessInterface
|
||||
|
||||
proc newModule*(
|
||||
delegate: delegate_interface.AccessInterface,
|
||||
|
@ -34,17 +36,20 @@ proc newModule*(
|
|||
result.collectiblesModule = collectibles_module.newModule(result, collectibleService)
|
||||
result.collectionsModule = collectionsModule.newModule(result, events, collectibleService)
|
||||
result.collectibleModule = collectibleModule.newModule(result, collectibleService)
|
||||
result.currentCollectibleModule = currentCollectibleModule.newModule(result, result.collectionsModule, result.collectiblesModule)
|
||||
|
||||
method delete*(self: Module) =
|
||||
self.collectiblesModule.delete
|
||||
self.collectionsModule.delete
|
||||
self.collectibleModule.delete
|
||||
self.currentCollectibleModule.delete
|
||||
|
||||
method load*(self: Module) =
|
||||
self.controller.init
|
||||
self.collectiblesModule.load
|
||||
self.collectionsModule.load
|
||||
self.collectibleModule.load
|
||||
self.currentCollectibleModule.load
|
||||
|
||||
method isLoaded*(self: Module): bool =
|
||||
return self.moduleLoaded
|
||||
|
@ -59,6 +64,9 @@ proc checkIfModuleDidLoad(self: Module) =
|
|||
if(not self.collectibleModule.isLoaded()):
|
||||
return
|
||||
|
||||
if(not self.currentCollectibleModule.isLoaded()):
|
||||
return
|
||||
|
||||
self.moduleLoaded = true
|
||||
self.delegate.collectiblesModuleDidLoad()
|
||||
|
||||
|
@ -71,6 +79,9 @@ method collectiblesModuleDidLoad*(self: Module) =
|
|||
method collectionsModuleDidLoad*(self: Module) =
|
||||
self.checkIfModuleDidLoad()
|
||||
|
||||
method currentCollectibleModuleDidLoad*(self: Module) =
|
||||
self.checkIfModuleDidLoad()
|
||||
|
||||
method switchAccount*(self: Module, accountIndex: int) =
|
||||
let account = self.controller.getWalletAccount(accountIndex)
|
||||
self.collectionsModule.loadCollections(account.address)
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
import QtQuick 2.13
|
||||
import QtQuick.Dialogs 1.3
|
||||
|
||||
import utils 1.0
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
|
||||
property string name
|
||||
property string collectibleId
|
||||
property string description: qsTr("Collectibles")
|
||||
property color backgroundColor: "transparent"
|
||||
property url collectibleImageUrl
|
||||
property url permalink
|
||||
property url imageUrl
|
||||
property var properties
|
||||
property var rankings
|
||||
property var stats
|
||||
property int collectionIndex
|
||||
}
|
|
@ -34,8 +34,9 @@ QtObject {
|
|||
property var walletTokensModule: walletSectionAllTokens
|
||||
property var tokens: walletSectionAllTokens.all
|
||||
|
||||
property CollectiblesStore collectiblesStore: CollectiblesStore { }
|
||||
property var collectionList: walletSectionCollectiblesCollections.model
|
||||
property var collectibleLists: walletSectionCollectiblesCollectibles.model
|
||||
property var currentCollectible: walletSectionCollectibleCurrent
|
||||
|
||||
property var savedAddresses: walletSectionSavedAddresses.model
|
||||
|
||||
|
@ -160,7 +161,7 @@ QtObject {
|
|||
return globalUtils.hex2Dec(value)
|
||||
}
|
||||
|
||||
function fetchCollectionCollectiblesList(slug) {
|
||||
function fetchCollectionCollectiblesList(slug) {
|
||||
walletSectionCollectiblesCollectibles.fetch(slug)
|
||||
}
|
||||
|
||||
|
@ -177,6 +178,10 @@ QtObject {
|
|||
// walletModelV2Inst.collectiblesView.collections.getCollectionTraitMaxValue(collectionIndex, traitType).toString();
|
||||
}
|
||||
|
||||
function selectCollectible(slug, id) {
|
||||
walletSectionCollectibleCurrent.update(slug, id)
|
||||
}
|
||||
|
||||
function createOrUpdateSavedAddress(name, address, favourite) {
|
||||
return walletSectionSavedAddresses.createOrUpdateSavedAddress(name, address, favourite)
|
||||
}
|
||||
|
|
|
@ -87,9 +87,9 @@ Item {
|
|||
bottomPadding: 16
|
||||
spacing: 24
|
||||
|
||||
Repeater {
|
||||
objectName: "collectiblesRepeater"
|
||||
model: RootStore.getCollectionCollectiblesList(root.slug)
|
||||
Component {
|
||||
id: collectibleDelegate
|
||||
|
||||
StatusRoundedImage {
|
||||
id: image
|
||||
width: 146
|
||||
|
@ -115,22 +115,18 @@ Item {
|
|||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
onClicked: {
|
||||
RootStore.collectiblesStore.collectibleImageUrl = collectionImageUrl;
|
||||
RootStore.collectiblesStore.name = model.name;
|
||||
RootStore.collectiblesStore.collectibleId = model.id;
|
||||
RootStore.collectiblesStore.description = model.description;
|
||||
RootStore.collectiblesStore.permalink = model.permalink;
|
||||
RootStore.collectiblesStore.imageUrl = model.imageUrl;
|
||||
RootStore.collectiblesStore.backgroundColor = model.backgroundColor;
|
||||
RootStore.collectiblesStore.properties = model.properties;
|
||||
RootStore.collectiblesStore.rankings = model.rankings;
|
||||
RootStore.collectiblesStore.stats = model.stats;
|
||||
RootStore.collectiblesStore.collectionIndex = root.collectionIndex;
|
||||
RootStore.selectCollectible(root.slug, model.id)
|
||||
root.collectibleClicked();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Repeater {
|
||||
objectName: "collectiblesRepeater"
|
||||
model: RootStore.getCollectionCollectiblesList(root.slug)
|
||||
delegate: collectibleDelegate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,15 +15,17 @@ import "../../controls"
|
|||
Item {
|
||||
id: root
|
||||
|
||||
property var currentCollectible: RootStore.currentCollectible
|
||||
|
||||
CollectibleDetailsHeader {
|
||||
id: collectibleHeader
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
asset.name: RootStore.collectiblesStore.collectibleImageUrl
|
||||
asset.name: currentCollectible.collectionImageUrl
|
||||
asset.isImage: true
|
||||
primaryText: RootStore.collectiblesStore.name
|
||||
secondaryText: RootStore.collectiblesStore.collectibleId
|
||||
primaryText: currentCollectible.name
|
||||
secondaryText: currentCollectible.id
|
||||
}
|
||||
|
||||
ColumnLayout {
|
||||
|
@ -45,17 +47,17 @@ Item {
|
|||
width: 253
|
||||
height: 253
|
||||
radius: 2
|
||||
color: RootStore.collectiblesStore.backgroundColor
|
||||
color: currentCollectible.backgroundColor
|
||||
border.color: Theme.palette.directColor8
|
||||
border.width: 1
|
||||
image.source: RootStore.collectiblesStore.imageUrl
|
||||
image.source: currentCollectible.imageUrl
|
||||
}
|
||||
StatusBaseText {
|
||||
id: collectibleText
|
||||
width: parent.width - collectibleimage.width - Style.current.bigPadding
|
||||
height: collectibleimage.height
|
||||
|
||||
text: RootStore.collectiblesStore.description
|
||||
text: currentCollectible.description
|
||||
color: Theme.palette.directColor1
|
||||
font.pixelSize: 15
|
||||
lineHeight: 22
|
||||
|
@ -69,7 +71,7 @@ Item {
|
|||
id: collectiblesDetailsTab
|
||||
Layout.fillWidth: true
|
||||
Layout.topMargin: Style.current.xlPadding
|
||||
visible: RootStore.collectiblesStore.properties.count > 0
|
||||
visible: currentCollectible.properties.count > 0
|
||||
|
||||
StatusTabButton {
|
||||
leftPadding: 0
|
||||
|
@ -83,7 +85,7 @@ Item {
|
|||
width: parent.width
|
||||
spacing: 10
|
||||
Repeater {
|
||||
model: RootStore.collectiblesStore.properties
|
||||
model: currentCollectible.properties
|
||||
InformationTile {
|
||||
maxWidth: parent.width
|
||||
primaryText: model.traitType
|
||||
|
|
Loading…
Reference in New Issue