diff --git a/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 b/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 index 78002b29a34..f805b53d08b 100644 --- a/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 +++ b/plugins/discourse-local-dates/assets/javascripts/lib/discourse-markdown/discourse-local-dates.js.es6 @@ -52,25 +52,21 @@ function addLocalDate(buffer, matches, state) { } buffer.push(token); - const previews = config.timezones - .split("|") - .filter(t => t) - .map(timezone => { - const formattedDateTime = dateTime.tz(timezone).format(config.format); + let emailPreview; + const emailTimezone = config.timezones.split("|")[0]; + const formattedDateTime = dateTime.tz(emailTimezone).format(config.format); + const formattedTimezone = emailTimezone.replace("/", ": ").replace("_", " "); - const formattedTimezone = timezone.replace("/", ": ").replace("_", " "); + if (formattedDateTime.match(/TZ/)) { + emailPreview = formattedDateTime.replace("TZ", formattedTimezone); + } else { + emailPreview = `${formattedDateTime} (${formattedTimezone})`; + } - if (formattedDateTime.match(/TZ/)) { - return formattedDateTime.replace("TZ", formattedTimezone); - } else { - return `${formattedDateTime} (${formattedTimezone})`; - } - }); - - token.attrs.push(["data-email-preview", previews[0]]); + token.attrs.push(["data-email-preview", emailPreview]); token = new state.Token("text", "", 0); - token.content = previews.join(", "); + token.content = dateTime.utc().format(config.format);; buffer.push(token); token = new state.Token("span_close", "span", -1); diff --git a/plugins/discourse-local-dates/spec/integration/local_dates_spec.rb b/plugins/discourse-local-dates/spec/integration/local_dates_spec.rb index 19dd8dd36d8..0999b18e673 100644 --- a/plugins/discourse-local-dates/spec/integration/local_dates_spec.rb +++ b/plugins/discourse-local-dates/spec/integration/local_dates_spec.rb @@ -21,8 +21,7 @@ RSpec.describe "Local Dates" do 'data-timezones="Europe/Paris|America/Los_Angeles"' ) - expect(cooked).to include('05/08/2018 3:00:00 PM (America: Los Angeles)') - expect(cooked).to include('05/09/2018 12:00:00 AM (Europe: Paris)') + expect(cooked).to include('05/08/2018 10:00:00 PM') end it "should work with timezone" do @@ -33,8 +32,7 @@ RSpec.describe "Local Dates" do cooked = post.cooked expect(cooked).to include('data-force-timezone="Asia/Calcutta"') - expect(cooked).to include('05/08/2018 9:30:00 AM (America: Los Angeles)') - expect(cooked).to include('05/08/2018 6:30:00 PM (Europe: Paris)') + expect(cooked).to include('05/08/2018 4:30:00 PM') end it 'requires the right attributes to convert to a local date' do