From 6c78ad2d8b71fb556f43a9f749b70b9740850d42 Mon Sep 17 00:00:00 2001 From: ache Date: Tue, 6 Apr 2021 13:34:29 +0200 Subject: New Zen mode --- src/js/zen.js | 55 ++++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 13 deletions(-) (limited to 'src/js') diff --git a/src/js/zen.js b/src/js/zen.js index b3177bc..e2e7035 100644 --- a/src/js/zen.js +++ b/src/js/zen.js @@ -1,31 +1,60 @@ 'use strict'; -window.addEventListener('scroll', () => { - const articles = document.getElementsByTagName('article'); - const header = document.getElementById('side-bar'); +const articles = document.getElementsByTagName('article'); +const header = document.getElementById('side-bar'); +const toggleArrow = document.getElementById('harr'); - if (window.pageYOffset >= 500) { - if (header && !header.classList.contains('hidden')) { - header.classList.add('hidden'); +toggleArrow.addEventListener('click', () => { + if (toggleArrow.classList.contains('hide_arrow_off')) { + showAbout(); + setTimeout(() => { + toggleArrow.classList.remove('hide_arrow_off'); + }, 1000); + } else { + toggleArrow.classList.add('hide_arrow_off'); + hideAbout(); + } +}); - if (articles) { - [...articles].forEach(e => { - e.classList.add('zen-mode'); - }); - } +function hideAbout() { + if (header && !header.classList.contains('hidden')) { + header.classList.add('hidden'); + + if (articles) { + [...articles].forEach(e => { + e.classList.add('zen-mode'); + }); } - } else if (header && header.classList.contains('hidden')) { + } +} + +function showAbout() { + if (header && header.classList.contains('hidden')) { header.classList.remove('hidden'); if (articles) { [...articles].forEach(e => { e.classList.remove('zen-mode'); e.classList.add('zen-mode-disabling'); }); - setTimeout(function() { + setTimeout(() => { [...articles].forEach(e => { e.classList.remove('zen-mode-disabling'); }); }, 1000); } } +} + +window.addEventListener('scroll', () => { + const toggleArrow = document.getElementById('harr'); + + if (window.pageYOffset >= 800) { + if (toggleArrow) { + toggleArrow.classList.add('hide_arrow_show'); + } + // A hideAbout(header, articles); + } else if (toggleArrow && !toggleArrow.classList.contains('hide_arrow_off')) { + // A showAbout(header, articles); + toggleArrow.classList.remove('hide_arrow_show'); + } }); -- cgit v1.2.3-54-g00ecf