about summary refs log tree commit diff
path: root/src/lib/haptics.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/haptics.ts')
-rw-r--r--src/lib/haptics.ts30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/lib/haptics.ts b/src/lib/haptics.ts
index 23a321796..516940c1c 100644
--- a/src/lib/haptics.ts
+++ b/src/lib/haptics.ts
@@ -1,17 +1,33 @@
-import { isIOS } from 'platform/detection'
+import {isIOS, isWeb} from 'platform/detection'
 import ReactNativeHapticFeedback, {
   HapticFeedbackTypes,
 } from 'react-native-haptic-feedback'
 
-
 const hapticImpact: HapticFeedbackTypes = isIOS ? 'impactMedium' : 'impactLight' // Users said the medium impact was too strong on Android; see APP-537s
 
-
 export class Haptics {
-  static default = () => ReactNativeHapticFeedback.trigger(hapticImpact)
-  static impact = (type: HapticFeedbackTypes = hapticImpact) => ReactNativeHapticFeedback.trigger(type)
-  static selection = () => ReactNativeHapticFeedback.trigger('selection')
+  static default() {
+    if (isWeb) {
+      return
+    }
+    ReactNativeHapticFeedback.trigger(hapticImpact)
+  }
+  static impact(type: HapticFeedbackTypes = hapticImpact) {
+    if (isWeb) {
+      return
+    }
+    ReactNativeHapticFeedback.trigger(type)
+  }
+  static selection() {
+    if (isWeb) {
+      return
+    }
+    ReactNativeHapticFeedback.trigger('selection')
+  }
   static notification = (type: 'success' | 'warning' | 'error') => {
+    if (isWeb) {
+      return
+    }
     switch (type) {
       case 'success':
         return ReactNativeHapticFeedback.trigger('notificationSuccess')
@@ -21,4 +37,4 @@ export class Haptics {
         return ReactNativeHapticFeedback.trigger('notificationError')
     }
   }
-}
\ No newline at end of file
+}