From 391cacdee6d8e265890d0e99af232311809d45b5 Mon Sep 17 00:00:00 2001 From: David Rybar Date: Thu, 21 May 2026 11:34:31 +0200 Subject: [PATCH] fix(theme): apply navy palette to login hero panel under navy theme The data-theme attribute on base_login.html was previously a no-op because the login page CSS only references the legacy --primary family, not the --ds-* tokens that the theme blocks override. Add a single :root[data-theme=navy] .login-features rule so the left hero panel flips from brand-blue to the deep-navy gradient on navy-configured instances. Default (blue) instances are unchanged. --- CHANGELOG.md | 9 +++++---- app/web/static/style-custom.css | 12 ++++++++++++ 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7f94f6..c65e779 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,10 +20,11 @@ CalVer image tags (`stable-YYYY.MM.N`, `dev-YYYY.MM.N`) are produced for every C ### Fixed - Pre-login pages (`/login`, magic-link screens, first-time `/setup`) - now honour the configured `instance.theme` instead of always - rendering with the default `:root` palette. Eliminates the - jarring blue → navy flip after sign-in on navy-configured - instances. + now honour the configured `instance.theme`. `base_login.html` sets + `` from `instance_theme`, and the navy + variant flips the `.login-features` hero panel from brand-blue + `--primary` to the deep-navy gradient — eliminating the jarring + blue → navy flip after sign-in on navy-configured instances. ### Added - `/home` now opens with a value-first intro hero — eyebrow greeting, diff --git a/app/web/static/style-custom.css b/app/web/static/style-custom.css index 98a4347..33bbae0 100644 --- a/app/web/static/style-custom.css +++ b/app/web/static/style-custom.css @@ -2788,6 +2788,18 @@ a.slack-badge:hover { justify-content: center; } +/* Navy theme — when the instance opts in via + `AGNES_INSTANCE_THEME=navy` / `instance.theme=navy`, the + `` attribute is set by base_login.html and + we flip the login-page hero panel from the legacy brand-blue + `--primary` to the deep-navy gradient used by the design-system + hero so /login matches the rest of the navy-themed app. Only + `.login-features` carries a brand colour on the pre-login screens; + the rest of the login chrome is theme-neutral. */ +:root[data-theme="navy"] .login-features { + background: linear-gradient(135deg, #0f1b3a 0%, #0a1430 100%); +} + .features-content { max-width: 480px; }