import React, { createContext, useState, useContext } from "react";
import Loader from "../FullScreenLoader";
 

const LoaderContext = createContext<{
  showLoader: () => void;
  hideLoader: () => void;
}>({
  showLoader: () => {},
  hideLoader: () => {},
});

export const useLoader = () => useContext(LoaderContext);

const LoaderProvider = ({ children }: { children: React.ReactNode }) => {
  const [isLoading, setIsLoading] = useState(false);

  const showLoader = () => setIsLoading(true);
  const hideLoader = () => setIsLoading(false);

  return (
    <LoaderContext.Provider value={{ showLoader, hideLoader }}>
      {children}
      <Loader isLoading={isLoading} />
    </LoaderContext.Provider>
  );
};

export default LoaderProvider;
