import Cookies from "js-cookie" import { useRouter } from "next/router" import { useEffect, useState } from "react" import useSharedState from "./use-shared-state" const useSignedIn = () => { const [signedIn, setSignedIn] = useSharedState( "signedIn", typeof window === "undefined" ? false : !!Cookies.get("drift-token") ) const token = Cookies.get("drift-token") const router = useRouter() const signin = (token: string) => { setSignedIn(true) Cookies.set("drift-token", token) } const signout = () => { setSignedIn(false) Cookies.remove("drift-token") router.push("/") } useEffect(() => { if (token) { setSignedIn(true) } else { setSignedIn(false) } }, [setSignedIn, token]) return { signedIn, signin, token, signout } } export default useSignedIn