import { createContext, useContext, type ActionDispatch } from "react";
import type { NPEDACTION, NPEDSTATE } from "../types/types";

type IntegrationsValue = {
  state: NPEDSTATE;
  dispatch: ActionDispatch<[action: NPEDACTION]>;
};

export const IntegrationsContext = createContext<IntegrationsValue | undefined>(undefined);
export const useIntegrationsContext = () => {
  const ctx = useContext(IntegrationsContext);
  if (!ctx) throw new Error("useNPEDContext must be used within <IntegrationsProvider>");
  return ctx;
};
