import { User } from "@/types/user" import Router from "next/router" import { useState, useEffect } from "react" export const useUser = () => { const [user, setUser] = useState<undefined | User>(undefined) const fetchUser = async () => { const endpoint = `${process.env.NEXT_PUBLIC_USER_SERVICE_URL}api/user/${sessionStorage.getItem('username')}` const response = await fetch(endpoint) return await response.json() } useEffect(() => { if(sessionStorage.length < 2){ Router.push("/") } }) useEffect(() => { if(!user){ fetchUser().then(res => { const {_id, username, email, profile, firstName, lastName } = res setUser({id: _id, email, username, profile, firstName, lastName}) }) } }) return user }