import {
  createContext,
  Dispatch,
  FC,
  ReactNode,
  SetStateAction,
  useContext,
  useState,
} from 'react';

interface LedCountContext {
  ledCount: number;
  setLedCount: Dispatch<SetStateAction<number>>;
}

const Context = createContext<LedCountContext>(undefined as any);

export const LedCountProvider: FC<{ children: ReactNode }> = ({ children }) => {
  const [ledCount, setLedCount] = useState(0);
  return (
    <Context.Provider value={{ ledCount, setLedCount }}>{children}</Context.Provider>
  );
};

export const useLedCount = () => useContext(Context);
