Script safety checks for missing targets

This commit is contained in:
Tetrakern 2023-01-28 21:29:46 +01:00
parent a7bcbdb589
commit eb1e5412ad
2 changed files with 11 additions and 5 deletions

View File

@ -1 +1 @@
const fcn_mobileMenuToggle=_$$$("mobile-menu-toggle"),fcn_radioMain=_$$$("mobile-menu-frame-main"),fcn_radioChapters=_$$$("mobile-menu-frame-chapters"),fcn_mobileBookmarksDeleteToggle=_$$$("toggle-mobile-menu-bookmarks-delete");var fcn_chapterList=_$("#story-chapter-list > ul")?.cloneNode(!0);function fcn_toggleMobileMenu(e){let n=_$$$("wpadminbar")?.offsetHeight??0;if(e){let e=window.scrollY-n;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+n;fcn_theSite.classList.remove("transformed-site","transformed-scroll"),fcn_theBody.classList.remove("mobile-menu-open"),fcn_updateThemeColor(),window.scroll(0,e),fcn_radioMain.checked=!0,fcn_mobileMenuToggle.checked=!1,"function"==typeof fcn_trackProgress&&fcn_trackProgress()}}function fcn_appendChapterList(){fcn_chapterList&&(_$$$("mobile-menu-chapters-list").appendChild(fcn_chapterList),fcn_chapterList=!1)}_$$$("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_mobileMenuToggle.checked=!1,fcn_toggleMobileMenu(!1))})),_$("[for=mobile-menu-toggle]")?.addEventListener("click",(e=>{fcn_appendChapterList()}),{once:!0}),_$$$("micro-menu-label-open-chapter-list")?.addEventListener("click",(()=>{fcn_appendChapterList(),fcn_radioChapters.checked=!0})),_$("[name=mobile-frame-control]")?.addEventListener("change",(e=>{fcn_mobileBookmarksDeleteToggle.checked=!1})),_$("label[for=mobile-menu-frame-bookmarks]")?.addEventListener("click",(e=>{fcn_setMobileMenuBookmarks()}),{once:!0}),_$("label[for=mobile-menu-frame-chapters]")?.addEventListener("click",(e=>{fcn_appendChapterList()}),{once:!0}),_$$$("mobile-menu-comment-jump")?.addEventListener("click",(e=>{fcn_toggleMobileMenu(!1),setTimeout((function(){let e=_$$$("comments").getBoundingClientRect().top+window.pageYOffset-64;window.scrollTo({top:e,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"]}"]`).getBoundingClientRect().top+window.pageYOffset-64;window.scrollTo({top:e,behavior:"smooth"})}),200)})),_$$(".button-change-lightness").forEach((e=>{e.addEventListener("click",(e=>{fcn_updateDarken(fcn_siteSettings.darken+parseFloat(e.currentTarget.value))}))}));
const fcn_mobileMenuToggle=_$$$("mobile-menu-toggle"),fcn_radioMain=_$$$("mobile-menu-frame-main"),fcn_radioChapters=_$$$("mobile-menu-frame-chapters"),fcn_mobileBookmarksDeleteToggle=_$$$("toggle-mobile-menu-bookmarks-delete");var fcn_chapterList=_$("#story-chapter-list > ul")?.cloneNode(!0);function fcn_toggleMobileMenu(e){let n=_$$$("wpadminbar")?.offsetHeight??0;if(e){let e=window.scrollY-n;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+n;fcn_theSite.classList.remove("transformed-site","transformed-scroll"),fcn_theBody.classList.remove("mobile-menu-open"),fcn_updateThemeColor(),window.scroll(0,e),fcn_radioMain.checked=!0,fcn_mobileMenuToggle.checked=!1,"function"==typeof fcn_trackProgress&&fcn_trackProgress()}}function fcn_appendChapterList(){fcn_chapterList&&(_$$$("mobile-menu-chapters-list").appendChild(fcn_chapterList),fcn_chapterList=!1)}_$$$("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_mobileMenuToggle.checked=!1,fcn_toggleMobileMenu(!1))})),_$("[for=mobile-menu-toggle]")?.addEventListener("click",(e=>{fcn_appendChapterList()}),{once:!0}),_$$$("micro-menu-label-open-chapter-list")?.addEventListener("click",(()=>{fcn_appendChapterList(),fcn_radioChapters.checked=!0})),_$("[name=mobile-frame-control]")?.addEventListener("change",(e=>{fcn_mobileBookmarksDeleteToggle.checked=!1})),_$("label[for=mobile-menu-frame-bookmarks]")?.addEventListener("click",(e=>{fcn_setMobileMenuBookmarks()}),{once:!0}),_$("label[for=mobile-menu-frame-chapters]")?.addEventListener("click",(e=>{fcn_appendChapterList()}),{once:!0}),_$$$("mobile-menu-comment-jump")?.addEventListener("click",(e=>{fcn_toggleMobileMenu(!1),setTimeout((function(){let e=_$$$("comments");if(!e)return;let n=e.getBoundingClientRect().top+window.pageYOffset-64;window.scrollTo({top:n,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 n=e.getBoundingClientRect().top+window.pageYOffset-64;window.scrollTo({top:n,behavior:"smooth"})}),200)})),_$$(".button-change-lightness").forEach((e=>{e.addEventListener("click",(e=>{fcn_updateDarken(fcn_siteSettings.darken+parseFloat(e.currentTarget.value))}))}));

View File

@ -105,8 +105,11 @@ _$$$('mobile-menu-comment-jump')?.addEventListener(
fcn_toggleMobileMenu(false);
setTimeout(function() {
let target = _$$$('comments'),
position = target.getBoundingClientRect().top,
let target = _$$$('comments');
if (!target) return;
let position = target.getBoundingClientRect().top,
offset = position + window.pageYOffset - 64;
window.scrollTo({ top: offset, behavior: 'smooth' });
@ -121,8 +124,11 @@ _$$$('mobile-menu-bookmark-jump')?.addEventListener(
fcn_toggleMobileMenu(false);
setTimeout(function() {
let target = _$(`[data-paragraph-id="${fcn_bookmarks.data[_$('article').id]['paragraph-id']}"]`),
position = target.getBoundingClientRect().top,
let target = _$(`[data-paragraph-id="${fcn_bookmarks.data[_$('article').id]['paragraph-id']}"]`);
if (!target) return;
let position = target.getBoundingClientRect().top,
offset = position + window.pageYOffset - 64;
window.scrollTo({ top: offset, behavior: 'smooth' });