status-desktop/storybook/pages/TokenSelectorPanelPage.qml

251 lines
6.8 KiB
QML
Raw Permalink Normal View History

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