Improve Jotai work (#18205)

This commit is contained in:
Charles Bochet
2026-02-24 20:38:30 +01:00
committed by GitHub
parent b339c93699
commit eaf9fe27b2
210 changed files with 1714 additions and 1662 deletions
@@ -1,16 +1,17 @@
import { captchaTokenState } from '@/captcha/states/captchaTokenState';
import { jotaiStore } from '@/ui/utilities/state/jotai/jotaiStore';
import { useCallback } from 'react';
import { isDefined } from 'twenty-shared/utils';
import { useStore } from 'jotai';
export const useReadCaptchaToken = () => {
const store = useStore();
const readCaptchaToken = useCallback(() => {
const existingCaptchaToken = jotaiStore.get(captchaTokenState.atom);
const existingCaptchaToken = store.get(captchaTokenState.atom);
if (isDefined(existingCaptchaToken)) {
return existingCaptchaToken;
}
}, []);
}, [store]);
return { readCaptchaToken };
};
@@ -3,12 +3,13 @@ import { isRequestingCaptchaTokenState } from '@/captcha/states/isRequestingCapt
import { isCaptchaRequiredForPath } from '@/captcha/utils/isCaptchaRequiredForPath';
import { captchaState } from '@/client-config/states/captchaState';
import { useSetRecoilStateV2 } from '@/ui/utilities/state/jotai/hooks/useSetRecoilStateV2';
import { jotaiStore } from '@/ui/utilities/state/jotai/jotaiStore';
import { useCallback } from 'react';
import { assertIsDefinedOrThrow, isDefined } from 'twenty-shared/utils';
import { CaptchaDriverType } from '~/generated-metadata/graphql';
import { useStore } from 'jotai';
export const useRequestFreshCaptchaToken = () => {
const store = useStore();
const setCaptchaToken = useSetRecoilStateV2(captchaTokenState);
const setIsRequestingCaptchaToken = useSetRecoilStateV2(
isRequestingCaptchaTokenState,
@@ -19,7 +20,7 @@ export const useRequestFreshCaptchaToken = () => {
return;
}
const captcha = jotaiStore.get(captchaState.atom);
const captcha = store.get(captchaState.atom);
if (!isDefined(captcha)) {
return;
@@ -52,7 +53,7 @@ export const useRequestFreshCaptchaToken = () => {
},
});
}
}, [setCaptchaToken, setIsRequestingCaptchaToken]);
}, [setCaptchaToken, setIsRequestingCaptchaToken, store]);
return { requestFreshCaptchaToken };
};