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:
@@ -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 && (
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user