Browse Source

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
handoff-20260429-1057
shrimbly 6 months ago
parent
commit
88b8962392
  1. 13
      src/components/nodes/GenerateImageNode.tsx

13
src/components/nodes/GenerateImageNode.tsx

@ -51,6 +51,19 @@ export function GenerateImageNode({ id, data, selected }: NodeProps<NanoBananaNo
return providers;
}, [providerSettings]);
// Migrate legacy data: derive selectedModel from model field if missing
useEffect(() => {
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 () => {

Loading…
Cancel
Save