status-desktop/storybook/pages/StatusToastMessagePage.qml

81 lines
41 KiB
QML
Raw Normal View History

import QtQuick 2.14
import QtQuick.Controls 2.14
import QtQuick.Layouts 1.12
import utils 1.0
import StatusQ.Components 0.1
import StatusQ.Core.Theme 0.1
import Storybook 1.0
import Models 1.0
SplitView {
id: root
Logs { id: logs }
orientation: Qt.Vertical
GridLayout {
id: toastArea
SplitView.fillWidth: true
SplitView.fillHeight: true
columns: 3
columnSpacing: 16
rowSpacing: 16
Repeater {
id: toastRepeater
width: parent.width
height: childrenRect.height
model: [
{"title":"anna.eth wants to verify your identity", "subTitle":"Provide the code in the letter I sent to you on February 1st.", "icon":"contact", "loading":false, "type":0,"url":"", "duration":0},
{"title":"Verification Request Sent", "subTitle":"", "icon":"checkmark-circle", "loading":false, "type":1,"url":"", "duration":4000},
{"title":"Collectible is being minted...", "subTitle":"View on Etherscan", "icon":"", "loading":true, "type":0,"url":"http://google.com", "duration":0},
{"title":"Contact request sent", "subTitle":"", "icon":"checkmark-circle", "loading":false, "type":1,"url":"", "duration":4000},
{"title":"Test User", "subTitle":"Hello message...", "icon":"", "loading":false, "type":0,"url":"", "duration":4000},
{"title":"This device is no longer the control node for the Socks Community", "subTitle":"", "icon":"info", "loading":false, "type":0,"url":"", "duration":0},
{"title":`This is, but not now, probably later on the road even it doesn't make sense, a very long title with <a style="text-decoration:none" href="www.qt.io">hyperlink</a>.`, "subTitle":"", "icon":"info", "loading":false, "type":2,"url":"", "duration":0},
{"title":`First community asset received`, "subTitle":"Navigate to somewhere", "loading":false, "actionType": "type" ,"type":2,"url":"", "duration":0, "image": "data:image/jpeg;base64,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
]
delegate: StatusToastMessage {
primaryText: modelData.title
secondaryText: modelData.subTitle
image: modelData.image ? modelData.image : ""
imageRadius: 8
icon.name: modelData.icon ? modelData.icon : ""
loading: modelData.loading
type: modelData.type
linkUrl: modelData.url
duration: modelData.duration
actionRequired: !!modelData.actionType
onLinkActivated: {
Qt.openUrlExternally(link);
}
onClose: {
logs.logEvent("StatusToastMessage::close: " + modelData.title)
}
onClicked: {
logs.logEvent("StatusToastMessage::clicked: " + modelData.title)
}
}
}
}
LogsAndControlsPanel {
id: logsAndControlsPanel
SplitView.minimumHeight: 100
logsView.logText: logs.logText
}
}
// category: Components
// category: Components