FEATURE: adds countdown attribute to [date] (#8037)

When used, dates will be displayed as a countdown in a human friendly way.
This commit is contained in:
Joffrey JAFFEUX
2019-08-24 11:39:20 -05:00
committed by GitHub
parent 39c31a3d76
commit bf05a8da96
5 changed files with 33 additions and 1 deletions

View File

@ -128,6 +128,15 @@
}
function _applyFormatting(dateTime, displayedTimezone, options) {
if (options.countdown) {
const diffTime = dateTime.diff(moment());
if (diffTime < 0) {
return I18n.t("discourse_local_dates.relative_dates.countdown.passed");
} else {
return moment.duration(diffTime).humanize();
}
}
const sameTimezone = _isEqualZones(displayedTimezone, moment.tz.guess());
const inCalendarRange = dateTime.isBetween(
moment().subtract(2, "days"),
@ -313,6 +322,7 @@
options.displayedTimezone = $element.attr("data-displayed-timezone");
options.format =
$element.attr("data-format") || (options.time ? "LLL" : "LL");
options.countdown = $element.attr("data-countdown");
processElement($element, options);
});