180 lines
5.3 KiB
QML
180 lines
5.3 KiB
QML
|
import QtQuick 2.15
|
||
|
import QtQuick.Controls 2.15
|
||
|
import QtQuick.Layouts 1.15
|
||
|
|
||
|
import Qt.labs.settings 1.0
|
||
|
|
||
|
import mainui.activitycenter.views 1.0
|
||
|
import mainui.activitycenter.stores 1.0
|
||
|
|
||
|
import utils 1.0
|
||
|
|
||
|
import Storybook 1.0
|
||
|
|
||
|
SplitView {
|
||
|
id: root
|
||
|
|
||
|
property bool utilsReady: false
|
||
|
|
||
|
orientation: Qt.Vertical
|
||
|
|
||
|
Logs { id: logs }
|
||
|
|
||
|
Item {
|
||
|
id: wrapper
|
||
|
SplitView.fillHeight: true
|
||
|
SplitView.fillWidth: true
|
||
|
|
||
|
Loader {
|
||
|
active: root.utilsReady
|
||
|
anchors.centerIn: parent
|
||
|
width: parent.width - 50
|
||
|
height: 80
|
||
|
|
||
|
sourceComponent : ActivityNotificationCommunityMembershipRequest {
|
||
|
store: storeMock
|
||
|
notification: notificationMock
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
LogsAndControlsPanel {
|
||
|
SplitView.minimumHeight: 100
|
||
|
SplitView.preferredHeight: 160
|
||
|
|
||
|
logsView.logText: logs.logText
|
||
|
|
||
|
ColumnLayout {
|
||
|
anchors.top: parent.top
|
||
|
anchors.left: parent.left
|
||
|
anchors.right: parent.right
|
||
|
Label {
|
||
|
text: "Request state"
|
||
|
}
|
||
|
|
||
|
ComboBox {
|
||
|
id: stateSelector
|
||
|
textRole: "text"
|
||
|
valueRole: "value"
|
||
|
model: ListModel {
|
||
|
id: model
|
||
|
ListElement { text: "Pending"; value: ActivityCenterStore.ActivityCenterMembershipStatus.Pending }
|
||
|
ListElement { text: "Accepted"; value: ActivityCenterStore.ActivityCenterMembershipStatus.Accepted }
|
||
|
ListElement { text: "Declined"; value: ActivityCenterStore.ActivityCenterMembershipStatus.Declined }
|
||
|
ListElement { text: "AcceptedPending"; value: ActivityCenterStore.ActivityCenterMembershipStatus.AcceptedPending }
|
||
|
ListElement { text: "DeclinedPending"; value: ActivityCenterStore.ActivityCenterMembershipStatus.DeclinedPending }
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
QtObject {
|
||
|
id: utilsMock
|
||
|
function getContactDetailsAsJson(arg1, arg2) {
|
||
|
return JSON.stringify({
|
||
|
displayName: "Mock user",
|
||
|
displayIcon: Style.png("tokens/AST"),
|
||
|
publicKey: 123456789,
|
||
|
name: "",
|
||
|
ensVerified: false,
|
||
|
alias: "",
|
||
|
lastUpdated: 0,
|
||
|
lastUpdatedLocally: 0,
|
||
|
localNickname: "",
|
||
|
thumbnailImage: "",
|
||
|
largeImage: "",
|
||
|
isContact: false,
|
||
|
isAdded: false,
|
||
|
isBlocked: false,
|
||
|
requestReceived: false,
|
||
|
isSyncing: false,
|
||
|
removed: false,
|
||
|
trustStatus: Constants.trustStatus.unknown,
|
||
|
verificationStatus: Constants.verificationStatus.unverified,
|
||
|
incomingVerificationStatus: Constants.verificationStatus.unverified
|
||
|
})
|
||
|
}
|
||
|
|
||
|
function isCompressedPubKey(key) {
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
function getColorId(publicKey) {
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
function isEnsVerified(publicKey) {
|
||
|
return true
|
||
|
}
|
||
|
|
||
|
function getCompressedPk(publicKey) {
|
||
|
return "0x00000"
|
||
|
}
|
||
|
|
||
|
Component.onCompleted: {
|
||
|
Utils.mainModuleInst = this
|
||
|
Utils.globalUtilsInst = this
|
||
|
root.utilsReady = true
|
||
|
}
|
||
|
Component.onDestruction: {
|
||
|
root.utilsReady = false
|
||
|
Utils.mainModuleInst = {}
|
||
|
Utils.globalUtilsInst = {}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
QtObject {
|
||
|
id: storeMock
|
||
|
|
||
|
function getCommunityDetailsAsJson(community) {
|
||
|
return {
|
||
|
name : "Mock Community",
|
||
|
image : Style.png("tokens/UNI"),
|
||
|
color : "orchid"
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function acceptRequestToJoinCommunity(notificationId, communityId) {
|
||
|
stateSelector.currentIndex = stateSelector.indexOfValue(ActivityCenterStore.ActivityCenterMembershipStatus.AcceptedPending)
|
||
|
}
|
||
|
|
||
|
function declineRequestToJoinCommunity(notificationId, communityId) {
|
||
|
stateSelector.currentIndex = stateSelector.indexOfValue(ActivityCenterStore.ActivityCenterMembershipStatus.DeclinedPending)
|
||
|
}
|
||
|
|
||
|
property var contactsStore: QtObject {
|
||
|
property var myContactsModel: QtObject {
|
||
|
signal itemChanged(string pubKey)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
QtObject {
|
||
|
id: notificationMock
|
||
|
property string id: "1"
|
||
|
property string chatId: "1"
|
||
|
property string communityId: "1"
|
||
|
property int membershipStatus: stateSelector.currentValue
|
||
|
property int verificationStatus: 1
|
||
|
property string sectionId: "1"
|
||
|
property string name: "name"
|
||
|
property string author: "author"
|
||
|
property int notificationType: 1
|
||
|
property var message: QtObject {
|
||
|
property bool amISender: false
|
||
|
}
|
||
|
|
||
|
property int timestamp: Date.now()
|
||
|
property int previousTimestamp: 0
|
||
|
property bool read: false
|
||
|
property bool dismissed: false
|
||
|
property bool accepted: false
|
||
|
property var repliedMessage: ({})
|
||
|
property int chatType: 1
|
||
|
}
|
||
|
|
||
|
Settings {
|
||
|
property alias activityNotificationRequestState: stateSelector.currentIndex
|
||
|
}
|
||
|
}
|