diff options
| author | Jules Laplace <julescarbon@gmail.com> | 2019-01-27 17:16:08 +0100 |
|---|---|---|
| committer | Jules Laplace <julescarbon@gmail.com> | 2019-01-27 17:16:08 +0100 |
| commit | b5766ea986598e7ec53036d41deb9b0d152742ed (patch) | |
| tree | 9e97d58592810ed4f93898bcd15c94d769f1a13e /client/util.js | |
| parent | c7dbbddf3539efc6d2d321cda9080005de9b6443 (diff) | |
light bath on oktween
Diffstat (limited to 'client/util.js')
| -rw-r--r-- | client/util.js | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/client/util.js b/client/util.js deleted file mode 100644 index d0db0d98..00000000 --- a/client/util.js +++ /dev/null @@ -1,122 +0,0 @@ -/* Mobile check */ - -export const isiPhone = !!((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))) -export const isiPad = !!(navigator.userAgent.match(/iPad/i)) -export const isAndroid = !!(navigator.userAgent.match(/Android/i)) -export const isMobile = isiPhone || isiPad || isAndroid -export const isDesktop = !isMobile - -export const toArray = a => Array.prototype.slice.apply(a) -export const choice = a => a[Math.floor(Math.random() * a.length)] - -const htmlClassList = document.body.parentNode.classList -htmlClassList.add(isDesktop ? 'desktop' : 'mobile') - -/* Default image dimensions */ - -export const widths = { - th: 160, - sm: 320, - md: 640, - lg: 1280, -} - -/* Formatting functions */ - -const acronyms = 'id url cc sa fp md5 sha256'.split(' ').map(s => '_' + s) -const acronymsUpperCase = acronyms.map(s => s.toUpperCase()) - -export const formatName = s => { - acronyms.forEach((acronym, i) => s = s.replace(acronym, acronymsUpperCase[i])) - return s.replace(/_/g, ' ') -} - -// Use to pad frame numbers with zeroes -export const pad = (n, m) => { - let s = String(n || 0) - while (s.length < m) { - s = '0' + s - } - return s -} - -export const courtesyS = (n, s) => n + ' ' + (n === 1 ? s : s + 's') - -export const padSeconds = n => n < 10 ? '0' + n : n - -export const timestamp = (n = 0, fps = 25) => { - n /= fps - let s = padSeconds(Math.round(n) % 60) - n = Math.floor(n / 60) - if (n > 60) { - return Math.floor(n / 60) + ':' + padSeconds(n % 60) + ':' + s - } - return (n % 60) + ':' + s -} - -export const percent = n => (n * 100).toFixed(1) + '%' -export const px = (n, w) => Math.round(n * w) + 'px' -export const clamp = (n, a, b) => n < a ? a : n < b ? n : b - -/* URLs */ - -export const preloadImage = opt => { - let { verified, hash, frame, url } = opt - if (hash && frame) { - url = imageUrl(verified, hash, frame, 'md') - } - const image = new Image() - let loaded = false - image.onload = () => { - if (loaded) return - loaded = true - image.onload = null - } - // console.log(img.src) - image.crossOrigin = 'anonymous' - image.src = url - if (image.complete) { - image.onload() - } -} - -/* AJAX */ - -export const get = (uri, data) => { - let headers = { - Accept: 'application/json, application/xml, text/play, text/html, *.*', - } - let opt = { - method: 'GET', - body: data, - headers, - // credentials: 'include', - } - // console.log(headers) - // headers['X-CSRFToken'] = csrftoken - return fetch(uri, opt).then(res => res.json()) -} - -export const post = (uri, data) => { - let headers - if (data instanceof FormData) { - headers = { - Accept: 'application/json, application/xml, text/play, text/html, *.*', - } - } else { - headers = { - Accept: 'application/json, application/xml, text/play, text/html, *.*', - 'Content-Type': 'application/json; charset=utf-8', - } - data = JSON.stringify(data) - } - let opt = { - method: 'POST', - body: data, - headers, - // credentials: 'include', - } - // console.log(headers) - // headers['X-CSRFToken'] = csrftoken - return fetch(uri, opt).then(res => res.json()) -} |
