Newer
Older
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
}