@ -21,7 +21,6 @@ export function SettingsNavbar() {
|
|||||||
|
|
||||||
const handleLogout = useCallback(() => {
|
const handleLogout = useCallback(() => {
|
||||||
logout();
|
logout();
|
||||||
window.location.href = '/';
|
|
||||||
}, [logout]);
|
}, [logout]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -78,6 +78,7 @@ export function CreateProfile() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
refetchQueries: [getOperationName(GET_CURRENT_USER) ?? ''],
|
refetchQueries: [getOperationName(GET_CURRENT_USER) ?? ''],
|
||||||
|
awaitRefetchQueries: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (errors || !data?.updateUser) {
|
if (errors || !data?.updateUser) {
|
||||||
|
|||||||
@ -55,6 +55,7 @@ export function CreateWorkspace() {
|
|||||||
},
|
},
|
||||||
},
|
},
|
||||||
refetchQueries: [getOperationName(GET_CURRENT_USER) ?? ''],
|
refetchQueries: [getOperationName(GET_CURRENT_USER) ?? ''],
|
||||||
|
awaitRefetchQueries: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (errors || !data?.updateWorkspace) {
|
if (errors || !data?.updateWorkspace) {
|
||||||
|
|||||||
@ -1,20 +1,22 @@
|
|||||||
import { useEffect } from 'react';
|
import { useEffect, useState } from 'react';
|
||||||
import { useRecoilState } from 'recoil';
|
import { useRecoilState } from 'recoil';
|
||||||
|
|
||||||
import { useIsLogged } from '@/auth/hooks/useIsLogged';
|
|
||||||
import { currentUserState } from '@/auth/states/currentUserState';
|
import { currentUserState } from '@/auth/states/currentUserState';
|
||||||
import { useGetCurrentUserQuery } from '~/generated/graphql';
|
import { useGetCurrentUserQuery } from '~/generated/graphql';
|
||||||
|
|
||||||
export function UserProvider({ children }: React.PropsWithChildren) {
|
export function UserProvider({ children }: React.PropsWithChildren) {
|
||||||
const [currentUser, setCurrentUser] = useRecoilState(currentUserState);
|
const [, setCurrentUser] = useRecoilState(currentUserState);
|
||||||
const isLoggedIn = useIsLogged();
|
|
||||||
const { data, loading } = useGetCurrentUserQuery();
|
const { data, loading } = useGetCurrentUserQuery();
|
||||||
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
|
if (!loading) {
|
||||||
|
setIsLoading(false);
|
||||||
|
}
|
||||||
if (data?.currentUser) {
|
if (data?.currentUser) {
|
||||||
setCurrentUser(data?.currentUser);
|
setCurrentUser(data?.currentUser);
|
||||||
}
|
}
|
||||||
}, [setCurrentUser, data]);
|
}, [setCurrentUser, data, isLoading, loading]);
|
||||||
|
|
||||||
return loading || (isLoggedIn && !currentUser) ? <></> : <>{children}</>;
|
return isLoading ? <></> : <>{children}</>;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user