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,44 @@
import { useEffect, useState } from 'react';
import { useSetRecoilState } from 'recoil';
import { currentUserState } from '@/auth/states/currentUserState';
import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState';
import { currentWorkspaceState } from '@/auth/states/currentWorkspaceState';
import { ColorScheme } from '@/workspace-member/types/WorkspaceMember';
import { useGetCurrentUserQuery } from '~/generated/graphql';
export const UserProvider = ({ children }: React.PropsWithChildren) => {
const [isLoading, setIsLoading] = useState(true);
const setCurrentUser = useSetRecoilState(currentUserState);
const setCurrentWorkspace = useSetRecoilState(currentWorkspaceState);
const setCurrentWorkspaceMember = useSetRecoilState(
currentWorkspaceMemberState,
);
const { data: userData, loading: userLoading } = useGetCurrentUserQuery({});
useEffect(() => {
if (!userLoading) {
setIsLoading(false);
}
if (userData?.currentUser?.workspaceMember) {
setCurrentUser(userData.currentUser);
setCurrentWorkspace(userData.currentUser.defaultWorkspace);
const workspaceMember = userData.currentUser.workspaceMember;
setCurrentWorkspaceMember({
...workspaceMember,
colorScheme: (workspaceMember.colorScheme as ColorScheme) ?? 'Light',
});
}
}, [
setCurrentUser,
isLoading,
userLoading,
setCurrentWorkspace,
setCurrentWorkspaceMember,
userData?.currentUser,
]);
return isLoading ? <></> : <>{children}</>;
};