diff --git a/client/components/App.vue b/client/components/App.vue index 3f341038..a83c0f4d 100644 --- a/client/components/App.vue +++ b/client/components/App.vue @@ -6,6 +6,7 @@ + @@ -16,12 +17,14 @@ const storage = require("../js/localStorage"); import Sidebar from "./Sidebar.vue"; import ImageViewer from "./ImageViewer.vue"; +import ContextMenu from "./ContextMenu.vue"; export default { name: "App", components: { Sidebar, ImageViewer, + ContextMenu, }, computed: { viewportClasses() { @@ -84,6 +87,10 @@ export default { this.$store.commit("userlistOpen", isUserlistOpen === "true"); }, + openContextMenu(event, items) { + // TODO: maybe move this method to the store or some other more accessible place + this.$refs.contextMenu.open(event, items); + }, }, }; diff --git a/client/components/ChannelWrapper.vue b/client/components/ChannelWrapper.vue index b1edf7ba..b5c4b0a0 100644 --- a/client/components/ChannelWrapper.vue +++ b/client/components/ChannelWrapper.vue @@ -24,6 +24,7 @@ :style="closed ? {transition: 'none', opacity: 0.4} : null" role="tab" @click="click" + @contextmenu.prevent="openContextMenu" > @@ -31,6 +32,7 @@ diff --git a/client/components/Chat.vue b/client/components/Chat.vue index 7920bf08..d210eaed 100644 --- a/client/components/Chat.vue +++ b/client/components/Chat.vue @@ -38,7 +38,11 @@ :network="network" :text="channel.topic" /> -