/* * notion-enhancer: bypass preview * (c) 2021 dragonwocky (https://dragonwocky.me/) * (https://notion-enhancer.github.io/) under the MIT license */ 'use strict'; export default function ({ web, notion }, db) { let _openPage = {}; const getCurrentPage = () => ({ type: web.queryParams().get('p') ? 'preview' : 'page', id: notion.getPageID(), }); const interceptPreview = () => { const currentPage = getCurrentPage(); if (currentPage.id !== _openPage.id || currentPage.type !== _openPage.type) { const $openAsPage = document.querySelector( '.notion-peek-renderer [style*="height: 45px;"] a' ); if ($openAsPage) { if (currentPage.id === _openPage.id && currentPage.type === 'preview') { history.back(); } else $openAsPage.click(); } _openPage = getCurrentPage(); } }; web.addDocumentObserver(interceptPreview, ['.notion-peek-renderer']); }