From daeb89985931cd2c0b6064d08d8af43b03baaa55 Mon Sep 17 00:00:00 2001 From: Marco Beretta <81851188+berry-13@users.noreply.github.com> Date: Fri, 19 Jun 2026 17:18:32 +0200 Subject: [PATCH] refactor: replace hardcoded colors in sidebar conversation list with tokens Migrate the Conversations sidebar section to semantic tokens: focus rings to ring-text-primary (keeps >=3:1 contrast in both modes; the mid-gray ring would fail WCAG 1.4.11 on dark), the active-conversation indicator and hover-fade gradient to surface/text tokens, and the pagination controls. Removes every dark: color twin; no behavior change. --- .../src/components/Conversations/Conversations.tsx | 4 ++-- client/src/components/Conversations/Convo.tsx | 4 ++-- client/src/components/Conversations/HoverToggle.tsx | 8 ++++---- client/src/components/Conversations/Pages.tsx | 6 +++--- .../src/components/Conversations/ProjectsSection.tsx | 12 ++++++------ 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/client/src/components/Conversations/Conversations.tsx b/client/src/components/Conversations/Conversations.tsx index 08effab6e0..ecdaa0c808 100644 --- a/client/src/components/Conversations/Conversations.tsx +++ b/client/src/components/Conversations/Conversations.tsx @@ -87,7 +87,7 @@ interface ChatsHeaderProps { } const headerIconButtonClassName = - 'flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-text-secondary outline-none transition-colors hover:bg-surface-active-alt hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-black dark:focus-visible:ring-white'; + 'flex h-7 w-7 shrink-0 items-center justify-center rounded-md text-text-secondary outline-none transition-colors hover:bg-surface-active-alt hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-text-primary'; /** Collapsible header for the Chats section */ const ChatsHeader: FC = memo(({ isExpanded, onToggle }) => { @@ -106,7 +106,7 @@ const ChatsHeader: FC = memo(({ isExpanded, onToggle }) => {
- + {pageNumber} / {pages} @@ -332,7 +332,7 @@ const ProjectItem = memo( onClick={() => setExpanded((prev) => !prev)} aria-expanded={expanded} aria-label={project.name} - className="flex min-w-0 flex-1 items-center gap-1.5 rounded-lg py-1.5 pl-1.5 pr-14 text-left outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-black dark:focus-visible:ring-white" + className="flex min-w-0 flex-1 items-center gap-1.5 rounded-lg py-1.5 pl-1.5 pr-14 text-left outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-text-primary" > setIsCreateOpen(true)} - className="flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-sm text-text-secondary outline-none transition-colors hover:bg-surface-hover hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-black dark:focus-visible:ring-white" + className="flex w-full items-center gap-2 rounded-lg px-2 py-1.5 text-sm text-text-secondary outline-none transition-colors hover:bg-surface-hover hover:text-text-primary focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-text-primary" >