From d8cf7ed29b4124960f7ba4933866d6581fbe8ecd Mon Sep 17 00:00:00 2001 From: cole-maxwell1 Date: Mon, 7 Sep 2026 19:00:10 -0500 Subject: [PATCH] fix(theme): refresh navbar logo on iOS Safari Replace CSS content substitution with theme-specific navbar background images to ensure WebKit repaints the logo when the system color scheme changes. Hide the upstream image while preserving its layout dimensions, and use selectors that prevent Gitea's navbar hover styles from clearing the custom logo. --- .../assets/css/theme-codecraftsmen-auto.css | 24 ++++++++++++------- .../assets/css/theme-codecraftsmen-dark.css | 11 +++++++-- .../assets/css/theme-codecraftsmen-light.css | 11 +++++++-- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/public/assets/css/theme-codecraftsmen-auto.css b/public/assets/css/theme-codecraftsmen-auto.css index 04d2e85..032c700 100644 --- a/public/assets/css/theme-codecraftsmen-auto.css +++ b/public/assets/css/theme-codecraftsmen-auto.css @@ -1,19 +1,27 @@ @import "./theme-codecraftsmen-light.css" (prefers-color-scheme: light); @import "./theme-codecraftsmen-dark.css" (prefers-color-scheme: dark); +html[data-theme="codecraftsmen-auto"] #navbar #navbar-logo { + background-position: center; + background-repeat: no-repeat; + background-size: 60px 30px; +} + +html[data-theme="codecraftsmen-auto"] #navbar #navbar-logo img { + visibility: hidden; + width: 60px; + height: 30px; +} + @media (prefers-color-scheme: light) { - html[data-theme="codecraftsmen-auto"] #navbar-logo img { - content: url("../img/logo-light-no-slogan.svg"); - width: 60px; - height: 30px; + html[data-theme="codecraftsmen-auto"] #navbar #navbar-logo { + background-image: url("../img/logo-light-no-slogan.svg"); } } @media (prefers-color-scheme: dark) { - html[data-theme="codecraftsmen-auto"] #navbar-logo img { - content: url("../img/logo-dark-no-slogan.svg"); - width: 60px; - height: 30px; + html[data-theme="codecraftsmen-auto"] #navbar #navbar-logo { + background-image: url("../img/logo-dark-no-slogan.svg"); } } diff --git a/public/assets/css/theme-codecraftsmen-dark.css b/public/assets/css/theme-codecraftsmen-dark.css index b4dc1dd..8356b51 100644 --- a/public/assets/css/theme-codecraftsmen-dark.css +++ b/public/assets/css/theme-codecraftsmen-dark.css @@ -293,8 +293,15 @@ gitea-theme-meta-info { --cc-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } -html[data-theme="codecraftsmen-dark"] #navbar-logo img { - content: url("../img/logo-dark-no-slogan.svg"); +html[data-theme="codecraftsmen-dark"] #navbar #navbar-logo { + background-image: url("../img/logo-dark-no-slogan.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: 60px 30px; +} + +html[data-theme="codecraftsmen-dark"] #navbar #navbar-logo img { + visibility: hidden; width: 60px; height: 30px; } diff --git a/public/assets/css/theme-codecraftsmen-light.css b/public/assets/css/theme-codecraftsmen-light.css index ba72cc3..b50a30e 100644 --- a/public/assets/css/theme-codecraftsmen-light.css +++ b/public/assets/css/theme-codecraftsmen-light.css @@ -269,8 +269,15 @@ gitea-theme-meta-info { --cc-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; } -html[data-theme="codecraftsmen-light"] #navbar-logo img { - content: url("../img/logo-light-no-slogan.svg"); +html[data-theme="codecraftsmen-light"] #navbar #navbar-logo { + background-image: url("../img/logo-light-no-slogan.svg"); + background-position: center; + background-repeat: no-repeat; + background-size: 60px 30px; +} + +html[data-theme="codecraftsmen-light"] #navbar #navbar-logo img { + visibility: hidden; width: 60px; height: 30px; }