feat(Token master): create category in Settings/Communities
Add a `memberRole` value and section for the TokenMaster category in Settings/Communities Fixes #11308
This commit is contained in:
parent
27c159d464
commit
daae249fae
|
@ -31,7 +31,7 @@ SplitView {
|
||||||
Component.onCompleted:
|
Component.onCompleted:
|
||||||
append([{
|
append([{
|
||||||
id: "0x0001",
|
id: "0x0001",
|
||||||
name: "Test community",
|
name: "I am 0wner!1!!",
|
||||||
description: "Lorem ipsum dolor sit amet",
|
description: "Lorem ipsum dolor sit amet",
|
||||||
introMessage: "Welcome to ze club",
|
introMessage: "Welcome to ze club",
|
||||||
outroMessage: "Sad to see you go",
|
outroMessage: "Sad to see you go",
|
||||||
|
@ -66,7 +66,7 @@ SplitView {
|
||||||
joined: false,
|
joined: false,
|
||||||
spectated: true,
|
spectated: true,
|
||||||
memberRole: Constants.memberRole.none,
|
memberRole: Constants.memberRole.none,
|
||||||
image: "",
|
image: ModelsData.icons.coinbase,
|
||||||
color: "red",
|
color: "red",
|
||||||
muted: false,
|
muted: false,
|
||||||
members: [ { pubKey: "0xdeadbeef" } ]
|
members: [ { pubKey: "0xdeadbeef" } ]
|
||||||
|
@ -87,14 +87,14 @@ SplitView {
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "0x0005",
|
id: "0x0005",
|
||||||
name: "Test community 4",
|
name: "Admin test community",
|
||||||
description: "Lorem ipsum dolor sit amet",
|
description: "Lorem ipsum dolor sit amet",
|
||||||
introMessage: "Welcome to ze club",
|
introMessage: "Welcome to ze club",
|
||||||
outroMessage: "Sad to see you go",
|
outroMessage: "Sad to see you go",
|
||||||
joined: true,
|
joined: true,
|
||||||
spectated: false,
|
spectated: false,
|
||||||
memberRole: Constants.memberRole.admin,
|
memberRole: Constants.memberRole.admin,
|
||||||
image: ModelsData.icons.spotify,
|
image: ModelsData.icons.socks,
|
||||||
color: "green",
|
color: "green",
|
||||||
muted: false,
|
muted: false,
|
||||||
members: [{ pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }]
|
members: [{ pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }]
|
||||||
|
@ -112,6 +112,20 @@ SplitView {
|
||||||
color: "pink",
|
color: "pink",
|
||||||
muted: false,
|
muted: false,
|
||||||
members: [{ pubKey: "0xdeadbeef" }]
|
members: [{ pubKey: "0xdeadbeef" }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
id: "0x0007",
|
||||||
|
name: "Token Master Club",
|
||||||
|
description: "Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi",
|
||||||
|
introMessage: "Welcome to ze club",
|
||||||
|
outroMessage: "Sad to see you go",
|
||||||
|
joined: true,
|
||||||
|
spectated: false,
|
||||||
|
memberRole: Constants.memberRole.tokenMaster,
|
||||||
|
image: ModelsData.icons.cryptPunks,
|
||||||
|
color: "lightslategrey",
|
||||||
|
muted: false,
|
||||||
|
members: [{ pubKey: "0xdeadbeef" }, { pubKey: "0xdeadbeef" }]
|
||||||
}
|
}
|
||||||
])
|
])
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
import QtQuick 2.15
|
import QtQuick 2.15
|
||||||
|
|
||||||
QtObject {}
|
QtObject {
|
||||||
|
property var chatCommunitySectionModule
|
||||||
|
}
|
||||||
|
|
|
@ -50,6 +50,7 @@ StatusListView {
|
||||||
readonly property bool isSpectator: model.spectated && !model.joined
|
readonly property bool isSpectator: model.spectated && !model.joined
|
||||||
readonly property bool isOwner: model.memberRole === Constants.memberRole.owner
|
readonly property bool isOwner: model.memberRole === Constants.memberRole.owner
|
||||||
readonly property bool isAdmin: model.memberRole === Constants.memberRole.admin
|
readonly property bool isAdmin: model.memberRole === Constants.memberRole.admin
|
||||||
|
readonly property bool isTokenMaster: model.memberRole === Constants.memberRole.tokenMaster
|
||||||
readonly property bool isInvitationPending: root.rootStore.isCommunityRequestPending(model.id)
|
readonly property bool isInvitationPending: root.rootStore.isCommunityRequestPending(model.id)
|
||||||
|
|
||||||
components: [
|
components: [
|
||||||
|
@ -82,7 +83,7 @@ StatusListView {
|
||||||
StatusAction {
|
StatusAction {
|
||||||
text: qsTr("Community Admin")
|
text: qsTr("Community Admin")
|
||||||
icon.name: "settings"
|
icon.name: "settings"
|
||||||
enabled: listItem.isOwner || listItem.isAdmin
|
enabled: listItem.isOwner || listItem.isAdmin || listItem.isTokenMaster
|
||||||
onTriggered: {
|
onTriggered: {
|
||||||
moreMenu.close()
|
moreMenu.close()
|
||||||
Global.switchToCommunity(model.id)
|
Global.switchToCommunity(model.id)
|
||||||
|
@ -115,7 +116,6 @@ StatusListView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StatusAction {
|
StatusAction {
|
||||||
id: shareAddressesMenuItem
|
|
||||||
text: qsTr("Edit Shared Addresses")
|
text: qsTr("Edit Shared Addresses")
|
||||||
icon.name: "wallet"
|
icon.name: "wallet"
|
||||||
enabled: {
|
enabled: {
|
||||||
|
@ -132,7 +132,7 @@ StatusListView {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
StatusMenuSeparator {
|
StatusMenuSeparator {
|
||||||
visible: shareAddressesMenuItem.enabled && leaveMenuItem.enabled
|
visible: leaveMenuItem.enabled
|
||||||
}
|
}
|
||||||
StatusAction {
|
StatusAction {
|
||||||
id: leaveMenuItem
|
id: leaveMenuItem
|
||||||
|
|
|
@ -106,6 +106,20 @@ SettingsContentBase {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Heading {
|
||||||
|
text: qsTr("TokenMaster")
|
||||||
|
visible: panelTokenMasters.count
|
||||||
|
}
|
||||||
|
|
||||||
|
Panel {
|
||||||
|
id: panelTokenMasters
|
||||||
|
filters: ValueFilter {
|
||||||
|
readonly property int role: Constants.memberRole.tokenMaster
|
||||||
|
roleName: "memberRole"
|
||||||
|
value: role
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Heading {
|
Heading {
|
||||||
text: qsTr("Admin")
|
text: qsTr("Admin")
|
||||||
visible: panelAdmins.count
|
visible: panelAdmins.count
|
||||||
|
@ -130,7 +144,8 @@ SettingsContentBase {
|
||||||
filters: ExpressionFilter {
|
filters: ExpressionFilter {
|
||||||
readonly property int ownerRole: Constants.memberRole.owner
|
readonly property int ownerRole: Constants.memberRole.owner
|
||||||
readonly property int adminRole: Constants.memberRole.admin
|
readonly property int adminRole: Constants.memberRole.admin
|
||||||
expression: model.joined && model.memberRole !== ownerRole && model.memberRole !== adminRole
|
readonly property int tokenMasterRole: Constants.memberRole.tokenMaster
|
||||||
|
expression: model.joined && model.memberRole !== ownerRole && model.memberRole !== adminRole && model.memberRole !== tokenMasterRole
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -402,6 +402,7 @@ QtObject {
|
||||||
readonly property int manageUsers: 2
|
readonly property int manageUsers: 2
|
||||||
readonly property int moderateContent: 3
|
readonly property int moderateContent: 3
|
||||||
readonly property int admin: 4
|
readonly property int admin: 4
|
||||||
|
readonly property int tokenMaster: 5 // TODO no real backend for this yet
|
||||||
}
|
}
|
||||||
|
|
||||||
readonly property QtObject permissionType: QtObject{
|
readonly property QtObject permissionType: QtObject{
|
||||||
|
|
Loading…
Reference in New Issue