From 88b89623923085cb23a3f997c1016618aac373d3 Mon Sep 17 00:00:00 2001 From: shrimbly Date: Fri, 9 Jan 2026 20:46:27 +1300 Subject: [PATCH] feat(03-03): handle legacy data in GenerateImageNode UI - Add useEffect to migrate legacy nodes without selectedModel on mount - Derive selectedModel from model field for legacy workflows - Ensures UI reflects correct provider/model for migrated nodes --- src/components/nodes/GenerateImageNode.tsx | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/components/nodes/GenerateImageNode.tsx b/src/components/nodes/GenerateImageNode.tsx index c0b06364..efc6ec6e 100644 --- a/src/components/nodes/GenerateImageNode.tsx +++ b/src/components/nodes/GenerateImageNode.tsx @@ -51,6 +51,19 @@ export function GenerateImageNode({ id, data, selected }: NodeProps { + if (nodeData.model && !nodeData.selectedModel) { + const displayName = nodeData.model === "nano-banana" ? "Nano Banana" : "Nano Banana Pro"; + const newSelectedModel: SelectedModel = { + provider: "gemini", + modelId: nodeData.model, + displayName, + }; + updateNodeData(id, { selectedModel: newSelectedModel }); + } + }, [id, nodeData.model, nodeData.selectedModel, updateNodeData]); + // Fetch models from external providers when provider changes useEffect(() => { const fetchModels = async () => {