diff options
Diffstat (limited to 'app/javascript/mastodon/is_mobile.js')
-rw-r--r-- | app/javascript/mastodon/is_mobile.js | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/app/javascript/mastodon/is_mobile.js b/app/javascript/mastodon/is_mobile.js index 129d66682..80e8e0a8a 100644 --- a/app/javascript/mastodon/is_mobile.js +++ b/app/javascript/mastodon/is_mobile.js @@ -1,4 +1,6 @@ -const LAYOUT_BREAKPOINT = 1024; +import detectPassiveEvents from 'detect-passive-events'; + +const LAYOUT_BREAKPOINT = 630; export function isMobile(width, columns) { switch (columns) { @@ -12,11 +14,16 @@ export function isMobile(width, columns) { }; const iOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream; + let userTouching = false; +let listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false; -window.addEventListener('touchstart', () => { +function touchListener() { userTouching = true; -}, { once: true }); + window.removeEventListener('touchstart', touchListener, listenerOptions); +} + +window.addEventListener('touchstart', touchListener, listenerOptions); export function isUserTouching() { return userTouching; |