aboutsummaryrefslogtreecommitdiff
path: root/static/presentations/2021-11-13/garage/js/utils/device.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/presentations/2021-11-13/garage/js/utils/device.js')
-rw-r--r--static/presentations/2021-11-13/garage/js/utils/device.js15
1 files changed, 15 insertions, 0 deletions
diff --git a/static/presentations/2021-11-13/garage/js/utils/device.js b/static/presentations/2021-11-13/garage/js/utils/device.js
new file mode 100644
index 0000000..ec1034f
--- /dev/null
+++ b/static/presentations/2021-11-13/garage/js/utils/device.js
@@ -0,0 +1,15 @@
+const UA = navigator.userAgent;
+const testElement = document.createElement( 'div' );
+
+export const isMobile = /(iphone|ipod|ipad|android)/gi.test( UA ) ||
+ ( navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1 ); // iPadOS
+
+export const isChrome = /chrome/i.test( UA ) && !/edge/i.test( UA );
+
+export const isAndroid = /android/gi.test( UA );
+
+// Flags if we should use zoom instead of transform to scale
+// up slides. Zoom produces crisper results but has a lot of
+// xbrowser quirks so we only use it in whitelisted browsers.
+export const supportsZoom = 'zoom' in testElement.style && !isMobile &&
+ ( isChrome || /Version\/[\d\.]+.*Safari/.test( UA ) ); \ No newline at end of file