From 57c4d63275aad639904ff3dda4d8cc3caf900615 Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Sun, 12 Dec 2021 13:33:38 +1100 Subject: [PATCH] handle proper loading of frame.mjs & frame.css --- insert/frame.mjs | 28 ++++++++++++++++++++++++++++ insert/init.cjs | 10 ++++++++++ insert/repo | 2 +- 3 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 insert/frame.mjs diff --git a/insert/frame.mjs b/insert/frame.mjs new file mode 100644 index 0000000..5fd42a3 --- /dev/null +++ b/insert/frame.mjs @@ -0,0 +1,28 @@ +/** + * notion-enhancer + * (c) 2021 dragonwocky (https://dragonwocky.me/) + * (https://notion-enhancer.github.io/) under the MIT license + */ + +'use strict'; + +(async () => { + const api = await import('./api/index.mjs'), + { fs, registry, web } = api; + + for (const mod of await registry.list((mod) => registry.enabled(mod.id))) { + for (const sheet of mod.css?.frame || []) { + web.loadStylesheet(`repo/${mod._dir}/${sheet}`); + } + for (let script of mod.js?.frame || []) { + script = await import(fs.localPath(`repo/${mod._dir}/${script}`)); + script.default(api, await registry.db(mod.id)); + } + + const errors = await registry.errors(); + if (errors.length) { + console.error('[notion-enhancer] registry errors:'); + console.table(errors); + } + } +})(); diff --git a/insert/init.cjs b/insert/init.cjs index 3a709b6..27162a7 100644 --- a/insert/init.cjs +++ b/insert/init.cjs @@ -11,6 +11,16 @@ module.exports = async function (target, __exports, __eval) { const api = require('notion-enhancer/api/index.cjs'), { registry } = api; + if (target === 'renderer/index') { + document.addEventListener('readystatechange', (event) => { + if (document.readyState !== 'complete') return false; + const script = document.createElement('script'); + script.type = 'module'; + script.src = api.fs.localPath('frame.mjs'); + document.head.appendChild(script); + }); + } + if (target === 'renderer/preload') { document.addEventListener('readystatechange', (event) => { if (document.readyState !== 'complete') return false; diff --git a/insert/repo b/insert/repo index 4817c10..0298578 160000 --- a/insert/repo +++ b/insert/repo @@ -1 +1 @@ -Subproject commit 4817c105ffd8f8db9663ef5d5ba1f19bd6b95dd0 +Subproject commit 0298578df4d088dd4ad847b9311c72c8caa7aee8