diff --git a/src/composables/useCoreCommands.ts b/src/composables/useCoreCommands.ts index 7bdeb69e0..7beb6b743 100644 --- a/src/composables/useCoreCommands.ts +++ b/src/composables/useCoreCommands.ts @@ -1,3 +1,5 @@ +import type { ComputedRef } from 'vue' + import { useCurrentUser } from '@/composables/auth/useCurrentUser' import { useFirebaseAuthActions } from '@/composables/auth/useFirebaseAuthActions' import { useSelectedLiteGraphItems } from '@/composables/canvas/useSelectedLiteGraphItems' @@ -46,6 +48,7 @@ import { useQueueSettingsStore, useQueueStore } from '@/stores/queueStore' import { useSubgraphNavigationStore } from '@/stores/subgraphNavigationStore' import { useSubgraphStore } from '@/stores/subgraphStore' import { useBottomPanelStore } from '@/stores/workspace/bottomPanelStore' +import { isCloud } from '@/platform/distribution/types' import { useColorPaletteStore } from '@/stores/workspace/colorPaletteStore' import { useRightSidePanelStore } from '@/stores/workspace/rightSidePanelStore' import { useSearchBoxStore } from '@/stores/workspace/searchBoxStore' @@ -63,7 +66,10 @@ import { ManagerTab } from '@/workbench/extensions/manager/types/comfyManagerTyp import { useWorkflowTemplateSelectorDialog } from './useWorkflowTemplateSelectorDialog' -const { isSubscribedOrIsNotCloud, showSubscriptionDialog } = useSubscription() +const defaultSubscriptionState: Pick, 'value'> = { + value: true +} +const noop = () => {} const moveSelectedNodesVersionAdded = '1.22.2' @@ -85,6 +91,11 @@ export function useCoreCommands(): ComfyCommand[] { useSelectedLiteGraphItems() const getTracker = () => workflowStore.activeWorkflow?.changeTracker + const subscription = isCloud ? useSubscription() : null + const subscriptionState = + subscription?.isSubscribedOrIsNotCloud ?? defaultSubscriptionState + const subscriptionDialog = subscription?.showSubscriptionDialog ?? noop + const moveSelectedNodes = ( positionUpdater: (pos: Point, gridSize: number) => Point ) => { @@ -475,8 +486,8 @@ export function useCoreCommands(): ComfyCommand[] { trigger_source?: ExecutionTriggerSource }) => { useTelemetry()?.trackRunButton(metadata) - if (!isSubscribedOrIsNotCloud.value) { - showSubscriptionDialog() + if (!subscriptionState.value) { + subscriptionDialog() return } @@ -498,8 +509,8 @@ export function useCoreCommands(): ComfyCommand[] { trigger_source?: ExecutionTriggerSource }) => { useTelemetry()?.trackRunButton(metadata) - if (!isSubscribedOrIsNotCloud.value) { - showSubscriptionDialog() + if (!subscriptionState.value) { + subscriptionDialog() return } @@ -520,8 +531,8 @@ export function useCoreCommands(): ComfyCommand[] { trigger_source?: ExecutionTriggerSource }) => { useTelemetry()?.trackRunButton(metadata) - if (!isSubscribedOrIsNotCloud.value) { - showSubscriptionDialog() + if (!subscriptionState.value) { + subscriptionDialog() return } diff --git a/tests-ui/tests/composables/useCoreCommands.test.ts b/tests-ui/tests/composables/useCoreCommands.test.ts index 1c8f0c107..100f0ddea 100644 --- a/tests-ui/tests/composables/useCoreCommands.test.ts +++ b/tests-ui/tests/composables/useCoreCommands.test.ts @@ -100,7 +100,7 @@ vi.mock('@/composables/auth/useFirebaseAuthActions', () => ({ vi.mock('@/platform/cloud/subscription/composables/useSubscription', () => ({ useSubscription: vi.fn(() => ({ - isSubscribedOrIsNotCloud: vi.fn().mockReturnValue(true), + isSubscribedOrIsNotCloud: { value: true }, showSubscriptionDialog: vi.fn() })) }))