diff --git a/builds/appchan-x.js b/builds/appchan-x.js index ce2850cf2..8f3ac255f 100644 --- a/builds/appchan-x.js +++ b/builds/appchan-x.js @@ -6430,7 +6430,6 @@ if (!Conf['Announcement Hiding']) { return; } - $.addClass(doc, 'hide-announcement'); return $.on(d, '4chanXInitFinished', this.setup); }, setup: function() { @@ -6438,48 +6437,43 @@ $.off(d, '4chanXInitFinished', PSAHiding.setup); if (!(psa = $.id('globalMessage'))) { - $.rmClass(doc, 'hide-announcement'); return; } PSAHiding.btn = btn = $.el('a', { title: 'Toggle announcement.', - href: 'javascript:;' + href: 'javascript:;', + textContent: '[ - ]' }); $.on(btn, 'click', PSAHiding.toggle); + $.prepend(psa, btn); text = PSAHiding.trim(psa); - $.get('hiddenPSAs', [], function(item) { - PSAHiding.sync(item['hiddenPSAs']); - $.before(psa, btn); - return $.rmClass(doc, 'hide-announcement'); + return $.get('hiddenPSAs', [], function(item) { + return PSAHiding.sync(item['hiddenPSAs']); }); - return $.sync('hiddenPSAs', PSAHiding.sync); }, toggle: function(e) { - var hide, text; + var text; - hide = $.hasClass(this, 'hide-announcement'); text = PSAHiding.trim($.id('globalMessage')); return $.get('hiddenPSAs', [], function(item) { - var hiddenPSAs, i; + var hiddenPSAs; hiddenPSAs = item.hiddenPSAs; - if (hide) { - hiddenPSAs.push(text); - } else { - i = hiddenPSAs.indexOf(text); - hiddenPSAs.splice(i, 1); - } + hiddenPSAs.push(text); hiddenPSAs = hiddenPSAs.slice(-5); PSAHiding.sync(hiddenPSAs); return $.set('hiddenPSAs', hiddenPSAs); }); }, sync: function(hiddenPSAs) { - var btn, psa, _ref; + var btn, psa; btn = PSAHiding.btn; psa = $.id('globalMessage'); - return _ref = hiddenPSAs.contains(PSAHiding.trim(psa)) ? [true, '[ + ]', 'show-announcement'] : [false, '[ - ]', 'hide-announcement'], psa.hidden = _ref[0], btn.innerHTML = _ref[1], btn.className = _ref[2], _ref; + if (hiddenPSAs.contains(PSAHiding.trim(psa))) { + $.rm(psa); + return Style.iconPositions(); + } }, trim: function(psa) { return psa.textContent.replace(/\W+/g, '').toLowerCase(); diff --git a/builds/appchan-x.user.js b/builds/appchan-x.user.js index bab9a7174..853dc35d4 100644 --- a/builds/appchan-x.user.js +++ b/builds/appchan-x.user.js @@ -6423,7 +6423,6 @@ if (!Conf['Announcement Hiding']) { return; } - $.addClass(doc, 'hide-announcement'); return $.on(d, '4chanXInitFinished', this.setup); }, setup: function() { @@ -6431,48 +6430,43 @@ $.off(d, '4chanXInitFinished', PSAHiding.setup); if (!(psa = $.id('globalMessage'))) { - $.rmClass(doc, 'hide-announcement'); return; } PSAHiding.btn = btn = $.el('a', { title: 'Toggle announcement.', - href: 'javascript:;' + href: 'javascript:;', + textContent: '[ - ]' }); $.on(btn, 'click', PSAHiding.toggle); + $.prepend(psa, btn); text = PSAHiding.trim(psa); - $.get('hiddenPSAs', [], function(item) { - PSAHiding.sync(item['hiddenPSAs']); - $.before(psa, btn); - return $.rmClass(doc, 'hide-announcement'); + return $.get('hiddenPSAs', [], function(item) { + return PSAHiding.sync(item['hiddenPSAs']); }); - return $.sync('hiddenPSAs', PSAHiding.sync); }, toggle: function(e) { - var hide, text; + var text; - hide = $.hasClass(this, 'hide-announcement'); text = PSAHiding.trim($.id('globalMessage')); return $.get('hiddenPSAs', [], function(item) { - var hiddenPSAs, i; + var hiddenPSAs; hiddenPSAs = item.hiddenPSAs; - if (hide) { - hiddenPSAs.push(text); - } else { - i = hiddenPSAs.indexOf(text); - hiddenPSAs.splice(i, 1); - } + hiddenPSAs.push(text); hiddenPSAs = hiddenPSAs.slice(-5); PSAHiding.sync(hiddenPSAs); return $.set('hiddenPSAs', hiddenPSAs); }); }, sync: function(hiddenPSAs) { - var btn, psa, _ref; + var btn, psa; btn = PSAHiding.btn; psa = $.id('globalMessage'); - return _ref = hiddenPSAs.contains(PSAHiding.trim(psa)) ? [true, '[ + ]', 'show-announcement'] : [false, '[ - ]', 'hide-announcement'], psa.hidden = _ref[0], btn.innerHTML = _ref[1], btn.className = _ref[2], _ref; + if (hiddenPSAs.contains(PSAHiding.trim(psa))) { + $.rm(psa); + return Style.iconPositions(); + } }, trim: function(psa) { return psa.textContent.replace(/\W+/g, '').toLowerCase(); diff --git a/builds/appchan-x.zip b/builds/appchan-x.zip index 52af91f08..74d201a87 100644 Binary files a/builds/appchan-x.zip and b/builds/appchan-x.zip differ diff --git a/builds/crx.crx b/builds/crx.crx index 43147dbcd..517a6658b 100644 Binary files a/builds/crx.crx and b/builds/crx.crx differ diff --git a/builds/crx/script.js b/builds/crx/script.js index 22312bf53..7f83ec302 100644 --- a/builds/crx/script.js +++ b/builds/crx/script.js @@ -6368,7 +6368,6 @@ if (!Conf['Announcement Hiding']) { return; } - $.addClass(doc, 'hide-announcement'); return $.on(d, '4chanXInitFinished', this.setup); }, setup: function() { @@ -6376,48 +6375,43 @@ $.off(d, '4chanXInitFinished', PSAHiding.setup); if (!(psa = $.id('globalMessage'))) { - $.rmClass(doc, 'hide-announcement'); return; } PSAHiding.btn = btn = $.el('a', { title: 'Toggle announcement.', - href: 'javascript:;' + href: 'javascript:;', + textContent: '[ - ]' }); $.on(btn, 'click', PSAHiding.toggle); + $.prepend(psa, btn); text = PSAHiding.trim(psa); - $.get('hiddenPSAs', [], function(item) { - PSAHiding.sync(item['hiddenPSAs']); - $.before(psa, btn); - return $.rmClass(doc, 'hide-announcement'); + return $.get('hiddenPSAs', [], function(item) { + return PSAHiding.sync(item['hiddenPSAs']); }); - return $.sync('hiddenPSAs', PSAHiding.sync); }, toggle: function(e) { - var hide, text; + var text; - hide = $.hasClass(this, 'hide-announcement'); text = PSAHiding.trim($.id('globalMessage')); return $.get('hiddenPSAs', [], function(item) { - var hiddenPSAs, i; + var hiddenPSAs; hiddenPSAs = item.hiddenPSAs; - if (hide) { - hiddenPSAs.push(text); - } else { - i = hiddenPSAs.indexOf(text); - hiddenPSAs.splice(i, 1); - } + hiddenPSAs.push(text); hiddenPSAs = hiddenPSAs.slice(-5); PSAHiding.sync(hiddenPSAs); return $.set('hiddenPSAs', hiddenPSAs); }); }, sync: function(hiddenPSAs) { - var btn, psa, _ref; + var btn, psa; btn = PSAHiding.btn; psa = $.id('globalMessage'); - return _ref = hiddenPSAs.contains(PSAHiding.trim(psa)) ? [true, '[ + ]', 'show-announcement'] : [false, '[ - ]', 'hide-announcement'], psa.hidden = _ref[0], btn.innerHTML = _ref[1], btn.className = _ref[2], _ref; + if (hiddenPSAs.contains(PSAHiding.trim(psa))) { + $.rm(psa); + return Style.iconPositions(); + } }, trim: function(psa) { return psa.textContent.replace(/\W+/g, '').toLowerCase(); diff --git a/src/features.coffee b/src/features.coffee index 16bf507c4..ae77699b0 100644 --- a/src/features.coffee +++ b/src/features.coffee @@ -303,50 +303,44 @@ CatalogLinks = PSAHiding = init: -> - return if !Conf['Announcement Hiding'] - - $.addClass doc, 'hide-announcement' + return unless Conf['Announcement Hiding'] $.on d, '4chanXInitFinished', @setup + setup: -> $.off d, '4chanXInitFinished', PSAHiding.setup unless psa = $.id 'globalMessage' - $.rmClass doc, 'hide-announcement' return PSAHiding.btn = btn = $.el 'a', title: 'Toggle announcement.' href: 'javascript:;' + textContent: '[ - ]' $.on btn, 'click', PSAHiding.toggle + $.prepend psa, btn + text = PSAHiding.trim psa $.get 'hiddenPSAs', [], (item) -> PSAHiding.sync item['hiddenPSAs'] - $.before psa, btn - $.rmClass doc, 'hide-announcement' - $.sync 'hiddenPSAs', PSAHiding.sync toggle: (e) -> - hide = $.hasClass @, 'hide-announcement' text = PSAHiding.trim $.id 'globalMessage' $.get 'hiddenPSAs', [], (item) -> {hiddenPSAs} = item - if hide - hiddenPSAs.push text - else - i = hiddenPSAs.indexOf text - hiddenPSAs.splice i, 1 + hiddenPSAs.push text hiddenPSAs = hiddenPSAs[-5..] PSAHiding.sync hiddenPSAs $.set 'hiddenPSAs', hiddenPSAs + sync: (hiddenPSAs) -> {btn} = PSAHiding psa = $.id 'globalMessage' - [psa.hidden, btn.innerHTML, btn.className] = if hiddenPSAs.contains PSAHiding.trim psa - [true, '[ + ]', 'show-announcement'] - else - [false, '[ - ]', 'hide-announcement'] + if hiddenPSAs.contains PSAHiding.trim psa + $.rm psa + do Style.iconPositions + trim: (psa) -> psa.textContent.replace(/\W+/g, '').toLowerCase() @@ -3507,32 +3501,32 @@ Favicon = unreadDead = Favicon.unreadDeadY = Favicon.unreadSFW = Favicon.unreadSFWY = Favicon.unreadNSFW = Favicon.unreadNSFWY = 'data:image/png;base64,' switch Conf['favicon'] when 'ferongr' - Favicon.unreadDead += '<%= grunt.file.read("img/favicons/ferongr/unreadDead.png", {encoding: "base64"}) %>' - Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/ferongr/unreadDeadY.png", {encoding: "base64"}) %>' - Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/ferongr/unreadSFW.png", {encoding: "base64"}) %>' - Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/ferongr/unreadSFWY.png", {encoding: "base64"}) %>' - Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/ferongr/unreadNSFW.png", {encoding: "base64"}) %>' - Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/ferongr/unreadNSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadDead += '<%= grunt.file.read("img/favicons/ferongr/unreadDead.png", {encoding: "base64"}) %>' + Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/ferongr/unreadDeadY.png", {encoding: "base64"}) %>' + Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/ferongr/unreadSFW.png", {encoding: "base64"}) %>' + Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/ferongr/unreadSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/ferongr/unreadNSFW.png", {encoding: "base64"}) %>' + Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/ferongr/unreadNSFWY.png", {encoding: "base64"}) %>' when 'xat-' - Favicon.unreadDead += '<%= grunt.file.read("img/favicons/xat-/unreadDead.png", {encoding: "base64"}) %>' - Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/xat-/unreadDeadY.png", {encoding: "base64"}) %>' - Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/xat-/unreadSFW.png", {encoding: "base64"}) %>' - Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/xat-/unreadSFWY.png", {encoding: "base64"}) %>' - Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/xat-/unreadNSFW.png", {encoding: "base64"}) %>' - Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/xat-/unreadNSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadDead += '<%= grunt.file.read("img/favicons/xat-/unreadDead.png", {encoding: "base64"}) %>' + Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/xat-/unreadDeadY.png", {encoding: "base64"}) %>' + Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/xat-/unreadSFW.png", {encoding: "base64"}) %>' + Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/xat-/unreadSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/xat-/unreadNSFW.png", {encoding: "base64"}) %>' + Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/xat-/unreadNSFWY.png", {encoding: "base64"}) %>' when 'Mayhem' - Favicon.unreadDead += '<%= grunt.file.read("img/favicons/Mayhem/unreadDead.png", {encoding: "base64"}) %>' - Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/Mayhem/unreadDeadY.png", {encoding: "base64"}) %>' - Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/Mayhem/unreadSFW.png", {encoding: "base64"}) %>' - Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/Mayhem/unreadSFWY.png", {encoding: "base64"}) %>' - Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/Mayhem/unreadNSFW.png", {encoding: "base64"}) %>' - Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/Mayhem/unreadNSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadDead += '<%= grunt.file.read("img/favicons/Mayhem/unreadDead.png", {encoding: "base64"}) %>' + Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/Mayhem/unreadDeadY.png", {encoding: "base64"}) %>' + Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/Mayhem/unreadSFW.png", {encoding: "base64"}) %>' + Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/Mayhem/unreadSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/Mayhem/unreadNSFW.png", {encoding: "base64"}) %>' + Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/Mayhem/unreadNSFWY.png", {encoding: "base64"}) %>' when 'Original' - Favicon.unreadDead += '<%= grunt.file.read("img/favicons/Original/unreadDead.png", {encoding: "base64"}) %>' + Favicon.unreadDead += '<%= grunt.file.read("img/favicons/Original/unreadDead.png", {encoding: "base64"}) %>' Favicon.unreadDeadY += '<%= grunt.file.read("img/favicons/Original/unreadDeadY.png", {encoding: "base64"}) %>' - Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/Original/unreadSFW.png", {encoding: "base64"}) %>' - Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/Original/unreadSFWY.png", {encoding: "base64"}) %>' - Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/Original/unreadNSFW.png", {encoding: "base64"}) %>' + Favicon.unreadSFW += '<%= grunt.file.read("img/favicons/Original/unreadSFW.png", {encoding: "base64"}) %>' + Favicon.unreadSFWY += '<%= grunt.file.read("img/favicons/Original/unreadSFWY.png", {encoding: "base64"}) %>' + Favicon.unreadNSFW += '<%= grunt.file.read("img/favicons/Original/unreadNSFW.png", {encoding: "base64"}) %>' Favicon.unreadNSFWY += '<%= grunt.file.read("img/favicons/Original/unreadNSFWY.png", {encoding: "base64"}) %>' if Favicon.SFW Favicon.unread = Favicon.unreadSFW