From 193a28339e0bd9e3896f50d327b1745283f046b8 Mon Sep 17 00:00:00 2001 From: Bil0000 <62337003+Bil0000@users.noreply.github.com> Date: Thu, 17 Sep 2026 02:21:38 +0200 Subject: [PATCH 1/7] fix(web): bound long composer questions --- .../chat/ComposerPendingUserInputPanel.tsx | 122 +++++++++--------- 1 file changed, 63 insertions(+), 59 deletions(-) diff --git a/apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx b/apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx index 4803708d7943..7462068afefb 100644 --- a/apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx +++ b/apps/web/src/components/chat/ComposerPendingUserInputPanel.tsx @@ -228,66 +228,70 @@ const ComposerPendingUserInputCard = memo(function ComposerPendingUserInputCard( - -

{activeQuestion.question}

- {activeQuestion.multiSelect ? ( -

Select one or more options.

- ) : null} -
- {activeQuestion.options.map((option, index) => { - const optionValue = option.value ?? option.label; - const isOptimisticallySelected = - optimisticSingleSelect?.questionId === activeQuestion.id && - optimisticSingleSelect.optionValue === optionValue; - const isSelected = - isOptimisticallySelected || - (!customAnswerActive && progress.selectedOptionValues.includes(optionValue)); - const shortcutKey = index < 9 ? index + 1 : null; - const className = cn( - "group flex w-full items-center gap-2 rounded-md px-2.5 py-2 text-left outline-none transition-colors duration-150 focus-visible:ring-1 focus-visible:ring-primary/25", - isSelected - ? "bg-muted/55 text-foreground" - : "bg-transparent text-foreground/85 hover:bg-muted/30", - isResponding && "opacity-50 cursor-not-allowed", - !isResponding && "cursor-pointer", - ); - const content = ( - <> -
- {option.label} - {option.description && option.description !== option.label ? ( - {option.description} + + +

{activeQuestion.question}

+ {activeQuestion.multiSelect ? ( +

Select one or more options.

+ ) : null} +
+ {activeQuestion.options.map((option, index) => { + const optionValue = option.value ?? option.label; + const isOptimisticallySelected = + optimisticSingleSelect?.questionId === activeQuestion.id && + optimisticSingleSelect.optionValue === optionValue; + const isSelected = + isOptimisticallySelected || + (!customAnswerActive && progress.selectedOptionValues.includes(optionValue)); + const shortcutKey = index < 9 ? index + 1 : null; + const className = cn( + "group flex w-full items-center gap-2 rounded-md px-2.5 py-2 text-left outline-none transition-colors duration-150 focus-visible:ring-1 focus-visible:ring-primary/25", + isSelected + ? "bg-muted/55 text-foreground" + : "bg-transparent text-foreground/85 hover:bg-muted/30", + isResponding && "opacity-50 cursor-not-allowed", + !isResponding && "cursor-pointer", + ); + const content = ( + <> +
+ {option.label} + {option.description && option.description !== option.label ? ( + + {option.description} + + ) : null} +
+ {isSelected ? ( + + ) : shortcutKey !== null ? ( + + {shortcutKey} + ) : null} -
- {isSelected ? ( - - ) : shortcutKey !== null ? ( - - {shortcutKey} - - ) : null} - - ); - return ( - - ); - })} -
- + + ); + return ( + + ); + })} +
+
+
); From 6a9f85b6aadf245501b9592ff91d54ea6d65cb8a Mon Sep 17 00:00:00 2001 From: Bil0000 <62337003+Bil0000@users.noreply.github.com> Date: Thu, 17 Sep 2026 02:22:35 +0200 Subject: [PATCH 2/7] fix(web): clarify composer notice layout --- apps/web/src/components/ChatView.tsx | 2 +- .../src/components/chat/ComposerBanner.tsx | 7 ++---- .../components/chat/ComposerBannerStack.tsx | 23 ++++++++----------- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/apps/web/src/components/ChatView.tsx b/apps/web/src/components/ChatView.tsx index ec17751ce725..ba9daed83ac9 100644 --- a/apps/web/src/components/ChatView.tsx +++ b/apps/web/src/components/ChatView.tsx @@ -2202,7 +2202,7 @@ export default function ChatView(props: ChatViewProps) {