/* * view-scale * (c) 2020 SP12893678 (https://github.com/SP12893678) * under the MIT license */ 'use strict'; const electron = require('electron'); const { createElement } = require('../../pkg/helpers.js'); module.exports = { id: 'e71ce1e0-024c-435e-a25e-7dd50448d1df', tags: ['extension'], name: 'view-scale', desc: 'scale the notion view', version: '1.0.0', author: 'SP12893678', options: [ { key: 'showUI', label: 'show scale ui', type: 'toggle', value: true, }, { key: 'offset', label: 'set scale plus and minus offset', type: 'input', value: 10, }, { key: 'zoom', label: 'set scale default value', type: 'input', value: 100, } ], hacks: { 'renderer/preload.js'(store, __exports) { document.addEventListener('readystatechange', (event) => { if (document.readyState !== 'complete') return false; const attempt_interval = setInterval(enhance, 500); function enhance() { if (!document.querySelector('.notion-frame')) return; clearInterval(attempt_interval); electron.webFrame.setZoomFactor(store().zoom / 100) let zoom = store().zoom / 100 let offset = store().offset / 100 let minZoom = 0.5 let maxZoom = 2 const $container = document.createElement('div'); const $helpButton = document.querySelector('.notion-help-button'); const $scaleSet = createElement('
'); const $scalePlusButton = createElement(' '); const $scaleView = createElement('