useRedirect.ts 455 B

1234567891011121314151617
  1. import { UserContext } from "./../context/UserContext";
  2. import { useRouter } from "next/router";
  3. import { useEffect, useContext } from "react";
  4. const PRIVATE_PAGES = ["/settings"];
  5. const useRedirect = () => {
  6. const { pathname, push } = useRouter();
  7. const { user } = useContext(UserContext);
  8. useEffect(() => {
  9. if (!user && PRIVATE_PAGES.includes(pathname)) {
  10. push("/");
  11. }
  12. }, [pathname, user, push]);
  13. };
  14. export default useRedirect;