mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-30 21:09:53 +00:00
## Summary Prerequisite refactor/cleanup to use a global store instead of having nodes throw up events to a parent component that stores a reference to a singleton service that itself bootstraps and synchronizes with a separate service to maintain a partially reactive but not fully reactive set of states that describe some but not all aspects of the nodes on either the litegraph, the vue side, or both. ## Changes - **What**: Refactoring, the behavior should not change. - **Dependencies**: A type utility to help with Vue component props ## Review Focus Is there something about the current structure that this could affect that would not be caught by our tests or using the application? ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-5695-Refactor-Composable-disentangling-2746d73d365081e6938ce656932f3e36) by [Unito](https://www.unito.io)
40 lines
917 B
TypeScript
40 lines
917 B
TypeScript
/**
|
|
* Vue-related feature flags composable
|
|
* Manages local settings-driven flags and LiteGraph integration
|
|
*/
|
|
import { createSharedComposable } from '@vueuse/core'
|
|
import { computed, watch } from 'vue'
|
|
|
|
import { useSettingStore } from '@/platform/settings/settingStore'
|
|
|
|
import { LiteGraph } from '../lib/litegraph/src/litegraph'
|
|
|
|
function useVueFeatureFlagsIndividual() {
|
|
const settingStore = useSettingStore()
|
|
|
|
const shouldRenderVueNodes = computed(() => {
|
|
try {
|
|
return settingStore.get('Comfy.VueNodes.Enabled') ?? false
|
|
} catch {
|
|
return false
|
|
}
|
|
})
|
|
|
|
// Watch for changes and update LiteGraph immediately
|
|
watch(
|
|
shouldRenderVueNodes,
|
|
() => {
|
|
LiteGraph.vueNodesMode = shouldRenderVueNodes.value
|
|
},
|
|
{ immediate: true }
|
|
)
|
|
|
|
return {
|
|
shouldRenderVueNodes
|
|
}
|
|
}
|
|
|
|
export const useVueFeatureFlags = createSharedComposable(
|
|
useVueFeatureFlagsIndividual
|
|
)
|