]> git.openstreetmap.org Git - rails.git/blobdiff - app/assets/javascripts/heatmap.js
Replace use of I18n in javascript with OSM.i18n
[rails.git] / app / assets / javascripts / heatmap.js
index b96a47a2208ac3e0797b31bc863f33782358bb32..fccc9a7b02e6c2a10cb79d772249c46a1e5ad270 100644 (file)
@@ -16,7 +16,7 @@ document.addEventListener("DOMContentLoaded", () => {
   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)");
 
@@ -34,7 +34,7 @@ document.addEventListener("DOMContentLoaded", () => {
         type: "month",
         gutter: 4,
         label: {
-          text: (timestamp) => monthNames[new Date(timestamp).getMonth() + 1],
+          text: (timestamp) => monthNames[new Date(timestamp).getUTCMonth() + 1],
           position: "top",
           textAlign: "middle"
         },
@@ -70,6 +70,10 @@ document.addEventListener("DOMContentLoaded", () => {
       }]
     ]);
 
+    cal.on("mouseover", (event, _timestamp, value) => {
+      if (value) event.target.style.cursor = "pointer";
+    });
+
     cal.on("click", (_event, timestamp) => {
       if (!displayName) return;
       for (const { date, max_id } of heatmapData) {
@@ -82,13 +86,13 @@ document.addEventListener("DOMContentLoaded", () => {
   }
 
   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() {