You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.2 KiB
44 lines
1.2 KiB
8 years ago
|
(function() {
|
||
|
function updateTimes() {
|
||
|
var updateIn = 0;
|
||
|
forEachElement('time', function(time) {
|
||
|
var date = new Date(time.getAttribute('datetime'));
|
||
|
var timeAgo = ((new Date()) - date) / (1000);
|
||
|
var unit = "seconds";
|
||
|
var updateTime = 0;
|
||
|
|
||
|
if (timeAgo >= 31536000) {
|
||
|
timeAgo /= 31536000;
|
||
|
unit = "over_x_years";
|
||
|
} else if (timeAgo >= 172800) {
|
||
|
timeAgo /= 172800;
|
||
|
unit = "x_days";
|
||
|
} else if (timeAgo >= 3600) {
|
||
|
timeAgo /= 3600;
|
||
|
unit = "x_hours";
|
||
|
updateTime = 3600;
|
||
|
} else if (timeAgo >= 60) {
|
||
|
timeAgo /= 60;
|
||
|
unit = "x_minutes"
|
||
|
updateTime = 60;
|
||
|
} else {
|
||
|
timeAgo = 1;
|
||
|
unit = "less_than_x_minutes";
|
||
|
updateTime = 10;
|
||
|
}
|
||
|
|
||
|
if (updateTime > 0 && (updateIn < 1 || updateTime < updateIn)) {
|
||
|
updateIn = updateTime;
|
||
|
}
|
||
|
|
||
|
time.setAttribute("title", date);
|
||
|
time.innerHTML = I18n.t('datetime.distance_in_words.time_ago', {time: I18n.t('datetime.distance_in_words.' + unit, {count: Math.floor(timeAgo)})});
|
||
|
});
|
||
|
|
||
|
if (updateIn > 0) {
|
||
|
window.setTimeout(updateTimes, updateIn + 1000);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
window.addEventListener("load", updateTimes, false);
|
||
|
})();
|