Migrate more to Jotai (#17903)

Here we go again
This commit is contained in:
Charles Bochet
2026-02-12 18:13:31 +01:00
committed by GitHub
parent 3075707bf8
commit d5a8cc2085
48 changed files with 134 additions and 105 deletions
@@ -33,6 +33,7 @@ import { isAttachmentPreviewEnabledStateV2 } from '@/client-config/states/isAtta
import { clientConfigApiStatusState } from '@/client-config/states/clientConfigApiStatusState';
import { getClientConfig } from '@/client-config/utils/getClientConfig';
import { allowRequestsToTwentyIconsState } from '@/client-config/states/allowRequestsToTwentyIcons';
import { useSetRecoilStateV2 } from '@/ui/utilities/state/jotai/hooks/useSetRecoilStateV2';
type UseClientConfigResult = {
data: { clientConfig: ClientConfig } | undefined;
@@ -43,10 +44,10 @@ type UseClientConfigResult = {
};
export const useClientConfig = (): UseClientConfigResult => {
const setIsAnalyticsEnabled = useSetRecoilState(isAnalyticsEnabledState);
const setIsAnalyticsEnabled = useSetRecoilStateV2(isAnalyticsEnabledState);
const setDomainConfiguration = useSetRecoilState(domainConfigurationState);
const setAuthProviders = useSetRecoilState(authProvidersState);
const setAiModels = useSetRecoilState(aiModelsState);
const setAuthProviders = useSetRecoilStateV2(authProvidersState);
const setAiModels = useSetRecoilStateV2(aiModelsState);
const setIsDeveloperDefaultSignInPrefilled = useSetRecoilState(
isDeveloperDefaultSignInPrefilledState,
@@ -68,7 +69,7 @@ export const useClientConfig = (): UseClientConfigResult => {
const setCaptcha = useSetRecoilState(captchaState);
const setChromeExtensionId = useSetRecoilState(chromeExtensionIdState);
const setChromeExtensionId = useSetRecoilStateV2(chromeExtensionIdState);
const setApiConfig = useSetRecoilState(apiConfigState);
@@ -127,7 +128,7 @@ export const useClientConfig = (): UseClientConfigResult => {
isClickHouseConfiguredState,
);
const setAppVersion = useSetRecoilState(appVersionState);
const setAppVersion = useSetRecoilStateV2(appVersionState);
const fetchClientConfig = useCallback(async () => {
setClientConfigApiStatus((prev) => ({
@@ -1,7 +1,7 @@
import { createState } from '@/ui/utilities/state/utils/createState';
import { createStateV2 } from '@/ui/utilities/state/jotai/utils/createStateV2';
import { type ClientAiModelConfig } from '~/generated-metadata/graphql';
export const aiModelsState = createState<ClientAiModelConfig[]>({
export const aiModelsState = createStateV2<ClientAiModelConfig[]>({
key: 'aiModelsState',
defaultValue: [],
});
@@ -1,6 +1,6 @@
import { createState } from '@/ui/utilities/state/utils/createState';
import { createStateV2 } from '@/ui/utilities/state/jotai/utils/createStateV2';
export const appVersionState = createState<string | undefined>({
export const appVersionState = createStateV2<string | undefined>({
key: 'appVersion',
defaultValue: undefined,
});
@@ -1,7 +1,7 @@
import { type AuthProviders } from '~/generated-metadata/graphql';
import { createState } from '@/ui/utilities/state/utils/createState';
import { createStateV2 } from '@/ui/utilities/state/jotai/utils/createStateV2';
export const authProvidersState = createState<AuthProviders>({
export const authProvidersState = createStateV2<AuthProviders>({
key: 'authProvidersState',
defaultValue: {
google: true,
@@ -1,5 +1,5 @@
import { createState } from '@/ui/utilities/state/utils/createState';
export const chromeExtensionIdState = createState<string | null | undefined>({
import { createStateV2 } from '@/ui/utilities/state/jotai/utils/createStateV2';
export const chromeExtensionIdState = createStateV2<string | null | undefined>({
key: 'chromeExtensionIdState',
defaultValue: null,
});
@@ -1,5 +1,5 @@
import { createState } from '@/ui/utilities/state/utils/createState';
export const isAnalyticsEnabledState = createState<boolean>({
import { createStateV2 } from '@/ui/utilities/state/jotai/utils/createStateV2';
export const isAnalyticsEnabledState = createStateV2<boolean>({
key: 'isAnalyticsEnabled',
defaultValue: false,
});