fix(ds): unify SSO sign-in buttons on DS::Button; drop bespoke Google CSS (#2152)

The Google button used Google's prebuilt `gsi-material-button` (its own CSS
file + hardcoded hex colors), leaving it the odd one out: capped at 400px (its
`max-width` overrode `w-full`) so it sat narrower than the OpenID/GitHub
buttons, and rendered as a glaring white block in dark mode with no theming.

Render every SSO provider through one `DS::Button(variant: :outline,
full_width: true)` so the stack is consistent and reads as secondary to the
primary email "Log in" CTA. Google keeps its official multi-color "G" mark and
"Sign in with Google" wording (brand-compliant) via a new `google-icon.svg`
asset and an additive `icon_custom:` flag on the button (defaults false — no
change to any existing button). Delete `google-sign-in.css` and its import.
This commit is contained in:
Guillem Arias Fauste
2026-06-03 00:08:12 +02:00
committed by GitHub
parent 699b0d59da
commit 2051c74559
7 changed files with 34 additions and 140 deletions

View File

@@ -112,9 +112,10 @@ class SessionsControllerTest < ActionDispatch::IntegrationTest
assert_match %r{/auth/openid_connect}, @response.body
assert_match /Sign in with Keycloak/, @response.body
# Google-branded button
# Google-branded button — DS outline button carrying Google's official
# multi-color "G" mark (one of its brand hexes proves the inline SVG rendered).
assert_match %r{/auth/google_oauth2}, @response.body
assert_match /gsi-material-button/, @response.body
assert_match /#4285F4/i, @response.body
assert_match /Sign in with Google/, @response.body
end