From 81b03063cfba7eeeac5c37f80417460d077a747f Mon Sep 17 00:00:00 2001 From: ccd0 Date: Tue, 13 Jan 2015 18:52:32 -0800 Subject: [PATCH] Better treatment of bottom board list. #291 Should fix conflict with native catalog. --- src/General/Header.coffee | 22 +++++++++++++--------- src/General/css/style.css | 3 +++ src/Miscellaneous/CatalogLinks.coffee | 2 +- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/General/Header.coffee b/src/General/Header.coffee index dbf179582..0ac7473df 100755 --- a/src/General/Header.coffee +++ b/src/General/Header.coffee @@ -44,6 +44,7 @@ Header = @setBarVisibility Conf['Header auto-hide'] @setLinkJustify Conf['Centered links'] @setShortcutIcons Conf['Shortcut Icons'] + @setFooterVisibility Conf['Bottom Board List'] $.sync 'Fixed Header', @setBarFixed $.sync 'Header auto-hide on scroll', @setHideBarOnScroll @@ -51,6 +52,7 @@ Header = $.sync 'Shortcut Icons', @setShortcutIcons $.sync 'Header auto-hide', @setBarVisibility $.sync 'Centered links', @setLinkJustify + $.sync 'Bottom Board List', @setFooterVisibility @addShortcut menuButton @@ -86,17 +88,19 @@ Header = # Wait for #boardNavMobile instead of #boardNavDesktop, # it might be incomplete otherwise. $.asap (-> $.id('boardNavMobile') or d.readyState isnt 'loading'), -> - Header.footer = footer = $.id('boardNavDesktop').cloneNode true + footer = $.id('boardNavDesktop').cloneNode true footer.id = 'boardNavDesktopFoot' - $.rm $('#navtopright', footer) + $('#navtopright', footer).id = 'navbotright' + $('#settingsWindowLink', footer).id = 'settingsWindowLinkBot' + Header.bottomBoardList = $ '.boardList', footer if a = $ "a[href*='/#{g.BOARD}/']", footer a.className = 'current' - Header.setFooterVisibility Conf['Bottom Board List'] - $.sync 'Bottom Board List', Header.setFooterVisibility Main.ready -> - $.rm oldFooter if oldFooter = $.id 'boardNavDesktopFoot' - $.globalEval 'window.cloneTopNav = function() {};' - $.before $.id('absbot'), footer + if oldFooter = $.id 'boardNavDesktopFoot' + $.replace $('.boardList', oldFooter), Header.bottomBoardList + else + $.before $.id('absbot'), footer + $.globalEval 'window.cloneTopNav = function() {};' Header.setBoardList() $.prepend d.body, @bar $.add d.body, Header.hover @@ -363,14 +367,14 @@ Header = setFooterVisibility: (hide) -> Header.footerToggler.checked = hide - Header.footer.hidden = hide + doc.classList.toggle 'hide-bottom-board-list', hide toggleFooterVisibility: -> $.event 'CloseMenu' hide = if @nodeName is 'INPUT' @checked else - !!Header.footer.hidden + $.hasClass doc, 'hide-bottom-board-list' Header.setFooterVisibility hide $.set 'Bottom Board List', hide message = if hide diff --git a/src/General/css/style.css b/src/General/css/style.css index 837f8dbe6..2fa59556e 100755 --- a/src/General/css/style.css +++ b/src/General/css/style.css @@ -59,6 +59,9 @@ a[href="javascript:;"] { #boardNavDesktop, #boardNavMobile { display: none !important; } +:root.hide-bottom-board-list #boardNavDesktopFoot { + display: none; +} body.hasDropDownNav{ margin-top: 5px; } diff --git a/src/Miscellaneous/CatalogLinks.coffee b/src/Miscellaneous/CatalogLinks.coffee index c283c4bc7..15b3d6cf8 100755 --- a/src/Miscellaneous/CatalogLinks.coffee +++ b/src/Miscellaneous/CatalogLinks.coffee @@ -53,7 +53,7 @@ CatalogLinks = CatalogLinks.set @checked set: (useCatalog) -> - for a in $$('a:not([data-only])', Header.boardList).concat $$('a', Header.footer) + for a in $$('a:not([data-only])', Header.boardList).concat $$('a', Header.bottomBoardList) continue if a.hostname not in ['boards.4chan.org', 'catalog.neet.tv', '4index.gropes.us'] or !(board = a.pathname.split('/')[1]) or board in ['f', 'status', '4chan'] or