-
-
-
+
{{ node.label }}
@@ -41,6 +39,7 @@ import { computed, inject } from 'vue'
import TextTickerMultiLine from '@/components/common/TextTickerMultiLine.vue'
import NodePreviewCard from '@/components/node/NodePreviewCard.vue'
import { useNodePreviewAndDrag } from '@/composables/node/useNodePreviewAndDrag'
+import { ESSENTIALS_ICON_OVERRIDES } from '@/constants/essentialsNodes'
import type { ComfyNodeDefImpl } from '@/stores/nodeDefStore'
import type { RenderedTreeExplorerNode } from '@/types/treeExplorerTypes'
import { cn } from '@/utils/tailwindUtil'
@@ -72,6 +71,8 @@ const {
const nodeIcon = computed(() => {
const nodeName = node.data?.name
+ if (nodeName && nodeName in ESSENTIALS_ICON_OVERRIDES)
+ return ESSENTIALS_ICON_OVERRIDES[nodeName]
const iconName = nodeName ? kebabCase(nodeName) : 'node'
return `icon-[comfy--${iconName}]`
})
diff --git a/src/constants/essentialsNodes.ts b/src/constants/essentialsNodes.ts
index 9dae955621..07afc8d9c2 100644
--- a/src/constants/essentialsNodes.ts
+++ b/src/constants/essentialsNodes.ts
@@ -6,6 +6,17 @@
* Source: https://www.notion.so/comfy-org/2fe6d73d365080d0a951d14cdf540778
*/
+export const ESSENTIALS_ICON_OVERRIDES: Record
= {
+ LoadImage: 'icon-s1.3-[lucide--image-up]',
+ LoadImageOutput: 'icon-s1.3-[lucide--image-up]',
+ SaveImage: 'icon-s1.3-[lucide--image-down]',
+ PrimitiveStringMultiline: 'icon-s1.3-[lucide--text]',
+ ImageCrop: 'icon-s1.3-[lucide--crop]',
+ VideoCrop: 'icon-s1.3-[lucide--crop]',
+ KlingLipSyncAudioToVideoNode: 'icon-s1.3-[lucide--mic-vocal]',
+ WebcamCapture: 'icon-s1.3-[lucide--camera]'
+}
+
export const ESSENTIALS_CATEGORIES = [
'basics',
'text generation',