diff options
Diffstat (limited to 'client/vendor/util.js')
| -rw-r--r-- | client/vendor/util.js | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/client/vendor/util.js b/client/vendor/util.js new file mode 100644 index 0000000..5d51c34 --- /dev/null +++ b/client/vendor/util.js @@ -0,0 +1,23 @@ +const isIphone = (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) +const isIpad = (navigator.userAgent.match(/iPad/i)) +const isAndroid = (navigator.userAgent.match(/Android/i)) +const isMobile = isIphone || isIpad || isAndroid +const isDesktop = ! isMobile + +document.body.classList.add(isMobile ? 'mobile' : 'desktop') + +const browser = { isIphone, isIpad, isAndroid, isMobile, isDesktop } + +function clamp(n,a,b){ return n<a?a:n<b?n:b } +function mod(n,m){ return n-(m * Math.floor(n/m)) } +function choice (a){ return a[ randint(a.length) ] } +function randint(n){ return Math.floor(Math.random() * n) } +function randrange(a,b) { return Math.random() * (b-a) + a } +function firstTouch(f){ return e => { e.preventDefault(); f(e.touches[0]) }} + +export { + browser, + clamp, mod, + choice, randint, randrange, + firstTouch, +} |
