1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| 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
|
|