Optional top and bottom original board lists. #996
This commit is contained in:
parent
dc2ab7807a
commit
fe0f79458d
@ -1,3 +1,4 @@
|
|||||||
|
- The top and bottom original board lists are now optional, disabled by default.
|
||||||
- The button to show a hidden announcement is now inside the header's menu.
|
- The button to show a hidden announcement is now inside the header's menu.
|
||||||
- Added the `board-replace` setting to Custom Board Navigation ricing.
|
- Added the `board-replace` setting to Custom Board Navigation ricing.
|
||||||
- Added the option `Cooldown Prediction`, enabled by default.
|
- Added the option `Cooldown Prediction`, enabled by default.
|
||||||
|
|||||||
@ -99,9 +99,10 @@ a[href="javascript:;"] {
|
|||||||
:root.bottom-header body {
|
:root.bottom-header body {
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
}
|
}
|
||||||
.fourchan-x #boardNavDesktop,
|
:root.fourchan-x #navtopright,
|
||||||
.fourchan-x #navtopright,
|
:root.fourchan-x #navbotright,
|
||||||
.fourchan-x #boardNavDesktopFoot {
|
:root.fourchan-x:not(.show-original-top-board-list) #boardNavDesktop,
|
||||||
|
:root.fourchan-x:not(.show-original-bot-board-list) #boardNavDesktopFoot {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
#header {
|
#header {
|
||||||
|
|||||||
@ -141,9 +141,11 @@ Config =
|
|||||||
].join '\n'
|
].join '\n'
|
||||||
'Custom CSS': false
|
'Custom CSS': false
|
||||||
Header:
|
Header:
|
||||||
'Header catalog links': false
|
'Header auto-hide': false
|
||||||
'Header auto-hide': false
|
'Bottom header': false
|
||||||
'Bottom header': false
|
'Header catalog links': false
|
||||||
|
'Top Board List': false
|
||||||
|
'Bottom Board List': false
|
||||||
'Custom Board Navigation': true
|
'Custom Board Navigation': true
|
||||||
boardnav: '[current-title / toggle-all]'
|
boardnav: '[current-title / toggle-all]'
|
||||||
time: '%m/%d/%y(%a)%H:%M:%S'
|
time: '%m/%d/%y(%a)%H:%M:%S'
|
||||||
|
|||||||
@ -30,6 +30,10 @@ Header =
|
|||||||
innerHTML: '<input type=checkbox name="Bottom header"> Bottom header'
|
innerHTML: '<input type=checkbox name="Bottom header"> Bottom header'
|
||||||
catalogToggler = $.el 'label',
|
catalogToggler = $.el 'label',
|
||||||
innerHTML: '<input type=checkbox name="Header catalog links"> Use catalog board links'
|
innerHTML: '<input type=checkbox name="Header catalog links"> Use catalog board links'
|
||||||
|
topBoardToggler = $.el 'label',
|
||||||
|
innerHTML: '<input type=checkbox name="Top Board List"> Top original board list'
|
||||||
|
botBoardToggler = $.el 'label',
|
||||||
|
innerHTML: '<input type=checkbox name="Bottom Board List"> Bottom original board list'
|
||||||
customNavToggler = $.el 'label',
|
customNavToggler = $.el 'label',
|
||||||
innerHTML: '<input type=checkbox name="Custom Board Navigation"> Custom board navigation'
|
innerHTML: '<input type=checkbox name="Custom Board Navigation"> Custom board navigation'
|
||||||
editCustomNav = $.el 'a',
|
editCustomNav = $.el 'a',
|
||||||
@ -39,19 +43,27 @@ Header =
|
|||||||
@headerToggler = headerToggler.firstElementChild
|
@headerToggler = headerToggler.firstElementChild
|
||||||
@barPositionToggler = barPositionToggler.firstElementChild
|
@barPositionToggler = barPositionToggler.firstElementChild
|
||||||
@catalogToggler = catalogToggler.firstElementChild
|
@catalogToggler = catalogToggler.firstElementChild
|
||||||
|
@topBoardToggler = topBoardToggler.firstElementChild
|
||||||
|
@botBoardToggler = botBoardToggler.firstElementChild
|
||||||
@customNavToggler = customNavToggler.firstElementChild
|
@customNavToggler = customNavToggler.firstElementChild
|
||||||
|
|
||||||
$.on @headerToggler, 'change', @toggleBarVisibility
|
$.on @headerToggler, 'change', @toggleBarVisibility
|
||||||
$.on @barPositionToggler, 'change', @toggleBarPosition
|
$.on @barPositionToggler, 'change', @toggleBarPosition
|
||||||
$.on @catalogToggler, 'change', @toggleCatalogLinks
|
$.on @catalogToggler, 'change', @toggleCatalogLinks
|
||||||
|
$.on @topBoardToggler, 'change', @toggleOriginalBoardList
|
||||||
|
$.on @botBoardToggler, 'change', @toggleOriginalBoardList
|
||||||
$.on @customNavToggler, 'change', @toggleCustomNav
|
$.on @customNavToggler, 'change', @toggleCustomNav
|
||||||
$.on editCustomNav, 'click', @editCustomNav
|
$.on editCustomNav, 'click', @editCustomNav
|
||||||
|
|
||||||
@setBarVisibility Conf['Header auto-hide']
|
@setBarVisibility Conf['Header auto-hide']
|
||||||
@setBarPosition Conf['Bottom header']
|
@setBarPosition Conf['Bottom header']
|
||||||
|
@setTopBoardList Conf['Top Board List']
|
||||||
|
@setBotBoardList Conf['Bottom Board List']
|
||||||
|
|
||||||
$.sync 'Header auto-hide', @setBarVisibility
|
$.sync 'Header auto-hide', @setBarVisibility
|
||||||
$.sync 'Bottom header', @setBarPosition
|
$.sync 'Bottom header', @setBarPosition
|
||||||
|
$.sync 'Top Board List', @setTopBoardList
|
||||||
|
$.sync 'Bottom Board List', @setBotBoardList
|
||||||
|
|
||||||
$.event 'AddMenuEntry',
|
$.event 'AddMenuEntry',
|
||||||
type: 'header'
|
type: 'header'
|
||||||
@ -61,6 +73,8 @@ Header =
|
|||||||
{el: headerToggler}
|
{el: headerToggler}
|
||||||
{el: barPositionToggler}
|
{el: barPositionToggler}
|
||||||
{el: catalogToggler}
|
{el: catalogToggler}
|
||||||
|
{el: topBoardToggler}
|
||||||
|
{el: botBoardToggler}
|
||||||
{el: customNavToggler}
|
{el: customNavToggler}
|
||||||
{el: editCustomNav}
|
{el: editCustomNav}
|
||||||
]
|
]
|
||||||
@ -72,6 +86,13 @@ Header =
|
|||||||
$.asap (-> $.id('boardNavMobile') or d.readyState is 'complete'), Header.setBoardList
|
$.asap (-> $.id('boardNavMobile') or d.readyState is 'complete'), Header.setBoardList
|
||||||
$.prepend d.body, headerEl
|
$.prepend d.body, headerEl
|
||||||
|
|
||||||
|
$.ready ->
|
||||||
|
if a = $ "a[href*='/#{g.BOARD}/']", $.id 'boardNavDesktopFoot'
|
||||||
|
a.className = 'current'
|
||||||
|
|
||||||
|
Header.setCatalogLinks Conf['Header catalog links']
|
||||||
|
$.sync 'Header catalog links', Header.setCatalogLinks
|
||||||
|
|
||||||
setBoardList: ->
|
setBoardList: ->
|
||||||
nav = $.id 'boardNavDesktop'
|
nav = $.id 'boardNavDesktop'
|
||||||
if a = $ "a[href*='/#{g.BOARD}/']", nav
|
if a = $ "a[href*='/#{g.BOARD}/']", nav
|
||||||
@ -85,11 +106,9 @@ Header =
|
|||||||
$.on btn, 'click', Header.toggleBoardList
|
$.on btn, 'click', Header.toggleBoardList
|
||||||
$.add fullBoardList, btn
|
$.add fullBoardList, btn
|
||||||
|
|
||||||
Header.setCatalogLinks Conf['Header catalog links']
|
|
||||||
Header.setCustomNav Conf['Custom Board Navigation']
|
Header.setCustomNav Conf['Custom Board Navigation']
|
||||||
Header.generateBoardList Conf['boardnav']
|
Header.generateBoardList Conf['boardnav']
|
||||||
|
|
||||||
$.sync 'Header catalog links', Header.setCatalogLinks
|
|
||||||
$.sync 'Custom Board Navigation', Header.setCustomNav
|
$.sync 'Custom Board Navigation', Header.setCustomNav
|
||||||
$.sync 'boardnav', Header.generateBoardList
|
$.sync 'boardnav', Header.generateBoardList
|
||||||
|
|
||||||
@ -179,7 +198,11 @@ Header =
|
|||||||
|
|
||||||
setCatalogLinks: (useCatalog) ->
|
setCatalogLinks: (useCatalog) ->
|
||||||
Header.catalogToggler.checked = useCatalog
|
Header.catalogToggler.checked = useCatalog
|
||||||
as = $$ '#board-list a[href*="boards.4chan.org"]', Header.bar
|
as = $$ [
|
||||||
|
'#board-list a[href*="boards.4chan.org"]'
|
||||||
|
'#boardNavDesktop a[href*="boards.4chan.org"]'
|
||||||
|
'#boardNavDesktopFoot a[href*="boards.4chan.org"]'
|
||||||
|
].join ', '
|
||||||
path = if useCatalog then 'catalog' else ''
|
path = if useCatalog then 'catalog' else ''
|
||||||
for a in as
|
for a in as
|
||||||
continue if a.dataset.only
|
continue if a.dataset.only
|
||||||
@ -189,6 +212,22 @@ Header =
|
|||||||
$.cb.checked.call @
|
$.cb.checked.call @
|
||||||
Header.setCatalogLinks @checked
|
Header.setCatalogLinks @checked
|
||||||
|
|
||||||
|
setTopBoardList: (show) ->
|
||||||
|
Header.topBoardToggler.checked = show
|
||||||
|
if show
|
||||||
|
$.addClass doc, 'show-original-top-board-list'
|
||||||
|
else
|
||||||
|
$.rmClass doc, 'show-original-top-board-list'
|
||||||
|
setBotBoardList: (show) ->
|
||||||
|
Header.botBoardToggler.checked = show
|
||||||
|
if show
|
||||||
|
$.addClass doc, 'show-original-bot-board-list'
|
||||||
|
else
|
||||||
|
$.rmClass doc, 'show-original-bot-board-list'
|
||||||
|
toggleOriginalBoardList: ->
|
||||||
|
$.cb.checked.call @
|
||||||
|
(if @name is 'Top Board List' then Header.setTopBoardList else Header.setBotBoardList) @checked
|
||||||
|
|
||||||
setCustomNav: (show) ->
|
setCustomNav: (show) ->
|
||||||
Header.customNavToggler.checked = show
|
Header.customNavToggler.checked = show
|
||||||
cust = $ '#custom-board-list', Header.bar
|
cust = $ '#custom-board-list', Header.bar
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user