From 03db02d5f751e06577e017573165fa7efeb97183 Mon Sep 17 00:00:00 2001 From: Phantom Date: Thu, 11 Dec 2025 11:29:18 +0800 Subject: [PATCH] fix(ThinkingButton): show correct icon when isFixedReasoning (#11825) --- .../tools/components/ThinkingButton.tsx | 57 ++++++++++--------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/src/renderer/src/pages/home/Inputbar/tools/components/ThinkingButton.tsx b/src/renderer/src/pages/home/Inputbar/tools/components/ThinkingButton.tsx index 5909189516..96e7adca93 100644 --- a/src/renderer/src/pages/home/Inputbar/tools/components/ThinkingButton.tsx +++ b/src/renderer/src/pages/home/Inputbar/tools/components/ThinkingButton.tsx @@ -93,7 +93,7 @@ const ThinkingButton: FC = ({ quickPanel, model, assistantId }): ReactEle level: option, label: getReasoningEffortOptionsLabel(option), description: '', - icon: ThinkingIcon(option), + icon: ThinkingIcon({ option }), isSelected: currentReasoningEffort === option, action: () => onThinkingChange(option) })) @@ -135,7 +135,7 @@ const ThinkingButton: FC = ({ quickPanel, model, assistantId }): ReactEle { label: t('assistants.settings.reasoning_effort.label'), description: '', - icon: ThinkingIcon(currentReasoningEffort), + icon: ThinkingIcon({ option: currentReasoningEffort }), isMenu: true, action: () => openQuickPanel() } @@ -163,37 +163,40 @@ const ThinkingButton: FC = ({ quickPanel, model, assistantId }): ReactEle aria-label={ariaLabel} aria-pressed={currentReasoningEffort !== 'none'} style={isFixedReasoning ? { cursor: 'default' } : undefined}> - {ThinkingIcon(currentReasoningEffort)} + {ThinkingIcon({ option: currentReasoningEffort, isFixedReasoning })} ) } -const ThinkingIcon = (option?: ThinkingOption) => { +const ThinkingIcon = (props: { option?: ThinkingOption; isFixedReasoning?: boolean }) => { let IconComponent: React.FC> | null = null - - switch (option) { - case 'minimal': - IconComponent = MdiLightbulbOn30 - break - case 'low': - IconComponent = MdiLightbulbOn50 - break - case 'medium': - IconComponent = MdiLightbulbOn80 - break - case 'high': - IconComponent = MdiLightbulbOn - break - case 'auto': - IconComponent = MdiLightbulbAutoOutline - break - case 'none': - IconComponent = MdiLightbulbOffOutline - break - default: - IconComponent = MdiLightbulbOffOutline - break + if (props.isFixedReasoning) { + IconComponent = MdiLightbulbAutoOutline + } else { + switch (props.option) { + case 'minimal': + IconComponent = MdiLightbulbOn30 + break + case 'low': + IconComponent = MdiLightbulbOn50 + break + case 'medium': + IconComponent = MdiLightbulbOn80 + break + case 'high': + IconComponent = MdiLightbulbOn + break + case 'auto': + IconComponent = MdiLightbulbAutoOutline + break + case 'none': + IconComponent = MdiLightbulbOffOutline + break + default: + IconComponent = MdiLightbulbOffOutline + break + } } return