From 13172ede96bf70494f5b96ea56850ab7464c7b18 Mon Sep 17 00:00:00 2001 From: Gleb Date: Tue, 16 Jun 2026 20:47:06 -0400 Subject: [PATCH] Polish task composer UI --- apps/app/src/components/model-select.tsx | 4 +- .../session/surface/composer/composer.tsx | 69 +++++++++---------- 2 files changed, 35 insertions(+), 38 deletions(-) diff --git a/apps/app/src/components/model-select.tsx b/apps/app/src/components/model-select.tsx index bd81d849f..ba145a609 100644 --- a/apps/app/src/components/model-select.tsx +++ b/apps/app/src/components/model-select.tsx @@ -301,14 +301,14 @@ export function ModelSelect({ disabled={disabled} aria-label="Change model" aria-keyshortcuts="Meta+Alt+/" - className="flex items-center gap-1.5 rounded-md px-2.5 py-1.5 text-sm text-gray-10 transition-colors hover:bg-gray-3 hover:text-gray-12 disabled:pointer-events-none disabled:opacity-60" + className="flex items-center gap-1.5 rounded-2xl px-3 py-2 text-sm text-gray-10 transition-colors hover:bg-gray-3 hover:text-gray-12 disabled:pointer-events-none disabled:opacity-60" /> } > {selectedOption?.title ?? value.modelID ?? "Select model"} - + Change model diff --git a/apps/app/src/react-app/domains/session/surface/composer/composer.tsx b/apps/app/src/react-app/domains/session/surface/composer/composer.tsx index 887399c0d..e6d9d70ca 100644 --- a/apps/app/src/react-app/domains/session/surface/composer/composer.tsx +++ b/apps/app/src/react-app/domains/session/surface/composer/composer.tsx @@ -1016,11 +1016,11 @@ export function ReactSessionComposer(props: ComposerProps) { if (!slashOpen) return null; return (
-
-
event.preventDefault()} +
+
event.preventDefault()} > {slashFiltered.length > 0 ? (
@@ -1072,11 +1072,11 @@ export function ReactSessionComposer(props: ComposerProps) { if (!mentionOpen || mentionFiltered.length === 0) return null; return (
-
-
event.preventDefault()} +
+
event.preventDefault()} >
{mentionFiltered.map((item, index) => ( @@ -1143,15 +1143,15 @@ export function ReactSessionComposer(props: ComposerProps) { {renderSlashMenu()} {props.attachments.length > 0 ? ( -
+
{props.attachments.map((attachment) => ( -
+
{isImageAttachment(attachment) && attachment.previewUrl ? ( -
+
{attachment.name}
) : ( - + )}
{attachment.name}
@@ -1190,9 +1190,8 @@ export function ReactSessionComposer(props: ComposerProps) {
) : null} - -
- {/* Editor */} + {/* Editor */} +
0 ? { - label: t("composer.upload_to_shared_folder"), - onClick: () => void props.onUploadInboxFiles?.(attachedFiles), - } + label: t("composer.upload_to_shared_folder"), + onClick: () => void props.onUploadInboxFiles?.(attachedFiles), + } : undefined, }); // Intentionally no preventDefault — the notice is advisory, @@ -1275,9 +1274,11 @@ export function ReactSessionComposer(props: ComposerProps) { void addAttachments(files); }} /> +
+
{/* Action row — attachments, quick actions, model controls, and send */} -
+
{ @@ -1294,9 +1295,8 @@ export function ReactSessionComposer(props: ComposerProps) { /> {agentMenuOpen ? (
@@ -1658,11 +1658,10 @@ export function ReactSessionComposer(props: ComposerProps) { type="button" onClick={canSend ? props.onSteer : undefined} disabled={!canSend} - className={`inline-flex h-9 max-h-9 items-center gap-2 rounded-l-full pl-4 pr-3 text-[13px] font-medium transition-colors ${ - canSend + className={`inline-flex h-9 max-h-9 items-center gap-2 rounded-l-full pl-4 pr-3 text-[13px] font-medium transition-colors ${canSend ? "bg-[var(--dls-accent)] text-[var(--dls-accent-fg)] hover:bg-[var(--dls-accent-hover)]" : "bg-gray-4 text-gray-10" - }`} + }`} title={t("composer.steer_hint")} > @@ -1674,11 +1673,10 @@ export function ReactSessionComposer(props: ComposerProps) {