/** * notion-enhancer: integrated titlebar * (c) 2021 dragonwocky (https://dragonwocky.me/) * (https://notion-enhancer.github.io/) under the MIT license */ 'use strict'; import { createWindowButtons } from './buttons.mjs'; export default async function (api, db) { const { web, registry } = api, tilingMode = await db.get(['tiling']), dragareaHeight = await db.get(['dragarea_height']), tabsEnabled = await registry.enabled('e1692c29-475e-437b-b7ff-3eee872e1a42'); if (tabsEnabled && !tilingMode) { const windowActionsSelector = '#window-actions'; await web.whenReady([windowActionsSelector]); const $topbarActions = document.querySelector(windowActionsSelector), $windowButtons = await createWindowButtons(api, db); web.render($topbarActions, $windowButtons); } else { const dragareaSelector = '[style*="-webkit-app-region: drag;"]'; await web.whenReady([dragareaSelector]); const dragarea = document.querySelector(dragareaSelector); dragarea.style.top = '2px'; dragarea.style.height = tilingMode ? '0' : `${dragareaHeight}px`; document.getElementById('notion').addEventListener('ipc-message', (event) => { switch (event.channel) { case 'notion-enhancer:sidebar-width': dragarea.style.left = event.args[0]; break; case 'notion-enhancer:panel-width': dragarea.style.right = event.args[0]; break; } }); } }