feat: logout route/sign out button (#54)

This commit is contained in:
sct
2020-09-06 23:11:42 +09:00
committed by GitHub
parent e6349c13a0
commit cb9098f457
7 changed files with 79 additions and 29 deletions

View File

@@ -15,7 +15,7 @@ export const UserContext: React.FC<UserContextProps> = ({
initialUser,
children,
}) => {
const { user, revalidate } = useUser({ initialData: initialUser });
const { user, error, revalidate } = useUser({ initialData: initialUser });
const router = useRouter();
useEffect(() => {
@@ -23,10 +23,17 @@ export const UserContext: React.FC<UserContextProps> = ({
}, [router.pathname, revalidate]);
useEffect(() => {
if (!router.pathname.match(/(setup|login)/) && !user) {
router.push('/login');
let routing = false;
if (
!router.pathname.match(/(setup|login)/) &&
(!user || error) &&
!routing
) {
routing = true;
location.href = '/login';
}
}, [router, user]);
}, [router, user, error]);
return <>{children}</>;
};