diff options
author | Saumit Dinesan <justsaumit@protonmail.com> | 2023-05-10 02:53:26 +0530 |
---|---|---|
committer | Saumit Dinesan <justsaumit@protonmail.com> | 2023-05-10 02:53:26 +0530 |
commit | 118a63c79e97fa6757840d7a79880afb23db8e1b (patch) | |
tree | 2c60392f5ed367a0e4b2a0736d3aa73495a7b485 /webui/js/main.js | |
parent | eba958bf6c69f7a3830cb55702efa60e025eb2ce (diff) |
webui: Rearranging files for flask
Diffstat (limited to 'webui/js/main.js')
-rw-r--r-- | webui/js/main.js | 98 |
1 files changed, 0 insertions, 98 deletions
diff --git a/webui/js/main.js b/webui/js/main.js deleted file mode 100644 index a40c504..0000000 --- a/webui/js/main.js +++ /dev/null @@ -1,98 +0,0 @@ -/** - * Utils - */ - -// Throttle -// -const throttle = (callback, limit) => { - let timeoutHandler = null; - return () => { - if (timeoutHandler == null) { - timeoutHandler = setTimeout(() => { - callback(); - timeoutHandler = null; - }, limit); - } - }; -}; - -// addEventListener Helper -// -const listen = (ele, e, callback) => { - if (document.querySelector(ele) !== null) { - document.querySelector(ele).addEventListener(e, callback); - } -}; - -/** - * Functions - */ - -// Auto Hide Header -// -let header = document.getElementById('site-header'); -let lastScrollPosition = window.pageYOffset; - -const autoHideHeader = () => { - let currentScrollPosition = window.pageYOffset; - if (currentScrollPosition > lastScrollPosition) { - header.classList.remove('slideInUp'); - header.classList.add('slideOutDown'); - } else { - header.classList.remove('slideOutDown'); - header.classList.add('slideInUp'); - } - lastScrollPosition = currentScrollPosition; -}; - -// Mobile Menu Toggle -// -let mobileMenuVisible = false; - -const toggleMobileMenu = () => { - let mobileMenu = document.getElementById('mobile-menu'); - if (mobileMenuVisible == false) { - mobileMenu.style.animationName = 'bounceInRight'; - mobileMenu.style.webkitAnimationName = 'bounceInRight'; - mobileMenu.style.display = 'block'; - mobileMenuVisible = true; - } else { - mobileMenu.style.animationName = 'bounceOutRight'; - mobileMenu.style.webkitAnimationName = 'bounceOutRight'; - mobileMenuVisible = false; - } -}; - -// Featured Image Toggle -// -const showImg = () => { - document.querySelector('.bg-img').classList.add('show-bg-img'); -}; - -const hideImg = () => { - document.querySelector('.bg-img').classList.remove('show-bg-img'); -}; - -// ToC Toggle -// -const toggleToc = () => { - document.getElementById('toc').classList.toggle('show-toc'); -}; - -if (header !== null) { - listen('#menu-btn', 'click', toggleMobileMenu); - listen('#toc-btn', 'click', toggleToc); - listen('#img-btn', 'click', showImg); - listen('.bg-img', 'click', hideImg); - - window.addEventListener( - 'scroll', - throttle(() => { - autoHideHeader(); - - if (mobileMenuVisible == true) { - toggleMobileMenu(); - } - }, 250) - ); -} |