thelounge/client/js/socket-events/open.js

34 lines
740 B
JavaScript
Raw Normal View History

2017-05-18 22:08:54 +02:00
"use strict";
const $ = require("jquery");
const socket = require("../socket");
const utils = require("../utils");
2017-05-18 22:08:54 +02:00
// Sync unread badge and marker when other clients open a channel
2017-05-18 22:08:54 +02:00
socket.on("open", function(id) {
if (id < 1) {
return;
}
const channel = $("#chat #chan-" + id);
// Don't do anything if the channel is active on this client
if (channel.length === 0 || channel.hasClass("active")) {
return;
}
// Clear the unread badge
2017-05-18 22:08:54 +02:00
$("#sidebar").find(".chan[data-id='" + id + "'] .badge")
.attr("data-highlight", 0)
2017-05-18 22:08:54 +02:00
.removeClass("highlight")
.empty();
utils.updateTitle();
// Move unread marker to the bottom
channel
.find(".unread-marker")
.data("unread-id", 0)
.appendTo(channel.find(".messages"));
2017-05-18 22:08:54 +02:00
});