import { useState, useCallback } from 'react';

export type UseControlReturnType = {
  isOpened: boolean;
  handleOpen: () => void;
  handleClose: () => void;
};

export const useControl = (initialVal = false): UseControlReturnType => {
  const [isOpened, setIsOpened] = useState<boolean>(initialVal);

  const handleOpen = useCallback(() => setIsOpened(true), []);
  const handleClose = useCallback(() => setIsOpened(false), []);

  return {
    isOpened,
    handleOpen,
    handleClose,
  };
};
