mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-09 22:06:25 +00:00
d3f037f93b
Removed loading hidden groups from local settings and instead reload them from the externally loaded settings. Also move the local saving code from the controller to external, therefore now it is implemented in storybook Updates #14365
172 lines
5.0 KiB
QML
172 lines
5.0 KiB
QML
import QtQuick 2.15
|
|
import QtQuick.Layouts 1.15
|
|
import QtQuick.Controls 2.15
|
|
|
|
import Qt.labs.settings 1.0
|
|
|
|
import StatusQ 0.1
|
|
import StatusQ.Core 0.1
|
|
import StatusQ.Models 0.1
|
|
|
|
import AppLayouts.Wallet.panels 1.0
|
|
import AppLayouts.Wallet.stores 1.0
|
|
|
|
import utils 1.0
|
|
|
|
import Storybook 1.0
|
|
import Models 1.0
|
|
|
|
SplitView {
|
|
id: root
|
|
|
|
Logs { id: logs }
|
|
|
|
orientation: Qt.Horizontal
|
|
|
|
readonly property WalletAssetsStore walletAssetStore: WalletAssetsStore {
|
|
assetsWithFilteredBalances: groupedAccountsAssetsModel
|
|
}
|
|
|
|
ManageCollectiblesModel {
|
|
id: collectiblesModel
|
|
}
|
|
|
|
RolesRenamingModel {
|
|
id: renamedModel
|
|
sourceModel: collectiblesModel
|
|
mapping: [
|
|
RoleRename {
|
|
from: "uid"
|
|
to: "symbol"
|
|
}
|
|
]
|
|
}
|
|
|
|
ManageTokensController {
|
|
id: assetsController
|
|
sourceModel: ctrlEmptyModel.checked ? null : walletAssetStore.groupedAccountAssetsModel
|
|
settingsKey: "WalletAssets"
|
|
serializeAsCollectibles: false
|
|
|
|
onRequestSaveSettings: (jsonData) => {
|
|
savingStarted()
|
|
assetsSettingsStore.setValue(settingsKey, jsonData)
|
|
savingFinished()
|
|
}
|
|
onRequestLoadSettings: {
|
|
loadingStarted()
|
|
const jsonData = assetsSettingsStore.value(settingsKey, null)
|
|
loadingFinished(jsonData)
|
|
}
|
|
onRequestClearSettings: {
|
|
assetsSettingsStore.setValue(settingsKey, null)
|
|
}
|
|
}
|
|
|
|
Settings {
|
|
id: assetsSettingsStore
|
|
category: "ManageTokens-" + assetsController.settingsKey
|
|
}
|
|
|
|
ManageTokensController {
|
|
id: collectiblesController
|
|
sourceModel: ctrlEmptyModel.checked ? null : renamedModel
|
|
settingsKey: "WalletCollectibles"
|
|
serializeAsCollectibles: true
|
|
|
|
onRequestSaveSettings: (jsonData) => {
|
|
savingStarted()
|
|
collectiblesSettingsStore.setValue(settingsKey, jsonData)
|
|
savingFinished()
|
|
}
|
|
onRequestLoadSettings: {
|
|
loadingStarted()
|
|
const jsonData = collectiblesSettingsStore.value(settingsKey, null)
|
|
loadingFinished(jsonData)
|
|
}
|
|
onRequestClearSettings: {
|
|
collectiblesSettingsStore.setValue(settingsKey, null)
|
|
}
|
|
}
|
|
|
|
Settings {
|
|
id: collectiblesSettingsStore
|
|
category: "ManageTokens-" + collectiblesController.settingsKey
|
|
}
|
|
|
|
ManageHiddenPanel {
|
|
id: showcasePanel
|
|
|
|
SplitView.fillWidth: true
|
|
SplitView.fillHeight: true
|
|
|
|
assetsController: assetsController
|
|
collectiblesController: collectiblesController
|
|
|
|
getCurrencyAmount: function (balance, symbol) {
|
|
return ({
|
|
amount: balance,
|
|
symbol: symbol,
|
|
displayDecimals: 2,
|
|
stripTrailingZeroes: false
|
|
})
|
|
}
|
|
getCurrentCurrencyAmount: function (balance) {
|
|
return ({
|
|
amount: balance,
|
|
symbol: "USD",
|
|
displayDecimals: 2,
|
|
stripTrailingZeroes: false
|
|
})
|
|
}
|
|
}
|
|
|
|
LogsAndControlsPanel {
|
|
id: logsAndControlsPanel
|
|
|
|
SplitView.minimumWidth: 150
|
|
SplitView.preferredWidth: 250
|
|
|
|
logsView.logText: logs.logText
|
|
|
|
ColumnLayout {
|
|
Label {
|
|
Layout.fillWidth: true
|
|
text: "Has saved settings: %1".arg(showcasePanel.hasSettings ? "true" : "false")
|
|
}
|
|
|
|
Button {
|
|
enabled: showcasePanel.hasSettings
|
|
text: "Clear settings"
|
|
onClicked: showcasePanel.clearSettings()
|
|
}
|
|
|
|
Switch {
|
|
id: ctrlEmptyModel
|
|
text: "Empty model"
|
|
}
|
|
|
|
Label {
|
|
text: "Hidden community groups:"
|
|
}
|
|
Label {
|
|
text: assetsController.hiddenCommunityGroups.concat(collectiblesController.hiddenCommunityGroups).join()
|
|
}
|
|
|
|
Label {
|
|
text: "Hidden collection groups:"
|
|
}
|
|
Label {
|
|
text: assetsController.hiddenCollectionGroups.concat(collectiblesController.hiddenCollectionGroups).join()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// category: Panels
|
|
|
|
// https://www.figma.com/file/eM26pyHZUeAwMLviaS1KJn/%E2%9A%99%EF%B8%8F-Wallet-Settings%3A-Manage-Tokens?type=design&node-id=12-126364&mode=design&t=ZqKtOXpYtpReg4oL-0
|
|
// https://www.figma.com/file/eM26pyHZUeAwMLviaS1KJn/%E2%9A%99%EF%B8%8F-Wallet-Settings%3A-Manage-Tokens?type=design&node-id=40-127902&mode=design&t=ZqKtOXpYtpReg4oL-0
|
|
// https://www.figma.com/file/eM26pyHZUeAwMLviaS1KJn/%E2%9A%99%EF%B8%8F-Wallet-Settings%3A-Manage-Tokens?type=design&node-id=577-130046&mode=design&t=ZqKtOXpYtpReg4oL-0
|
|
// https://www.figma.com/file/eM26pyHZUeAwMLviaS1KJn/%E2%9A%99%EF%B8%8F-Wallet-Settings%3A-Manage-Tokens?type=design&node-id=577-151896&mode=design&t=ZqKtOXpYtpReg4oL-0
|