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

interface VideoDurationContextType {
  durationInSeconds: number;
  setDurationInSeconds: (duration: number) => void;
}

const VideoDurationContext = createContext<
  VideoDurationContextType | undefined
>(undefined);

export const VideoDurationProvider: React.FC<{ children: React.ReactNode }> = ({
  children,
}) => {
  const [durationInSeconds, setDurationInSeconds] = useState(0);

  return (
    <VideoDurationContext.Provider
      value={{ durationInSeconds, setDurationInSeconds }}
    >
      {children}
    </VideoDurationContext.Provider>
  );
};

export const useVideoDuration = () => {
  const context = useContext(VideoDurationContext);
  if (context === undefined) {
    throw new Error(
      "useVideoDuration must be used within a VideoDurationProvider",
    );
  }
  return context;
};
