feat(ui): refresh frontend design with cohesive design system - #9
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Refreshes the entire frontend interface with a cohesive design system while
keeping all functionality identical. Introduces a refined indigo brand color,
layered shadows, rounded card surfaces, an ambient brand-tinted background,
gradient primary buttons with subtle hover lift, polished list rows/empty
states, custom scrollbars, and consistent keyboard focus rings — all working in
both light and dark mode. No behavior, routes, API calls, i18n keys, or
data-testids were changed.Type of Change
What changed
Design system
brandpalette intailwind.config.js; the defaultbluescaleis aliased to it so existing
blue-*utilities adopt the brand hue withoutmarkup churn.
soft,card,lift), larger radii,Inter-based font stack, and
fade-in/scale-inanimations.index.css: brand-tinted ambient background gradient (light + dark), customscrollbars, brand text selection, and
:focus-visiblerings.Components
stats bar and empty state.
ThemeToggle: rounder corners, softer surfaces, hover elevation, gradient
buttons, animated dropdown.
theme_colorinindex.htmlandvite.config.tsto the newbrand indigo (
#6366f1).Testing
npm test) — 229 passednpm run lint) — no new warningsnpm run build)Manual testing: verified live render on the home and list pages in both light
and dark mode via the dev server. Confirmed the brand hue resolves to
#4f46e5,dark-mode surfaces render correctly, and there is no horizontal overflow.
Note: two unit tests (
HomePage.test.tsx,ListPage.test.tsx) asserted exactdark-mode shade classes that the redesign changed. Their assertions were updated
to reference representative dark-mode classes from the new design, preserving the
tests' intent (verifying dark mode is wired up).
Checklist
[Unreleased] > Changedmain(feat/ui-design-refresh), no direct commits tomain