From e904a43b5a5d2640dd654835bb64109a728c2568 Mon Sep 17 00:00:00 2001 From: Bohdan Triapitsyn Date: Mon, 29 Jun 2026 01:37:36 +0300 Subject: [PATCH] fix(settings): move Follow-up behavior radio group next to the other choice settings It was rendered in the middle of the checkbox list, where a labeled radio group reads as out of place. Move it into the radio/choice cluster, right after Diff Layout, and drop it from the checkbox section's visibility gate. --- .../openchamber/OpenChamberVisualSettings.tsx | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/packages/ui/src/components/sections/openchamber/OpenChamberVisualSettings.tsx b/packages/ui/src/components/sections/openchamber/OpenChamberVisualSettings.tsx index 433d5053..509a7ca3 100644 --- a/packages/ui/src/components/sections/openchamber/OpenChamberVisualSettings.tsx +++ b/packages/ui/src/components/sections/openchamber/OpenChamberVisualSettings.tsx @@ -1429,7 +1429,7 @@ export const OpenChamberVisualSettings: React.FC {hasBehaviorSettings && (
- {(shouldShow('userMessageRendering') || shouldShow('mermaidRendering') || shouldShow('chatRenderMode') || shouldShow('messageTransport') || (shouldShow('activityRenderMode') && chatRenderMode === 'sorted') || (shouldShow('diffLayout') && !isVSCode)) && ( + {(shouldShow('userMessageRendering') || shouldShow('mermaidRendering') || shouldShow('chatRenderMode') || shouldShow('messageTransport') || (shouldShow('activityRenderMode') && chatRenderMode === 'sorted') || (shouldShow('diffLayout') && !isVSCode) || shouldShow('followUpBehavior')) && (
{shouldShow('chatRenderMode') && (
@@ -1735,10 +1735,46 @@ export const OpenChamberVisualSettings: React.FC
)} + {shouldShow('followUpBehavior') && ( +
+

{t('settings.openchamber.visual.section.followUpBehavior')}

+
+ {FOLLOW_UP_BEHAVIOR_OPTIONS.map((option) => { + const selected = followUpBehavior === option.id; + return ( +
setFollowUpBehavior(option.id)} + onKeyDown={(event) => { + if (event.key === ' ' || event.key === 'Enter') { + event.preventDefault(); + setFollowUpBehavior(option.id); + } + }} + className="flex w-full items-center gap-2 py-0 text-left" + > + setFollowUpBehavior(option.id)} + ariaLabel={t('settings.openchamber.visual.field.followUpBehaviorAria', { option: tUnsafe(option.labelKey) })} + /> + + {tUnsafe(option.labelKey)} + +
+ ); + })} +
+
+ )} +
)} - {(shouldShow('collapsibleUserMessages') || shouldShow('stickyUserHeader') || shouldShow('wideChatLayout') || shouldShow('splitAssistantMessageActions') || shouldShow('dotfiles') || shouldShow('fileViewerPreview') || shouldShow('followUpBehavior') || shouldShow('persistDraft') || shouldShow('showToolFileIcons') || shouldShow('showTurnChangedFiles') || (!isMobile && shouldShow('inputSpellcheck')) || shouldShow('reasoning')) && ( + {(shouldShow('collapsibleUserMessages') || shouldShow('stickyUserHeader') || shouldShow('wideChatLayout') || shouldShow('splitAssistantMessageActions') || shouldShow('dotfiles') || shouldShow('fileViewerPreview') || shouldShow('persistDraft') || shouldShow('showToolFileIcons') || shouldShow('showTurnChangedFiles') || (!isMobile && shouldShow('inputSpellcheck')) || shouldShow('reasoning')) && (
{shouldShow('reasoning') && (
)} - {shouldShow('followUpBehavior') && ( -
-

{t('settings.openchamber.visual.section.followUpBehavior')}

-
- {FOLLOW_UP_BEHAVIOR_OPTIONS.map((option) => { - const selected = followUpBehavior === option.id; - return ( -
setFollowUpBehavior(option.id)} - onKeyDown={(event) => { - if (event.key === ' ' || event.key === 'Enter') { - event.preventDefault(); - setFollowUpBehavior(option.id); - } - }} - className="flex w-full items-center gap-2 py-0 text-left" - > - setFollowUpBehavior(option.id)} - ariaLabel={t('settings.openchamber.visual.field.followUpBehaviorAria', { option: tUnsafe(option.labelKey) })} - /> - - {tUnsafe(option.labelKey)} - -
- ); - })} -
-
- )} - {shouldShow('persistDraft') && (