From 96c73e2281b5c79c610351d4e41252c8bfc63de7 Mon Sep 17 00:00:00 2001 From: bymyself Date: Sun, 14 Sep 2025 20:15:23 -0700 Subject: [PATCH] refactor: simplify preview state provider - Remove unnecessary event listeners and manual syncing - Use computed() to directly reference app.nodePreviewImages - Eliminate data duplication and any types - Rely on Vue's reactivity for automatic updates - Follow established patterns from execution state provider --- .../vueNodes/preview/usePreviewStateProvider.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/renderer/extensions/vueNodes/preview/usePreviewStateProvider.ts diff --git a/src/renderer/extensions/vueNodes/preview/usePreviewStateProvider.ts b/src/renderer/extensions/vueNodes/preview/usePreviewStateProvider.ts new file mode 100644 index 000000000..2c2840a7b --- /dev/null +++ b/src/renderer/extensions/vueNodes/preview/usePreviewStateProvider.ts @@ -0,0 +1,14 @@ +import { computed, provide } from 'vue' + +import { NodePreviewImagesKey } from '@/renderer/core/canvas/injectionKeys' +import { app } from '@/scripts/app' + +export const usePreviewStateProvider = () => { + // Provide reactive access to app.nodePreviewImages + // No need to duplicate data - app.nodePreviewImages is already reactive to changes + const nodePreviewImages = computed(() => app.nodePreviewImages) + + provide(NodePreviewImagesKey, nodePreviewImages) + + return { nodePreviewImages } +}