diff --git a/builds/4chan-X.user.js b/builds/4chan-X.user.js
index 1b86631ef..b3b22c039 100644
--- a/builds/4chan-X.user.js
+++ b/builds/4chan-X.user.js
@@ -1778,7 +1778,7 @@
}
$.asap((function() {
return $.id('boardNavMobile') || d.readyState !== 'loading';
- }), Header.initReady);
+ }), Header.setBoardList);
$.prepend(d.body, _this.bar);
$.add(d.body, Header.hover);
_this.setBarPosition(Conf['Bottom Header']);
@@ -1824,20 +1824,15 @@
id: 'scroll-marker'
}),
initReady: function() {
- Header.cache();
Header.setBoardList();
return Header.addNav();
},
- cache: function() {
- var fourchannav;
- fourchannav = $.id('boardNavDesktop');
- return Header.navCache = " - " + fourchannav.innerHTML + "";
- },
setBoardList: function() {
- var a, boardList, btn, fullBoardList, _i, _len, _ref;
- boardList = $.el('span', {
+ var a, boardList, btn, fourchannav, fullBoardList, _i, _len, _ref;
+ fourchannav = $.id('boardNavDesktop');
+ Header.boardList = boardList = $.el('span', {
id: 'board-list',
- innerHTML: Header.navCache
+ innerHTML: " - " + fourchannav.innerHTML + ""
});
_ref = $$('a', boardList);
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@@ -1852,15 +1847,9 @@
$.on(btn, 'click', Header.toggleBoardList);
$.rm($('#navtopright', fullBoardList));
$.add(boardList, fullBoardList);
- if (Header.boardList) {
- $.replace(Header.boardList, boardList);
- }
- Header.boardList = boardList;
- return Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' '));
- },
- addNav: function() {
$.add(Header.bar, [Header.boardList, Header.shortcuts, Header.noticesRoot, Header.toggle]);
Header.setCustomNav(Conf['Custom Board Navigation']);
+ Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' '));
$.sync('Custom Board Navigation', Header.setCustomNav);
return $.sync('boardnav', Header.generateBoardList);
},
@@ -11957,7 +11946,7 @@
}
},
updateBoard: function(boardID) {
- var onload, req;
+ var fullBoardList, onload, req;
g.BOARD = new Board(boardID);
req = null;
onload = function(e) {
@@ -11987,7 +11976,10 @@
]);
}
};
- Header.setBoardList();
+ fullBoardList = $('#full-board-list', Header.boardList);
+ $.rmClass($('.current', fullBoardList), 'current');
+ $.addClass($("a[href*='" + boardID + "']", fullBoardList), 'current');
+ Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' '));
return req = $.ajax('//a.4cdn.org/boards.json', {
onabort: onload,
onloadend: onload
diff --git a/builds/crx/script.js b/builds/crx/script.js
index d903d7a2f..d191d84fc 100644
--- a/builds/crx/script.js
+++ b/builds/crx/script.js
@@ -1788,7 +1788,7 @@
}
$.asap((function() {
return $.id('boardNavMobile') || d.readyState !== 'loading';
- }), Header.initReady);
+ }), Header.setBoardList);
$.prepend(d.body, _this.bar);
$.add(d.body, Header.hover);
_this.setBarPosition(Conf['Bottom Header']);
@@ -1834,20 +1834,15 @@
id: 'scroll-marker'
}),
initReady: function() {
- Header.cache();
Header.setBoardList();
return Header.addNav();
},
- cache: function() {
- var fourchannav;
- fourchannav = $.id('boardNavDesktop');
- return Header.navCache = " - " + fourchannav.innerHTML + "";
- },
setBoardList: function() {
- var a, boardList, btn, fullBoardList, _i, _len, _ref;
- boardList = $.el('span', {
+ var a, boardList, btn, fourchannav, fullBoardList, _i, _len, _ref;
+ fourchannav = $.id('boardNavDesktop');
+ Header.boardList = boardList = $.el('span', {
id: 'board-list',
- innerHTML: Header.navCache
+ innerHTML: " - " + fourchannav.innerHTML + ""
});
_ref = $$('a', boardList);
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
@@ -1862,15 +1857,9 @@
$.on(btn, 'click', Header.toggleBoardList);
$.rm($('#navtopright', fullBoardList));
$.add(boardList, fullBoardList);
- if (Header.boardList) {
- $.replace(Header.boardList, boardList);
- }
- Header.boardList = boardList;
- return Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' '));
- },
- addNav: function() {
$.add(Header.bar, [Header.boardList, Header.shortcuts, Header.noticesRoot, Header.toggle]);
Header.setCustomNav(Conf['Custom Board Navigation']);
+ Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' '));
$.sync('Custom Board Navigation', Header.setCustomNav);
return $.sync('boardnav', Header.generateBoardList);
},
@@ -11946,7 +11935,7 @@
}
},
updateBoard: function(boardID) {
- var onload, req;
+ var fullBoardList, onload, req;
g.BOARD = new Board(boardID);
req = null;
onload = function(e) {
@@ -11976,7 +11965,10 @@
]);
}
};
- Header.setBoardList();
+ fullBoardList = $('#full-board-list', Header.boardList);
+ $.rmClass($('.current', fullBoardList), 'current');
+ $.addClass($("a[href*='" + boardID + "']", fullBoardList), 'current');
+ Header.generateBoardList(Conf['boardnav'].replace(/(\r\n|\n|\r)/g, ' '));
return req = $.ajax('//a.4cdn.org/boards.json', {
onabort: onload,
onloadend: onload
diff --git a/src/General/Header.coffee b/src/General/Header.coffee
index 9e980feab..929dbba3c 100755
--- a/src/General/Header.coffee
+++ b/src/General/Header.coffee
@@ -94,7 +94,7 @@ Header =
return unless Main.isThisPageLegit()
# Wait for #boardNavMobile instead of #boardNavDesktop,
# it might be incomplete otherwise.
- $.asap (-> $.id('boardNavMobile') or d.readyState isnt 'loading'), Header.initReady
+ $.asap (-> $.id('boardNavMobile') or d.readyState isnt 'loading'), Header.setBoardList
$.prepend d.body, @bar
$.add d.body, Header.hover
@setBarPosition Conf['Bottom Header']
@@ -134,18 +134,14 @@ Header =
id: 'scroll-marker'
initReady: ->
- Header.cache()
Header.setBoardList()
Header.addNav()
- cache: ->
- fourchannav = $.id 'boardNavDesktop'
- Header.navCache = " - #{fourchannav.innerHTML}"
-
setBoardList: ->
- boardList = $.el 'span',
+ fourchannav = $.id 'boardNavDesktop'
+ Header.boardList = boardList = $.el 'span',
id: 'board-list'
- innerHTML: Header.navCache
+ innerHTML: " - #{fourchannav.innerHTML}"
for a in $$ 'a', boardList
$.on a, 'click', Navigate.navigate
if a.pathname.split('/')[1] is g.BOARD.ID
@@ -156,15 +152,10 @@ Header =
$.rm $ '#navtopright', fullBoardList
$.add boardList, fullBoardList
-
- $.replace Header.boardList, boardList if Header.boardList
- Header.boardList = boardList
-
- Header.generateBoardList Conf['boardnav'].replace /(\r\n|\n|\r)/g, ' '
-
- addNav: ->
$.add Header.bar, [Header.boardList, Header.shortcuts, Header.noticesRoot, Header.toggle]
+
Header.setCustomNav Conf['Custom Board Navigation']
+ Header.generateBoardList Conf['boardnav'].replace /(\r\n|\n|\r)/g, ' '
$.sync 'Custom Board Navigation', Header.setCustomNav
$.sync 'boardnav', Header.generateBoardList
diff --git a/src/General/Navigate.coffee b/src/General/Navigate.coffee
index d984c0e1b..86e9290fc 100644
--- a/src/General/Navigate.coffee
+++ b/src/General/Navigate.coffee
@@ -133,7 +133,10 @@ Navigate =
error: err
]
- Header.setBoardList()
+ fullBoardList = $ '#full-board-list', Header.boardList
+ $.rmClass $('.current', fullBoardList), 'current'
+ $.addClass $("a[href*='#{boardID}']", fullBoardList), 'current'
+ Header.generateBoardList Conf['boardnav'].replace /(\r\n|\n|\r)/g, ' '
req = $.ajax '//a.4cdn.org/boards.json',
onabort: onload