fix(frontend): remove explicit primary color from input bar controls

Drop text-primary/80 from expert dropdown icons and text-primary from
mode/config selector trigger buttons so they inherit the default
foreground color and transition naturally with themed hover states.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
xintaofei
2026-04-12 14:06:04 +08:00
parent 9ab090a2b2
commit f0e0196d35
3 changed files with 3 additions and 12 deletions

View File

@@ -1926,7 +1926,7 @@ export function MessageInput({
onClick={() => handleExpertPopoverSelect(expert)} onClick={() => handleExpertPopoverSelect(expert)}
className="items-start gap-2" className="items-start gap-2"
> >
<Icon className="mt-0.5 size-4 shrink-0 text-primary/80" /> <Icon className="mt-0.5 size-4 shrink-0" />
<div className="min-w-0 flex-1"> <div className="min-w-0 flex-1">
<div className="truncate font-medium">{name}</div> <div className="truncate font-medium">{name}</div>
{description && ( {description && (

View File

@@ -11,7 +11,6 @@ import {
} from "@/components/ui/dropdown-menu" } from "@/components/ui/dropdown-menu"
import { DropdownRadioItemContent } from "@/components/chat/dropdown-radio-item-content" import { DropdownRadioItemContent } from "@/components/chat/dropdown-radio-item-content"
import type { SessionModeInfo } from "@/lib/types" import type { SessionModeInfo } from "@/lib/types"
import { cn } from "@/lib/utils"
interface ModeSelectorProps { interface ModeSelectorProps {
modes: SessionModeInfo[] modes: SessionModeInfo[]
@@ -26,15 +25,13 @@ export function ModeSelector({
}: ModeSelectorProps) { }: ModeSelectorProps) {
const selectedMode = modes.find((m) => m.id === selectedModeId) const selectedMode = modes.find((m) => m.id === selectedModeId)
const label = selectedMode?.name ?? "Mode" const label = selectedMode?.name ?? "Mode"
const isActive = Boolean(selectedMode)
return ( return (
<DropdownMenu> <DropdownMenu>
<DropdownMenuTrigger asChild> <DropdownMenuTrigger asChild>
<Button <Button
variant="ghost" variant="ghost"
size="xs" size="xs"
className={cn("gap-1 min-w-0", isActive && "text-primary")} className="gap-1 min-w-0"
title={selectedMode?.description ?? selectedMode?.name} title={selectedMode?.description ?? selectedMode?.name}
> >
<span className="truncate">{label}</span> <span className="truncate">{label}</span>

View File

@@ -14,7 +14,6 @@ import {
} from "@/components/ui/dropdown-menu" } from "@/components/ui/dropdown-menu"
import { DropdownRadioItemContent } from "@/components/chat/dropdown-radio-item-content" import { DropdownRadioItemContent } from "@/components/chat/dropdown-radio-item-content"
import type { SessionConfigOptionInfo } from "@/lib/types" import type { SessionConfigOptionInfo } from "@/lib/types"
import { cn } from "@/lib/utils"
interface SessionConfigSelectorProps { interface SessionConfigSelectorProps {
option: SessionConfigOptionInfo option: SessionConfigOptionInfo
@@ -31,18 +30,13 @@ export function SessionConfigSelector({
(item) => item.value === option.kind.current_value (item) => item.value === option.kind.current_value
) )
const label = selected?.name ?? option.kind.current_value const label = selected?.name ?? option.kind.current_value
const isActive = Boolean(selected)
return ( return (
<DropdownMenu> <DropdownMenu>
<DropdownMenuTrigger asChild> <DropdownMenuTrigger asChild>
<Button <Button
variant="outline" variant="outline"
size="xs" size="xs"
className={cn( className="gap-1 min-w-0 bg-transparent"
"gap-1 min-w-0 bg-transparent",
isActive && "text-primary"
)}
title={option.description ?? option.name} title={option.description ?? option.name}
> >
<span className="truncate">{label}</span> <span className="truncate">{label}</span>