Merge branch 'mayhem' into v3
Conflicts: CHANGELOG.md README.md css/style.css html/General/Header.html package.json src/General/Config.coffee src/General/Header.coffee src/General/Settings.coffee src/Miscellaneous/AnnouncementHiding.coffee
This commit is contained in:
commit
9b9a2980aa
13
CHANGELOG.md
13
CHANGELOG.md
@ -1,4 +1,3 @@
|
||||
|
||||
**MayhemYDG**:
|
||||
- Thread and post hiding changes:
|
||||
- The posts' menu now has a label entry listing the reasons why a post got hidden or highlighted.
|
||||
@ -39,21 +38,27 @@
|
||||
<li> Filter (hiding, highlighting)
|
||||
<li> Thread Hiding
|
||||
<li> Linkify
|
||||
<li> Auto-GIF
|
||||
<li> Thumbnail Replacemenu
|
||||
<li> Image Hover
|
||||
</ul>
|
||||
- Support for the official catalog will be removed in the future, once the catalog mode for the index is deemed satisfactory.
|
||||
- Added `Original filename` variable to Sauce panel.
|
||||
- Fixed a bug which prevented QR cooldowns from being pruned from storage.
|
||||
- On Chrome, the storage could reach the quota and prevent 4chan X from saving data like QR name/mail or auto-watch for example.
|
||||
- Clicking on the border of the Header will not toggle `Header auto-hide` anymore.
|
||||
You can still change the setting in the Header menu → Header.
|
||||
- Bugfixes
|
||||
|
||||
**Vampiricwulf**
|
||||
- Flash embedding and other Flash features.
|
||||
|
||||
**Zixaphir**
|
||||
**Zixaphir**
|
||||
- Update Custom Navigation legend to reflect index mode changes.
|
||||
- JSON Navigation now works for backlinks (when Quote Inlining is disabled) and backlink hashlinks.
|
||||
- JSON Navigation (Index, Catalog) performance improvements.
|
||||
- Added a nifty bread-crumb for the JSON Navigation.
|
||||
- Many spiffy performance, state awareness, and sanity improvements to JSON Navigation.
|
||||
|
||||
- Added a return button to the JSON Navigation that will switch you back to non-catalog view (requires NavLinks not to be hidden).
|
||||
|
||||
### v1.4.1
|
||||
*2014-03-01*
|
||||
|
||||
@ -135,7 +135,6 @@
|
||||
'Catalog Links': [true, 'Add toggle link in header menu to turn Navigation links into links to each board\'s catalog.'],
|
||||
'External Catalog': [false, 'Link to external catalog instead of the internal one.'],
|
||||
'QR Shortcut': [false, 'Adds a small [QR] link in the header.'],
|
||||
'Announcement Hiding': [true, 'Add button to hide 4chan announcements.'],
|
||||
'Desktop Notifications': [false, 'Enables desktop notifications across various 4chan X features.'],
|
||||
'404 Redirect': [true, 'Redirect dead threads and images.'],
|
||||
'Keybinds': [true, 'Bind actions to keyboard shortcuts.'],
|
||||
@ -2295,18 +2294,14 @@
|
||||
},
|
||||
setBarVisibility: function(hide) {
|
||||
Header.headerToggler.checked = hide;
|
||||
$.event('CloseMenu');
|
||||
(hide ? $.addClass : $.rmClass)(Header.bar, 'autohide');
|
||||
return (hide ? $.addClass : $.rmClass)(doc, 'autohide');
|
||||
return (hide ? $.addClass : $.rmClass)(Header.bar, 'autohide');
|
||||
},
|
||||
toggleBarVisibility: function() {
|
||||
var hide, message;
|
||||
hide = this.nodeName === 'INPUT' ? this.checked : !$.hasClass(Header.bar, 'autohide');
|
||||
this.checked = hide;
|
||||
$.set('Header auto-hide', Conf['Header auto-hide'] = hide);
|
||||
Header.setBarVisibility(hide);
|
||||
message = "The header bar will " + (hide ? 'automatically hide itself.' : 'remain visible.');
|
||||
return new Notice('info', message, 2);
|
||||
toggleBarVisibility: function(e) {
|
||||
var hide;
|
||||
hide = this.checked;
|
||||
Conf['Header auto-hide'] = hide;
|
||||
$.set('Header auto-hide', hide);
|
||||
return Header.setBarVisibility(hide);
|
||||
},
|
||||
setHideBarOnScroll: function(hide) {
|
||||
Header.scrollHeaderToggler.checked = hide;
|
||||
@ -5098,6 +5093,9 @@
|
||||
}),
|
||||
order: 20,
|
||||
open: function(post) {
|
||||
if (post.isReply) {
|
||||
return false;
|
||||
}
|
||||
this.el.textContent = post.isHidden ? 'Unhide thread' : 'Hide thread';
|
||||
if (this.cb) {
|
||||
$.off(this.el, 'click', this.cb);
|
||||
@ -9282,7 +9280,9 @@
|
||||
};
|
||||
})(),
|
||||
toggle: function(e) {
|
||||
return Menu.menu.toggle(e, this, Get.postFromNode(this));
|
||||
var fullID;
|
||||
fullID = $.x('ancestor::*[@data-full-i-d]', this).dataset.fullID;
|
||||
return Menu.menu.toggle(e, this, g.posts[fullID]);
|
||||
}
|
||||
};
|
||||
|
||||
@ -10909,9 +10909,6 @@
|
||||
|
||||
PSAHiding = {
|
||||
init: function() {
|
||||
if (!Conf['Announcement Hiding']) {
|
||||
return;
|
||||
}
|
||||
$.addClass(doc, 'hide-announcement');
|
||||
return $.on(d, '4chanXInitFinished', this.setup);
|
||||
},
|
||||
|
||||
@ -111,7 +111,6 @@
|
||||
'Catalog Links': [true, 'Add toggle link in header menu to turn Navigation links into links to each board\'s catalog.'],
|
||||
'External Catalog': [false, 'Link to external catalog instead of the internal one.'],
|
||||
'QR Shortcut': [false, 'Adds a small [QR] link in the header.'],
|
||||
'Announcement Hiding': [true, 'Add button to hide 4chan announcements.'],
|
||||
'Desktop Notifications': [false, 'Enables desktop notifications across various 4chan X features.'],
|
||||
'404 Redirect': [true, 'Redirect dead threads and images.'],
|
||||
'Keybinds': [true, 'Bind actions to keyboard shortcuts.'],
|
||||
@ -2354,18 +2353,14 @@
|
||||
},
|
||||
setBarVisibility: function(hide) {
|
||||
Header.headerToggler.checked = hide;
|
||||
$.event('CloseMenu');
|
||||
(hide ? $.addClass : $.rmClass)(Header.bar, 'autohide');
|
||||
return (hide ? $.addClass : $.rmClass)(doc, 'autohide');
|
||||
return (hide ? $.addClass : $.rmClass)(Header.bar, 'autohide');
|
||||
},
|
||||
toggleBarVisibility: function() {
|
||||
var hide, message;
|
||||
hide = this.nodeName === 'INPUT' ? this.checked : !$.hasClass(Header.bar, 'autohide');
|
||||
this.checked = hide;
|
||||
$.set('Header auto-hide', Conf['Header auto-hide'] = hide);
|
||||
Header.setBarVisibility(hide);
|
||||
message = "The header bar will " + (hide ? 'automatically hide itself.' : 'remain visible.');
|
||||
return new Notice('info', message, 2);
|
||||
toggleBarVisibility: function(e) {
|
||||
var hide;
|
||||
hide = this.checked;
|
||||
Conf['Header auto-hide'] = hide;
|
||||
$.set('Header auto-hide', hide);
|
||||
return Header.setBarVisibility(hide);
|
||||
},
|
||||
setHideBarOnScroll: function(hide) {
|
||||
Header.scrollHeaderToggler.checked = hide;
|
||||
@ -5150,6 +5145,9 @@
|
||||
}),
|
||||
order: 20,
|
||||
open: function(post) {
|
||||
if (post.isReply) {
|
||||
return false;
|
||||
}
|
||||
this.el.textContent = post.isHidden ? 'Unhide thread' : 'Hide thread';
|
||||
if (this.cb) {
|
||||
$.off(this.el, 'click', this.cb);
|
||||
@ -9297,7 +9295,9 @@
|
||||
};
|
||||
})(),
|
||||
toggle: function(e) {
|
||||
return Menu.menu.toggle(e, this, Get.postFromNode(this));
|
||||
var fullID;
|
||||
fullID = $.x('ancestor::*[@data-full-i-d]', this).dataset.fullID;
|
||||
return Menu.menu.toggle(e, this, g.posts[fullID]);
|
||||
}
|
||||
};
|
||||
|
||||
@ -10923,9 +10923,6 @@
|
||||
|
||||
PSAHiding = {
|
||||
init: function() {
|
||||
if (!Conf['Announcement Hiding']) {
|
||||
return;
|
||||
}
|
||||
$.addClass(doc, 'hide-announcement');
|
||||
return $.on(d, '4chanXInitFinished', this.setup);
|
||||
},
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
<input type="search" id="index-search" class="field" placeholder="Search">
|
||||
<a id="index-search-clear" class="fa fa-times-circle" href="javascript:;"></a>
|
||||
|
||||
<time id="index-last-refresh" title="Last index refresh">...</time>
|
||||
<span id="hidden-label" hidden> — <span id="hidden-count"></span> <span id="hidden-toggle">[<a href="javascript:;">Show</a>]</span></span>
|
||||
<span style="flex:1"></span>
|
||||
<select id="index-mode" name="Index Mode">
|
||||
<option disabled>Index Mode</option>
|
||||
<option value="paged">Paged</option>
|
||||
<option value="infinite">Infinite Scrolling</option>
|
||||
<option value="all pages">All threads</option>
|
||||
<option value="catalog">Catalog</option>
|
||||
</select>
|
||||
<select id="index-sort" name="Index Sort">
|
||||
<option disabled>Index Sort</option>
|
||||
<option value="bump">Bump order</option>
|
||||
<option value="lastreply">Last reply</option>
|
||||
<option value="birth">Creation date</option>
|
||||
<option value="replycount">Reply count</option>
|
||||
<option value="filecount">File count</option>
|
||||
</select>
|
||||
<select id="index-size" name="Index Size">
|
||||
<option disabled>Image Size</option>
|
||||
<option value="small">Small</option>
|
||||
<option value="large">Large</option>
|
||||
</select>
|
||||
@ -1,4 +0,0 @@
|
||||
<button class="export">Export Settings</button>
|
||||
<button class="import">Import Settings</button>
|
||||
<button class="reset">Reset Settings</button>
|
||||
<input type="file" hidden>
|
||||
@ -1,15 +0,0 @@
|
||||
<div id="fourchanx-settings" class="dialog">
|
||||
<nav>
|
||||
<div class="sections-list"></div>
|
||||
<div class="credits">
|
||||
<a href="<%= meta.page %>" target="_blank"><%= meta.name %></a>
|
||||
|
|
||||
<a href="<%= meta.repo %>blob/<%= meta.mainBranch %>/CHANGELOG.md" target="_blank">#{g.VERSION}</a>
|
||||
|
|
||||
<a href="<%= meta.repo %>blob/<%= meta.mainBranch %>/CONTRIBUTING.md#reporting-bugs-and-suggestions" target="_blank">Issues</a>
|
||||
|
|
||||
<a href="javascript:;" class="close fa fa-times" title="Close"></a>
|
||||
</div>
|
||||
</nav>
|
||||
<section></section>
|
||||
</div>
|
||||
@ -1,35 +0,0 @@
|
||||
<div>
|
||||
<input type="checkbox" id="autohide" title="Auto-hide">
|
||||
<select data-name="thread" title="Create a new thread / Reply">
|
||||
<option value="new">New thread</option>
|
||||
</select>
|
||||
<span class="move"></span>
|
||||
<a href="javascript:;" class="close fa fa-times" title="Close"></a>
|
||||
</div>
|
||||
<form>
|
||||
<div class="persona">
|
||||
<input type="button" id="dump-button" title="Dump list" value="+">
|
||||
<input data-name="name" name="name" list="list-name" placeholder="Name" class="field">
|
||||
<input data-name="email" name="email" list="list-email" placeholder="E-mail" class="field">
|
||||
<input data-name="sub" name="sub" list="list-sub" placeholder="Subject" class="field">
|
||||
</div>
|
||||
<div id="dump-list"></div>
|
||||
<a href="javascript:;" id="add-post" class="fa fa-plus" title="Add a post"></a>
|
||||
<div class="textarea">
|
||||
<textarea data-name="com" placeholder="Comment" class="field"></textarea>
|
||||
<span id="char-count"></span>
|
||||
</div>
|
||||
<div id="file-n-submit">
|
||||
<input type="file" hidden multiple>
|
||||
<input type="submit">
|
||||
<input type="button" id="qr-file-button" value="Choose files">
|
||||
<span id="qr-no-file">No selected file</span>
|
||||
<input id="qr-filename" data-name="filename" spellcheck="false">
|
||||
<span id="qr-filesize"></span>
|
||||
<a href="javascript:;" id="qr-filerm" class="fa fa-times-circle" title="Remove file"></a>
|
||||
<input type="checkbox" id="qr-file-spoiler" title="Spoiler image">
|
||||
</div>
|
||||
</form>
|
||||
<datalist id="list-name"></datalist>
|
||||
<datalist id="list-email"></datalist>
|
||||
<datalist id="list-sub"></datalist>
|
||||
@ -114,6 +114,6 @@
|
||||
"https": true,
|
||||
"withCredentials": true,
|
||||
"software": "foolfuuka",
|
||||
"boards": ["a", "biz", "co", "d", "diy", "gd", "jp", "m", "mlp", "s4s", "sci", "sp", "tg", "tv", "u", "v", "vg", "vp", "vr", "wsg"],
|
||||
"boards": ["a", "biz", "co", "d", "diy", "gd", "jp", "m", "s4s", "sci", "sp", "tg", "tv", "u", "v", "vg", "vp", "vr", "wsg"],
|
||||
"files": ["a", "biz", "d", "diy", "gd", "jp", "m", "s4s", "sci", "tg", "u", "vg", "vp", "vr", "wsg"]
|
||||
}]
|
||||
|
||||
@ -28,13 +28,13 @@
|
||||
"font-awesome": "~4.0.3",
|
||||
"grunt": "~0.4.2",
|
||||
"grunt-bump": "~0.0.13",
|
||||
"grunt-concurrent": "~0.4.3",
|
||||
"grunt-concurrent": "~0.5.0",
|
||||
"grunt-contrib-clean": "~0.5.0",
|
||||
"grunt-contrib-coffee": "~0.10.0",
|
||||
"grunt-contrib-compress": "~0.7.0",
|
||||
"grunt-contrib-concat": "~0.3.0",
|
||||
"grunt-contrib-copy": "~0.5.0",
|
||||
"grunt-contrib-watch": "~0.5.3",
|
||||
"grunt-contrib-watch": "~0.6.0",
|
||||
"grunt-shell": "~0.6.4",
|
||||
"load-grunt-tasks": "~0.4.0"
|
||||
},
|
||||
|
||||
@ -146,6 +146,7 @@ PostHiding =
|
||||
el: $.el 'a', href: 'javascript:;'
|
||||
order: 20
|
||||
open: (post) ->
|
||||
return false if post.isReply
|
||||
@el.textContent = if post.isHidden
|
||||
'Unhide thread'
|
||||
else
|
||||
|
||||
@ -17,10 +17,6 @@ Config =
|
||||
false,
|
||||
'Adds a small [QR] link in the header.'
|
||||
]
|
||||
'Announcement Hiding': [
|
||||
true
|
||||
'Add button to hide 4chan announcements.'
|
||||
]
|
||||
'Desktop Notifications': [
|
||||
false
|
||||
'Enables desktop notifications across various <%= meta.name %> features.'
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
Header =
|
||||
init: ->
|
||||
|
||||
@menu = new UI.Menu 'header'
|
||||
|
||||
menuButton = $.el 'span',
|
||||
@ -296,25 +297,13 @@ Header =
|
||||
|
||||
setBarVisibility: (hide) ->
|
||||
Header.headerToggler.checked = hide
|
||||
$.event 'CloseMenu'
|
||||
(if hide then $.addClass else $.rmClass) Header.bar, 'autohide'
|
||||
(if hide then $.addClass else $.rmClass) doc, 'autohide'
|
||||
|
||||
toggleBarVisibility: ->
|
||||
hide = if @nodeName is 'INPUT'
|
||||
@checked
|
||||
else
|
||||
!$.hasClass Header.bar, 'autohide'
|
||||
# set checked status if called from keybind
|
||||
@checked = hide
|
||||
|
||||
$.set 'Header auto-hide', Conf['Header auto-hide'] = hide
|
||||
toggleBarVisibility: (e) ->
|
||||
hide = @checked
|
||||
Conf['Header auto-hide'] = hide
|
||||
$.set 'Header auto-hide', hide
|
||||
Header.setBarVisibility hide
|
||||
message = "The header bar will #{if hide
|
||||
'automatically hide itself.'
|
||||
else
|
||||
'remain visible.'}"
|
||||
new Notice 'info', message, 2
|
||||
|
||||
setHideBarOnScroll: (hide) ->
|
||||
Header.scrollHeaderToggler.checked = hide
|
||||
|
||||
@ -35,4 +35,5 @@ Menu =
|
||||
button
|
||||
|
||||
toggle: (e) ->
|
||||
Menu.menu.toggle e, @, Get.postFromNode @
|
||||
fullID = $.x('ancestor::*[@data-full-i-d]', @).dataset.fullID
|
||||
Menu.menu.toggle e, @, g.posts[fullID]
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
PSAHiding =
|
||||
init: ->
|
||||
return if !Conf['Announcement Hiding']
|
||||
$.addClass doc, 'hide-announcement'
|
||||
$.on d, '4chanXInitFinished', @setup
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user