"use client";

import React, { createContext, useContext, ReactNode } from "react";
import { ProcessedProgram } from "../types/programs";

interface ProgramsContextType {
  programs: ProcessedProgram[];
}

const ProgramsContext = createContext<ProgramsContextType | undefined>(undefined);

export function ProgramsProvider({
  children,
  programs,
}: {
  children: ReactNode;
  programs: ProcessedProgram[];
}) {
  return (
    <ProgramsContext.Provider value={{ programs }}>
      {children}
    </ProgramsContext.Provider>
  );
}

export function usePrograms() {
  const context = useContext(ProgramsContext);
  if (context === undefined) {
    throw new Error("usePrograms must be used within a ProgramsProvider");
  }
  return context;
}
