"use client";

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

export type SelectedClassType = {
  group_name: string;
  program?: string;
  location?: string;
  age?: string;
  fullData?: any;
};

type SelectedClassContextType = {
  selectedClass: SelectedClassType | null;
  setSelectedClass: (c: SelectedClassType | null) => void;
};

const SelectedClassContext = createContext<SelectedClassContextType>({
  selectedClass: null,
  setSelectedClass: () => {},
});

export const SelectedClassProvider = ({
  children,
}: {
  children: React.ReactNode;
}) => {
  const [selectedClass, setSelectedClass] = useState<SelectedClassType | null>(
    null
  );

  return (
    <SelectedClassContext.Provider value={{ selectedClass, setSelectedClass }}>
      {children}
    </SelectedClassContext.Provider>
  );
};

export const useSelectedClass = () => useContext(SelectedClassContext);
