diff --git a/client/src/components/Chat/Messages/MessageNav.tsx b/client/src/components/Chat/Messages/MessageNav.tsx index a6545420a0..2112bee670 100644 --- a/client/src/components/Chat/Messages/MessageNav.tsx +++ b/client/src/components/Chat/Messages/MessageNav.tsx @@ -130,10 +130,13 @@ export function magnifyFalloff(distance: number, influence: number): number { } const indicatorButtonClasses = cn( - 'flex h-1.5 w-full items-center justify-end rounded-sm', + 'flex h-1.5 w-full items-center justify-end rounded-sm transition-opacity duration-300', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-xheavy', ); +const dimIndicatorClasses = + 'opacity-40 group-hover/nav:opacity-100 group-focus-within/nav:opacity-100'; + const MessageIndicator = memo(function MessageIndicator({ entry, isHighlighted, @@ -155,7 +158,7 @@ const MessageIndicator = memo(function MessageIndicator({ e.stopPropagation(); onSelect(entry.id); }} - className={indicatorButtonClasses} + className={cn(indicatorButtonClasses, isHighlighted ? 'opacity-100' : dimIndicatorClasses)} aria-label={label} aria-current={isCurrent ? 'true' : undefined} data-msg-id={entry.id} @@ -172,8 +175,9 @@ const MessageIndicator = memo(function MessageIndicator({ }); const chevronButtonClasses = cn( - 'rounded-md p-0.5 text-text-tertiary transition-colors', - 'group-hover/nav:text-text-secondary group-focus-within/nav:text-text-secondary', + 'rounded-md p-0.5 text-text-tertiary opacity-40 transition-[color,opacity] duration-300', + 'group-hover/nav:text-text-secondary group-hover/nav:opacity-100', + 'group-focus-within/nav:text-text-secondary group-focus-within/nav:opacity-100', 'group-hover/nav:hover:text-text-primary', 'group-hover/nav:disabled:opacity-30 group-focus-within/nav:disabled:opacity-30', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-xheavy', @@ -1113,8 +1117,6 @@ function MessageNav({ scrollableRef }: { scrollableRef: React.RefObject