- commit
- 8cd48a5d2f4af29a00e46afcbfebd51f9af70a49
- parent
- 249961ba1458a279852cbf968c8ab9148fce11bc
- author
- Dami <dami.etoile@gmail.com>
| M | internal/ | 10 | ++++++++++ |
| M | internal/ | 3 | +-- |
@@ -56,6 +56,15 @@
5656 const currentTheme = () => root_.dataset.theme || (matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light");5757 const savedTheme = localStorage.getItem("tiny.theme");5858 if (savedTheme) root_.dataset.theme = savedTheme;59+ // The installed app's title bar follows the theme-color meta, so keep it60+ // in step with the rail colour of whichever theme is active.61+ const themeMeta = document.querySelector('meta[name="theme-color"]');62+ const paintChrome = () => {63+ const rail = getComputedStyle(root_).getPropertyValue("--rail").trim();64+ if (themeMeta && rail) themeMeta.content = rail;65+ };66+ paintChrome();67+ matchMedia("(prefers-color-scheme: dark)").addEventListener("change", paintChrome);5968 if (themeButton) {6069 const label = () => { themeButton.textContent = currentTheme() === "dark" ? "light" : "dark"; };6170 label();@@ -63,6 +72,7 @@
6372 root_.dataset.theme = currentTheme() === "dark" ? "light" : "dark";6473 localStorage.setItem("tiny.theme", root_.dataset.theme);6574 label();75+ paintChrome();6676 });6777 }6878 document.getElementById("menu")?.addEventListener("click", () => { root_.dataset.menu = root_.dataset.menu === "open" ? "" : "open"; });@@ -4,8 +4,7 @@
44 <meta charset="utf-8">55 <meta name="viewport" content="width=device-width,initial-scale=1">66 <meta name="color-scheme" content="light dark">7-<meta name="theme-color" content="#f4f2ec" media="(prefers-color-scheme: light)">8-<meta name="theme-color" content="#1e1d1a" media="(prefers-color-scheme: dark)">7+<meta name="theme-color" content="#f4f2ec">98 <title>{{.Title}}</title>109 <link rel="manifest" href="/manifest.webmanifest">1110 <link rel="icon" href="/icon.svg" type="image/svg+xml">