LC-564: route login + welcome errors through the shared alert (redesign P5) #532

Merged
longjacksonle merged 1 commit from feat/LC-564-entry-surface-alignment into main 2026-07-09 21:44:36 +02:00

What

Align the public / entry surfaces (landing, login, welcome) onto the app's component vocabulary, the LC-UI-11 goal: public surfaces should feel like the same product.

The only genuine residual was the error state on the two entry cards:

  • Login SSO-error was a raw text-red-600 (untokenized, does not theme).
  • Welcome flash-error hand-rolled a danger box with the same tokens .alert-danger already carries.

Both now use the shared .alert alert-danger (LC-555), so an error on the login card and on the home welcome look identical and theme with the rest of the product.

Why nothing else changed

The landing hero / feature cards / CTA and the welcome quick-action icon-tile cards were already built on the refreshed tokens, .card, .btn, and the accent-surface icon-tile language, so they already satisfy the acceptance criteria (landing stays more expressive without being a different brand; login stays simple and SSO-first; welcome quick actions match the refreshed card system). Manufacturing churn there would add risk without visible benefit.

Scope / safety

Template-only. No id / handler / OOB target touched. Built CSS is a gitignored artifact and regenerates in CI (text-red-600 purges once its last user is gone).

Verify

  • just build-css -> clean (@apply refs resolve; text-red-600 no longer emitted).
  • dev/cargo test --test last_visited -> 6/6 (renders the welcome page).
  • dev/cargo test --test routes_maintenance -> 7/7 (renders the login surface, incl. login_surface_stays_reachable).

🤖 Generated with Claude Code

https://claude.ai/code/session_011jXpZXXwpB36MvTr6JrGXN

## What Align the public / entry surfaces (landing, login, welcome) onto the app's component vocabulary, the LC-UI-11 goal: public surfaces should feel like the same product. The only genuine residual was the **error state** on the two entry cards: - **Login** SSO-error was a raw `text-red-600` (untokenized, does not theme). - **Welcome** flash-error hand-rolled a danger box with the same tokens `.alert-danger` already carries. Both now use the shared `.alert alert-danger` (LC-555), so an error on the login card and on the home welcome look identical and theme with the rest of the product. ## Why nothing else changed The landing hero / feature cards / CTA and the welcome quick-action **icon-tile** cards were already built on the refreshed tokens, `.card`, `.btn`, and the `accent-surface` icon-tile language, so they already satisfy the acceptance criteria (landing stays more expressive without being a different brand; login stays simple and SSO-first; welcome quick actions match the refreshed card system). Manufacturing churn there would add risk without visible benefit. ## Scope / safety Template-only. No id / handler / OOB target touched. Built CSS is a gitignored artifact and regenerates in CI (`text-red-600` purges once its last user is gone). ## Verify - `just build-css` -> clean (`@apply` refs resolve; `text-red-600` no longer emitted). - `dev/cargo test --test last_visited` -> **6/6** (renders the welcome page). - `dev/cargo test --test routes_maintenance` -> **7/7** (renders the login surface, incl. `login_surface_stays_reachable`). 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_011jXpZXXwpB36MvTr6JrGXN
feat(entry): route login + welcome errors through the shared alert (LC-564 / LC-UI-11)
All checks were successful
check-secrets / Nosey parker (push) Successful in 4s
check-secrets / Kingfisher (push) Successful in 4s
check-secrets / TruffleHog (push) Successful in 5s
check-secrets / Kingfisher (pull_request) Successful in 4s
check-secrets / Nosey parker (pull_request) Successful in 5s
check-secrets / TruffleHog (pull_request) Successful in 6s
Check / clippy + fmt + tests (pull_request) Successful in 3m45s
Create release / Create release from merged PR (pull_request) Has been skipped
046fa0dc4b
Align the public / entry surfaces onto the app's component vocabulary. The login SSO-error was a raw `text-red-600` (untokenized, does not theme); the welcome flash-error hand-rolled a danger box with the same tokens `.alert-danger` already carries. Both now use the shared `.alert alert-danger` (LC-555), so an error on the login card and on the home welcome look identical and theme with the rest of the product.

That was the only genuine residual across the three entry surfaces: the landing hero / feature cards / CTA and the welcome quick-action icon-tile cards were already built on the refreshed tokens, `.card`, `.btn`, and the accent-surface icon-tile language, so they needed no change to satisfy the LC-UI-11 goal (public surfaces feel like the same product, landing stays more expressive without being a different brand). Template-only; built CSS is a gitignored artifact and regenerates. Verified: last_visited 6/6 (renders the welcome page) and routes_maintenance 7/7 (renders the login surface).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011jXpZXXwpB36MvTr6JrGXN
longjacksonle scheduled this pull request to auto merge when all checks succeed 2026-07-09 21:42:14 +02:00
longjacksonle deleted branch feat/LC-564-entry-surface-alignment 2026-07-09 21:44:36 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/lets-chat!532
No description provided.