diff --git a/client/css/style.css b/client/css/style.css index cb3d324a..b2defc9a 100644 --- a/client/css/style.css +++ b/client/css/style.css @@ -222,6 +222,9 @@ button { #sidebar .chan.channel:before, #chat .channel .title:before { content: "\f0f6"; /* http://fontawesome.io/icon/file-text-o/ */ } +#sidebar .chan.special:before, +#chat .channel .title:before { content: "\f03a"; /* http://fontawesome.io/icon/list/ */ } + #footer .sign-in:before { content: "\f023"; /* http://fontawesome.io/icon/lock/ */ } #footer .connect:before { content: "\f067"; /* http://fontawesome.io/icon/plus/ */ } #footer .settings:before { content: "\f013"; /* http://fontawesome.io/icon/cog/ */ } @@ -750,6 +753,10 @@ button { right: 180px; } +#chat .special { + bottom: -47px; +} + #viewport.rt .chat { right: 0; } @@ -769,11 +776,13 @@ button { } #chat .lobby .chat, +#chat .special .chat, #chat .query .chat { right: 0; } #chat .lobby .sidebar, +#chat .special .sidebar, #chat .query .sidebar { display: none; } @@ -876,6 +885,11 @@ button { } #loading a, +#chat .special .time, +#chat .special .from { + display: none; +} + #chat a { color: #50a656; } @@ -941,6 +955,46 @@ button { overflow: hidden; } +#chat .msg.channel_list_loading .text { + color: #999; + font-style: italic; + padding-left: 20px; +} + +#chat .msg.channel_list_truncated .text { + color: #f00; + padding-left: 20px; +} + +#chat table.channel-list { + margin: 5px 10px; + width: calc(100% - 30px); +} + +#chat table.channel-list th, +#chat table.channel-list td { + padding: 5px; + vertical-align: top; + border-bottom: #eee 1px solid; +} + +#chat table.channel-list .channel, +#chat table.channel-list .topic { + text-align: left; +} + +#chat table.channel-list .users { + text-align: center; +} + +#chat table.channel-list td.channel .inline-channel { + color: #428bca; +} + +#chat table.channel-list td { + color: #555; +} + #chat.hide-join .join, #chat.hide-mode .mode, #chat.hide-motd .motd, diff --git a/client/js/lounge.js b/client/js/lounge.js index b537541a..b8008858 100644 --- a/client/js/lounge.js +++ b/client/js/lounge.js @@ -243,6 +243,7 @@ $(function() { "action", "whois", "ctcp", + "channel_list", ].indexOf(type) !== -1) { data.msg.template = "actions/" + type; template = "msg_action"; @@ -601,7 +602,7 @@ $(function() { output += render("contextmenu_divider"); output += render("contextmenu_item", { class: "close", - text: target.hasClass("lobby") ? "Disconnect" : target.hasClass("query") ? "Close" : "Leave", + text: target.hasClass("lobby") ? "Disconnect" : target.hasClass("channel") ? "Leave" : "Close", data: target.data("target") }); } diff --git a/client/views/actions/channel_list.tpl b/client/views/actions/channel_list.tpl new file mode 100644 index 00000000..8fab73d0 --- /dev/null +++ b/client/views/actions/channel_list.tpl @@ -0,0 +1,18 @@ +
Channel | +Users | +Topic | +
---|---|---|
{{{parse channel}}} | +{{num_users}} | +{{{parse topic}}} | +