import {
  Dispatch,
  ReactNode,
  SetStateAction,
  createContext,
  useContext,
  useEffect,
  useState,
} from "react";

interface ILoadProps {
  children: ReactNode;
}

interface ILoadProviderData {
  isPageLoaded: boolean;
  setIsPageLoaded: Dispatch<SetStateAction<boolean>>;
}

const LoadContext = createContext({} as ILoadProviderData);

export const LoadPageMenusProvider = ({ children }: ILoadProps) => {
  const [isPageLoaded, setIsPageLoaded] = useState(false);

  return (
    <LoadContext.Provider value={{ isPageLoaded, setIsPageLoaded }}>
      {children}
    </LoadContext.Provider>
  );
};

export const useLoadContext = () => {
  return useContext(LoadContext);
};
