From 11a54fba3eb8cef9efd900620c406fdd81f053ed Mon Sep 17 00:00:00 2001 From: Quentin Gliech Date: Sun, 5 Apr 2026 11:21:04 +0200 Subject: [PATCH] refactor(web): migrate new issue form to WritePreview Replace inline write/preview tab logic with WritePreview composition component in uncontrolled mode. Removes manual preview state management. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../src/routes/$repo/_issues/issues/new.tsx | 44 +++++-------------- 1 file changed, 11 insertions(+), 33 deletions(-) diff --git a/webui2/src/routes/$repo/_issues/issues/new.tsx b/webui2/src/routes/$repo/_issues/issues/new.tsx index ee0817ad2564e9ddc131c62920a6a23b930095b2..baab8ac983aa87939747c168c0590325b5513613 100644 --- a/webui2/src/routes/$repo/_issues/issues/new.tsx +++ b/webui2/src/routes/$repo/_issues/issues/new.tsx @@ -8,6 +8,7 @@ import { Button } from "@/components/ui/button"; import { ButtonLink } from "@/components/ui/button-link"; import { Input } from "@/components/ui/input"; import { Textarea } from "@/components/ui/textarea"; +import * as WritePreview from "@/components/ui/write-preview"; export const Route = createFileRoute("/$repo/_issues/issues/new")({ component: RouteComponent, @@ -19,7 +20,6 @@ function RouteComponent() { const { repo } = Route.useParams(); const [title, setTitle] = useState(""); const [message, setMessage] = useState(""); - const [preview, setPreview] = useState(false); const [createBug, { loading, error }] = useBugCreateMutation(); async function handleSubmit(e: React.FormEvent) { @@ -58,36 +58,9 @@ function RouteComponent() { autoFocus /> -
-
-
- - -
-
- - {preview ? ( -
- -
- ) : ( + + +