2018-06-15 23:03:24 +08:00
|
|
|
import { htmlHelper } from "discourse-common/lib/helpers";
|
2016-05-11 01:45:58 +08:00
|
|
|
|
2015-04-06 19:23:57 +08:00
|
|
|
const TITLE_SUBS = {
|
2018-06-15 23:03:24 +08:00
|
|
|
all: "all_time",
|
|
|
|
yearly: "this_year",
|
|
|
|
quarterly: "this_quarter",
|
|
|
|
monthly: "this_month",
|
|
|
|
daily: "today"
|
2015-04-06 19:23:57 +08:00
|
|
|
};
|
2015-03-17 03:14:33 +08:00
|
|
|
|
2016-05-11 01:45:58 +08:00
|
|
|
export default htmlHelper((period, options) => {
|
2018-06-15 23:03:24 +08:00
|
|
|
const title = I18n.t("filters.top." + (TITLE_SUBS[period] || "this_week"));
|
2015-07-01 23:48:59 +08:00
|
|
|
if (options.hash.showDateRange) {
|
|
|
|
var dateString = "";
|
2018-05-09 16:05:40 +08:00
|
|
|
let finish;
|
|
|
|
|
|
|
|
if (options.hash.fullDay) {
|
2018-06-15 23:03:24 +08:00
|
|
|
finish = moment()
|
|
|
|
.utc()
|
|
|
|
.subtract(1, "days");
|
2018-05-09 16:05:40 +08:00
|
|
|
} else {
|
|
|
|
finish = moment();
|
|
|
|
}
|
|
|
|
|
2018-06-15 23:03:24 +08:00
|
|
|
switch (period) {
|
|
|
|
case "yearly":
|
|
|
|
dateString =
|
|
|
|
finish
|
|
|
|
.clone()
|
|
|
|
.subtract(1, "year")
|
|
|
|
.format(I18n.t("dates.long_with_year_no_time")) +
|
|
|
|
" - " +
|
|
|
|
finish.format(I18n.t("dates.long_with_year_no_time"));
|
2015-07-01 23:48:59 +08:00
|
|
|
break;
|
2018-06-15 23:03:24 +08:00
|
|
|
case "quarterly":
|
|
|
|
dateString =
|
|
|
|
finish
|
|
|
|
.clone()
|
|
|
|
.subtract(3, "month")
|
|
|
|
.format(I18n.t("dates.long_no_year_no_time")) +
|
|
|
|
" - " +
|
|
|
|
finish.format(I18n.t("dates.long_no_year_no_time"));
|
2015-07-29 00:31:31 +08:00
|
|
|
break;
|
2018-06-15 23:03:24 +08:00
|
|
|
case "weekly":
|
|
|
|
dateString =
|
|
|
|
finish
|
|
|
|
.clone()
|
|
|
|
.subtract(1, "week")
|
|
|
|
.format(I18n.t("dates.long_no_year_no_time")) +
|
|
|
|
" - " +
|
|
|
|
finish.format(I18n.t("dates.long_no_year_no_time"));
|
2015-07-01 23:48:59 +08:00
|
|
|
break;
|
2018-06-15 23:03:24 +08:00
|
|
|
case "monthly":
|
|
|
|
dateString =
|
|
|
|
finish
|
|
|
|
.clone()
|
|
|
|
.subtract(1, "month")
|
|
|
|
.format(I18n.t("dates.long_no_year_no_time")) +
|
|
|
|
" - " +
|
|
|
|
finish.format(I18n.t("dates.long_no_year_no_time"));
|
2015-07-01 23:48:59 +08:00
|
|
|
break;
|
2018-06-15 23:03:24 +08:00
|
|
|
case "daily":
|
|
|
|
dateString = finish
|
|
|
|
.clone()
|
|
|
|
.format(I18n.t("dates.full_no_year_no_time"));
|
2015-07-01 23:48:59 +08:00
|
|
|
break;
|
|
|
|
}
|
2016-05-11 01:45:58 +08:00
|
|
|
|
2018-02-14 18:16:57 +08:00
|
|
|
return `<span class="date-section">${title}</span><span class='top-date-string'>${dateString}</span>`;
|
2015-07-01 23:48:59 +08:00
|
|
|
} else {
|
2016-05-11 01:45:58 +08:00
|
|
|
return title;
|
2015-07-01 23:48:59 +08:00
|
|
|
}
|
2015-03-17 03:14:33 +08:00
|
|
|
});
|