mirror of
https://github.com/danbulant/Nertivia-Client
synced 2026-07-06 03:20:55 +00:00
hide edit and delete when not available
This commit is contained in:
parent
ef78830eb9
commit
f888e58005
1 changed files with 32 additions and 4 deletions
|
|
@ -1,8 +1,8 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="drop-down-menu" v-click-outside="outsideClick">
|
<div class="drop-down-menu" v-click-outside="outsideClick">
|
||||||
<div class="item" @click="copyMessage" >Copy</div>
|
<div class="item" @click="copyMessage" >Copy</div>
|
||||||
<div class="item" @click="editMessage">Edit</div>
|
<div class="item" @click="editMessage" v-if="showEditOption">Edit</div>
|
||||||
<div class="item warn" @click="deleteMessage">Delete</div>
|
<div class="item warn" @click="deleteMessage" v-if="showDeleteOption">Delete</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
|
@ -58,14 +58,42 @@ export default {
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
contextDetails() {
|
contextDetails() {
|
||||||
const { x, y, messageID, message, channelID } = this.$store.getters.popouts.messageContextMenu;
|
const { x, y, messageID, message, channelID, uniqueID } = this.$store.getters.popouts.messageContextMenu;
|
||||||
return {
|
return {
|
||||||
x,
|
x,
|
||||||
y,
|
y,
|
||||||
messageID,
|
messageID,
|
||||||
message,
|
message,
|
||||||
channelID
|
channelID,
|
||||||
|
uniqueID
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
serverID() {
|
||||||
|
const serverChannelIDs = Object.entries(this.$store.getters['servers/channelsIDs']);
|
||||||
|
const find = serverChannelIDs.find(c => {
|
||||||
|
return c[1].includes(this.contextDetails.channelID)
|
||||||
|
});
|
||||||
|
return find ? find[0] : undefined;
|
||||||
|
},
|
||||||
|
serverMember () {
|
||||||
|
const serverMembers = this.$store.getters['servers/serverMembers'];
|
||||||
|
return serverMembers.find(m =>
|
||||||
|
m.uniqueID === this.user.uniqueID && m.server_id === this.serverID && m.type === "OWNER"
|
||||||
|
)
|
||||||
|
},
|
||||||
|
user() {
|
||||||
|
return this.$store.getters.user;
|
||||||
|
},
|
||||||
|
showEditOption() {
|
||||||
|
// Only show edit option if the user is us.
|
||||||
|
return this.user.uniqueID === this.contextDetails.uniqueID
|
||||||
|
},
|
||||||
|
showDeleteOption() {
|
||||||
|
// Only show delete option if the user is us or server owner is us.
|
||||||
|
if (this.user.uniqueID === this.contextDetails.uniqueID){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return !!this.serverMember;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue