diff --git a/frontend/src/index.html b/frontend/src/index.html index ace21fc..a5a0983 100644 --- a/frontend/src/index.html +++ b/frontend/src/index.html @@ -63,15 +63,6 @@
- - + + { }; document.addEventListener('click', firstClickListener); + if (!VibrationHandler.isVibrationEnabledHeuristics) { + hide(document.querySelector("label[for='enable-vibration']") as HTMLElement, true); + } + handleFullScreen(minimize, maximize); toggleSettingsButton.addEventListener('click', toggleSettings); diff --git a/frontend/src/scripts/vibration-handler.ts b/frontend/src/scripts/vibration-handler.ts index 7873ff7..951efaa 100644 --- a/frontend/src/scripts/vibration-handler.ts +++ b/frontend/src/scripts/vibration-handler.ts @@ -2,8 +2,16 @@ import { OptionsHandler } from './options-handler'; export abstract class VibrationHandler { public static vibrate(time: number): void { - if (OptionsHandler.options.vibrationEnabled) { - navigator?.vibrate(time); + if (OptionsHandler.options.vibrationEnabled && this.isVibrationEnabled) { + navigator.vibrate(time); } } + + public static get isVibrationEnabled(): boolean { + return 'vibrate' in navigator; + } + + public static get isVibrationEnabledHeuristics(): boolean { + return this.isVibrationEnabled && 'ontouchstart' in window; + } }