import Vue from "vue"; import { Haptics, ImpactStyle, NotificationType } from "@capacitor/haptics" const hapticsImpactHeavy = async () => { await Haptics.impact({ style: ImpactStyle.Heavy }) } Vue.prototype.$hapticsImpactHeavy = hapticsImpactHeavy const hapticsImpactMedium = async () => { await Haptics.impact({ style: ImpactStyle.Medium }) } Vue.prototype.$hapticsImpactMedium = hapticsImpactMedium const hapticsImpactLight = async () => { await Haptics.impact({ style: ImpactStyle.Light }) } Vue.prototype.$hapticsImpactLight = hapticsImpactLight const hapticsVibrate = async () => { await Haptics.vibrate() } Vue.prototype.$hapticsVibrate = hapticsVibrate const hapticsNotificationSuccess = async () => { await Haptics.notification({ type: NotificationType.Success }) } Vue.prototype.$hapticsNotificationSuccess = hapticsNotificationSuccess const hapticsNotificationWarning = async () => { await Haptics.notification({ type: NotificationType.Warning }) } Vue.prototype.$hapticsNotificationWarning = hapticsNotificationWarning const hapticsNotificationError = async () => { await Haptics.notification({ type: NotificationType.Error }) } Vue.prototype.$hapticsNotificationError = hapticsNotificationError const hapticsSelectionStart = async () => { await Haptics.selectionStart() } Vue.prototype.$hapticsSelectionStart = hapticsSelectionStart const hapticsSelectionChanged = async () => { await Haptics.selectionChanged() } Vue.prototype.$hapticsSelectionChanged = hapticsSelectionChanged const hapticsSelectionEnd = async () => { await Haptics.selectionEnd() } Vue.prototype.$hapticsSelectionEnd = hapticsSelectionEnd export default ({ store }, inject) => { inject('hapticsImpact', () => { const hapticFeedback = store.state.globals.hapticFeedback if (hapticFeedback === 'OFF') return if (hapticFeedback === 'LIGHT') return hapticsImpactLight() if (hapticFeedback === 'MEDIUM') return hapticsImpactMedium() return hapticsImpactHeavy() }) }