summaryrefslogtreecommitdiffhomepage
path: root/packages/app/script
diff options
context:
space:
mode:
Diffstat (limited to 'packages/app/script')
-rw-r--r--packages/app/script/inject-theme-preload.ts18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/app/script/inject-theme-preload.ts b/packages/app/script/inject-theme-preload.ts
new file mode 100644
index 000000000..511ab7a3b
--- /dev/null
+++ b/packages/app/script/inject-theme-preload.ts
@@ -0,0 +1,18 @@
+/**
+ * Injects the theme preload script into index.html.
+ * Run this as part of the build process.
+ */
+
+import { generatePreloadScript } from "@opencode-ai/ui/theme"
+
+const htmlPath = new URL("../index.html", import.meta.url).pathname
+const html = await Bun.file(htmlPath).text()
+
+const script = generatePreloadScript()
+const injectedHtml = html.replace(
+ /<script id="oc-theme-preload-script">\s*\/\* THEME_PRELOAD_SCRIPT \*\/\s*<\/script>/,
+ `<script id="oc-theme-preload-script">${script}</script>`,
+)
+
+await Bun.write(htmlPath, injectedHtml)
+console.log("Injected theme preload script into index.html")