168 lines
3.9 KiB
QML
168 lines
3.9 KiB
QML
import QtQuick 2.15
|
|
import QtQuick.Controls 2.15
|
|
import QtQuick.Layouts 1.15
|
|
|
|
import Qt.labs.settings 1.0
|
|
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
import Models 1.0
|
|
import Storybook 1.0
|
|
import utils 1.0
|
|
|
|
import AppLayouts.Communities.controls 1.0
|
|
|
|
SplitView {
|
|
id: root
|
|
|
|
orientation: Qt.Vertical
|
|
|
|
ListModel {
|
|
id: networksModel
|
|
|
|
readonly property var modelData: [
|
|
{
|
|
name: "Optimism",
|
|
icon: Theme.svg(ModelsData.networks.optimism),
|
|
amount: "300",
|
|
multiplierIndex: 0,
|
|
infiniteAmount: false,
|
|
decimals: 6
|
|
},
|
|
{
|
|
name: "Arbitrum",
|
|
icon: Theme.svg(ModelsData.networks.arbitrum),
|
|
amount: "400000",
|
|
multiplierIndex: 3,
|
|
infiniteAmount: false,
|
|
decimals: 9
|
|
},
|
|
{
|
|
name: "Hermez",
|
|
icon: Theme.svg(ModelsData.networks.hermez),
|
|
amount: "0",
|
|
multiplierIndex: 0,
|
|
infiniteAmount: true,
|
|
decimals: 0
|
|
},
|
|
{
|
|
name: "Ethereum",
|
|
icon: Theme.svg(ModelsData.networks.ethereum),
|
|
amount: "12" + "0".repeat(18),
|
|
multiplierIndex: 18,
|
|
infiniteAmount: false,
|
|
decimals: 9
|
|
}
|
|
]
|
|
|
|
Component.onCompleted: append(modelData)
|
|
}
|
|
|
|
Item {
|
|
id: container
|
|
|
|
SplitView.fillWidth: true
|
|
SplitView.fillHeight: true
|
|
|
|
Rectangle {
|
|
anchors.fill: tokenPanel
|
|
border.width: 1
|
|
anchors.margins: -15
|
|
}
|
|
|
|
TokenPanel {
|
|
id: tokenPanel
|
|
|
|
mode: {
|
|
if (addRadioButton.checked)
|
|
return HoldingTypes.Mode.Add
|
|
else if (updateRadioButton.checked)
|
|
return HoldingTypes.Mode.Update
|
|
else
|
|
return HoldingTypes.Mode.UpdateOrRemove
|
|
}
|
|
|
|
tokenCategoryText: "Community asset"
|
|
tokenName: "Token name"
|
|
tokenShortName: "TN"
|
|
tokenAmount: amountTextField.text
|
|
tokenImage: ModelsData.assets.socks
|
|
|
|
networksModel: networksModelCheckBox.checked ? networksModel : null
|
|
|
|
width: 300
|
|
anchors.centerIn: parent
|
|
}
|
|
}
|
|
|
|
LogsAndControlsPanel {
|
|
SplitView.minimumHeight: 100
|
|
SplitView.preferredHeight: 200
|
|
|
|
SplitView.fillWidth: true
|
|
|
|
ColumnLayout {
|
|
RowLayout {
|
|
RadioButton {
|
|
id: addRadioButton
|
|
text: "Add"
|
|
|
|
checked: true
|
|
}
|
|
RadioButton {
|
|
id: updateRadioButton
|
|
text: "Update"
|
|
}
|
|
|
|
RadioButton {
|
|
id: updateOrRemoveRadioButton
|
|
text: "Update or remove"
|
|
}
|
|
}
|
|
|
|
CheckBox {
|
|
id: networksModelCheckBox
|
|
|
|
text: "Networks model"
|
|
}
|
|
|
|
RowLayout {
|
|
Label {
|
|
text: "Amount:"
|
|
|
|
}
|
|
TextField {
|
|
id: amountTextField
|
|
|
|
text: "∞"
|
|
}
|
|
|
|
Label {
|
|
text: "Decimals:"
|
|
}
|
|
TextField {
|
|
id: decimalsTextField
|
|
|
|
text: "0"
|
|
}
|
|
}
|
|
|
|
RowLayout {
|
|
Label {
|
|
text: "amount: " + tokenPanel.amount
|
|
}
|
|
Label {
|
|
text: "decimals: " + tokenPanel.decimals
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
Settings {
|
|
property alias networksModelCheckBoxChecked:
|
|
networksModelCheckBox.checked
|
|
}
|
|
}
|
|
|
|
// category: Panels
|