Migrate to a monorepo structure (#2909)

This commit is contained in:
Charles Bochet
2023-12-10 18:10:54 +01:00
committed by GitHub
parent a70a9281eb
commit 5bdca9de6c
2304 changed files with 37152 additions and 25869 deletions

View File

@ -0,0 +1,47 @@
import { useEffect } from 'react';
import { useSetRecoilState } from 'recoil';
import { authProvidersState } from '@/client-config/states/authProvidersState';
import { isDebugModeState } from '@/client-config/states/isDebugModeState';
import { isSignInPrefilledState } from '@/client-config/states/isSignInPrefilledState';
import { supportChatState } from '@/client-config/states/supportChatState';
import { telemetryState } from '@/client-config/states/telemetryState';
import { useGetClientConfigQuery } from '~/generated/graphql';
export const ClientConfigProvider: React.FC<React.PropsWithChildren> = ({
children,
}) => {
const setAuthProviders = useSetRecoilState(authProvidersState);
const setIsDebugMode = useSetRecoilState(isDebugModeState);
const setIsSignInPrefilled = useSetRecoilState(isSignInPrefilledState);
const setTelemetry = useSetRecoilState(telemetryState);
const setSupportChat = useSetRecoilState(supportChatState);
const { data, loading } = useGetClientConfigQuery();
useEffect(() => {
if (data?.clientConfig) {
setAuthProviders({
google: data?.clientConfig.authProviders.google,
password: data?.clientConfig.authProviders.password,
magicLink: false,
});
setIsDebugMode(data?.clientConfig.debugMode);
setIsSignInPrefilled(data?.clientConfig.signInPrefilled);
setTelemetry(data?.clientConfig.telemetry);
setSupportChat(data?.clientConfig.support);
}
}, [
data,
setAuthProviders,
setIsDebugMode,
setIsSignInPrefilled,
setTelemetry,
setSupportChat,
]);
return loading ? <></> : <>{children}</>;
};

View File

@ -0,0 +1,22 @@
import { gql } from '@apollo/client';
export const GET_CLIENT_CONFIG = gql`
query GetClientConfig {
clientConfig {
authProviders {
google
password
}
signInPrefilled
debugMode
telemetry {
enabled
anonymizationEnabled
}
support {
supportDriver
supportFrontChatId
}
}
}
`;

View File

@ -0,0 +1,8 @@
import { atom } from 'recoil';
import { AuthProviders } from '~/generated/graphql';
export const authProvidersState = atom<AuthProviders>({
key: 'authProvidersState',
default: { google: false, magicLink: false, password: true },
});

View File

@ -0,0 +1,6 @@
import { atom } from 'recoil';
export const isDebugModeState = atom<boolean>({
key: 'isDebugModeState',
default: false,
});

View File

@ -0,0 +1,6 @@
import { atom } from 'recoil';
export const isSignInPrefilledState = atom<boolean>({
key: 'isSignInPrefilledState',
default: false,
});

View File

@ -0,0 +1,11 @@
import { atom } from 'recoil';
import { Support } from '~/generated/graphql';
export const supportChatState = atom<Support>({
key: 'supportChatState',
default: {
supportDriver: 'none',
supportFrontChatId: null,
},
});

View File

@ -0,0 +1,8 @@
import { atom } from 'recoil';
import { Telemetry } from '~/generated/graphql';
export const telemetryState = atom<Telemetry>({
key: 'telemetryState',
default: { enabled: true, anonymizationEnabled: true },
});