diff --git a/web/components/nav/profile-summary.tsx b/web/components/nav/profile-summary.tsx index 1c9f4e4a..f90f396d 100644 --- a/web/components/nav/profile-summary.tsx +++ b/web/components/nav/profile-summary.tsx @@ -18,18 +18,16 @@ export function ProfileSummary(props: {user: User; className?: string; currentPa href={profile === null ? '/signup' : `/${user.username}`} onClick={trackCallback('sidebar: profile')} className={clsx( - 'group flex w-full shrink-0 flex-row items-center truncate rounded-xl py-3 transition-all', + 'group flex w-full shrink-0 flex-row items-center truncate rounded-lg py-2.5 transition-colors', className, - isSelected && 'bg-canvas-900', + isSelected && 'bg-primary-500/15', )} >
-
- {user.name} -
+
{user.name}
diff --git a/web/components/nav/sidebar-item.tsx b/web/components/nav/sidebar-item.tsx index 96e9e609..a4d6cf05 100644 --- a/web/components/nav/sidebar-item.tsx +++ b/web/components/nav/sidebar-item.tsx @@ -28,11 +28,13 @@ export function SidebarItem(props: {item: Item; currentPage?: string}) { } const sidebarClass = clsx( - isCurrentPage - ? 'bg-canvas-900 text-primary-600' - : 'sidebar-text hover:text-primary-700 hover:translate-x-[2px]', - 'group flex items-center rounded-xl px-3 py-2 text-sm font-medium', - 'focus-visible:bg-ink-100 outline-none transition-all', + 'group relative flex items-center gap-3 rounded-lg px-3 py-2 text-sm font-medium', + 'outline-none transition-colors duration-150', + // Active is a warm amber-washed pill, not the same neutral fill as hover — the two used to be + // near-identical (both `bg-canvas-900`), so the current page barely stood out. Hover uses the + // canvas-900 "sidebar pressed" token, which is theme-aware on the always-dark rail. + isCurrentPage ? 'bg-primary-500/15 text-primary-500' : 'sidebar-text hover:bg-canvas-900', + 'focus-visible:bg-canvas-900', ) const sidebarItem = ( @@ -40,10 +42,9 @@ export function SidebarItem(props: {item: Item; currentPage?: string}) { {item.icon && (