@@ -7,6 +7,8 @@ import type { NodeBadgeProps } from '@/renderer/extensions/vueNodes/components/N
77import { useCanvasStore } from '@/renderer/core/canvas/canvasStore'
88import { useNodeDefStore } from '@/stores/nodeDefStore'
99import { nodeBadges } from '@/systems/badgeSystem'
10+ import { CORE_JOIN_ORDER } from '@/types/badgeData'
11+ import type { CoreBadgePart } from '@/types/badgeData'
1012import { NodeBadgeMode } from '@/types/nodeSource'
1113import { resolveNode } from '@/utils/litegraphUtil'
1214
@@ -33,7 +35,7 @@ export function usePartitionedBadges(nodeData: NodeState) {
3335 settingStore . get ( 'Comfy.NodeBadge.NodeSourceBadgeMode' ) ===
3436 NodeBadgeMode . ShowAll
3537
36- const core : NodeBadgeProps [ ] = [ ]
38+ const coreByPart = new Map < CoreBadgePart , NodeBadgeProps > ( )
3739 const extension : NodeBadgeProps [ ] = [ ]
3840 const pricing : { required : string ; rest ?: string } [ ] = [ ]
3941
@@ -46,7 +48,7 @@ export function usePartitionedBadges(nodeData: NodeState) {
4648 continue
4749 }
4850 if ( nodeDef ?. isCoreNode && row . part === 'source' ) continue
49- core . push ( {
51+ coreByPart . set ( row . part , {
5052 text : row . part === 'lifecycle' ? trim ( row . text , [ '[' , ']' ] ) : row . text
5153 } )
5254 }
@@ -58,7 +60,10 @@ export function usePartitionedBadges(nodeData: NodeState) {
5860
5961 return {
6062 hasComfyBadge : showComfyLogo && pricing . length === 0 ,
61- core,
63+ core : CORE_JOIN_ORDER . flatMap ( ( part ) => {
64+ const badge = coreByPart . get ( part )
65+ return badge ? [ badge ] : [ ]
66+ } ) ,
6267 extension,
6368 pricing
6469 }
0 commit comments