/** * notion-enhancer: always on top * (c) 2021 dragonwocky (https://dragonwocky.me/) * (https://notion-enhancer.github.io/) under the MIT license */ export const createButton = async ({ electron, web, components }, db) => { let pinIcon = (await db.get(['pin_icon'])) || ` `, unpinIcon = (await db.get(['unpin_icon'])) || ` `; pinIcon = pinIcon.trim(); unpinIcon = unpinIcon.trim(); pinIcon = pinIcon.startsWith('') ? pinIcon : web.escape(pinIcon); unpinIcon = unpinIcon.startsWith('') ? unpinIcon : web.escape(unpinIcon); const $button = web.html`
`, $pin = web.html``, $unpin = web.html``; components.addTooltip($pin, '**Pin window to top**'); components.addTooltip($unpin, '**Unpin window from top**'); web.render($button, $pin); $pin.addEventListener('click', () => { $pin.replaceWith($unpin); electron.browser.setAlwaysOnTop(true); }); $unpin.addEventListener('click', () => { $unpin.replaceWith($pin); electron.browser.setAlwaysOnTop(false); }); return $button; };