| 1 | diff --git a/internal/webui/bridge.js b/internal/webui/bridge.js |
| 2 | index 3bb2a07..15d58d3 100644 |
| 3 | --- a/internal/webui/bridge.js |
| 4 | +++ b/internal/webui/bridge.js |
| 5 | @@ -56,6 +56,15 @@ |
| 6 | const currentTheme = () => root_.dataset.theme || (matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"); |
| 7 | const savedTheme = localStorage.getItem("tiny.theme"); |
| 8 | if (savedTheme) root_.dataset.theme = savedTheme; |
| 9 | + // The installed app's title bar follows the theme-color meta, so keep it |
| 10 | + // in step with the rail colour of whichever theme is active. |
| 11 | + const themeMeta = document.querySelector('meta[name="theme-color"]'); |
| 12 | + const paintChrome = () => { |
| 13 | + const rail = getComputedStyle(root_).getPropertyValue("--rail").trim(); |
| 14 | + if (themeMeta && rail) themeMeta.content = rail; |
| 15 | + }; |
| 16 | + paintChrome(); |
| 17 | + matchMedia("(prefers-color-scheme: dark)").addEventListener("change", paintChrome); |
| 18 | if (themeButton) { |
| 19 | const label = () => { themeButton.textContent = currentTheme() === "dark" ? "light" : "dark"; }; |
| 20 | label(); |
| 21 | @@ -63,6 +72,7 @@ |
| 22 | root_.dataset.theme = currentTheme() === "dark" ? "light" : "dark"; |
| 23 | localStorage.setItem("tiny.theme", root_.dataset.theme); |
| 24 | label(); |
| 25 | + paintChrome(); |
| 26 | }); |
| 27 | } |
| 28 | document.getElementById("menu")?.addEventListener("click", () => { root_.dataset.menu = root_.dataset.menu === "open" ? "" : "open"; }); |
| 29 | diff --git a/internal/webui/page.html b/internal/webui/page.html |
| 30 | index 33f492d..ccc71d4 100644 |
| 31 | --- a/internal/webui/page.html |
| 32 | +++ b/internal/webui/page.html |
| 33 | @@ -4,8 +4,7 @@ |
| 34 | <meta charset="utf-8"> |
| 35 | <meta name="viewport" content="width=device-width,initial-scale=1"> |
| 36 | <meta name="color-scheme" content="light dark"> |
| 37 | -<meta name="theme-color" content="#f4f2ec" media="(prefers-color-scheme: light)"> |
| 38 | -<meta name="theme-color" content="#1e1d1a" media="(prefers-color-scheme: dark)"> |
| 39 | +<meta name="theme-color" content="#f4f2ec"> |
| 40 | <title>{{.Title}}</title> |
| 41 | <link rel="manifest" href="/manifest.webmanifest"> |
| 42 | <link rel="icon" href="/icon.svg" type="image/svg+xml"> |