fix(theme): load design-tokens.css on login pages

base_login.html only loaded style-custom.css, leaving the --ds-*
tokens undefined. The Google SSO btn-primary used
background-color: var(--ds-primary) with color: white, rendering
invisible (white text on a card with transparent button bg) on
both navy and blue themes. Load design-tokens.css the same way
base.html does so the button picks up its green fill.
This commit is contained in:
David Rybar 2026-05-21 12:02:21 +02:00
parent ee0f828128
commit 9a02e896f6
2 changed files with 13 additions and 4 deletions

View file

@ -79,10 +79,14 @@ CalVer image tags (`stable-YYYY.MM.N`, `dev-YYYY.MM.N`) are produced for every C
### Fixed ### Fixed
- Pre-login pages (`/login`, magic-link screens, first-time `/setup`) - Pre-login pages (`/login`, magic-link screens, first-time `/setup`)
now honour the configured `instance.theme`. `base_login.html` sets now honour the configured `instance.theme`. `base_login.html` sets
`<html data-theme="...">` from `instance_theme`, and the navy `<html data-theme="...">` from `instance_theme`, additionally loads
variant flips the `.login-features` hero panel from brand-blue `design-tokens.css` so the `.btn-primary` Google SSO button gets
`--primary` to the deep-navy gradient — eliminating the jarring its `--ds-primary` green fill (previously rendered as invisible
blue → navy flip after sign-in on navy-configured instances. white text on a white card because the `--ds-*` tokens weren't
defined), 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.
- Skill / agent detail pages nested inside a Flea Market plugin - Skill / agent detail pages nested inside a Flea Market plugin
rendered the parent plugin's title on the hero instead of the rendered the parent plugin's title on the hero instead of the
skill/agent name. The frontend fallback chain branched on skill/agent name. The frontend fallback chain branched on

View file

@ -5,6 +5,11 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}Data Analyst Portal{% endblock %}</title> <title>{% block title %}Data Analyst Portal{% endblock %}</title>
<link rel="stylesheet" href="{{ static_url('style-custom.css') }}"> <link rel="stylesheet" href="{{ static_url('style-custom.css') }}">
{# Design-system tokens (`--ds-*`) — required so `.btn-primary`
(Google SSO on /login) gets its `--ds-primary` green fill;
otherwise the white button text renders invisible on a white
card. Same reason base.html loads it globally. #}
<link rel="stylesheet" href="{{ static_url('css/design-tokens.css') }}">
{% include '_theme.html' %} {% include '_theme.html' %}
</head> </head>
<body> <body>