aboutsummaryrefslogtreecommitdiff
path: root/static/js/autorefresh.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/autorefresh.js')
-rw-r--r--static/js/autorefresh.js263
1 files changed, 209 insertions, 54 deletions
diff --git a/static/js/autorefresh.js b/static/js/autorefresh.js
index 3f9dbd4..cec1e33 100644
--- a/static/js/autorefresh.js
+++ b/static/js/autorefresh.js
@@ -18,15 +18,21 @@ function checkNew(e) {
}
function loadJSON() {
- if (chk.checked)
- stopCounter("...");
- if (manual)
- document.getElementById("counter").innerText = "...";
+ if (chk.checked) stopCounter("...");
+ if (manual) document.getElementById("counter").innerText = "...";
var data_file;
if (serviceType == 2 || serviceType == 3) {
board = document.getElementsByName("board")[0].value;
parent = document.getElementsByName("parent")[0].value;
- data_file = "/cgi/api/thread?dir=" + board + "&id=" + parent + "&offset=" + thread_length + "&time=" + lastTime;
+ data_file =
+ "/cgi/api/thread?dir=" +
+ board +
+ "&id=" +
+ parent +
+ "&offset=" +
+ thread_length +
+ "&time=" +
+ lastTime;
} else {
return false;
}
@@ -38,69 +44,220 @@ function updateThread(posts, total_replies, serverTime) {
var thread_div = document.getElementsByClassName("thread")[0];
if (serviceType == 2) var last_elem = document.getElementById("size");
else var last_elem = document.getElementsByClassName("cut")[0];
- for (var i=0; i<posts.length; i++) {
+ for (var i = 0; i < posts.length; i++) {
post = posts[i];
var num = thread_length + i + 1;
- var div = document.createElement('div');
+ var div = document.createElement("div");
if (serviceType == 2) div.className = "reply";
else div.className = "replycont";
if (post.email) {
- if (post.tripcode) s_name = '<a href="mailto:' + post.email + '"><span class="name"><b>' + post.name + '</b> ' + post.tripcode + '</span></a>';
- else s_name = '<a href="mailto:' + post.email + '"><span class="name"><b>' + post.name + '</b></span></a>';
+ if (post.tripcode)
+ s_name =
+ '<a href="mailto:' +
+ post.email +
+ '"><span class="name"><b>' +
+ post.name +
+ "</b> " +
+ post.tripcode +
+ "</span></a>";
+ else
+ s_name =
+ '<a href="mailto:' +
+ post.email +
+ '"><span class="name"><b>' +
+ post.name +
+ "</b></span></a>";
} else {
- if (post.tripcode) s_name = '<span class="name"><b>' + post.name + '</b> ' + post.tripcode + '</span>';
- else s_name = '<span class="name"><b>' + post.name + '</b></span>';
+ if (post.tripcode)
+ s_name =
+ '<span class="name"><b>' +
+ post.name +
+ "</b> " +
+ post.tripcode +
+ "</span>";
+ else s_name = '<span class="name"><b>' + post.name + "</b></span>";
}
if (serviceType == 2) {
if (post.file) {
- s_img = '<a href="/' + board + '/src/' + post.file + '" target="_blank" class="thumb"><img src="/' + board + '/thumb/' + post.thumb + '" width="' + post.thumb_width + '" height="' + post.thumb_height + '" /><br />' + Math.round(post.file_size/1024) + 'KB ' + post.file.substring(post.file.lastIndexOf(".")+1, post.file.length).toUpperCase() + '</a>';
- } else s_img = '';
- if (post.IS_DELETED == 1) div.innerHTML = '<h4 class="deleted">' + num + ' : Mensaje eliminado por el usuario.</h4>';
- else if (post.IS_DELETED == 2) div.innerHTML = '<h4 class="deleted">' + num + ' : Mensaje eliminado por miembro del staff.</h4>';
- else
- div.innerHTML = '<h4><a class="num" href="#">' + num + '</a> : ' + s_name + ' : <span class="date" data-unix="' + post.timestamp + '">' + post.timestamp_formatted + '</span> <span class="del"><a href="/cgi/report/' + board + '/' + post.id + '/' + num + '">rep</a> <a href="#">del</a></span></h4>' + s_img + '<div class="msg">' + post.message + '</div>';
+ s_img =
+ '<a href="/' +
+ board +
+ "/src/" +
+ post.file +
+ '" target="_blank" class="thumb"><img src="/' +
+ board +
+ "/thumb/" +
+ post.thumb +
+ '" width="' +
+ post.thumb_width +
+ '" height="' +
+ post.thumb_height +
+ '" /><br />' +
+ Math.round(post.file_size / 1024) +
+ "KB " +
+ post.file
+ .substring(post.file.lastIndexOf(".") + 1, post.file.length)
+ .toUpperCase() +
+ "</a>";
+ } else s_img = "";
+ if (post.IS_DELETED == 1)
+ div.innerHTML =
+ '<h4 class="deleted">' +
+ num +
+ " : Mensaje eliminado por el usuario.</h4>";
+ else if (post.IS_DELETED == 2)
+ div.innerHTML =
+ '<h4 class="deleted">' +
+ num +
+ " : Mensaje eliminado por miembro del staff.</h4>";
+ else
+ div.innerHTML =
+ '<h4><a class="num" href="#">' +
+ num +
+ "</a> : " +
+ s_name +
+ ' : <span class="date" data-unix="' +
+ post.timestamp +
+ '">' +
+ post.timestamp_formatted +
+ '</span> <span class="del"><a href="/cgi/report/' +
+ board +
+ "/" +
+ post.id +
+ "/" +
+ num +
+ '">rep</a> <a href="#">del</a></span></h4>' +
+ s_img +
+ '<div class="msg">' +
+ post.message +
+ "</div>";
} else {
if (post.file) {
if (post.image_width != 0) {
- s_img = '<div class="fs"><a href="/' + board + '/src/' + post.file + '" class="expimg" data-id="' + post.id + '" data-thumb="/' + board + '/thumb/' + post.thumb + '" data-w="' + post.image_width + '" data-h="' + post.image_height + '" data-tw="' + post.thumb_width + '" data-th="' + post.thumb_height + '">' + post.file + '</a>-(' + post.file_size+ ' B, ' + post.image_width + 'x' + post.image_height + ')</div>';
+ s_img =
+ '<div class="fs"><a href="/' +
+ board +
+ "/src/" +
+ post.file +
+ '" class="expimg" data-id="' +
+ post.id +
+ '" data-thumb="/' +
+ board +
+ "/thumb/" +
+ post.thumb +
+ '" data-w="' +
+ post.image_width +
+ '" data-h="' +
+ post.image_height +
+ '" data-tw="' +
+ post.thumb_width +
+ '" data-th="' +
+ post.thumb_height +
+ '">' +
+ post.file +
+ "</a>-(" +
+ post.file_size +
+ " B, " +
+ post.image_width +
+ "x" +
+ post.image_height +
+ ")</div>";
} else {
- s_img = '<div class="fs"><a href="/' + board + '/src/' + post.file + '" target="_blank">' + post.file + '</a>-(' + post.file_size+ ' B)</div>';
+ s_img =
+ '<div class="fs"><a href="/' +
+ board +
+ "/src/" +
+ post.file +
+ '" target="_blank">' +
+ post.file +
+ "</a>-(" +
+ post.file_size +
+ " B)</div>";
}
- s_img += '<a target="_blank" href="/' + board + '/src/' + post.file + '" id="thumb' + post.id + '"><img class="thumb" alt="' + post.id + '" src="/' + board + '/thumb/' + post.thumb + '" width="' + post.thumb_width + '" height="' + post.thumb_height + '" /></a>';
- s_msg = '<blockquote style="margin-left:' + (post.thumb_width+40) + 'px;">' + post.message + '</blockquote>';
+ s_img +=
+ '<a target="_blank" href="/' +
+ board +
+ "/src/" +
+ post.file +
+ '" id="thumb' +
+ post.id +
+ '"><img class="thumb" alt="' +
+ post.id +
+ '" src="/' +
+ board +
+ "/thumb/" +
+ post.thumb +
+ '" width="' +
+ post.thumb_width +
+ '" height="' +
+ post.thumb_height +
+ '" /></a>';
+ s_msg =
+ '<blockquote style="margin-left:' +
+ (post.thumb_width + 40) +
+ 'px;">' +
+ post.message +
+ "</blockquote>";
} else {
- s_img = '';
- s_msg = '<blockquote>' + post.message + '</blockquote>';
+ s_img = "";
+ s_msg = "<blockquote>" + post.message + "</blockquote>";
}
if (post.IS_DELETED == 0) {
- div.innerHTML = '<table border="0"><tr><td class="ell">…</td><td class="reply" id="reply' + post.id + '"><div class="info"><input type="checkbox" name="delete" value="' + post.id + '" />' + (post.subject ? (' <span class="subj">' + post.subject + '</span>') : '') + ' ' + s_name + ' ' + '<span class="date" data-unix="' + post.timestamp + '">' + post.timestamp_formatted + '</span> <span class="reflink"><a href="#' + post.id + '">No.</a><a href="#" class="postid">' + post.id + '</a></span> <a class="rep" href="/cgi/report/' + board + '/' + post.id + '">rep</a></div>' + s_img + s_msg + '</td></tr></table>';
+ div.innerHTML =
+ '<table border="0"><tr><td class="ell">…</td><td class="reply" id="reply' +
+ post.id +
+ '"><div class="info"><input type="checkbox" name="delete" value="' +
+ post.id +
+ '" />' +
+ (post.subject
+ ? ' <span class="subj">' + post.subject + "</span>"
+ : "") +
+ " " +
+ s_name +
+ " " +
+ '<span class="date" data-unix="' +
+ post.timestamp +
+ '">' +
+ post.timestamp_formatted +
+ '</span> <span class="reflink"><a href="#' +
+ post.id +
+ '">No.</a><a href="#" class="postid">' +
+ post.id +
+ '</a></span> <a class="rep" href="/cgi/report/' +
+ board +
+ "/" +
+ post.id +
+ '">rep</a></div>' +
+ s_img +
+ s_msg +
+ "</td></tr></table>";
}
}
thread_div.insertBefore(div, last_elem);
- thread_div.setAttribute("data-length",num);
- if (serviceType == 2) document.getElementsByTagName("h3")[0].getElementsByTagName("span")[0].innerText = "("+num+" respuestas)";
+ thread_div.setAttribute("data-length", num);
+ if (serviceType == 2)
+ document
+ .getElementsByTagName("h3")[0]
+ .getElementsByTagName("span")[0].innerText = "(" + num + " respuestas)";
}
if (posts.length > 0) {
- if (!manual)
- refreshMaxTime = 10;
+ if (!manual) refreshMaxTime = 10;
if (!document.hasFocus())
- if (posts.length > 1) notif(thread_title, posts.length + ' nuevos mensajes');
- else notif(thread_title, 'Un nuevo mensaje');
+ if (posts.length > 1)
+ notif(thread_title, posts.length + " nuevos mensajes");
+ else notif(thread_title, "Un nuevo mensaje");
} else {
- if (refreshMaxTime <= 60)
- refreshMaxTime += 5;
+ if (refreshMaxTime <= 60) refreshMaxTime += 5;
}
thread_length = parseInt(total_replies) + 1;
//document.getElementsByClassName("thread")[0].firstChild.children[0].innerHTML = "("+thread_length+")";
new_unread = thread_length - thread_first_length;
- if (new_unread)
- document.title = "(" + new_unread + ") " + thread_title;
- else
- document.title = thread_title;
+ if (new_unread) document.title = "(" + new_unread + ") " + thread_title;
+ else document.title = thread_title;
}
function notif(title, msg) {
@@ -115,7 +272,7 @@ function counter() {
loadJSON();
} else {
refreshTime--;
- document.getElementById("counter").innerHTML = (refreshTime + 1);
+ document.getElementById("counter").innerHTML = refreshTime + 1;
}
}
@@ -123,7 +280,9 @@ function detectService() {
if (document.body.classList.contains("threadpage")) {
if (!document.getElementById("n")) return;
thread_title = document.title;
- thread_length = parseInt(document.getElementsByClassName("thread")[0].dataset.length);
+ thread_length = parseInt(
+ document.getElementsByClassName("thread")[0].dataset.length
+ );
thread_first_length = thread_length;
replylist = document.getElementsByClassName("reply");
lastr = replylist[replylist.length - 1].textContent;
@@ -158,7 +317,9 @@ function detectService() {
} else if (document.body.className === "res") {
serviceType = 3;
thread_title = document.title;
- thread_length = parseInt(document.getElementsByClassName("thread")[0].dataset.length);
+ thread_length = parseInt(
+ document.getElementsByClassName("thread")[0].dataset.length
+ );
thread_first_length = thread_length;
replylist = document.getElementsByClassName("thread");
replylist += document.getElementsByClassName("reply");
@@ -208,15 +369,13 @@ function stopCounter(str) {
function autoRefresh(e) {
chk_snd = document.getElementById("autosound");
if (document.getElementById("autorefresh").checked) {
- if (chk_snd)
- chk_snd.disabled = false;
+ if (chk_snd) chk_snd.disabled = false;
Notification.requestPermission();
lastTime = Math.floor(Date.now() / 1000);
refreshTime = refreshMaxTime;
startCounter();
} else {
- if (chk_snd)
- document.getElementById("autosound").disabled = true;
+ if (chk_snd) document.getElementById("autosound").disabled = true;
stopCounter("OFF");
}
}
@@ -228,15 +387,14 @@ http_request.onreadystatechange = function() {
if (serviceType == 2 || serviceType == 3)
updateThread(jsonObj.posts, jsonObj.total_replies, jsonObj.time);
lastTime = jsonObj.time;
- if (chk.checked)
- startCounter();
+ if (chk.checked) startCounter();
}
if (!chk.checked) {
document.getElementById("counter").innerText = "OFF";
}
manual = 0;
}
-}
+};
document.addEventListener("DOMContentLoaded", function() {
if (!detectService()) return;
@@ -254,17 +412,14 @@ document.addEventListener("DOMContentLoaded", function() {
window.addEventListener("unload", function() {
if (!serviceType) return;
-
+
chk = document.getElementById("autorefresh");
chk_snd = document.getElementById("autosound");
- if (chk.checked)
- localStorage.setItem("autorefresh", true);
- else
- localStorage.removeItem("autorefresh");
+ if (chk.checked) localStorage.setItem("autorefresh", true);
+ else localStorage.removeItem("autorefresh");
if (!chk_snd) return;
if (!document.getElementById("autosound").checked)
localStorage.setItem("mainpage_nosound", true);
- else
- localStorage.removeItem("mainpage_nosound");
-}); \ No newline at end of file
+ else localStorage.removeItem("mainpage_nosound");
+});