From a5b99db1ed4dbd8579c1bc49eca3c738add11750 Mon Sep 17 00:00:00 2001 From: "Ricardo Q. Bazan" <raquirozbazan@gmail.com> Date: Mon, 18 Nov 2024 19:46:55 -0500 Subject: [PATCH] fix: theme color --- .gitignore | 6 +++- .vscode/settings.json | 3 ++ bun.lockb | Bin 347818 -> 347818 bytes package.json | 2 +- public/site.webmanifest | 1 - src/layouts/default/components/seo.astro | 43 ++++++++++++++++++++--- 6 files changed, 47 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index 94de5c0..3cef4c9 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,8 @@ pnpm-debug.log* .idea/ # vercel output directory -.vercel/ \ No newline at end of file +.vercel/ + +# yalc +.yalc/ +yalc.lock \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 43b4722..ef48351 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,6 +11,9 @@ "[javascriptreact]": { "editor.defaultFormatter": "biomejs.biome" }, + "[json]": { + "editor.defaultFormatter": "biomejs.biome" + }, "editor.codeActionsOnSave": { "quickfix.biome": "explicit", "source.organizeImports.biome": "explicit" diff --git a/bun.lockb b/bun.lockb index 7886ecb266b2f482931e3c49402e6c856a9fab20..726dc5f22358e8df98fadfbee42f15466997fcd9 100755 GIT binary patch delta 167 zcmV;Y09gO3ofWE`6_73<F&L^%d{hm69&g^fMO&YzmM=3lI38My6Ie$3<scFUu}+4^ zlN38Ng9ymC2*?5TK|sOyAO&#&??oAuH9tF|vW#Hc<|m3lM2<UN;9w7KarwsR<v!Y3 zfciT2F1qq)VOC8b>4cn8mlv>Ty#M0ur1ghA3Iex13Ik$#2Lb>900000ho*!Bx2A*y VB6633Rs<rKPT&LyxAXP{w^uEdM%w@Y delta 167 zcmV;Y09gO3ofWE`6_73<B9p@BY9f@TMnQ~*93I+4?5x~V$XXZ<r@TQZtXUPTu}+4^ zlN3BOg9ymC2*?5TK|lpdZjO^+;+GUMWA7Z|lH2Q0qaCCL9F%p|lo`l3UVMv*k)OWF zfdD4KcT>-%d4T!Z(`o)hk?L$$d7ZOc!or6=3Iex13Ik$#2LWC&E;24Lho*!Bx2A*y VB662wIt3z^PT&LyxAXP{w^#7aN|68n diff --git a/package.json b/package.json index 06d6a80..d5a22fc 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "@astrojs/sitemap": "^3.2.0", "@astrojs/tailwind": "^5.1.2", "@astrojs/vercel": "8.0.0-beta.2", - "@rqbazan/set-initial-color-mode": "^1.2.1", + "@rqbazan/set-initial-color-mode": "^1.3.0", "@unpic/astro": "^0.0.46", "@unpic/pixels": "^1.2.2", "@unpic/placeholder": "^0.1.2", diff --git a/public/site.webmanifest b/public/site.webmanifest index 4979b94..d161b3b 100644 --- a/public/site.webmanifest +++ b/public/site.webmanifest @@ -13,7 +13,6 @@ "type": "image/png" } ], - "theme_color": "#101010", "background_color": "#101010", "display": "standalone" } diff --git a/src/layouts/default/components/seo.astro b/src/layouts/default/components/seo.astro index 1c5493f..4563809 100644 --- a/src/layouts/default/components/seo.astro +++ b/src/layouts/default/components/seo.astro @@ -49,10 +49,43 @@ const canonicalUrl = getCanonicalUrl(Astro.url); <link rel="canonical" href={canonicalUrl} /> <link rel="sitemap" href="/sitemap-index.xml" /> -<link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon.png"> -<link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png"> -<link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png"> +<link + rel="apple-touch-icon" + sizes="180x180" + href="/images/apple-touch-icon.png" +/> +<link + rel="icon" + type="image/png" + sizes="32x32" + href="/images/favicon-32x32.png" +/> +<link + rel="icon" + type="image/png" + sizes="16x16" + href="/images/favicon-16x16.png" +/> <link rel="icon" href="/favicon.ico" /> -<meta name="apple-mobile-web-app-title" content="rcrd"> -<link rel="manifest" href="/site.webmanifest"> +<meta name="apple-mobile-web-app-title" content="rcrd" /> +<link rel="manifest" href="/site.webmanifest" /> + +<meta name="theme-color" /> + +<script is:inline> + const { STORAGE_KEY, CUSTOM_EVENT_NAME, DARK } = __COLOR_MODE__; + + function onColorModeChange(colorMode) { + document + .querySelector("meta[name=theme-color]") + .setAttribute("content", colorMode === DARK ? "#101010" : "#FFF6E3"); + } + + document.addEventListener(CUSTOM_EVENT_NAME, (e) => { + onColorModeChange(e.detail.colorMode); + }); + + const colorMore = localStorage.getItem(STORAGE_KEY); + onColorModeChange(colorMore); +</script>