"use client";

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

interface LottieLoaderContextType {
  isLoaderComplete: boolean;
  setLoaderComplete: (complete: boolean) => void;
}

const LottieLoaderContext = createContext<LottieLoaderContextType | undefined>(
  undefined
);

export function LottieLoaderProvider({ children }: { children: ReactNode }) {
  const [isLoaderComplete, setIsLoaderComplete] = useState(false);

  return (
    <LottieLoaderContext.Provider
      value={{
        isLoaderComplete,
        setLoaderComplete: setIsLoaderComplete,
      }}
    >
      {children}
    </LottieLoaderContext.Provider>
  );
}

export function useLottieLoader() {
  const context = useContext(LottieLoaderContext);
  if (context === undefined) {
    throw new Error(
      "useLottieLoader must be used within a LottieLoaderProvider"
    );
  }
  return context;
}
