import { authOptions } from "@src/pages/api/auth/[...nextauth]"; import { GetServerSidePropsContext } from "next"; import { unstable_getServerSession } from "next-auth"; const protectClientRoute = (callback: (context: GetServerSidePropsContext) => void, redirect: string | undefined = "/") => { return async (context: GetServerSidePropsContext) => { const session = await unstable_getServerSession(context.req, context.res, authOptions); if (!session) return { redirect: { destination: redirect, permanent: false, }, }; return callback(context); }; }; export default protectClientRoute;