2022-03-25 09:09:49 +00:00
|
|
|
import QtQuick 2.14
|
2022-05-28 19:38:21 +00:00
|
|
|
import QtWebEngine 1.10
|
2022-03-25 09:09:49 +00:00
|
|
|
import shared.status 1.0
|
|
|
|
import StatusQ.Controls 0.1
|
|
|
|
import StatusQ.Core 0.1
|
|
|
|
import StatusQ.Core.Theme 0.1
|
|
|
|
import StatusQ.Components 0.1
|
|
|
|
import utils 1.0
|
|
|
|
|
|
|
|
import "../../stores"
|
|
|
|
|
|
|
|
Column {
|
|
|
|
id: root
|
|
|
|
|
|
|
|
property WalletStore walletStore
|
|
|
|
|
|
|
|
Repeater {
|
|
|
|
id: permissionsList
|
|
|
|
model: walletStore.dappList
|
|
|
|
delegate: Item {
|
|
|
|
width: parent.width
|
|
|
|
height: listItem.height + spacer.height
|
2022-05-28 19:38:21 +00:00
|
|
|
WebEngineView {
|
|
|
|
id: webView
|
|
|
|
url: model.name.startsWith("http")? model.name : "http://%1".arg(model.name)
|
|
|
|
visible: false
|
|
|
|
}
|
2022-03-25 09:09:49 +00:00
|
|
|
StatusListItem {
|
|
|
|
id: listItem
|
2022-05-28 19:38:21 +00:00
|
|
|
title: webView.title !== ""? webView.title : model.name
|
|
|
|
subTitle: model.name
|
2022-08-11 11:55:08 +00:00
|
|
|
asset.name: webView.icon != ""? webView.icon : Style.svg("compassActive")
|
|
|
|
asset.isImage: true
|
2022-03-25 09:09:49 +00:00
|
|
|
width: parent.width
|
|
|
|
highlighted: true
|
|
|
|
sensor.enabled: false
|
|
|
|
components: [
|
|
|
|
StatusButton {
|
|
|
|
text: model.accounts.count > 1 ? qsTr("Disconnect All") : qsTr("Disconnect")
|
|
|
|
size: StatusBaseButton.Size.Small
|
|
|
|
type: StatusBaseButton.Type.Danger
|
|
|
|
onClicked: {
|
|
|
|
walletStore.disconnect(model.name)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
]
|
|
|
|
bottomModel: model.accounts
|
|
|
|
bottomDelegate: StatusListItemTag {
|
|
|
|
property int outerIndex: listItem.index
|
|
|
|
|
|
|
|
title: model.name
|
2022-05-28 19:38:21 +00:00
|
|
|
|
2022-08-11 11:55:08 +00:00
|
|
|
asset.emoji: !!model.emoji ? model.emoji: ""
|
|
|
|
asset.color: model.color
|
|
|
|
asset.name: !model.emoji ? "filled-account": ""
|
|
|
|
asset.letterSize: 14
|
|
|
|
asset.isLetterIdenticon: !!model.emoji
|
|
|
|
asset.bgColor: Theme.palette.indirectColor1
|
2022-03-25 09:09:49 +00:00
|
|
|
onClicked: {
|
|
|
|
const dappName = walletStore.dappList.rowData(outerIndex, 'name')
|
|
|
|
walletStore.disconnectAddress(dappName, model.address)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Item {
|
|
|
|
id: spacer
|
|
|
|
height: Style.current.bigPadding
|
|
|
|
width: parent.width
|
|
|
|
}
|
|
|
|
} // Item
|
|
|
|
} // Repeater
|
|
|
|
} // Column
|