import Sqids from 'sqids'; let sqids = new Sqids({ minLength: 6, alphabet: 'abcdefghijklmnopqrstuvwxyz0123456789' }); export function hashcode(str) { for (var i = 0, h = 9; i < str.length; ) h = Math.imul(h ^ str.charCodeAt(i++), 9 ** 9); return h ^ (h >>> 9); } // for mnemonic display export function shorthandCode(str) { return sqids.encode([hashcode(str) & 0xffff]); } // for tag display export function hashColor(str) { const hash = hashcode(str); return `hsl(${hash % 360}, ${65 + (hash % 30) + 1}%, ${85 + (hash % 10) + 1}%)`; } export function formatSecondsToHms(s) { s = Number(s); var h = Math.floor(s / 3600); var m = Math.ceil((s % 3600) / 60); var hDisplay = h > 0 ? h + (h == 1 ? ' hr' : ' hrs') + (m > 0 ? ', ' : '') : ''; var mDisplay = m > 0 ? m + (m == 1 ? ' min' : ' mins') : ''; return hDisplay + mDisplay; } export function formatDate(unix_timestamp) { return new Date(unix_timestamp).toISOString().split('T')[0]; } export function formatTrackTime(s) { return new Date(s * 1000).toISOString().slice(11, 19); }