diff options
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.js | 15 |
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 |