Skip to content

Commit 9be19d3

Browse files
committed
Patch hooks
1 parent c9b59fe commit 9be19d3

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

.changeset/grumpy-bags-bow.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/shared': patch
3+
---
4+
5+
Disable billing hooks when the feature is turned off.

packages/shared/src/react/hooks/createCommerceHook.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { ClerkPaginatedResponse, ClerkResource, ForPayerType } from '@clerk/types';
1+
import type { ClerkPaginatedResponse, ClerkResource, EnvironmentResource, ForPayerType } from '@clerk/types';
22

33
import { eventMethodCalled } from '../../telemetry/events/method-called';
44
import {
@@ -66,6 +66,9 @@ export function createCommercePaginatedHook<TResource extends ClerkResource, TPa
6666
} as unknown as T);
6767

6868
const clerk = useClerkInstanceContext();
69+
70+
// @ts-expect-error `__unstable__environment` is not typed
71+
const environment = clerk.__unstable__environment as unknown as EnvironmentResource | null | undefined;
6972
const user = useUserContext();
7073
const { organization } = useOrganizationContext();
7174

@@ -82,7 +85,7 @@ export function createCommercePaginatedHook<TResource extends ClerkResource, TPa
8285

8386
const isClerkLoaded = !!(clerk.loaded && (options?.unauthenticated ? true : user));
8487

85-
const isEnabled = !!hookParams && isClerkLoaded;
88+
const isEnabled = !!hookParams && isClerkLoaded && environment?.commerceSettings.billing.user.enabled;
8689

8790
const result = usePagesOrInfinite<TParams, ClerkPaginatedResponse<TResource>>(
8891
(hookParams || {}) as TParams,

packages/shared/src/react/hooks/useSubscription.tsx

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { ForPayerType } from '@clerk/types';
1+
import type { EnvironmentResource, ForPayerType } from '@clerk/types';
22
import { useCallback } from 'react';
33

44
import { eventMethodCalled } from '../../telemetry/events';
@@ -36,10 +36,13 @@ export const useSubscription = (params?: UseSubscriptionParams) => {
3636
const user = useUserContext();
3737
const { organization } = useOrganizationContext();
3838

39+
// @ts-expect-error `__unstable__environment` is not typed
40+
const environment = clerk.__unstable__environment as unknown as EnvironmentResource | null | undefined;
41+
3942
clerk.telemetry?.record(eventMethodCalled(hookName));
4043

4144
const swr = useSWR(
42-
user?.id
45+
user?.id && environment?.commerceSettings.billing.user.enabled
4346
? {
4447
type: 'commerce-subscription',
4548
userId: user.id,

0 commit comments

Comments
 (0)