diff options
author | 2021-09-02 22:28:11 +0200 | |
---|---|---|
committer | 2021-09-02 23:54:56 +0200 | |
commit | f08f6ca0a9d337efff280d4d1669a41b5d9c31c2 (patch) | |
tree | 7dee778ba742deb5f499f2aa08a1ba040606d633 /hooks/useUser.js | |
parent | 9f74c550927671f4ded301d0cf3e9d592716375c (diff) | |
download | my_apps-f08f6ca0a9d337efff280d4d1669a41b5d9c31c2.tar.gz my_apps-f08f6ca0a9d337efff280d4d1669a41b5d9c31c2.tar.bz2 my_apps-f08f6ca0a9d337efff280d4d1669a41b5d9c31c2.zip |
finish translations, force maximize
Diffstat (limited to 'hooks/useUser.js')
-rw-r--r-- | hooks/useUser.js | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/hooks/useUser.js b/hooks/useUser.js new file mode 100644 index 0000000..16833aa --- /dev/null +++ b/hooks/useUser.js @@ -0,0 +1,33 @@ +import { useEffect } from 'react' +import Router from 'next/router' +import useSWR from 'swr' + +export default function useUser({ + redirectToLogin = false, + redirectToVerify = false, + redirectToApps = false, +} = {}) { + const { data: user, mutate: mutateUser } = useSWR('/api/user') + + useEffect(() => { + if (!user || (!redirectToLogin && !redirectToVerify && !redirectToApps)) return + + if (redirectToLogin && !user?.isLoggedIn) { + Router.push('/login') + } + + if (redirectToVerify && user?.isLoggedIn && !user?.isVerified) { + Router.push('/verify') + } + + if ( + (redirectToApps && user?.isLoggedIn && user?.isVerified) + ) { + Router.push('/') + } + + return + }, [user, redirectToLogin, redirectToVerify, redirectToApps]) + + return {user, mutateUser} +} |