'use client' import { Mutex } from "async-mutex" import Link from "next/link" import useAsyncEffect from "use-async-effect" import { useShallow } from "zustand/shallow" import { useCurrentAuthenticatedUserStore } from "../providers" const navBarMutex = new Mutex() export const NavBar = () => { const authUserStore = useCurrentAuthenticatedUserStore(useShallow((state) => state)) useAsyncEffect(async () => { if(authUserStore.Id === -1) { const release = await navBarMutex.acquire() await authUserStore.sync() await release() } }, [authUserStore]) return ( ) }