forked from blisstown/campfire
26 lines
857 B
JavaScript
26 lines
857 B
JavaScript
import Lang from '$lib/lang';
|
|
const lang = Lang('en_GB');
|
|
|
|
const denoms = [
|
|
{ unit: lang.string('time.second'), min: 0 },
|
|
{ unit: lang.string('time.minute'), min: 60 },
|
|
{ unit: lang.string('time.hour'), min: 60 },
|
|
{ unit: lang.string('time.day'), min: 24 },
|
|
{ unit: lang.string('time.week'), min: 7 },
|
|
{ unit: lang.string('time.year'), min: 52 },
|
|
];
|
|
|
|
export function shorthand(date) {
|
|
let value = (new Date() - date) / 1000;
|
|
let unit = 's';
|
|
let index = 0;
|
|
while (index < denoms.length - 1) {
|
|
if (value < denoms[index + 1].min) break;
|
|
index++
|
|
value /= denoms[index].min;
|
|
unit = denoms[index].unit;
|
|
}
|
|
if (value > 0)
|
|
return lang.string('time.ago').replaceAll('%1', Math.floor(value) + unit);
|
|
return lang.string('time.in').replaceAll('%1', Math.floor(value) + unit);
|
|
}
|