Skip to content

Commit 1c04a32

Browse files
fix(clerk-js): SignUpVerificationCodeForm back navigation for combined flows (#6909)
1 parent c4951b4 commit 1c04a32

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

.changeset/puny-queens-dream.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@clerk/clerk-js': patch
3+
---
4+
5+
Ensure the back navigation within SignUpVerificationCode returns to the appropriate step within combined flow.

packages/clerk-js/src/ui/components/SignUp/SignUpVerificationCodeForm.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { useClerk } from '@clerk/shared/react';
22
import type { SignUpResource } from '@clerk/types';
3+
import React from 'react';
34

45
import type { VerificationCodeCardProps } from '@/ui/elements/VerificationCodeCard';
56
import { VerificationCodeCard } from '@/ui/elements/VerificationCodeCard';
67

78
import { forwardClerkQueryParams } from '../../../utils/getClerkQueryParam';
8-
import { useSignUpContext } from '../../contexts';
9+
import { SignInContext, useSignUpContext } from '../../contexts';
910
import type { LocalizationKey } from '../../customizables';
1011
import { useRouter } from '../../router';
1112
import { completeSignUpFlow } from './util';
@@ -24,13 +25,16 @@ type SignInFactorOneCodeFormProps = {
2425
};
2526

2627
export const SignUpVerificationCodeForm = (props: SignInFactorOneCodeFormProps) => {
27-
const { afterSignUpUrl, navigateOnSetActive } = useSignUpContext();
28+
const { afterSignUpUrl, navigateOnSetActive, isCombinedFlow: _isCombinedFlow } = useSignUpContext();
2829
const { setActive } = useClerk();
2930
const { navigate } = useRouter();
3031

32+
const isWithinSignInContext = !!React.useContext(SignInContext);
33+
const isCombinedFlow = !!(isWithinSignInContext && _isCombinedFlow);
34+
3135
const goBack = () => {
3236
const params = forwardClerkQueryParams();
33-
return navigate('../', { searchParams: params });
37+
return navigate(isCombinedFlow ? '../../' : '../', { searchParams: params });
3438
};
3539

3640
const action: VerificationCodeCardProps['onCodeEntryFinishedAction'] = (code, resolve, reject) => {

0 commit comments

Comments
 (0)