fictioneer/js/mobile-menu.min.js
Tetrakern c35ea2a5ad Refactored mobile menu
That. Was. Not. Fun!
2023-06-11 01:17:04 +02:00

1 line
3.0 KiB
JavaScript

const fcn_mobileMenuToggle=_$$$("mobile-menu-toggle");function fcn_toggleMobileMenu(e){let t=_$$$("wpadminbar")?.offsetHeight??0;if(e){let e=window.scrollY-t;fcn_theBody.classList.add("mobile-menu-open","scrolling-down"),fcn_theBody.classList.remove("scrolling-up"),fcn_theSite.classList.add("transformed-scroll","transformed-site"),fcn_theSite.scrollTop=e,fcn_updateThemeColor()}else{let e=fcn_theSite.scrollTop+t;fcn_theSite.classList.remove("transformed-site","transformed-scroll"),fcn_theBody.classList.remove("mobile-menu-open"),fcn_updateThemeColor(),fcn_closeMobileFrames(),fcn_openMobileFrame("main"),window.scroll(0,e),fcn_mobileMenuToggle.checked=!1,"function"==typeof fcn_trackProgress&&fcn_trackProgress()}}function fcn_openMobileFrame(e){fcn_closeMobileFrames(),_$(`.mobile-menu__frame[data-frame="${e}"]`)?.classList.add("_active")}function fcn_closeMobileFrames(){_$$(".mobile-menu__frame._active").forEach((e=>{e.classList.remove("_active")}));let e=_$(".mobile-menu__bookmarks-panel");e&&(e.dataset.editing="false")}function fcn_appendChapterList(){let e=_$$$("mobile-menu-chapters-list");fcn_chapterList&&!e.hasChildNodes()&&e.appendChild(fcn_chapterList.cloneNode(!0))}_$$$("mobile-menu-toggle")?.addEventListener("change",(e=>{fcn_toggleMobileMenu(e.currentTarget.checked)})),fcn_theSite.addEventListener("click",(e=>{fcn_theBody.classList.contains("mobile-menu-open")&&(e.preventDefault(),fcn_toggleMobileMenu(!1))})),_$$$("mobile-menu-comment-jump")?.addEventListener("click",(e=>{fcn_toggleMobileMenu(!1),setTimeout((function(){let e=_$$$("comments");if(!e)return;let t=e.getBoundingClientRect().top+window.pageYOffset-64;window.scrollTo({top:t,behavior:"smooth"})}),200)})),_$$$("mobile-menu-bookmark-jump")?.addEventListener("click",(e=>{fcn_toggleMobileMenu(!1),setTimeout((function(){let e=_$(`[data-paragraph-id="${fcn_bookmarks.data[_$("article").id]["paragraph-id"]}"]`);if(!e)return;let t=e.getBoundingClientRect().top+window.pageYOffset-64;window.scrollTo({top:t,behavior:"smooth"})}),200)})),_$$(".button-change-lightness").forEach((e=>{e.addEventListener("click",(e=>{fcn_updateDarken(fcn_siteSettings.darken+parseFloat(e.currentTarget.value))}))})),_$$(".mobile-menu__frame-button").forEach((e=>{e.addEventListener("click",(e=>{fcn_openMobileFrame(e.currentTarget.dataset.frameTarget)}))})),_$$(".mobile-menu__back-button").forEach((e=>{e.addEventListener("click",(()=>{fcn_openMobileFrame("main")}))})),_$('.mobile-menu__frame-button[data-frame-target="chapters"]')?.addEventListener("click",(()=>{fcn_appendChapterList()}),{once:!0}),_$$$("micro-menu-label-open-chapter-list")?.addEventListener("click",(()=>{fcn_appendChapterList(),fcn_openMobileFrame("chapters")})),_$$$("button-mobile-menu-toggle-bookmarks-edit")?.addEventListener("click",(e=>{let t=e.currentTarget.closest(".mobile-menu__bookmarks-panel");t.dataset.editing="false"==t.dataset.editing?"true":"false"})),_$('.mobile-menu__frame-button[data-frame-target="bookmarks"]')?.addEventListener("click",(e=>{fcn_setMobileMenuBookmarks()}),{once:!0});