Skip to content

Commit ea2307e

Browse files
committed
Use navigate for setActive on combined flow
1 parent 9547dbd commit ea2307e

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

packages/clerk-js/src/ui/components/SignIn/SignInStart.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -473,6 +473,7 @@ function SignInStartInternal(): JSX.Element {
473473
signUpMode: userSettings.signUp.mode,
474474
redirectUrl,
475475
redirectUrlComplete,
476+
navigateOnSetActive,
476477
passwordEnabled: userSettings.attributes.password?.required ?? false,
477478
alternativePhoneCodeChannel:
478479
alternativePhoneCodeProvider?.channel ||

packages/clerk-js/src/ui/components/SignIn/__tests__/handleCombinedFlowTransfer.test.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ describe('handleCombinedFlowTransfer', () => {
4040
clerk: mockClerk as unknown as LoadedClerk,
4141
afterSignUpUrl: 'https://test.com',
4242
passwordEnabled: false,
43+
navigateOnSetActive: jest.fn(),
4344
});
4445

4546
expect(mockCompleteSignUpFlow).toHaveBeenCalled();
@@ -64,6 +65,7 @@ describe('handleCombinedFlowTransfer', () => {
6465
clerk: mockClerk as unknown as LoadedClerk,
6566
afterSignUpUrl: 'https://test.com',
6667
passwordEnabled: false,
68+
navigateOnSetActive: jest.fn(),
6769
});
6870

6971
expect(mockNavigate).not.toHaveBeenCalled();
@@ -90,6 +92,7 @@ describe('handleCombinedFlowTransfer', () => {
9092
clerk: mockClerk as unknown as LoadedClerk,
9193
afterSignUpUrl: 'https://test.com',
9294
passwordEnabled: true,
95+
navigateOnSetActive: jest.fn(),
9396
});
9497

9598
expect(mockNavigate).toHaveBeenCalled();
@@ -116,6 +119,7 @@ describe('handleCombinedFlowTransfer', () => {
116119
clerk: mockClerk as unknown as LoadedClerk,
117120
afterSignUpUrl: 'https://test.com',
118121
passwordEnabled: false,
122+
navigateOnSetActive: jest.fn(),
119123
});
120124

121125
expect(mockNavigate).toHaveBeenCalled();
@@ -142,6 +146,7 @@ describe('handleCombinedFlowTransfer', () => {
142146
clerk: mockClerk as unknown as LoadedClerk,
143147
afterSignUpUrl: 'https://test.com',
144148
passwordEnabled: false,
149+
navigateOnSetActive: jest.fn(),
145150
});
146151

147152
expect(mockNavigate).toHaveBeenCalled();

packages/clerk-js/src/ui/components/SignIn/handleCombinedFlowTransfer.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
import type { LoadedClerk, PhoneCodeChannel, PhoneCodeStrategy, SignUpModes, SignUpResource } from '@clerk/types';
1+
import type {
2+
LoadedClerk,
3+
PhoneCodeChannel,
4+
PhoneCodeStrategy,
5+
SessionResource,
6+
SignUpModes,
7+
SignUpResource,
8+
} from '@clerk/types';
29

310
import { SIGN_UP_MODES } from '../../../core/constants';
411
import type { RouteContextValue } from '../../router/RouteContext';
@@ -17,6 +24,7 @@ type HandleCombinedFlowTransferProps = {
1724
redirectUrlComplete?: string;
1825
passwordEnabled: boolean;
1926
alternativePhoneCodeChannel?: PhoneCodeChannel | null;
27+
navigateOnSetActive: (opts: { session: SessionResource; redirectUrl: string }) => Promise<unknown>;
2028
};
2129

2230
/**
@@ -35,6 +43,7 @@ export function handleCombinedFlowTransfer({
3543
redirectUrl,
3644
redirectUrlComplete,
3745
passwordEnabled,
46+
navigateOnSetActive,
3847
alternativePhoneCodeChannel,
3948
}: HandleCombinedFlowTransferProps): Promise<unknown> | void {
4049
if (signUpMode === SIGN_UP_MODES.WAITLIST) {
@@ -83,7 +92,13 @@ export function handleCombinedFlowTransfer({
8392
signUp: res,
8493
verifyEmailPath: 'create/verify-email-address',
8594
verifyPhonePath: 'create/verify-phone-number',
86-
handleComplete: () => clerk.setActive({ session: res.createdSessionId, redirectUrl: afterSignUpUrl }),
95+
handleComplete: () =>
96+
clerk.setActive({
97+
session: res.createdSessionId,
98+
navigate: async ({ session }) => {
99+
await navigateOnSetActive({ session, redirectUrl: afterSignUpUrl });
100+
},
101+
}),
87102
navigate,
88103
redirectUrl,
89104
redirectUrlComplete,

0 commit comments

Comments
 (0)