about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKhuddite <62555977+khuddite@users.noreply.github.com>2024-11-11 05:40:47 -0500
committerGitHub <noreply@github.com>2024-11-11 10:40:47 +0000
commit57464a8fe0ccdbc9cde0dedf7f274d969491cb88 (patch)
tree23bd3b5873ebb303edd298acc5c95a8600313332 /src
parent9247407c70eff280768e605637be873052ac1b59 (diff)
downloadvoidsky-57464a8fe0ccdbc9cde0dedf7f274d969491cb88.tar.zst
Increase copied animation lingering time for reduced motion (#6220)
* increase copied animation lingering time for reduced motion

* flip the condition

---------

Co-authored-by: dan <dan.abramov@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/screens/Settings/components/CopyButton.tsx14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/screens/Settings/components/CopyButton.tsx b/src/screens/Settings/components/CopyButton.tsx
index eb538f5de..8c6cdfa8a 100644
--- a/src/screens/Settings/components/CopyButton.tsx
+++ b/src/screens/Settings/components/CopyButton.tsx
@@ -1,6 +1,10 @@
 import React, {useCallback, useEffect, useState} from 'react'
 import {GestureResponderEvent, View} from 'react-native'
-import Animated, {FadeOutUp, ZoomIn} from 'react-native-reanimated'
+import Animated, {
+  FadeOutUp,
+  useReducedMotion,
+  ZoomIn,
+} from 'react-native-reanimated'
 import * as Clipboard from 'expo-clipboard'
 import {Trans} from '@lingui/macro'
 
@@ -16,13 +20,17 @@ export function CopyButton({
 }: ButtonProps & {value: string}) {
   const [hasBeenCopied, setHasBeenCopied] = useState(false)
   const t = useTheme()
+  const isReducedMotionEnabled = useReducedMotion()
 
   useEffect(() => {
     if (hasBeenCopied) {
-      const timeout = setTimeout(() => setHasBeenCopied(false), 100)
+      const timeout = setTimeout(
+        () => setHasBeenCopied(false),
+        isReducedMotionEnabled ? 2000 : 100,
+      )
       return () => clearTimeout(timeout)
     }
-  }, [hasBeenCopied])
+  }, [hasBeenCopied, isReducedMotionEnabled])
 
   const onPress = useCallback(
     (evt: GestureResponderEvent) => {