diff --git a/client/css/style.css b/client/css/style.css index 1180f9ce..517f6925 100644 --- a/client/css/style.css +++ b/client/css/style.css @@ -350,6 +350,7 @@ p { .context-menu-disconnect::before { content: "\f127"; /* https://fontawesome.com/icons/unlink?style=solid */ } .context-menu-connect::before { content: "\f0c1"; /* https://fontawesome.com/icons/link?style=solid */ } .context-menu-action-whois::before { content: "\f05a"; /* http://fontawesome.io/icon/info-circle/ */ } +.context-menu-action-ignore::before { content: "\f506"; /* https://fontawesome.com/icons/user-slash?style=solid */ } .context-menu-action-kick::before { content: "\f05e"; /* http://fontawesome.io/icon/ban/ */ } .context-menu-action-op::before { content: "\f1fa"; /* http://fontawesome.io/icon/at/ */ } .context-menu-action-voice::before { content: "\f067"; /* http://fontawesome.io/icon/plus/ */ } diff --git a/client/js/helpers/contextMenu.js b/client/js/helpers/contextMenu.js index 71b8a08f..ba0f402c 100644 --- a/client/js/helpers/contextMenu.js +++ b/client/js/helpers/contextMenu.js @@ -116,18 +116,31 @@ export function generateChannelContextMenu($root, channel, network) { // Add menu items for queries if (channel.type === "query") { - items.push({ - label: "User information", - type: "item", - class: "action-whois", - action() { - $root.switchToChannel(channel); - socket.emit("input", { - target: channel.id, - text: "/whois " + channel.name, - }); + items.push( + { + label: "User information", + type: "item", + class: "action-whois", + action() { + $root.switchToChannel(channel); + socket.emit("input", { + target: channel.id, + text: "/whois " + channel.name, + }); + }, }, - }); + { + label: "Ignore user", + type: "item", + class: "action-ignore", + action() { + socket.emit("input", { + target: channel.id, + text: "/ignore " + channel.name, + }); + }, + } + ); } if (channel.type === "channel" || channel.type === "query") { @@ -203,6 +216,17 @@ export function generateUserContextMenu($root, channel, network, user) { class: "action-whois", action: whois, }, + { + label: "Ignore user", + type: "item", + class: "action-ignore", + action() { + socket.emit("input", { + target: channel.id, + text: "/ignore " + user.nick, + }); + }, + }, { label: "Direct messages", type: "item",