about summary refs log tree commit diff
path: root/src/lib/hooks/useMinimalShellMode.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/hooks/useMinimalShellMode.tsx')
-rw-r--r--src/lib/hooks/useMinimalShellMode.tsx32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/lib/hooks/useMinimalShellMode.tsx b/src/lib/hooks/useMinimalShellMode.tsx
new file mode 100644
index 000000000..e28a0e884
--- /dev/null
+++ b/src/lib/hooks/useMinimalShellMode.tsx
@@ -0,0 +1,32 @@
+import React from 'react'
+import {useStores} from 'state/index'
+import {Animated} from 'react-native'
+import {useAnimatedValue} from 'lib/hooks/useAnimatedValue'
+
+export function useMinimalShellMode() {
+  const store = useStores()
+  const minimalShellInterp = useAnimatedValue(0)
+  const footerMinimalShellTransform = {
+    transform: [{translateY: Animated.multiply(minimalShellInterp, 100)}],
+  }
+
+  React.useEffect(() => {
+    if (store.shell.minimalShellMode) {
+      Animated.timing(minimalShellInterp, {
+        toValue: 1,
+        duration: 100,
+        useNativeDriver: true,
+        isInteraction: false,
+      }).start()
+    } else {
+      Animated.timing(minimalShellInterp, {
+        toValue: 0,
+        duration: 100,
+        useNativeDriver: true,
+        isInteraction: false,
+      }).start()
+    }
+  }, [minimalShellInterp, store.shell.minimalShellMode])
+
+  return {footerMinimalShellTransform}
+}