From b4d02c3c5689f17c260b6a3a89a0e16e779c7b85 Mon Sep 17 00:00:00 2001 From: Richard Lewis Date: Fri, 24 Apr 2020 10:20:40 +0300 Subject: [PATCH] Fix context menus in search results. --- client/components/ContextMenu.vue | 19 +- client/components/Message.vue | 13 +- client/components/Username.vue | 4 + client/js/autocompletion-custom.js | 340 --------------------------- client/js/helpers/contextMenu.js | 6 +- client/js/helpers/parse.js | 5 + client/js/store.js | 34 ++- src/plugins/messageStorage/sqlite.js | 8 +- 8 files changed, 70 insertions(+), 359 deletions(-) delete mode 100644 client/js/autocompletion-custom.js diff --git a/client/components/ContextMenu.vue b/client/components/ContextMenu.vue index a1cfefc2..5b0b99d8 100644 --- a/client/components/ContextMenu.vue +++ b/client/components/ContextMenu.vue @@ -75,14 +75,19 @@ export default { this.open(data.event, items); }, openUserContextMenu(data) { - const {network, channel} = this.$store.state.activeChannel; + const activeChannel = this.$store.state.activeChannel; + // If there's an active network and channel use them + let {network, channel} = activeChannel ? activeChannel : {network: null, channel: null}; - const items = generateUserContextMenu( - this.$root, - channel, - network, - channel.users.find((u) => u.nick === data.user.nick) || {nick: data.user.nick} - ); + // Use network and channel from event if specified + network = data.network ? data.network : network; + channel = data.channel ? data.channel : channel; + + const defaultUser = {nick: data.user.nick}; + let user = channel ? channel.users.find((u) => u.nick === data.user.nick) : defaultUser; + user = user ? user : defaultUser; + + const items = generateUserContextMenu(this.$root, channel, network, user); this.open(data.event, items); }, open(event, items) { diff --git a/client/components/Message.vue b/client/components/Message.vue index 96bdafcf..e27c50fd 100644 --- a/client/components/Message.vue +++ b/client/components/Message.vue @@ -24,9 +24,12 @@