Antoine Moreaux
2025-06-27 10:44:10 +02:00
committed by GitHub
parent 3241539db9
commit c3f8a25d25
3 changed files with 23 additions and 24 deletions

View File

@ -464,19 +464,27 @@ export const useAuth = () => {
const handleCredentialsSignUp = useCallback(
async (email: string, password: string, captchaToken?: string) => {
return signUp({
const signUpResult = await signUp({
variables: { email, password, captchaToken },
onCompleted: async (data) => {
handleSetAuthTokens(data.signUp.tokens);
const { user } = await loadCurrentUser();
if (countAvailableWorkspaces(user.availableWorkspaces) === 0) {
return createWorkspace();
}
setSignInUpStep(SignInUpStep.WorkspaceSelection);
},
});
if (isDefined(signUpResult.errors)) {
throw signUpResult.errors;
}
if (!signUpResult.data?.signUp) {
throw new Error('No signUp result');
}
handleSetAuthTokens(signUpResult.data.signUp.tokens);
const { user } = await loadCurrentUser();
if (countAvailableWorkspaces(user.availableWorkspaces) === 0) {
return await createWorkspace({ newTab: false });
}
setSignInUpStep(SignInUpStep.WorkspaceSelection);
},
[
handleSetAuthTokens,

View File

@ -11,7 +11,7 @@ export const useSignUpInNewWorkspace = () => {
const [signUpInNewWorkspaceMutation] = useSignUpInNewWorkspaceMutation();
const createWorkspace = () => {
const createWorkspace = ({ newTab } = { newTab: true }) => {
signUpInNewWorkspaceMutation({
onCompleted: async (data) => {
return await redirectToWorkspaceDomain(
@ -20,7 +20,7 @@ export const useSignUpInNewWorkspace = () => {
{
loginToken: data.signUpInNewWorkspace.loginToken.token,
},
'_blank',
newTab ? '_blank' : '_self',
);
},
onError: (error: Error) => {

View File

@ -4,7 +4,6 @@ import { captchaTokenState } from '@/captcha/states/captchaTokenState';
import { isRequestingCaptchaTokenState } from '@/captcha/states/isRequestingCaptchaTokenState';
import { isCaptchaRequiredForPath } from '@/captcha/utils/isCaptchaRequiredForPath';
import { captchaState } from '@/client-config/states/captchaState';
import { useLocation } from 'react-router-dom';
import { CaptchaDriverType } from '~/generated-metadata/graphql';
import { isUndefinedOrNull } from '~/utils/isUndefinedOrNull';
@ -21,12 +20,10 @@ export const useRequestFreshCaptchaToken = () => {
isRequestingCaptchaTokenState,
);
const location = useLocation();
const requestFreshCaptchaToken = useRecoilCallback(
({ snapshot }) =>
async () => {
if (!isCaptchaRequiredForPath(location.pathname)) {
if (!isCaptchaRequiredForPath(window.location.pathname)) {
return;
}
@ -47,12 +44,6 @@ export const useRequestFreshCaptchaToken = () => {
action: 'submit',
})
.then((token: string) => {
// TODO remove this log once debugged
// eslint-disable-next-line no-console
console.log(
'Google Recaptcha token generated at',
new Date().toISOString(),
);
setCaptchaToken(token);
setIsRequestingCaptchaToken(false);
});
@ -69,7 +60,7 @@ export const useRequestFreshCaptchaToken = () => {
});
}
},
[location.pathname, setCaptchaToken, setIsRequestingCaptchaToken],
[setCaptchaToken, setIsRequestingCaptchaToken],
);
return { requestFreshCaptchaToken };