import { localizer } from "$lib/locale.js"; // colors defined in static/css/global.css const colors = ["yellow", "cyan", "green", "pinkish", "red", "blue"]; // randomly select a color export function color() { return colors[Math.floor(Math.random() * colors.length)]; } // play a click sound export function click() { let audio = new Audio("/assets/click.wav"); audio.play(); } // join a given path to the URL export function urljoin(url, path = null) { if (null === path || path.length === 0) { return url; } if (url[url.length - 1] != "/") { url += "/"; } if (path[0] === "/") { path = path.slice(1); } return url + path; } // convert Date() to readable date export function date(date) { return new Intl.DateTimeFormat(localizer.browser(), { month: "2-digit", year: "2-digit", day: "2-digit", }).format(date); } // convert timestamp to readable time export function time_from_ts(ts) { const date = new Date(ts * 1000); const zone = date.toString().match(/([A-Z]+[\+-][0-9]+)/)[1]; return ( new Intl.DateTimeFormat(localizer.browser(), { hour: "2-digit", minute: "2-digit", second: "2-digit", }).format(date) + ` (${zone})` ); } // convert timestamp to readable date export function date_from_ts(ts) { return date(new Date(ts * 1000)); }