about summary refs log tree commit diff
path: root/src/view/com/lightbox/ImageViewing/hooks/useRequestClose.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/lightbox/ImageViewing/hooks/useRequestClose.ts')
-rw-r--r--src/view/com/lightbox/ImageViewing/hooks/useRequestClose.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/view/com/lightbox/ImageViewing/hooks/useRequestClose.ts b/src/view/com/lightbox/ImageViewing/hooks/useRequestClose.ts
new file mode 100644
index 000000000..4cd03fe71
--- /dev/null
+++ b/src/view/com/lightbox/ImageViewing/hooks/useRequestClose.ts
@@ -0,0 +1,24 @@
+/**
+ * Copyright (c) JOB TODAY S.A. and its affiliates.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+import {useState} from 'react'
+
+const useRequestClose = (onRequestClose: () => void) => {
+  const [opacity, setOpacity] = useState(1)
+
+  return [
+    opacity,
+    () => {
+      setOpacity(0)
+      onRequestClose()
+      setTimeout(() => setOpacity(1), 0)
+    },
+  ] as const
+}
+
+export default useRequestClose