diff options
Diffstat (limited to 'packages/app/index.html')
| -rw-r--r-- | packages/app/index.html | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/packages/app/index.html b/packages/app/index.html index 4f003c05b..ea4237804 100644 --- a/packages/app/index.html +++ b/packages/app/index.html @@ -13,9 +13,36 @@ <meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" /> <meta property="og:image" content="/social-share.png" /> <meta property="twitter:image" content="/social-share.png" /> - <!-- Theme preload script - injected by Vite plugin to avoid FOUC --> + <!-- Theme preload script - applies cached theme to avoid FOUC --> <script id="oc-theme-preload-script"> - /* THEME_PRELOAD_SCRIPT */ + ;(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) + } + })() </script> </head> <body class="antialiased overscroll-none text-12-regular overflow-hidden"> |
