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