fix(dapps) fail to process a transaction if missing usual fields (#15481)
Updates: #15189 Co-authored-by: Stefan <stefand@status.im>
This commit is contained in:
parent
046892dd98
commit
c4d930ef88
|
@ -0,0 +1,29 @@
|
|||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
import Qt.labs.settings 1.0
|
||||
|
||||
import Models 1.0
|
||||
import Storybook 1.0
|
||||
|
||||
import shared.popups.walletconnect 1.0
|
||||
|
||||
|
||||
Item {
|
||||
id: root
|
||||
|
||||
DAppConfirmDisconnectPopup {
|
||||
anchors.centerIn: parent
|
||||
visible: true
|
||||
|
||||
dappIcon: "https://opensea.io/static/images/logos/opensea-logo.svg"
|
||||
dappUrl: "opensea.io"
|
||||
dappName: "OpenSea"
|
||||
|
||||
destroyOnClose: false
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// category: Popups
|
||||
// https://www.figma.com/design/HrmZp1y4S77QJezRFRl6ku/dApp-Interactions---Milestone-1?node-id=3620-39188&t=py67JrptsxbHYMHW-0
|
|
@ -31,7 +31,40 @@ DappsComboBox {
|
|||
}
|
||||
|
||||
onDisconnectDapp: (dappUrl) => {
|
||||
root.wcService.disconnectDapp(dappUrl)
|
||||
disconnectdAppDialogLoader.dAppUrl = dappUrl
|
||||
disconnectdAppDialogLoader.active = true
|
||||
}
|
||||
|
||||
Loader {
|
||||
id: disconnectdAppDialogLoader
|
||||
|
||||
property string dAppUrl
|
||||
|
||||
active: false
|
||||
|
||||
onLoaded: {
|
||||
const dApp = wcService.getDApp(dAppUrl);
|
||||
if (dApp) {
|
||||
item.dappName = dApp.name;
|
||||
item.dappIcon = dApp.iconUrl;
|
||||
item.dappUrl = disconnectdAppDialogLoader.dAppUrl;
|
||||
}
|
||||
|
||||
item.open();
|
||||
}
|
||||
|
||||
sourceComponent: DAppConfirmDisconnectPopup {
|
||||
|
||||
visible: true
|
||||
|
||||
onClosed: {
|
||||
disconnectdAppDialogLoader.active = false
|
||||
}
|
||||
|
||||
onAccepted: {
|
||||
root.wcService.disconnectDapp(dappUrl)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loader {
|
||||
|
|
|
@ -119,6 +119,10 @@ QObject {
|
|||
});
|
||||
}
|
||||
|
||||
function getDApp(dAppUrl) {
|
||||
return ModelUtils.getByKey(dappsModel, "url", dAppUrl);
|
||||
}
|
||||
|
||||
signal connectDApp(var dappChains, var sessionProposal, var approvedNamespaces)
|
||||
signal approveSessionResult(var session, var error)
|
||||
signal sessionRequest(SessionRequestResolved request)
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
import QtQuick 2.15
|
||||
import QtQuick.Controls 2.15
|
||||
import QtQuick.Layouts 1.15
|
||||
|
||||
import QtQml.Models 2.15
|
||||
|
||||
import StatusQ.Controls 0.1
|
||||
import StatusQ.Core 0.1
|
||||
import StatusQ.Core.Theme 0.1
|
||||
import StatusQ.Core.Utils 0.1
|
||||
import StatusQ.Components 0.1
|
||||
import StatusQ.Popups.Dialog 0.1
|
||||
|
||||
StatusDialog {
|
||||
id: root
|
||||
|
||||
objectName: "dappConfirmDisconnectPopup"
|
||||
|
||||
property string dappName
|
||||
property url dappIcon
|
||||
property string dappUrl
|
||||
|
||||
implicitWidth: 640
|
||||
|
||||
contentItem: StatusBaseText {
|
||||
text: qsTr("Are you sure you want to disconnect %1 from all accounts?").arg(StringUtils.extractDomainFromLink(dappUrl))
|
||||
|
||||
wrapMode: Text.WrapAnywhere
|
||||
}
|
||||
|
||||
header: StatusDialogHeader {
|
||||
leftComponent: StatusRoundedImage {
|
||||
height: 40
|
||||
width: height
|
||||
|
||||
image.source: root.dappIcon
|
||||
}
|
||||
headline.title: qsTr("Disconnect %1").arg(root.dappName)
|
||||
headline.subtitle: StringUtils.extractDomainFromLink(root.dappUrl)
|
||||
actions.closeButton.visible: true
|
||||
actions.closeButton.onClicked: root.close()
|
||||
}
|
||||
|
||||
footer: StatusDialogFooter {
|
||||
spacing: 16
|
||||
rightButtons: ObjectModel {
|
||||
StatusFlatButton {
|
||||
text: qsTr("Cancel")
|
||||
onClicked: root.reject();
|
||||
}
|
||||
StatusButton {
|
||||
type: StatusButton.Danger
|
||||
text: qsTr("Disconnect dApp")
|
||||
icon.name: "disconnect"
|
||||
onClicked: {
|
||||
root.accepted();
|
||||
root.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,5 +0,0 @@
|
|||
<svg width="10" height="10" viewBox="0 0 10 10" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g id="Feature / Sign">
|
||||
<path id="Vector 32" d="M3.30026 5.87295C2.67249 5.56241 1.93965 5.00104 1.46227 4.33462C0.711792 3.28696 0.491562 2.00625 1.53098 1.23526C2.3099 0.657513 3.61233 1.37874 4.10757 2.49686C4.7675 3.98668 4.6573 6.28428 3.42906 8.2263C2.8116 9.2026 1.86004 9.10424 1.53098 8.54312C1.07672 7.76851 1.54754 6.07397 3.70877 4.99336C5.59513 4.05019 6.12334 4.52806 6.01429 5.03985C5.9758 5.22047 5.55049 5.95884 6.11735 5.95884C6.60595 5.95884 7.02642 5.354 7.42285 5.03985C7.92791 4.63959 8.4535 4.51593 8.38977 5.26933C8.36595 5.55093 8.48785 6.15638 9.17496 5.81283" stroke="white" stroke-width="0.833333" stroke-linecap="round"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 759 B |
|
@ -5,6 +5,8 @@ import StatusQ.Components 0.1
|
|||
import StatusQ.Core 0.1
|
||||
import StatusQ.Core.Theme 0.1
|
||||
|
||||
import utils 1.0
|
||||
|
||||
ColumnLayout {
|
||||
id: root
|
||||
|
||||
|
@ -48,7 +50,7 @@ ColumnLayout {
|
|||
bgRadius: bgWidth / 2
|
||||
bgBorderWidth: 2
|
||||
bgBorderColor: Theme.palette.statusAppLayout.backgroundColor
|
||||
source: "assets/sign.svg"
|
||||
source: Style.svg("sign")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,3 +5,4 @@ ConnectionStatusTag 1.0 ConnectionStatusTag.qml
|
|||
DAppSignRequestModal 1.0 DAppSignRequestModal.qml
|
||||
DAppsUriCopyInstructionsPopup 1.0 DAppsUriCopyInstructionsPopup.qml
|
||||
RoundImageWithBadge 1.0 RoundImageWithBadge.qml
|
||||
DAppConfirmDisconnectPopup 1.0 DAppConfirmDisconnectPopup.qml
|
||||
|
|
Loading…
Reference in New Issue