diff --git a/frontend/src/styles/webapp.css b/frontend/src/styles/webapp.css index a0cc70d..5baf8be 100644 --- a/frontend/src/styles/webapp.css +++ b/frontend/src/styles/webapp.css @@ -63,7 +63,7 @@ a { font-weight: 800; } -.loader .brand-mark.brand-mark-lg { +.app-shell .loader .brand-mark.brand-mark-lg { width: calc(4.125rem * var(--home-logo-scale, 1)); height: calc(4.125rem * var(--home-logo-scale, 1)); font-size: calc(2.875rem * var(--home-logo-scale, 1)); @@ -1763,13 +1763,13 @@ a { padding-top: 0; } -.home-brand .brand-mark.brand-mark-xl { +.app-shell .home-brand .brand-mark.brand-mark-xl { width: calc(6rem * var(--home-logo-scale, 1)); height: calc(6rem * var(--home-logo-scale, 1)); font-size: calc(4.375rem * var(--home-logo-scale, 1)); } -.login-brand-auth .brand-mark.brand-mark-xl { +.app-shell .login-brand-auth .brand-mark.brand-mark-xl { width: calc(116px * var(--home-logo-scale, 1)); height: calc(116px * var(--home-logo-scale, 1)); font-size: calc(84px * var(--home-logo-scale, 1)); @@ -2522,9 +2522,9 @@ a { } /* Make the brand mark a focal element on desktop. */ - .home-brand .brand-mark, - .home-brand .brand-mark-lg, - .home-brand .brand-mark-xl { + .app-shell .home-brand .brand-mark, + .app-shell .home-brand .brand-mark.brand-mark-lg, + .app-shell .home-brand .brand-mark.brand-mark-xl { width: calc(clamp(180px, 18vw, 260px) * var(--home-logo-scale, 1)); height: calc(clamp(180px, 18vw, 260px) * var(--home-logo-scale, 1)); font-size: calc(clamp(124px, 13vw, 184px) * var(--home-logo-scale, 1)); diff --git a/tests/test_webapp_assets.py b/tests/test_webapp_assets.py index 7828e71..2bbcf0b 100644 --- a/tests/test_webapp_assets.py +++ b/tests/test_webapp_assets.py @@ -328,6 +328,13 @@ class WebAppAssetTests(unittest.IsolatedAsyncioTestCase): self.assertIn("/webapp-default-logo.webp", nginx_conf) self.assertIn("proxy_pass http://backend:8081;", nginx_conf) + def test_home_logo_scale_rules_beat_late_loaded_admin_brand_styles(self): + css = Path("frontend/src/styles/webapp.css").read_text(encoding="utf-8") + + self.assertIn(".app-shell .home-brand .brand-mark.brand-mark-xl", css) + self.assertIn(".app-shell .login-brand-auth .brand-mark.brand-mark-xl", css) + self.assertIn(".app-shell .loader .brand-mark.brand-mark-lg", css) + def test_prune_unused_appearance_assets_keeps_only_referenced_logo_and_favicons(self): with tempfile.TemporaryDirectory() as tmpdir: root = Path(tmpdir)