From c131903e56227ce76f649cc24d327f640ae843e7 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9gis=20Hanol?= <regis@hanol.fr>
Date: Thu, 6 Jun 2019 11:16:58 +0200
Subject: [PATCH] FIX: clone dateTime before changing timezone

---
 .../discourse-local-dates.js.no-module.es6    | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6 b/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6
index 9b5cd8cc552..a4f8b8f65e3 100644
--- a/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6
+++ b/plugins/discourse-local-dates/assets/javascripts/discourse-local-dates.js.no-module.es6
@@ -201,14 +201,13 @@
   }
 
   function _createDateTimeRange(dateTime, timezone) {
-    const startRange = dateTime.tz(timezone).format("LLL");
-    const separator = "→";
-    const endRange = dateTime
-      .add(24, "hours")
-      .tz(timezone)
-      .format("LLL");
+    const dt = moment(dateTime).tz(timezone);
 
-    return `${startRange} ${separator} ${endRange}`;
+    return [
+      dt.format("LLL"),
+      "→",
+      dt.add(24, "hours").format("LLL"),
+    ].join(" ");
   }
 
   function _generatePreviews(dateTime, displayedTimezone, options) {
@@ -222,7 +221,7 @@
       timezone: watchingUserTimezone,
       current: true,
       dateTime: options.time
-        ? dateTime.tz(watchingUserTimezone).format("LLL")
+        ? moment(dateTime).tz(watchingUserTimezone).format("LLL")
         : _createDateTimeRange(dateTime, watchingUserTimezone)
     });
 
@@ -249,7 +248,7 @@
         previewedTimezones.push({
           timezone,
           dateTime: options.time
-            ? dateTime.tz(timezone).format("LLL")
+            ? moment(dateTime).tz(timezone).format("LLL")
             : _createDateTimeRange(dateTime, timezone)
         });
       });
@@ -258,7 +257,7 @@
       previewedTimezones.push({
         timezone: "Etc/UTC",
         dateTime: options.time
-          ? dateTime.tz("Etc/UTC").format("LLL")
+          ? moment(dateTime).tz("Etc/UTC").format("LLL")
           : _createDateTimeRange(dateTime, "Etc/UTC")
       });
     }