From 54a41f2431c3d60f5845a15447f13413299e41f2 Mon Sep 17 00:00:00 2001
From: memdmp <memdmp@estrogen.zone>
Date: Mon, 24 Feb 2025 01:09:00 +0100
Subject: feat: da extension

---
 src/routes/+page.svelte | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)
 create mode 100644 src/routes/+page.svelte

(limited to 'src/routes/+page.svelte')

diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte
new file mode 100644
index 0000000..7320c2a
--- /dev/null
+++ b/src/routes/+page.svelte
@@ -0,0 +1,42 @@
+<script lang="ts">
+  import { onMount } from 'svelte';
+  import Monaco from './Monaco.svelte';
+  let content_script = $state('');
+  let default_value = $state(`// Do not put untrusted content here!
+// See https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Intercept_HTTP_requests and https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest for a tutorial on how to handle things.
+// Content saves on every keystroke due to laziness.
+// Reload (disable & re-enable) extension or restart browser to apply changes.
+`);
+  let mounted = $state(false);
+  onMount(async () => {
+    const s = (await browser.storage.local.get('sc')).sc;
+    default_value = s && `${s}`.length ? `${s}` : default_value;
+    content_script = default_value ?? '';
+    setTimeout(() => {
+      mounted = true;
+      setTimeout(() => {
+        content_script = default_value;
+      }, 0);
+    }, 0);
+  });
+  $effect(() => {
+    (async (cs: string) => {
+      if (mounted) {
+        await browser.storage.local.set({ sc: cs });
+        if (browser.runtime.lastError) {
+          console.warn('Last Error is ', browser.runtime.lastError.message);
+          browser.runtime.lastError = undefined;
+        }
+      }
+    })(content_script);
+  });
+</script>
+
+{#if mounted}
+  <Monaco
+    defaultValue={default_value}
+    bind:value={content_script}
+  />
+{:else}
+  Getting Storage
+{/if}
-- 
cgit v1.2.3