diff --git a/repo/bypass-preview/mod.js b/repo/bypass-preview/mod.js index 4047275..feb4043 100644 --- a/repo/bypass-preview/mod.js +++ b/repo/bypass-preview/mod.js @@ -19,23 +19,48 @@ module.exports = { if (document.readyState !== 'complete') return false; const attempt_interval = setInterval(enhance, 500); function enhance() { - const notion_elem = document.querySelector( - '.notion-default-overlay-container' - ); + const notion_elem = document.querySelector('.notion-app-inner'); if (!notion_elem) return; clearInterval(attempt_interval); - - process(); const observer = new MutationObserver(process); observer.observe(notion_elem, { childList: true, subtree: true, }); + + let pageHistory = []; + process(); function process(list, observer) { - let preview = document.querySelector( - '.notion-peek-renderer [style*="height: 45px;"] a' - ); - if (preview) preview.click(); + const pageID = (location.search + .slice(1) + .split('&') + .map((opt) => opt.split('=')) + .find((opt) => opt[0] === 'p') || [ + '', + ...location.pathname.split(/(-|\/)/g).reverse(), + ])[1], + preview = document.querySelector( + '.notion-peek-renderer [style*="height: 45px;"] a' + ); + if ( + pageID && + (!pageHistory[0] || + pageHistory[0][0] !== pageID || + pageHistory[0][1] !== !!preview) + ) { + if (preview) { + if ( + pageHistory[1] && + pageHistory[0][0] === pageID && + pageHistory[1][0] === pageID && + pageHistory[1][1] + ) { + document.querySelector('.notion-history-back-button').click(); + } else preview.click(); + } + // most recent is at start for easier access + pageHistory.unshift([pageID, !!preview]); + } } } }); diff --git a/repo/bypass-preview/styles.css b/repo/bypass-preview/styles.css new file mode 100644 index 0000000..95f2308 --- /dev/null +++ b/repo/bypass-preview/styles.css @@ -0,0 +1,9 @@ +/* + * bypass preview + * (c) 2020 dragonwocky (https://dragonwocky.me/) + * under the MIT license + */ + +.notion-peek-renderer { + opacity: 0; +} diff --git a/repo/word-counter/mod.js b/repo/word-counter/mod.js index b6ace83..19edd55 100644 --- a/repo/word-counter/mod.js +++ b/repo/word-counter/mod.js @@ -119,6 +119,7 @@ module.exports = { '' )}`; $page.previousElementSibling.children[0].appendChild($container); + if (!$container.offsetParent) return; $container.offsetParent.appendChild($tooltip); $container .querySelectorAll('p') @@ -130,7 +131,6 @@ module.exports = { $container.querySelectorAll('[data-tooltip]').forEach((el) => { el.addEventListener('mouseenter', (e) => { $tooltip.innerText = el.getAttribute('data-tooltip'); - console.log(e.target); $tooltip.style.top = el.parentElement.offsetTop + 2.5 + 'px'; $tooltip.style.left = el.parentElement.offsetLeft +