import { useAuth } from "../../contexts/authContext" import { useRouter } from "next/router" import { useEffect } from "react" import UserService from '../../services/userService' import { User } from "../../models/user" import { GetServerSidePropsContext } from "next" import nookies from 'nookies' import firebaseAdmin from 'firebase-admin' import unfetch from 'isomorphic-unfetch' /** * figure out where to take the user based on everything */ function RouteHandler({ user }) { const { currUser } = useAuth() const router = useRouter() const userService: UserService = new UserService() useEffect(() => { (async function() { try { // if not authenticated, take user to the login if (!currUser) { console.log('not authenticated...routing from dashboard to teams home') router.push('/teams/login') } // get user const user: User | null = await userService.getUser(currUser.uid) console.log(user) // if user has no profile, then go to create profile if (!user || !user.firstName || !user.lastName || !user.nickName) { console.log('no profile for the user, routing him/her there') router.push('/teams/profile') } // check if user is in a team or has created one } catch(error) { console.log(error) router.push('/teams/login') } })(); }, [currUser]) return (