Skip to content

New light + dark color scheme from Figma, with contrast fixes - #276

Merged
lifeofguenter merged 7 commits into
mainfrom
ui/color-scheme
Sep 29, 2026
Merged

lifeofguenter merged 7 commits into
mainfrom
ui/color-scheme

Conversation

@tahatariq-DT

@tahatariq-DT tahatariq-DT commented Sep 28, 2026 •

Copy link
Copy Markdown
Collaborator

Implements the light and dark color schemes from the Figma frames (per Günter's request for a new scheme in both themes).

Dark mode — neutral greys (replaces warm charcoal)

  • Base #1A1A1A (chat, top bar, composer, cards) · sidebar #1D1D1D
  • Hover / popovers #232323 · selected row #2C2C2C
  • Dividers, search, composer #242424 · link cards & message toolbar #4A4A4A
  • New #242424 divider between sidebar and chat

Light mode — warm off-whites

  • Base #FCFCFB · sidebar #F9F9F7 · selected row #EDECE9 · hover #F5F5F5
  • Text #0B0B0B · borders #E3E3E2 (incl. message toolbar)

Accessibility (WCAG AA)

  • Light muted text #898780 → #6D6B64 (was 3.5:1, now ≥4.5:1)
  • New brand-strong #C15071 for pink surfaces with text (unread badges, thread pill, dark default buttons): white on #DE5D83 was 3.5:1, now 4.5:1. #DE5D83 stays for icons/dots.
  • Known and left as designed for now: composer/search border contrast.

Other

  • Active sidebar rows use bg-sidebar-accent (bg-background now equals the sidebar)
  • Top bar uses bg-chat-top
  • Boot splash + iOS theme-color updated

Text tokens and the brand pink are otherwise unchanged. Browser tests updated for the new computed colors; CI green (lint, backend, frontend incl. 100% coverage, CodeQL).

tahatariq-DT and others added 7 commits September 28, 2026 22:19
Replaces the warm charcoal ladder (#231F20 / #2C2829 / #353132 / #3F3A3B)
with neutral greys measured from the Figma dark-mode designs:

- bg/base #1A1A1A: background, card, sidebar, chat top bar, composer
- bg/level1 #232323: message hover, popovers/menus
- bg/level2 #2C2C2C: selected sidebar row, muted/secondary/accent fills
- borders/subtle #242424: dividers, search, composer, sidebar border
- borders/default #4A4A4A: border-strong (link-preview card, message
  action toolbar); form inputs keep #4A4A4A so fields stay visible
  on dialogs

Text tokens and the #DE5D83 brand pink are unchanged (the Figma text
greys are the existing tokens at reduced opacity). Light mode untouched.

Because the sidebar now shares bg/base, active sidebar rows add
dark:bg-sidebar-accent (they used bg-background, which would vanish).
Boot splash and iOS theme-color updated to #1A1A1A.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
The sidebar now shares the #1A1A1A base with the chat, so the fill step
that used to separate them is gone; the Figma frames use a 1px
borders/subtle line instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
Light tokens measured from the Figma light-mode designs:

- bg/base #FCFCFB (chat, top bar, composer, cards); sidebar #FBFBF9
- selected sidebar row #EDECE9 (sidebar-accent); hover stays #F5F5F5
- text/primary #0B0B0B (was #231F20); text/muted #898780
- borders/subtle #E3E3E2 (dividers, search, composer, link cards)
- borders/default #898780 (message action toolbar)

Components:
- Active sidebar rows use bg-sidebar-accent in both themes (bg-background
  now matches the sidebar and would hide the selection).
- Sidebar/chat divider now in both themes.
- Message action toolbar uses border-strong in both themes.
- Fix: the dark #4A4A4A outline belongs on the web link-preview card, not
  the internal message-preview card it was applied to earlier.

Tests updated for the new active-row class and computed colors
(UnfurlCard, MessageInput send button, sidebar nav).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
- Light muted text #898780 -> #6D6B64. The Figma value is 3.5:1 on the
  base (3.3:1 on a hovered message); #6D6B64 is >= 4.5:1 on base, hover,
  selected rows and popovers.
- New --color-brand-strong #C15071 (hover #A9455F) for pink surfaces that
  carry text: unread badges, the thread "new" pill, and default buttons
  in dark mode. White on #DE5D83 is 3.5:1; on #C15071 it is 4.5:1.
  #DE5D83 stays for icon/dot uses (send button, status dots).

Composer/search border contrast intentionally left as designed for now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
- Dark --color-sidebar #1A1A1A -> #1D1D1D (selected row #2C2C2C and
  #242424 dividers unchanged).
- AppTopBar uses bg-chat-top instead of bg-sidebar, so the full-width
  top bar stays on the chat base (#1A1A1A dark / #FCFCFB light) as in
  the Figma, rather than picking up the sidebar tint.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
Matches the search bar outline; #898780 read too heavy. Dark mode keeps
#4A4A4A (per the Figma), since #242424 would vanish on the hovered row.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MUFbG57m3Ha4mL9uYrUfPu
@tahatariq-DT tahatariq-DT changed the title ui/color scheme New light + dark color scheme from Figma, with contrast fixes Sep 28, 2026
@lifeofguenter
lifeofguenter merged commit d589623 into main Sep 29, 2026
13 checks passed
@lifeofguenter
lifeofguenter deleted the ui/color-scheme branch September 29, 2026 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants