Skip to content

Commit 79ddb75

Browse files
rename isSubscribed and dont import cloud on local
1 parent 2bf45f2 commit 79ddb75

File tree

16 files changed

+66
-48
lines changed

16 files changed

+66
-48
lines changed
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<component
33
:is="currentButton"
4-
:key="isActiveSubscription ? 'queue' : 'subscribe'"
4+
:key="isSubscribedOrIsNotCloud ? 'queue' : 'subscribe'"
55
/>
66
</template>
77
<script setup lang="ts">
@@ -11,9 +11,9 @@ import ComfyQueueButton from '@/components/actionbar/ComfyRunButton/ComfyQueueBu
1111
import SubscribeToRunButton from '@/platform/cloud/subscription/components/SubscribeToRun.vue'
1212
import { useSubscription } from '@/platform/cloud/subscription/composables/useSubscription'
1313
14-
const { isActiveSubscription } = useSubscription()
14+
const { isSubscribedOrIsNotCloud } = useSubscription()
1515
1616
const currentButton = computed(() =>
17-
isActiveSubscription.value ? ComfyQueueButton : SubscribeToRunButton
17+
isSubscribedOrIsNotCloud.value ? ComfyQueueButton : SubscribeToRunButton
1818
)
1919
</script>

src/components/dialog/content/setting/CreditsPanel.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<UserCredit text-class="text-3xl font-bold" />
1616
<Skeleton v-if="loading" width="2rem" height="2rem" />
1717
<Button
18-
v-else-if="isActiveSubscription"
18+
v-else-if="isSubscribedOrIsNotCloud"
1919
:label="$t('credits.purchaseCredits')"
2020
:loading="loading"
2121
@click="handlePurchaseCreditsClick"
@@ -125,6 +125,7 @@ import UsageLogsTable from '@/components/dialog/content/setting/UsageLogsTable.v
125125
import { useFirebaseAuthActions } from '@/composables/auth/useFirebaseAuthActions'
126126
import { useExternalLink } from '@/composables/useExternalLink'
127127
import { useSubscription } from '@/platform/cloud/subscription/composables/useSubscription'
128+
import { isCloud } from '@/platform/distribution/types'
128129
import { useTelemetry } from '@/platform/telemetry'
129130
import { useDialogService } from '@/services/dialogService'
130131
import { useCommandStore } from '@/stores/commandStore'
@@ -144,7 +145,11 @@ const authStore = useFirebaseAuthStore()
144145
const authActions = useFirebaseAuthActions()
145146
const commandStore = useCommandStore()
146147
const telemetry = useTelemetry()
147-
const { isActiveSubscription } = useSubscription()
148+
const subscription = isCloud ? useSubscription() : null
149+
const isSubscribedOrIsNotCloud = computed(() => {
150+
if (!isCloud) return true
151+
return subscription?.isSubscribedOrIsNotCloud.value ?? false
152+
})
148153
const loading = computed(() => authStore.loading)
149154
const balanceLoading = computed(() => authStore.isFetchingBalance)
150155

src/components/topbar/CurrentUserPopover.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ vi.mock('@/stores/firebaseAuthStore', () => ({
8282
const mockFetchStatus = vi.fn().mockResolvedValue(undefined)
8383
vi.mock('@/platform/cloud/subscription/composables/useSubscription', () => ({
8484
useSubscription: vi.fn(() => ({
85-
isActiveSubscription: { value: true },
85+
isSubscribedOrIsNotCloud: { value: true },
8686
fetchStatus: mockFetchStatus
8787
}))
8888
}))

src/components/topbar/CurrentUserPopover.vue

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@
2323
</div>
2424
</div>
2525

26-
<div v-if="isActiveSubscription" class="flex items-center justify-between">
26+
<div
27+
v-if="isSubscribedOrIsNotCloud"
28+
class="flex items-center justify-between"
29+
>
2730
<div class="flex flex-col gap-1">
2831
<UserCredit text-class="text-2xl" />
2932
<Button
@@ -68,7 +71,7 @@
6871
/>
6972

7073
<Button
71-
v-if="isActiveSubscription"
74+
v-if="isSubscribedOrIsNotCloud"
7275
class="justify-start"
7376
:label="$t(planSettingsLabel)"
7477
icon="pi pi-receipt"
@@ -122,7 +125,7 @@ const { userDisplayName, userEmail, userPhotoUrl, handleSignOut } =
122125
useCurrentUser()
123126
const authActions = useFirebaseAuthActions()
124127
const dialogService = useDialogService()
125-
const { isActiveSubscription, fetchStatus } = useSubscription()
128+
const { isSubscribedOrIsNotCloud, fetchStatus } = useSubscription()
126129
127130
const handleOpenUserSettings = () => {
128131
dialogService.showSettingsDialog('user')

src/composables/auth/useFirebaseAuthActions.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,10 @@ export const useFirebaseAuthActions = () => {
8282
)
8383

8484
const purchaseCredits = wrapWithErrorHandlingAsync(async (amount: number) => {
85-
const { isActiveSubscription } = useSubscription()
86-
if (!isActiveSubscription.value) return
85+
if (isCloud) {
86+
const { isSubscribedOrIsNotCloud } = useSubscription()
87+
if (!isSubscribedOrIsNotCloud.value) return
88+
}
8789

8890
const response = await authStore.initiateCreditPurchase({
8991
amount_micros: usdToMicros(amount),

src/composables/useCoreCommands.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ import { ManagerTab } from '@/workbench/extensions/manager/types/comfyManagerTyp
6363

6464
import { useWorkflowTemplateSelectorDialog } from './useWorkflowTemplateSelectorDialog'
6565

66-
const { isActiveSubscription, showSubscriptionDialog } = useSubscription()
66+
const { isSubscribedOrIsNotCloud, showSubscriptionDialog } = useSubscription()
6767

6868
const moveSelectedNodesVersionAdded = '1.22.2'
6969

@@ -475,7 +475,7 @@ export function useCoreCommands(): ComfyCommand[] {
475475
trigger_source?: ExecutionTriggerSource
476476
}) => {
477477
useTelemetry()?.trackRunButton(metadata)
478-
if (!isActiveSubscription.value) {
478+
if (!isSubscribedOrIsNotCloud.value) {
479479
showSubscriptionDialog()
480480
return
481481
}
@@ -498,7 +498,7 @@ export function useCoreCommands(): ComfyCommand[] {
498498
trigger_source?: ExecutionTriggerSource
499499
}) => {
500500
useTelemetry()?.trackRunButton(metadata)
501-
if (!isActiveSubscription.value) {
501+
if (!isSubscribedOrIsNotCloud.value) {
502502
showSubscriptionDialog()
503503
return
504504
}
@@ -520,7 +520,7 @@ export function useCoreCommands(): ComfyCommand[] {
520520
trigger_source?: ExecutionTriggerSource
521521
}) => {
522522
useTelemetry()?.trackRunButton(metadata)
523-
if (!isActiveSubscription.value) {
523+
if (!isSubscribedOrIsNotCloud.value) {
524524
showSubscriptionDialog()
525525
return
526526
}

src/platform/cloud/subscription/components/SubscribeButton.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ const emit = defineEmits<{
5151
subscribed: []
5252
}>()
5353
54-
const { subscribe, isActiveSubscription, fetchStatus } = useSubscription()
54+
const { subscribe, isSubscribedOrIsNotCloud, fetchStatus } = useSubscription()
5555
const telemetry = useTelemetry()
5656
5757
const isLoading = ref(false)
@@ -76,7 +76,7 @@ const startPollingSubscriptionStatus = () => {
7676
7777
await fetchStatus()
7878
79-
if (isActiveSubscription.value) {
79+
if (isSubscribedOrIsNotCloud.value) {
8080
stopPolling()
8181
telemetry?.trackMonthlySubscriptionSucceeded()
8282
emit('subscribed')

src/platform/cloud/subscription/components/SubscriptionPanel.vue

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<div class="flex items-baseline gap-2">
55
<span class="text-2xl font-inter font-semibold leading-tight">
66
{{
7-
isActiveSubscription
7+
isSubscribedOrIsNotCloud
88
? $t('subscription.title')
99
: $t('subscription.titleUnsubscribed')
1010
}}
@@ -27,7 +27,7 @@
2727
}}</span>
2828
</div>
2929
<div
30-
v-if="isActiveSubscription"
30+
v-if="isSubscribedOrIsNotCloud"
3131
class="text-sm text-text-secondary"
3232
>
3333
<template v-if="isCancelled">
@@ -47,7 +47,7 @@
4747
</div>
4848
</div>
4949
<Button
50-
v-if="isActiveSubscription"
50+
v-if="isSubscribedOrIsNotCloud"
5151
:label="$t('subscription.manageSubscription')"
5252
severity="secondary"
5353
class="text-xs bg-interface-menu-component-surface-selected"
@@ -196,7 +196,7 @@
196196
{{ $t('subscription.viewUsageHistory') }}
197197
</a>
198198
<Button
199-
v-if="isActiveSubscription"
199+
v-if="isSubscribedOrIsNotCloud"
200200
:label="$t('subscription.addCredits')"
201201
severity="secondary"
202202
class="p-2 min-h-8 bg-interface-menu-component-surface-selected"
@@ -320,7 +320,7 @@ import { cn } from '@/utils/tailwindUtil'
320320
const { buildDocsUrl } = useExternalLink()
321321
322322
const {
323-
isActiveSubscription,
323+
isSubscribedOrIsNotCloud,
324324
isCancelled,
325325
formattedRenewalDate,
326326
formattedEndDate,

src/platform/cloud/subscription/composables/useSubscription.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ function useSubscriptionInternal() {
111111
const { startCancellationWatcher, stopCancellationWatcher } =
112112
useSubscriptionCancellationWatcher({
113113
fetchStatus,
114-
isActiveSubscription: isSubscribedOrIsNotCloud,
114+
isSubscribedOrIsNotCloud,
115115
subscriptionStatus,
116116
telemetry,
117117
shouldWatchCancellation
@@ -223,7 +223,7 @@ function useSubscriptionInternal() {
223223

224224
return {
225225
// State
226-
isActiveSubscription: isSubscribedOrIsNotCloud,
226+
isSubscribedOrIsNotCloud,
227227
isCancelled,
228228
formattedRenewalDate,
229229
formattedEndDate,

src/platform/cloud/subscription/composables/useSubscriptionCancellationWatcher.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ const CANCELLATION_BACKOFF_MULTIPLIER = 3 // 5s, 15s, 45s, 135s intervals
1212

1313
type CancellationWatcherOptions = {
1414
fetchStatus: () => Promise<CloudSubscriptionStatusResponse | null | void>
15-
isActiveSubscription: ComputedRef<boolean>
15+
isSubscribedOrIsNotCloud: ComputedRef<boolean>
1616
subscriptionStatus: Ref<CloudSubscriptionStatusResponse | null>
1717
telemetry: Pick<TelemetryProvider, 'trackMonthlySubscriptionCancelled'> | null
1818
shouldWatchCancellation: () => boolean
1919
}
2020

2121
export function useSubscriptionCancellationWatcher({
2222
fetchStatus,
23-
isActiveSubscription,
23+
isSubscribedOrIsNotCloud,
2424
subscriptionStatus,
2525
telemetry,
2626
shouldWatchCancellation
@@ -73,7 +73,7 @@ export function useSubscriptionCancellationWatcher({
7373
try {
7474
await fetchStatus()
7575

76-
if (!isActiveSubscription.value) {
76+
if (!isSubscribedOrIsNotCloud.value) {
7777
if (!cancellationTracked.value) {
7878
cancellationTracked.value = true
7979
try {

0 commit comments

Comments
 (0)