about summary refs log tree commit diff
path: root/app/javascript/mastodon/is_mobile.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/mastodon/is_mobile.js')
-rw-r--r--app/javascript/mastodon/is_mobile.js13
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;