From 0f2124db32606020766d237ce774a3c2e7783ee3 Mon Sep 17 00:00:00 2001 From: adamelmore <2363879+adamdottv@users.noreply.github.com> Date: Fri, 9 Jan 2026 11:57:27 -0600 Subject: [PATCH] fix(app): no inline js --- packages/app/index.html | 31 +------------------------ packages/app/public/oc-theme-preload.js | 28 ++++++++++++++++++++++ packages/desktop/index.html | 31 +------------------------ packages/desktop/vite.config.ts | 1 + 4 files changed, 31 insertions(+), 60 deletions(-) create mode 100644 packages/app/public/oc-theme-preload.js diff --git a/packages/app/index.html b/packages/app/index.html index 44fa3b989d..e0fbe6913d 100644 --- a/packages/app/index.html +++ b/packages/app/index.html @@ -14,36 +14,7 @@ - +
diff --git a/packages/app/public/oc-theme-preload.js b/packages/app/public/oc-theme-preload.js new file mode 100644 index 0000000000..f8c7104961 --- /dev/null +++ b/packages/app/public/oc-theme-preload.js @@ -0,0 +1,28 @@ +;(function () { + var themeId = localStorage.getItem("opencode-theme-id") + if (!themeId) return + + var scheme = localStorage.getItem("opencode-color-scheme") || "system" + var isDark = scheme === "dark" || (scheme === "system" && matchMedia("(prefers-color-scheme: dark)").matches) + var mode = isDark ? "dark" : "light" + + document.documentElement.dataset.theme = themeId + document.documentElement.dataset.colorScheme = mode + + if (themeId === "oc-1") return + + var css = localStorage.getItem("opencode-theme-css-" + themeId + "-" + mode) + if (css) { + var style = document.createElement("style") + style.id = "oc-theme-preload" + style.textContent = + ":root{color-scheme:" + + mode + + ";--text-mix-blend-mode:" + + (isDark ? "plus-lighter" : "multiply") + + ";" + + css + + "}" + document.head.appendChild(style) + } +})() diff --git a/packages/desktop/index.html b/packages/desktop/index.html index f93e972940..11e9f39a63 100644 --- a/packages/desktop/index.html +++ b/packages/desktop/index.html @@ -13,36 +13,7 @@ - + diff --git a/packages/desktop/vite.config.ts b/packages/desktop/vite.config.ts index 37bc633930..62c3a099ad 100644 --- a/packages/desktop/vite.config.ts +++ b/packages/desktop/vite.config.ts @@ -6,6 +6,7 @@ const host = process.env.TAURI_DEV_HOST // https://vite.dev/config/ export default defineConfig({ plugins: [appPlugin], + publicDir: "../app/public", // Vite options tailored for Tauri development and only applied in `tauri dev` or `tauri build` // // 1. prevent Vite from obscuring rust errors