"use client"; import React, {createContext, useContext, useEffect, useState} from 'react'; import axiosInstance, {SetupAxiosInterceptors} from './axiosInstance'; const AxiosContext = createContext(axiosInstance); const TokenContext = createContext({ setAccessToken: (token: string | null) => {}, }); export const AxiosProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => { const [accessToken, setAccessToken] = useState(localStorage.getItem("accessToken")); useEffect(() => { if (accessToken) { axiosInstance.defaults.headers.Authorization = `Bearer ${accessToken}`; SetupAxiosInterceptors(accessToken); console.log("[debug] Updated accessToken:", accessToken); } }, [accessToken]); return ( {children} ); }; // Custom hook to use Axios instance export const useAxios = () => { return useContext(AxiosContext); }; // Custom hook to manage access token export const useToken = () => { return useContext(TokenContext); };