From 6f3928d09e2dbbe0553003710a0dd0031f2edf45 Mon Sep 17 00:00:00 2001 From: alejandrobailo Date: Fri, 26 Jun 2026 14:11:53 +0200 Subject: [PATCH] feat(ui): redesign lighthouse chat composer input --- .../lighthouse/_components/chat/composer.tsx | 73 ++++++++++++++----- ui/components/shadcn/textarea/textarea.tsx | 1 + 2 files changed, 54 insertions(+), 20 deletions(-) diff --git a/ui/app/(prowler)/lighthouse/_components/chat/composer.tsx b/ui/app/(prowler)/lighthouse/_components/chat/composer.tsx index 4f24f2f103..2dba3a90be 100644 --- a/ui/app/(prowler)/lighthouse/_components/chat/composer.tsx +++ b/ui/app/(prowler)/lighthouse/_components/chat/composer.tsx @@ -1,10 +1,17 @@ "use client"; -import { ArrowRight, Square } from "lucide-react"; +import { CornerDownLeft, Settings } from "lucide-react"; +import Link from "next/link"; import { type FormEvent } from "react"; import { Button } from "@/components/shadcn/button/button"; +import { Spinner } from "@/components/shadcn/spinner/spinner"; import { Textarea } from "@/components/shadcn/textarea/textarea"; +import { + Tooltip, + TooltipContent, + TooltipTrigger, +} from "@/components/shadcn/tooltip"; interface ChatComposerPanelProps { feedback: string | null; @@ -69,6 +76,8 @@ interface ChatComposerProps { isStreaming: boolean; selectedConfigurationConnected: boolean; onInputChange: (value: string) => void; + // Kept on the contract but unused for now: the backend can't cancel a run yet, + // so the stop control is replaced by a non-interactive spinner. onStop: () => void; onSubmit: (event: FormEvent) => void; onSubmitText: (text: string) => Promise; @@ -80,13 +89,12 @@ function ChatComposer({ isStreaming, selectedConfigurationConnected, onInputChange, - onStop, onSubmit, onSubmitText, }: ChatComposerProps) { return (