From 4634691b31c44874391235aae75ebcd88877d57a Mon Sep 17 00:00:00 2001 From: SrGooglo Date: Thu, 22 Jun 2023 19:42:34 +0000 Subject: [PATCH] support native haptics --- packages/app/src/cores/haptics/haptics.core.js | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/packages/app/src/cores/haptics/haptics.core.js b/packages/app/src/cores/haptics/haptics.core.js index 9f40d70d..b21b50f5 100644 --- a/packages/app/src/cores/haptics/haptics.core.js +++ b/packages/app/src/cores/haptics/haptics.core.js @@ -1,4 +1,5 @@ import Core from "evite/src/core" +import { Haptics } from "@capacitor/haptics" const vibrationPatterns = { light: [10], @@ -19,6 +20,10 @@ export default class HapticsCore extends Core { } async onInitialize() { + if (window.navigator.userAgent === "capacitor") { + navigator.vibrate = this.nativeVibrate + } + document.addEventListener("click", this.handleClickEvent) } @@ -27,6 +32,18 @@ export default class HapticsCore extends Core { vibrate: this.vibrate.bind(this), } + nativeVibrate = (pattern) => { + if (!Array.isArray(pattern)) { + pattern = [pattern] + } + + for (let i = 0; i < pattern.length; i++) { + Haptics.vibrate({ + duration: pattern[i], + }) + } + } + handleClickEvent = (event) => { const button = event.target.closest("button") || event.target.closest(".ant-btn")