Skip to content

Commit c73df21

Browse files
committed
fix: sync PWA status bar theme-color with app color scheme
1 parent 53e89f9 commit c73df21

6 files changed

Lines changed: 8 additions & 4 deletions

File tree

packages/app/index.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon-v3.png" />
1111
<link rel="manifest" href="/site.webmanifest" />
1212
<meta name="theme-color" content="#F8F7F7" />
13-
<meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" />
1413
<meta property="og:image" content="/social-share.png" />
1514
<meta property="twitter:image" content="/social-share.png" />
1615
<script id="oc-theme-preload-script" src="/oc-theme-preload.js"></script>

packages/app/public/oc-theme-preload.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,10 @@
1616
document.documentElement.dataset.theme = themeId
1717
document.documentElement.dataset.colorScheme = mode
1818

19+
// Update theme-color meta tag to match app color scheme
20+
var metas = document.querySelectorAll("meta[name='theme-color']")
21+
if (metas.length > 0) metas[0].setAttribute("content", isDark ? "#121212" : "#f8f8f8")
22+
1923
if (themeId === "oc-2") return
2024

2125
var css = localStorage.getItem("opencode-theme-css-" + mode)

packages/desktop/src/renderer/index.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
<link rel="shortcut icon" href="./favicon-v3.ico" />
1010
<link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon-v3.png" />
1111
<meta name="theme-color" content="#F8F7F7" />
12-
<meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" />
1312
<meta property="og:image" content="./social-share.png" />
1413
<meta property="twitter:image" content="./social-share.png" />
1514
<script id="oc-theme-preload-script" src="./oc-theme-preload.js"></script>

packages/desktop/src/renderer/loading.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
<link rel="shortcut icon" href="./favicon-v3.ico" />
1010
<link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon-v3.png" />
1111
<meta name="theme-color" content="#F8F7F7" />
12-
<meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" />
1312
<meta property="og:image" content="./social-share.png" />
1413
<meta property="twitter:image" content="./social-share.png" />
1514
<script id="oc-theme-preload-script" src="./oc-theme-preload.js"></script>

packages/enterprise/src/entry-server.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ export default createHandler(() => (
2525
<meta name="viewport" content="width=device-width, initial-scale=1" />
2626
<title>OpenCode</title>
2727
<meta name="theme-color" content="#F8F7F7" />
28-
<meta name="theme-color" content="#131010" media="(prefers-color-scheme: dark)" />
2928
{assets}
3029
</head>
3130
<body class="antialiased overscroll-none text-12-regular">

packages/ui/src/theme/context.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,10 @@ function applyThemeCss(theme: DesktopTheme, themeId: string, mode: "light" | "da
147147
ensureThemeStyleElement().textContent = fullCss
148148
document.documentElement.dataset.theme = themeId
149149
document.documentElement.dataset.colorScheme = mode
150+
151+
// Update theme-color meta tag to match light/dark mode
152+
const meta = document.querySelector('meta[name="theme-color"]')
153+
if (meta) meta.setAttribute("content", tokens["background-base"])
150154
}
151155

152156
function cacheThemeVariants(theme: DesktopTheme, themeId: string) {

0 commit comments

Comments
 (0)