merge master
This commit is contained in:
commit
02f9784489
@ -60,7 +60,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
var $, $$, DAY, Favicon, HOUR, MINUTE, NAMESPACE, QR, SECOND, Time, anonymize, conf, config, d, expandComment, expandThread, firstRun, g, getTitle, imgExpand, imgGif, imgHover, imgPreloading, key, keybinds, log, main, nav, nodeInserted, options, quoteBacklink, quoteInline, quoteOP, quotePreview, redirect, replyHiding, reportButton, revealSpoilers, sauce, threadHiding, threadStats, threading, titlePost, ui, unread, updater, val, watcher, _ref;
|
var $, $$, DAY, Favicon, HOUR, MINUTE, NAMESPACE, QR, SECOND, Time, anonymize, conf, config, d, expandComment, expandThread, firstRun, g, getTitle, imgExpand, imgGif, imgHover, imgPreloading, key, keybinds, log, main, nav, nodeInserted, options, quoteBacklink, quoteInline, quoteOP, quotePreview, redirect, replyHiding, reportButton, revealSpoilers, sauce, threadHiding, threadStats, threading, titlePost, ui, unread, updater, val, watcher;
|
||||||
var __slice = Array.prototype.slice;
|
var __slice = Array.prototype.slice;
|
||||||
config = {
|
config = {
|
||||||
main: {
|
main: {
|
||||||
@ -1977,7 +1977,7 @@
|
|||||||
_results = [];
|
_results = [];
|
||||||
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
s = _ref[_i];
|
s = _ref[_i];
|
||||||
if (s[0] !== '#') {
|
if (s && s[0] !== '#') {
|
||||||
_results.push(s);
|
_results.push(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2508,24 +2508,31 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
Favicon = {
|
Favicon = {
|
||||||
|
init: function() {
|
||||||
|
var favicon, href;
|
||||||
|
favicon = $('link[rel="shortcut icon"]', d.head);
|
||||||
|
favicon.type = 'image/x-icon';
|
||||||
|
href = favicon.href;
|
||||||
|
Favicon["default"] = href;
|
||||||
|
return Favicon.unread = /ws/.test(href) ? Favicon.unreadSFW : Favicon.unreadNSFW;
|
||||||
|
},
|
||||||
dead: 'data:image/gif;base64,R0lGODlhEAAQAKECAAAAAP8AAP///////yH5BAEKAAIALAAAAAAQABAAAAIvlI+pq+D9DAgUoFkPDlbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw==',
|
dead: 'data:image/gif;base64,R0lGODlhEAAQAKECAAAAAP8AAP///////yH5BAEKAAIALAAAAAAQABAAAAIvlI+pq+D9DAgUoFkPDlbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw==',
|
||||||
deadHalo: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANhJREFUOMutU0EKwjAQzEPFgyBFei209gOKINh6tL3qO3yAB9OHWPTeMZsmJaRpiNjAkE1mMt1stgwA+wdsFgM1oHE4FXmSpWUcRzWBYtozNfKAYdCHCrQuosX9tlk+CBS7NKMMbMF7vXoJtC7Om8HwhXzbCWCSn6qBJHd74FIBVS1jm7czYFSsq7gvpY0s6+ThJwc4743EHnGkIW2YAW+AphkMPj6DJE1LXW3fFUhD2pHBsTznLKCIFCstC3nGNvQZnQa6kX4yMGfdyi7OZaB7wZy93Cx/4xfgv/s+XYFMrAAAAABJRU5ErkJggg%3D%3D',
|
|
||||||
"default": ((_ref = $('link[rel="shortcut icon"]', d.head)) != null ? _ref.href : void 0) || '',
|
|
||||||
empty: 'data:image/gif;base64,R0lGODlhEAAQAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAQABAAAAIvnI+pq+D9DBAUoFkPFnbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw==',
|
empty: 'data:image/gif;base64,R0lGODlhEAAQAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAQABAAAAIvnI+pq+D9DBAUoFkPFnbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw==',
|
||||||
haloSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAN9JREFUOMtj+P//PwMlmIEqBkDBfxie2NdVVVFaMikzPXsuCIPYIDFkNWANSAb815t+GI5B/Jj8iQfjapafBWEQG5saDBegK0ja8Ok9EH/AJofXBTBFlUf+/wPi/7jkcYYBCLef/v9/9pX//+cAMYiNLo/uAgZQYMVVLzsLcnYF0GaQ5otv/v+/9BpiEEgMJAdSA1JLlAGXgAZcfoNswGfcBpQDowoW2vi8AFIDUothwOQJvVXIgYUrEEFsqFoGYqLxA7HRiNUAWEIiyQBkGpaUsclhMwCWFpBpvHJUyY0AmdYZKFRtAsoAAAAASUVORK5CYII%3D',
|
unreadDead: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANhJREFUOMutU0EKwjAQzEPFgyBFei209gOKINh6tL3qO3yAB9OHWPTeMZsmJaRpiNjAkE1mMt1stgwA+wdsFgM1oHE4FXmSpWUcRzWBYtozNfKAYdCHCrQuosX9tlk+CBS7NKMMbMF7vXoJtC7Om8HwhXzbCWCSn6qBJHd74FIBVS1jm7czYFSsq7gvpY0s6+ThJwc4743EHnGkIW2YAW+AphkMPj6DJE1LXW3fFUhD2pHBsTznLKCIFCstC3nGNvQZnQa6kX4yMGfdyi7OZaB7wZy93Cx/4xfgv/s+XYFMrAAAAABJRU5ErkJggg%3D%3D',
|
||||||
haloNSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOBJREFUOMtj+P//PwMlmIEqBkDBfxie2DWxqqykYlJ6dtZcEAaxQWLIasAakAz4n3bGGI5B/JiJ8QfjlsefBWEQG5saDBegKyj5lPQeiD9gk8PrApiinv+V/4D4Py55nGEAwrP+t/9f/X82EM8Bs9Hl0V3AAAqsuGXxZ0HO7vlf8Q+k+eb/i0B8CWwQSAwkB1IDUkuUAbeAmm/9v4ww4DMeA8pKyifBQhufF0BqQGoxDJjcO7kKObBwBSKIDVXLQEw0fiA2GrEaAEtIJBmATMOSMjY5bAbA0gIyjVeOKrkRAMefDK/b7ecEAAAAAElFTkSuQmCC',
|
unreadSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAN9JREFUOMtj+P//PwMlmIEqBkDBfxie2NdVVVFaMikzPXsuCIPYIDFkNWANSAb815t+GI5B/Jj8iQfjapafBWEQG5saDBegK0ja8Ok9EH/AJofXBTBFlUf+/wPi/7jkcYYBCLef/v9/9pX//+cAMYiNLo/uAgZQYMVVLzsLcnYF0GaQ5otv/v+/9BpiEEgMJAdSA1JLlAGXgAZcfoNswGfcBpQDowoW2vi8AFIDUothwOQJvVXIgYUrEEFsqFoGYqLxA7HRiNUAWEIiyQBkGpaUsclhMwCWFpBpvHJUyY0AmdYZKFRtAsoAAAAASUVORK5CYII%3D',
|
||||||
|
unreadNSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOBJREFUOMtj+P//PwMlmIEqBkDBfxie2DWxqqykYlJ6dtZcEAaxQWLIasAakAz4n3bGGI5B/JiJ8QfjlsefBWEQG5saDBegKyj5lPQeiD9gk8PrApiinv+V/4D4Py55nGEAwrP+t/9f/X82EM8Bs9Hl0V3AAAqsuGXxZ0HO7vlf8Q+k+eb/i0B8CWwQSAwkB1IDUkuUAbeAmm/9v4ww4DMeA8pKyifBQhufF0BqQGoxDJjcO7kKObBwBSKIDVXLQEw0fiA2GrEaAEtIJBmATMOSMjY5bAbA0gIyjVeOKrkRAMefDK/b7ecEAAAAAElFTkSuQmCC',
|
||||||
update: function() {
|
update: function() {
|
||||||
var clone, favicon, href, l;
|
var clone, favicon, href, l;
|
||||||
l = unread.replies.length;
|
l = unread.replies.length;
|
||||||
if (g.dead) {
|
if (g.dead) {
|
||||||
if (l > 0) {
|
if (l > 0) {
|
||||||
href = Favicon.deadHalo;
|
href = Favicon.unreadDead;
|
||||||
} else {
|
} else {
|
||||||
href = Favicon.dead;
|
href = Favicon.dead;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (l > 0) {
|
if (l > 0) {
|
||||||
href = Favicon.halo;
|
href = Favicon.unread;
|
||||||
} else {
|
} else {
|
||||||
href = Favicon["default"];
|
href = Favicon["default"];
|
||||||
}
|
}
|
||||||
@ -2582,13 +2589,13 @@
|
|||||||
return location.href = url;
|
return location.href = url;
|
||||||
};
|
};
|
||||||
nodeInserted = function(e) {
|
nodeInserted = function(e) {
|
||||||
var callback, target, _i, _len, _ref2, _results;
|
var callback, target, _i, _len, _ref, _results;
|
||||||
target = e.target;
|
target = e.target;
|
||||||
if (target.nodeName === 'TABLE') {
|
if (target.nodeName === 'TABLE') {
|
||||||
_ref2 = g.callbacks;
|
_ref = g.callbacks;
|
||||||
_results = [];
|
_results = [];
|
||||||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
callback = _ref2[_i];
|
callback = _ref[_i];
|
||||||
_results.push(callback(target));
|
_results.push(callback(target));
|
||||||
}
|
}
|
||||||
return _results;
|
return _results;
|
||||||
@ -2721,7 +2728,7 @@
|
|||||||
return $.rm(thumb.nextSibling);
|
return $.rm(thumb.nextSibling);
|
||||||
},
|
},
|
||||||
expand: function(thumb) {
|
expand: function(thumb) {
|
||||||
var a, filesize, img, max, _, _ref2;
|
var a, filesize, img, max, _, _ref;
|
||||||
thumb.hidden = true;
|
thumb.hidden = true;
|
||||||
a = thumb.parentNode;
|
a = thumb.parentNode;
|
||||||
img = $.el('img', {
|
img = $.el('img', {
|
||||||
@ -2729,21 +2736,21 @@
|
|||||||
});
|
});
|
||||||
if (a.parentNode.className !== 'op') {
|
if (a.parentNode.className !== 'op') {
|
||||||
filesize = $('span.filesize', a.parentNode);
|
filesize = $('span.filesize', a.parentNode);
|
||||||
_ref2 = filesize.textContent.match(/(\d+)x/), _ = _ref2[0], max = _ref2[1];
|
_ref = filesize.textContent.match(/(\d+)x/), _ = _ref[0], max = _ref[1];
|
||||||
img.style.maxWidth = "-moz-calc(" + max + "px)";
|
img.style.maxWidth = "-moz-calc(" + max + "px)";
|
||||||
}
|
}
|
||||||
return $.add(a, img);
|
return $.add(a, img);
|
||||||
},
|
},
|
||||||
dialog: function() {
|
dialog: function() {
|
||||||
var controls, delform, imageType, option, select, _i, _len, _ref2;
|
var controls, delform, imageType, option, select, _i, _len, _ref;
|
||||||
controls = $.el('div', {
|
controls = $.el('div', {
|
||||||
id: 'imgControls',
|
id: 'imgControls',
|
||||||
innerHTML: "<select id=imageType name=imageType><option>full</option><option>fit width</option><option>fit height</option><option>fit screen</option></select> <label>Expand Images<input type=checkbox id=imageExpand></label>"
|
innerHTML: "<select id=imageType name=imageType><option>full</option><option>fit width</option><option>fit height</option><option>fit screen</option></select> <label>Expand Images<input type=checkbox id=imageExpand></label>"
|
||||||
});
|
});
|
||||||
imageType = $.get('imageType', 'full');
|
imageType = $.get('imageType', 'full');
|
||||||
_ref2 = $$('option', controls);
|
_ref = $$('option', controls);
|
||||||
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
|
||||||
option = _ref2[_i];
|
option = _ref[_i];
|
||||||
if (option.textContent === imageType) {
|
if (option.textContent === imageType) {
|
||||||
option.selected = true;
|
option.selected = true;
|
||||||
break;
|
break;
|
||||||
@ -2783,7 +2790,8 @@
|
|||||||
};
|
};
|
||||||
main = {
|
main = {
|
||||||
init: function() {
|
init: function() {
|
||||||
var callback, cutoff, hiddenThreads, id, lastChecked, now, op, pathname, table, temp, timestamp, tzOffset, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref2, _ref3, _ref4, _ref5, _ref6;
|
var callback, cutoff, hiddenThreads, id, lastChecked, now, op, pathname, table, temp, timestamp, tzOffset, _i, _j, _k, _l, _len, _len2, _len3, _len4, _ref, _ref2, _ref3, _ref4, _ref5;
|
||||||
|
$.unbind(window, 'load', main.init);
|
||||||
pathname = location.pathname.substring(1).split('/');
|
pathname = location.pathname.substring(1).split('/');
|
||||||
g.BOARD = pathname[0], temp = pathname[1];
|
g.BOARD = pathname[0], temp = pathname[1];
|
||||||
if (temp === 'res') {
|
if (temp === 'res') {
|
||||||
@ -2803,8 +2811,7 @@
|
|||||||
if (!$('#navtopr')) {
|
if (!$('#navtopr')) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Favicon.halo = /ws/.test(Favicon["default"]) ? Favicon.haloSFW : Favicon.haloNSFW;
|
Favicon.init();
|
||||||
$('link[rel="shortcut icon"]', d.head).type = 'image/x-icon';
|
|
||||||
g.hiddenReplies = $.get("hiddenReplies/" + g.BOARD + "/", {});
|
g.hiddenReplies = $.get("hiddenReplies/" + g.BOARD + "/", {});
|
||||||
tzOffset = (new Date()).getTimezoneOffset() / 60;
|
tzOffset = (new Date()).getTimezoneOffset() / 60;
|
||||||
g.chanOffset = 5 - tzOffset;
|
g.chanOffset = 5 - tzOffset;
|
||||||
@ -2822,9 +2829,9 @@
|
|||||||
delete hiddenThreads[id];
|
delete hiddenThreads[id];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ref2 = g.hiddenReplies;
|
_ref = g.hiddenReplies;
|
||||||
for (id in _ref2) {
|
for (id in _ref) {
|
||||||
timestamp = _ref2[id];
|
timestamp = _ref[id];
|
||||||
if (timestamp < cutoff) {
|
if (timestamp < cutoff) {
|
||||||
delete g.hiddenReplies[id];
|
delete g.hiddenReplies[id];
|
||||||
}
|
}
|
||||||
@ -2919,21 +2926,21 @@
|
|||||||
expandComment.init();
|
expandComment.init();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ref3 = $$('div.op');
|
_ref2 = $$('div.op');
|
||||||
for (_i = 0, _len = _ref3.length; _i < _len; _i++) {
|
for (_i = 0, _len = _ref2.length; _i < _len; _i++) {
|
||||||
op = _ref3[_i];
|
op = _ref2[_i];
|
||||||
_ref4 = g.callbacks;
|
_ref3 = g.callbacks;
|
||||||
for (_j = 0, _len2 = _ref4.length; _j < _len2; _j++) {
|
for (_j = 0, _len2 = _ref3.length; _j < _len2; _j++) {
|
||||||
callback = _ref4[_j];
|
callback = _ref3[_j];
|
||||||
callback(op);
|
callback(op);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_ref5 = $$('a + table');
|
_ref4 = $$('a + table');
|
||||||
for (_k = 0, _len3 = _ref5.length; _k < _len3; _k++) {
|
for (_k = 0, _len3 = _ref4.length; _k < _len3; _k++) {
|
||||||
table = _ref5[_k];
|
table = _ref4[_k];
|
||||||
_ref6 = g.callbacks;
|
_ref5 = g.callbacks;
|
||||||
for (_l = 0, _len4 = _ref6.length; _l < _len4; _l++) {
|
for (_l = 0, _len4 = _ref5.length; _l < _len4; _l++) {
|
||||||
callback = _ref6[_l];
|
callback = _ref5[_l];
|
||||||
callback(table);
|
callback(table);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -3088,7 +3095,7 @@
|
|||||||
opacity: .5;\
|
opacity: .5;\
|
||||||
}\
|
}\
|
||||||
.inline td.reply {\
|
.inline td.reply {\
|
||||||
background-color: rgba(252, 252, 252, 0.15);\
|
background-color: rgba(255, 255, 255, 0.15);\
|
||||||
border: 1px solid rgba(128, 128, 128, 0.5);\
|
border: 1px solid rgba(128, 128, 128, 0.5);\
|
||||||
}\
|
}\
|
||||||
.filetitle, .replytitle, .postername, .commentpostername, .postertrip {\
|
.filetitle, .replytitle, .postername, .commentpostername, .postertrip {\
|
||||||
@ -3167,5 +3174,9 @@
|
|||||||
}\
|
}\
|
||||||
'
|
'
|
||||||
};
|
};
|
||||||
main.init();
|
if (d.body) {
|
||||||
|
main.init();
|
||||||
|
} else {
|
||||||
|
$.bind(window, 'load', main.init);
|
||||||
|
}
|
||||||
}).call(this);
|
}).call(this);
|
||||||
|
|||||||
@ -1541,7 +1541,7 @@ anonymize =
|
|||||||
|
|
||||||
sauce =
|
sauce =
|
||||||
init: ->
|
init: ->
|
||||||
sauce.prefixes = (s for s in (conf['flavors'].split '\n') when s[0] != '#')
|
sauce.prefixes = (s for s in (conf['flavors'].split '\n') when s and s[0] != '#')
|
||||||
sauce.names = (prefix.match(/(\w+)\./)[1] for prefix in sauce.prefixes)
|
sauce.names = (prefix.match(/(\w+)\./)[1] for prefix in sauce.prefixes)
|
||||||
g.callbacks.push (root) ->
|
g.callbacks.push (root) ->
|
||||||
return if root.className is 'inline'
|
return if root.className is 'inline'
|
||||||
@ -1873,23 +1873,28 @@ unread =
|
|||||||
d.title = d.title.replace /\d+/, unread.replies.length
|
d.title = d.title.replace /\d+/, unread.replies.length
|
||||||
|
|
||||||
Favicon =
|
Favicon =
|
||||||
|
init: ->
|
||||||
|
favicon = $ 'link[rel="shortcut icon"]', d.head
|
||||||
|
favicon.type = 'image/x-icon'
|
||||||
|
{href} = favicon
|
||||||
|
Favicon.default = href
|
||||||
|
Favicon.unread = if /ws/.test href then Favicon.unreadSFW else Favicon.unreadNSFW
|
||||||
dead: 'data:image/gif;base64,R0lGODlhEAAQAKECAAAAAP8AAP///////yH5BAEKAAIALAAAAAAQABAAAAIvlI+pq+D9DAgUoFkPDlbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw=='
|
dead: 'data:image/gif;base64,R0lGODlhEAAQAKECAAAAAP8AAP///////yH5BAEKAAIALAAAAAAQABAAAAIvlI+pq+D9DAgUoFkPDlbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw=='
|
||||||
deadHalo: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANhJREFUOMutU0EKwjAQzEPFgyBFei209gOKINh6tL3qO3yAB9OHWPTeMZsmJaRpiNjAkE1mMt1stgwA+wdsFgM1oHE4FXmSpWUcRzWBYtozNfKAYdCHCrQuosX9tlk+CBS7NKMMbMF7vXoJtC7Om8HwhXzbCWCSn6qBJHd74FIBVS1jm7czYFSsq7gvpY0s6+ThJwc4743EHnGkIW2YAW+AphkMPj6DJE1LXW3fFUhD2pHBsTznLKCIFCstC3nGNvQZnQa6kX4yMGfdyi7OZaB7wZy93Cx/4xfgv/s+XYFMrAAAAABJRU5ErkJggg%3D%3D'
|
|
||||||
default: $('link[rel="shortcut icon"]', d.head)?.href or '' #no favicon in `post successful` page
|
|
||||||
empty: 'data:image/gif;base64,R0lGODlhEAAQAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAQABAAAAIvnI+pq+D9DBAUoFkPFnbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw=='
|
empty: 'data:image/gif;base64,R0lGODlhEAAQAJEAAAAAAP///9vb2////yH5BAEAAAMALAAAAAAQABAAAAIvnI+pq+D9DBAUoFkPFnbs7lFZKIJOJJ3MyraoB14jFpOcVMpzrnF3OKlZYsMWowAAOw=='
|
||||||
haloSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAN9JREFUOMtj+P//PwMlmIEqBkDBfxie2NdVVVFaMikzPXsuCIPYIDFkNWANSAb815t+GI5B/Jj8iQfjapafBWEQG5saDBegK0ja8Ok9EH/AJofXBTBFlUf+/wPi/7jkcYYBCLef/v9/9pX//+cAMYiNLo/uAgZQYMVVLzsLcnYF0GaQ5otv/v+/9BpiEEgMJAdSA1JLlAGXgAZcfoNswGfcBpQDowoW2vi8AFIDUothwOQJvVXIgYUrEEFsqFoGYqLxA7HRiNUAWEIiyQBkGpaUsclhMwCWFpBpvHJUyY0AmdYZKFRtAsoAAAAASUVORK5CYII%3D'
|
unreadDead: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAANhJREFUOMutU0EKwjAQzEPFgyBFei209gOKINh6tL3qO3yAB9OHWPTeMZsmJaRpiNjAkE1mMt1stgwA+wdsFgM1oHE4FXmSpWUcRzWBYtozNfKAYdCHCrQuosX9tlk+CBS7NKMMbMF7vXoJtC7Om8HwhXzbCWCSn6qBJHd74FIBVS1jm7czYFSsq7gvpY0s6+ThJwc4743EHnGkIW2YAW+AphkMPj6DJE1LXW3fFUhD2pHBsTznLKCIFCstC3nGNvQZnQa6kX4yMGfdyi7OZaB7wZy93Cx/4xfgv/s+XYFMrAAAAABJRU5ErkJggg%3D%3D'
|
||||||
haloNSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOBJREFUOMtj+P//PwMlmIEqBkDBfxie2DWxqqykYlJ6dtZcEAaxQWLIasAakAz4n3bGGI5B/JiJ8QfjlsefBWEQG5saDBegKyj5lPQeiD9gk8PrApiinv+V/4D4Py55nGEAwrP+t/9f/X82EM8Bs9Hl0V3AAAqsuGXxZ0HO7vlf8Q+k+eb/i0B8CWwQSAwkB1IDUkuUAbeAmm/9v4ww4DMeA8pKyifBQhufF0BqQGoxDJjcO7kKObBwBSKIDVXLQEw0fiA2GrEaAEtIJBmATMOSMjY5bAbA0gIyjVeOKrkRAMefDK/b7ecEAAAAAElFTkSuQmCC'
|
unreadSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAN9JREFUOMtj+P//PwMlmIEqBkDBfxie2NdVVVFaMikzPXsuCIPYIDFkNWANSAb815t+GI5B/Jj8iQfjapafBWEQG5saDBegK0ja8Ok9EH/AJofXBTBFlUf+/wPi/7jkcYYBCLef/v9/9pX//+cAMYiNLo/uAgZQYMVVLzsLcnYF0GaQ5otv/v+/9BpiEEgMJAdSA1JLlAGXgAZcfoNswGfcBpQDowoW2vi8AFIDUothwOQJvVXIgYUrEEFsqFoGYqLxA7HRiNUAWEIiyQBkGpaUsclhMwCWFpBpvHJUyY0AmdYZKFRtAsoAAAAASUVORK5CYII%3D'
|
||||||
|
unreadNSFW: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAOBJREFUOMtj+P//PwMlmIEqBkDBfxie2DWxqqykYlJ6dtZcEAaxQWLIasAakAz4n3bGGI5B/JiJ8QfjlsefBWEQG5saDBegKyj5lPQeiD9gk8PrApiinv+V/4D4Py55nGEAwrP+t/9f/X82EM8Bs9Hl0V3AAAqsuGXxZ0HO7vlf8Q+k+eb/i0B8CWwQSAwkB1IDUkuUAbeAmm/9v4ww4DMeA8pKyifBQhufF0BqQGoxDJjcO7kKObBwBSKIDVXLQEw0fiA2GrEaAEtIJBmATMOSMjY5bAbA0gIyjVeOKrkRAMefDK/b7ecEAAAAAElFTkSuQmCC'
|
||||||
|
|
||||||
update: ->
|
update: ->
|
||||||
l = unread.replies.length
|
l = unread.replies.length
|
||||||
if g.dead
|
if g.dead
|
||||||
if l > 0
|
if l > 0
|
||||||
href = Favicon.deadHalo
|
href = Favicon.unreadDead
|
||||||
else
|
else
|
||||||
href = Favicon.dead
|
href = Favicon.dead
|
||||||
else
|
else
|
||||||
if l > 0
|
if l > 0
|
||||||
href = Favicon.halo
|
href = Favicon.unread
|
||||||
else
|
else
|
||||||
href = Favicon.default
|
href = Favicon.default
|
||||||
|
|
||||||
@ -2115,6 +2120,7 @@ firstRun =
|
|||||||
|
|
||||||
main =
|
main =
|
||||||
init: ->
|
init: ->
|
||||||
|
$.unbind window, 'load', main.init
|
||||||
pathname = location.pathname.substring(1).split('/')
|
pathname = location.pathname.substring(1).split('/')
|
||||||
[g.BOARD, temp] = pathname
|
[g.BOARD, temp] = pathname
|
||||||
if temp is 'res'
|
if temp is 'res'
|
||||||
@ -2132,8 +2138,7 @@ main =
|
|||||||
if not $ '#navtopr'
|
if not $ '#navtopr'
|
||||||
return
|
return
|
||||||
|
|
||||||
Favicon.halo = if /ws/.test Favicon.default then Favicon.haloSFW else Favicon.haloNSFW
|
Favicon.init()
|
||||||
$('link[rel="shortcut icon"]', d.head).type = 'image/x-icon'
|
|
||||||
g.hiddenReplies = $.get "hiddenReplies/#{g.BOARD}/", {}
|
g.hiddenReplies = $.get "hiddenReplies/#{g.BOARD}/", {}
|
||||||
tzOffset = (new Date()).getTimezoneOffset() / 60
|
tzOffset = (new Date()).getTimezoneOffset() / 60
|
||||||
# GMT -8 is given as +480; would GMT +8 be -480 ?
|
# GMT -8 is given as +480; would GMT +8 be -480 ?
|
||||||
@ -2405,7 +2410,7 @@ main =
|
|||||||
opacity: .5;
|
opacity: .5;
|
||||||
}
|
}
|
||||||
.inline td.reply {
|
.inline td.reply {
|
||||||
background-color: rgba(252, 252, 252, 0.15);
|
background-color: rgba(255, 255, 255, 0.15);
|
||||||
border: 1px solid rgba(128, 128, 128, 0.5);
|
border: 1px solid rgba(128, 128, 128, 0.5);
|
||||||
}
|
}
|
||||||
.filetitle, .replytitle, .postername, .commentpostername, .postertrip {
|
.filetitle, .replytitle, .postername, .commentpostername, .postertrip {
|
||||||
@ -2484,4 +2489,8 @@ main =
|
|||||||
}
|
}
|
||||||
'
|
'
|
||||||
|
|
||||||
main.init()
|
#XXX Opera will load early if script is saved w/o .user
|
||||||
|
if d.body
|
||||||
|
main.init()
|
||||||
|
else
|
||||||
|
$.bind window, 'load', main.init
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user