import { createContext, useContext, type Dispatch } from "react";
import type { SoundAction, SoundState } from "../types/types";

type SoundContextType = {
  state: SoundState;
  dispatch: Dispatch<SoundAction>;
  audioArmed: boolean;
};

export const SoundContext = createContext<SoundContextType | undefined>(undefined);

export const useSoundContext = () => {
  const ctx = useContext(SoundContext);
  if (!ctx) throw new Error("useSoundContext must be used within <SoundContext>");
  return ctx;
};
