| 1234567891011121314151617181920212223242526272829303132333435363738394041 | import { useCallback, useState } from 'react'import useFoldAnimInto from './use-fold-anim-into'const useHideLogic = (onClose: () => void) => {  const {    modalClassName,    foldIntoAnim: doFoldAnimInto,    clearCountDown,    countDownFoldIntoAnim,  } = useFoldAnimInto(onClose)  const [isInstalling, doSetIsInstalling] = useState(false)  const setIsInstalling = useCallback((isInstalling: boolean) => {    if (!isInstalling)      clearCountDown()    doSetIsInstalling(isInstalling)  }, [clearCountDown])  const foldAnimInto = useCallback(() => {    if (isInstalling) {      doFoldAnimInto()      return    }    onClose()  }, [doFoldAnimInto, isInstalling, onClose])  const handleStartToInstall = useCallback(() => {    setIsInstalling(true)    countDownFoldIntoAnim()  }, [countDownFoldIntoAnim, setIsInstalling])  return {    modalClassName,    foldAnimInto,    setIsInstalling,    handleStartToInstall,  }}export default useHideLogic
 |