diff --git a/src/composables/graph/useGraphNodeManager.ts b/src/composables/graph/useGraphNodeManager.ts index 262d37639..2456b8c30 100644 --- a/src/composables/graph/useGraphNodeManager.ts +++ b/src/composables/graph/useGraphNodeManager.ts @@ -56,6 +56,7 @@ export interface VueNodeData { widgets?: SafeWidgetData[] inputs?: unknown[] outputs?: unknown[] + hasErrors?: boolean flags?: { collapsed?: boolean } @@ -208,6 +209,7 @@ export const useGraphNodeManager = (graph: LGraph): GraphNodeManager => { mode: node.mode || 0, selected: node.selected || false, executing: false, // Will be updated separately based on execution state + hasErrors: !!node.has_errors, widgets: safeWidgets, inputs: node.inputs ? [...node.inputs] : undefined, outputs: node.outputs ? [...node.outputs] : undefined, diff --git a/src/renderer/extensions/vueNodes/components/LGraphNode.vue b/src/renderer/extensions/vueNodes/components/LGraphNode.vue index f88b4122c..aeb0e9a23 100644 --- a/src/renderer/extensions/vueNodes/components/LGraphNode.vue +++ b/src/renderer/extensions/vueNodes/components/LGraphNode.vue @@ -13,7 +13,7 @@ // border 'border border-solid border-sand-100 dark-theme:border-charcoal-300', !!executing && 'border-blue-500 dark-theme:border-blue-500', - !!error && 'border-red-700 dark-theme:border-red-300', + !!(error || nodeData.hasErrors) && 'border-error', // hover 'hover:ring-7 ring-gray-500/50 dark-theme:ring-gray-500/20', // Selected @@ -21,7 +21,7 @@ !!isSelected && 'outline-black dark-theme:outline-white', !!(isSelected && executing) && 'outline-blue-500 dark-theme:outline-blue-500', - !!(isSelected && error) && 'outline-red-500 dark-theme:outline-red-500', + !!(isSelected && (error || nodeData.hasErrors)) && 'outline-error', { 'animate-pulse': executing, 'opacity-50': nodeData.mode === 4,