about summary refs log tree commit diff
path: root/src/view/com/util/post-ctrls/RepostButton.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/view/com/util/post-ctrls/RepostButton.tsx')
-rw-r--r--src/view/com/util/post-ctrls/RepostButton.tsx10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/view/com/util/post-ctrls/RepostButton.tsx b/src/view/com/util/post-ctrls/RepostButton.tsx
index ebf3357f3..b1fe73d5b 100644
--- a/src/view/com/util/post-ctrls/RepostButton.tsx
+++ b/src/view/com/util/post-ctrls/RepostButton.tsx
@@ -3,6 +3,7 @@ import {View} from 'react-native'
 import {msg, plural} from '@lingui/macro'
 import {useLingui} from '@lingui/react'
 
+import {useHaptics} from '#/lib/haptics'
 import {useRequireAuth} from '#/state/session'
 import {atoms as a, useTheme} from '#/alf'
 import {Button, ButtonText} from '#/components/Button'
@@ -30,6 +31,7 @@ let RepostButton = ({
   const {_} = useLingui()
   const requireAuth = useRequireAuth()
   const dialogControl = Dialog.useDialogControl()
+  const playHaptic = useHaptics()
 
   const color = React.useMemo(
     () => ({
@@ -89,8 +91,11 @@ let RepostButton = ({
                     : _(msg({message: `Repost`, context: 'action'}))
                 }
                 onPress={() => {
-                  dialogControl.close()
-                  onRepost()
+                  if (!isReposted) playHaptic()
+
+                  dialogControl.close(() => {
+                    onRepost()
+                  })
                 }}
                 size="large"
                 variant="ghost"
@@ -106,6 +111,7 @@ let RepostButton = ({
                 style={[a.justify_start, a.px_md]}
                 label={_(msg`Quote post`)}
                 onPress={() => {
+                  playHaptic()
                   dialogControl.close(() => {
                     onQuote()
                   })