| 1234567891011121314151617181920212223242526272829 | import { useEffect } from 'react'//import React, { useEffect } from 'react';import Router from 'next/router'import useSWR from 'swr'export default function useUser({  redirectTo = false,  redirectIfFound = false,} = {}) {      const { data: user, mutate: mutateUser } = useSWR('/api/user')  useEffect(() => {    // if no redirect needed, just return (example: already on /dashboard)    // if user data not yet there (fetch in progress, logged in or not) then don't do anything yet    if (!redirectTo || !user) return    if (      // If redirectTo is set, redirect if the user was not found.      (redirectTo && !redirectIfFound && !user?.isLoggedIn) ||      // If redirectIfFound is also set, redirect if the user was found      (redirectIfFound && user?.isLoggedIn)    ) {      Router.push(redirectTo)    }  }, [user, redirectIfFound, redirectTo])  return { user, mutateUser }}
 |