diff --git a/client/css/style.css b/client/css/style.css index 1d619b10..8eef81e5 100644 --- a/client/css/style.css +++ b/client/css/style.css @@ -223,6 +223,7 @@ kbd { .context-menu-user::before { content: "\f007"; /* http://fontawesome.io/icon/user/ */ } .context-menu-chan::before { content: "\f0f6"; /* http://fontawesome.io/icon/file-text-o/ */ } .context-menu-close::before { content: "\f00d"; /* http://fontawesome.io/icon/times/ */ } +.context-menu-list::before { content: "\f03a"; /* http://fontawesome.io/icon/list/ */ } #sidebar .chan.lobby::before, #chat .lobby .title::before { content: "\f0a0"; /* http://fontawesome.io/icon/hdd-o/ */ } diff --git a/client/js/lounge.js b/client/js/lounge.js index 0aaa9b76..22e86684 100644 --- a/client/js/lounge.js +++ b/client/js/lounge.js @@ -89,6 +89,13 @@ $(function() { data: target.data("target"), }); output += templates.contextmenu_divider(); + if (target.hasClass("lobby")) { + output += templates.contextmenu_item({ + class: "list", + text: "List all channels", + data: target.data("target"), + }); + } output += templates.contextmenu_item({ class: "close", text: target.hasClass("lobby") ? "Disconnect" : target.hasClass("channel") ? "Leave" : "Close", @@ -441,6 +448,12 @@ $(function() { case "user": $(".channel.active .users .user[data-name='" + $(this).data("data") + "']").click(); break; + case "list": + socket.emit("input", { + target: chat.data("id"), + text: "/list", + }); + break; } });