const colorScheme = document.documentElement.getAttribute("data-bs-theme") ?? "auto";
const rangeColors = ["#14432a", "#166b34", "#37a446", "#4dd05a"];
const startDate = new Date(Date.now() - (365 * 24 * 60 * 60 * 1000));
- const monthNames = I18n.t("date.abbr_month_names");
+ const monthNames = OSM.i18n.t("date.abbr_month_names");
const mediaQuery = window.matchMedia("(prefers-color-scheme: dark)");
}]
]);
- cal.on("mouseover", (event, _timestamp, value) => {
- if (value) event.target.style.cursor = "pointer";
- });
+ cal.on("mouseover", (event, timestamp, value) => {
+ if (!displayName || !value) return;
+ if (event.target.parentElement.nodeName === "a") return;
- cal.on("click", (_event, timestamp) => {
- if (!displayName) return;
for (const { date, max_id } of heatmapData) {
if (!max_id) continue;
if (timestamp !== Date.parse(date)) continue;
+
const params = new URLSearchParams([["before", max_id + 1]]);
- location = `/user/${encodeURIComponent(displayName)}/history?${params}`;
+ const a = document.createElementNS("http://www.w3.org/2000/svg", "a");
+ a.setAttribute("href", `/user/${encodeURIComponent(displayName)}/history?${params}`);
+ $(event.target).wrap(a);
+ break;
}
});
}
function getTooltipText(date, value) {
- const localizedDate = I18n.l("date.formats.long", date);
+ const localizedDate = OSM.i18n.l("date.formats.long", date);
if (value > 0) {
- return I18n.t("javascripts.heatmap.tooltip.contributions", { count: value, date: localizedDate });
+ return OSM.i18n.t("javascripts.heatmap.tooltip.contributions", { count: value, date: localizedDate });
}
- return I18n.t("javascripts.heatmap.tooltip.no_contributions", { date: localizedDate });
+ return OSM.i18n.t("javascripts.heatmap.tooltip.no_contributions", { date: localizedDate });
}
function getTheme() {