From e9ec201450b14e67be2f8fa3f4d02c3e417d54b4 Mon Sep 17 00:00:00 2001 From: wearrrrr Date: Mon, 22 Apr 2024 18:55:37 -0500 Subject: [PATCH] Revert --- src/components/ts/LoadExtensions.ts | 40 +++++++++++++++++++++++++++++ src/pages/[lang]/marketplace.astro | 0 2 files changed, 40 insertions(+) create mode 100644 src/components/ts/LoadExtensions.ts delete mode 100644 src/pages/[lang]/marketplace.astro diff --git a/src/components/ts/LoadExtensions.ts b/src/components/ts/LoadExtensions.ts new file mode 100644 index 0000000..dfb75cf --- /dev/null +++ b/src/components/ts/LoadExtensions.ts @@ -0,0 +1,40 @@ +type Extension = { + name: string; + script: string; + serviceWorkerExtension: boolean; +} + +export async function retrieveExtensions() { + const extensionsArr: Array = []; + const db = await new Promise((resolve, reject) => { + const request = indexedDB.open("AluDB", 1); + request.onsuccess = () => resolve(request.result); + request.onerror = reject; + }); + + const transaction = (await db).transaction("InstalledExtensions", "readwrite"); + const objectStore = transaction.objectStore("InstalledExtensions"); + const extensions: Array = await new Promise((resolve, reject) => { + const request = objectStore.getAll(); + request.onsuccess = () => resolve(request.result); + request.onerror = reject; + }); + + extensions.forEach(async (extension: Extension) => { + if (extension.serviceWorkerExtension) { + extensionsArr.push(extension); + } + }); + return extensionsArr; +} + +export async function loadExtension(ext: Extension) { + console.log("Loading extension: ", ext.name); + if (ext.serviceWorkerExtension) { + // This needs to be post message'd into the service worker + navigator.serviceWorker.controller?.postMessage({ + "listenerType": "fetch", + "payload": ext.script + }) + } +} \ No newline at end of file diff --git a/src/pages/[lang]/marketplace.astro b/src/pages/[lang]/marketplace.astro deleted file mode 100644 index e69de29..0000000