From 7aed76cf6454816f2634fe17371cade3ebb86d18 Mon Sep 17 00:00:00 2001 From: heimoshuiyu Date: Sun, 17 May 2026 04:52:53 +0800 Subject: [PATCH] fix: sync PWA status bar theme-color with app color scheme --- packages/app/index.html | 1 - packages/app/public/oc-theme-preload.js | 4 ++++ packages/desktop/src/renderer/index.html | 1 - packages/desktop/src/renderer/loading.html | 1 - packages/enterprise/src/entry-server.tsx | 1 - packages/ui/src/theme/context.tsx | 4 ++++ 6 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/app/index.html b/packages/app/index.html index 8fad7efb3a45..8c86360af3de 100644 --- a/packages/app/index.html +++ b/packages/app/index.html @@ -10,7 +10,6 @@ - diff --git a/packages/app/public/oc-theme-preload.js b/packages/app/public/oc-theme-preload.js index 36fa5d726af9..18846fceb6b6 100644 --- a/packages/app/public/oc-theme-preload.js +++ b/packages/app/public/oc-theme-preload.js @@ -16,6 +16,10 @@ document.documentElement.dataset.theme = themeId document.documentElement.dataset.colorScheme = mode + // Update theme-color meta tag to match app color scheme + var metas = document.querySelectorAll("meta[name='theme-color']") + if (metas.length > 0) metas[0].setAttribute("content", isDark ? "#131010" : "#F8F7F7") + if (themeId === "oc-2") return var css = localStorage.getItem("opencode-theme-css-" + mode) diff --git a/packages/desktop/src/renderer/index.html b/packages/desktop/src/renderer/index.html index dd8675ee6b99..b7c429fb648a 100644 --- a/packages/desktop/src/renderer/index.html +++ b/packages/desktop/src/renderer/index.html @@ -9,7 +9,6 @@ - diff --git a/packages/desktop/src/renderer/loading.html b/packages/desktop/src/renderer/loading.html index ae3725af61ef..9473f5625609 100644 --- a/packages/desktop/src/renderer/loading.html +++ b/packages/desktop/src/renderer/loading.html @@ -9,7 +9,6 @@ - diff --git a/packages/enterprise/src/entry-server.tsx b/packages/enterprise/src/entry-server.tsx index b61448c95681..076ff7e9b812 100644 --- a/packages/enterprise/src/entry-server.tsx +++ b/packages/enterprise/src/entry-server.tsx @@ -25,7 +25,6 @@ export default createHandler(() => ( OpenCode - {assets} diff --git a/packages/ui/src/theme/context.tsx b/packages/ui/src/theme/context.tsx index 5664eeebd5a0..5bf8bfb0e015 100644 --- a/packages/ui/src/theme/context.tsx +++ b/packages/ui/src/theme/context.tsx @@ -147,6 +147,10 @@ function applyThemeCss(theme: DesktopTheme, themeId: string, mode: "light" | "da ensureThemeStyleElement().textContent = fullCss document.documentElement.dataset.theme = themeId document.documentElement.dataset.colorScheme = mode + + // Update theme-color meta tag to match light/dark mode + const meta = document.querySelector('meta[name="theme-color"]') + if (meta) meta.setAttribute("content", isDark ? "#131010" : "#F8F7F7") } function cacheThemeVariants(theme: DesktopTheme, themeId: string) {