251 lines
6.8 KiB
QML
251 lines
6.8 KiB
QML
import QtQuick 2.15
|
||
import QtQuick.Layouts 1.15
|
||
import QtQuick.Controls 2.15
|
||
|
||
import AppLayouts.Wallet.panels 1.0
|
||
import utils 1.0
|
||
|
||
Pane {
|
||
readonly property var assetsData: [
|
||
{
|
||
tokensKey: "key_1",
|
||
communityId: "",
|
||
name: "Status Test Token",
|
||
currencyBalanceAsString: "42,23 USD",
|
||
symbol: "STT",
|
||
iconSource: Constants.tokenIcon("STT"),
|
||
tokensKey: "STT",
|
||
|
||
balances: [
|
||
{
|
||
balanceAsString: "0,56",
|
||
iconUrl: "network/Network=Ethereum"
|
||
},
|
||
{
|
||
balanceAsString: "0,22",
|
||
iconUrl: "network/Network=Arbitrum"
|
||
},
|
||
{
|
||
balanceAsString: "0,12",
|
||
iconUrl: "network/Network=Optimism"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
tokensKey: "key_2",
|
||
communityId: "",
|
||
name: "Ether",
|
||
currencyBalanceAsString: "4 276,86 USD",
|
||
symbol: "ETH",
|
||
iconSource: Constants.tokenIcon("ETH"),
|
||
tokensKey: "ETH",
|
||
|
||
balances: [
|
||
{
|
||
balanceAsString: "1,01",
|
||
iconUrl: "network/Network=Optimism"
|
||
},
|
||
{
|
||
balanceAsString: "0,47",
|
||
iconUrl: "network/Network=Arbitrum"
|
||
},
|
||
{
|
||
balanceAsString: "0,12",
|
||
iconUrl: "network/Network=Ethereum"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
tokensKey: "key_2",
|
||
communityId: "",
|
||
name: "Dai Stablecoin",
|
||
currencyBalanceAsString: "45,92 USD",
|
||
symbol: "DAI",
|
||
iconSource: Constants.tokenIcon("DAI"),
|
||
tokensKey: "DAI",
|
||
|
||
balances: [
|
||
{
|
||
balanceAsString: "45,12",
|
||
iconUrl: "network/Network=Arbitrum"
|
||
},
|
||
{
|
||
balanceAsString: "0,56",
|
||
iconUrl: "network/Network=Optimism"
|
||
},
|
||
{
|
||
balanceAsString: "0,12",
|
||
iconUrl: "network/Network=Ethereum"
|
||
}
|
||
]
|
||
}
|
||
]
|
||
|
||
readonly property var collectiblesData: [
|
||
{
|
||
groupName: "My community",
|
||
icon: Constants.tokenIcon("BQX"),
|
||
type: "community",
|
||
subitems: [
|
||
{
|
||
key: "my_community_key_1",
|
||
name: "My token",
|
||
balance: 1,
|
||
icon: Constants.tokenIcon("CFI"),
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
groupName: "Crypto Kitties",
|
||
icon: Constants.tokenIcon("ENJ"),
|
||
type: "other",
|
||
subitems: [
|
||
{
|
||
key: "collection_1_key_1",
|
||
name: "Furbeard",
|
||
balance: 1,
|
||
icon: Constants.tokenIcon("FUEL"),
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum"
|
||
},
|
||
{
|
||
key: "collection_1_key_2",
|
||
name: "Magicat",
|
||
balance: 1,
|
||
icon: Constants.tokenIcon("ENJ"),
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum"
|
||
},
|
||
{
|
||
key: "collection_1_key_3",
|
||
name: "Happy Meow",
|
||
balance: 1,
|
||
icon: Constants.tokenIcon("FUN"),
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
groupName: "Super Rare",
|
||
icon: Constants.tokenIcon("CVC"),
|
||
type: "other",
|
||
subitems: [
|
||
{
|
||
key: "collection_2_key_1",
|
||
name: "Unicorn 1",
|
||
balance: 12,
|
||
icon: Constants.tokenIcon("CVC"),
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum"
|
||
},
|
||
{
|
||
key: "collection_2_key_2",
|
||
name: "Unicorn 2",
|
||
balance: 1,
|
||
icon: Constants.tokenIcon("CVC"),
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
groupName: "Unicorn",
|
||
icon: Constants.tokenIcon("ELF"),
|
||
type: "other",
|
||
chainId: 11155111,
|
||
iconUrl: "network/Network=Ethereum",
|
||
subitems: [
|
||
{
|
||
key: "collection_3_key_1",
|
||
name: "Unicorn",
|
||
balance: 1,
|
||
icon: Constants.tokenIcon("ELF")
|
||
}
|
||
]
|
||
}
|
||
]
|
||
|
||
ListModel {
|
||
id: assetsModel
|
||
|
||
Component.onCompleted: append(assetsData)
|
||
}
|
||
|
||
ListModel {
|
||
id: collectiblesModel
|
||
|
||
Component.onCompleted: append(collectiblesData)
|
||
}
|
||
|
||
Rectangle {
|
||
anchors.fill: panel
|
||
anchors.margins: -1
|
||
|
||
color: "transparent"
|
||
border.color: "lightgray"
|
||
}
|
||
|
||
TokenSelectorPanel {
|
||
id: panel
|
||
|
||
anchors.centerIn: parent
|
||
|
||
width: 350
|
||
|
||
assetsModel: assetsModelCheckBox.checked ? assetsModel : null
|
||
collectiblesModel: collectiblesModelCheckBox.checked
|
||
? collectiblesModel : null
|
||
|
||
onCollectibleSelected: {
|
||
highlightedKey = key
|
||
console.log("collectible selected:", key)
|
||
}
|
||
|
||
onCollectionSelected: {
|
||
highlightedKey = key
|
||
console.log("collection selected:", key)
|
||
}
|
||
|
||
onAssetSelected: {
|
||
highlightedKey = key
|
||
console.log("asset selected:", key)
|
||
}
|
||
}
|
||
|
||
RowLayout {
|
||
anchors.bottom: parent.bottom
|
||
anchors.horizontalCenter: parent.horizontalCenter
|
||
|
||
Button {
|
||
text: "Select assets tab"
|
||
|
||
onClicked: panel.currentTab = TokenSelectorPanel.Tabs.Assets
|
||
}
|
||
|
||
Button {
|
||
text: "Select collectibles tab"
|
||
|
||
onClicked: panel.currentTab = TokenSelectorPanel.Tabs.Collectibles
|
||
}
|
||
|
||
CheckBox {
|
||
id: assetsModelCheckBox
|
||
|
||
checked: true
|
||
text: "Assets model assigned"
|
||
}
|
||
|
||
CheckBox {
|
||
id: collectiblesModelCheckBox
|
||
|
||
checked: true
|
||
text: "Collectibles model assigned"
|
||
}
|
||
}
|
||
}
|
||
|
||
// category: Controls
|