import axios from 'axios'; import { signOut } from 'next-auth/react'; import { useEffect } from 'react'; const useAxiosInterceptor = () => { useEffect(() => { const responseInterceptor = axios.interceptors.response.use( (response) => response, (error) => { if (error.response && error.response.status === 401) { const currentUrl = window.location.href; signOut({ callbackUrl: `/api/auth/signin?error=SessionRequired&callbackUrl=${encodeURIComponent( currentUrl, )}`, }); } return Promise.reject(error); }, ); return () => { axios.interceptors.response.eject(responseInterceptor); }; }, []); }; export default useAxiosInterceptor;