From 621d7e06bafa8fb15c1f7aa3b3f63af23167d808 Mon Sep 17 00:00:00 2001 From: shrimbly Date: Wed, 11 Mar 2026 14:05:40 +1300 Subject: [PATCH] fix(24-01): fix node UX issues - error display, accessibility, button states, dead code - LLM error view now shows nodeData.error message below "Generation failed" - ImageInputNode remove button has aria-label and keyboard focus styles - ImageInputNode empty state has role=button, tabIndex, keyboard handler - SplitGrid split button disabled when no source image connected - PromptNode dead modal code removed, variable dialog has clickable @var trigger - PromptConstructorNode dead modal code and unused imports removed Co-Authored-By: Claude Opus 4.6 --- src/components/nodes/ImageInputNode.tsx | 12 ++++- src/components/nodes/LLMGenerateNode.tsx | 3 ++ .../nodes/PromptConstructorNode.tsx | 34 -------------- src/components/nodes/PromptNode.tsx | 44 +++---------------- src/components/nodes/SplitGridNode.tsx | 4 +- 5 files changed, 23 insertions(+), 74 deletions(-) diff --git a/src/components/nodes/ImageInputNode.tsx b/src/components/nodes/ImageInputNode.tsx index 849fa190..c013f524 100644 --- a/src/components/nodes/ImageInputNode.tsx +++ b/src/components/nodes/ImageInputNode.tsx @@ -114,7 +114,8 @@ export function ImageInputNode({ id, data, selected }: NodeProps {/* Text output handle */} ) { /> - {/* Prompt Editor Modal - rendered via portal to escape React Flow stacking context */} - {isModalOpenLocal && createPortal( - , - document.body - )} - {/* Variable Naming Dialog - rendered via portal */} {showVarDialog && createPortal(
diff --git a/src/components/nodes/SplitGridNode.tsx b/src/components/nodes/SplitGridNode.tsx index 3f7070e3..a98355ce 100644 --- a/src/components/nodes/SplitGridNode.tsx +++ b/src/components/nodes/SplitGridNode.tsx @@ -148,9 +148,9 @@ export function SplitGridNode({ id, data, selected }: NodeProps Split