Browse Source

fix(47-02): show blue selection ring around settings area when node selected

InlineParameterPanel now accepts a selected prop and draws a matching
ring-2 ring-blue-500/40 around the settings area when the node is
selected and parameters are expanded. Passed from all five node types.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
handoff-20260429-1057
shrimbly 4 months ago
parent
commit
80b66fb524
  1. 1
      src/components/nodes/Generate3DNode.tsx
  2. 1
      src/components/nodes/GenerateAudioNode.tsx
  3. 1
      src/components/nodes/GenerateImageNode.tsx
  4. 1
      src/components/nodes/GenerateVideoNode.tsx
  5. 4
      src/components/nodes/InlineParameterPanel.tsx
  6. 1
      src/components/nodes/LLMGenerateNode.tsx

1
src/components/nodes/Generate3DNode.tsx

@ -430,6 +430,7 @@ export function Generate3DNode({ id, data, selected }: NodeProps<Generate3DNodeT
expanded={isParamsExpanded}
onToggle={handleToggleParams}
nodeId={id}
selected={selected}
>
{/* Model selector: Browse button + current model display */}
<div className="flex items-center justify-between gap-2">

1
src/components/nodes/GenerateAudioNode.tsx

@ -390,6 +390,7 @@ export function GenerateAudioNode({ id, data, selected }: NodeProps<GenerateAudi
expanded={isParamsExpanded}
onToggle={handleToggleParams}
nodeId={id}
selected={selected}
>
{/* Model selector: Browse button + current model display */}
<div className="flex items-center justify-between gap-2">

1
src/components/nodes/GenerateImageNode.tsx

@ -757,6 +757,7 @@ export function GenerateImageNode({ id, data, selected }: NodeProps<NanoBananaNo
expanded={isParamsExpanded}
onToggle={handleToggleParams}
nodeId={id}
selected={selected}
>
{/* Gemini-specific controls */}
{isGeminiProvider && currentModelId && (

1
src/components/nodes/GenerateVideoNode.tsx

@ -820,6 +820,7 @@ export function GenerateVideoNode({ id, data, selected }: NodeProps<GenerateVide
expanded={isParamsExpanded}
onToggle={handleToggleParams}
nodeId={id}
selected={selected}
>
{/* External provider parameters - reuse ModelParameters component */}
{nodeData.selectedModel?.modelId && !isVeoModel(nodeData.selectedModel.modelId) && (

4
src/components/nodes/InlineParameterPanel.tsx

@ -7,6 +7,7 @@ interface InlineParameterPanelProps {
onToggle: () => void;
children: ReactNode;
nodeId: string;
selected?: boolean;
}
/**
@ -18,9 +19,10 @@ export function InlineParameterPanel({
onToggle,
children,
nodeId,
selected = false,
}: InlineParameterPanelProps) {
return (
<div className="w-full">
<div className={`w-full ${expanded && selected ? "ring-2 ring-blue-500/40 rounded-b-lg" : ""}`}>
{/* Settings toggle button — no background when collapsed, floats below node edge */}
<button
type="button"

1
src/components/nodes/LLMGenerateNode.tsx

@ -243,6 +243,7 @@ export function LLMGenerateNode({ id, data, selected }: NodeProps<LLMGenerateNod
expanded={isParamsExpanded}
onToggle={handleToggleParams}
nodeId={id}
selected={selected}
>
{/* LLM-specific controls */}
<div className="space-y-1.5">

Loading…
Cancel
Save