diff --git a/app/assets/javascripts/initializePage.js b/app/assets/javascripts/initializePage.js index 02472b132..b467a015f 100644 --- a/app/assets/javascripts/initializePage.js +++ b/app/assets/javascripts/initializePage.js @@ -10,7 +10,8 @@ initializeUserProfilePage, initializePodcastPlayback, initializeDrawerSliders, initializeHeroBannerClose, initializeOnboardingTaskCard, initScrolling, nextPage:writable, fetching:writable, done:writable, adClicked:writable, - initializePaymentPointers, initializeSpecialNavigationFunctionality, initializeBroadcast + initializePaymentPointers, initializeSpecialNavigationFunctionality, initializeBroadcast, + initializeDateHelpers */ function callInitializers() { @@ -60,6 +61,7 @@ function callInitializers() { initializeDrawerSliders(); initializeHeroBannerClose(); initializeOnboardingTaskCard(); + initializeDateHelpers(); function freezeScrolling(event) { event.preventDefault(); diff --git a/app/assets/javascripts/initializers/initializeDateTimeHelpers.js b/app/assets/javascripts/initializers/initializeDateTimeHelpers.js new file mode 100644 index 000000000..b72e1a908 --- /dev/null +++ b/app/assets/javascripts/initializers/initializeDateTimeHelpers.js @@ -0,0 +1,18 @@ +/* global localizeTimeElements */ + +'use strict'; + +function initializeDateHelpers() { + // Date without year: Jul 12 + localizeTimeElements(document.querySelectorAll('time.date-no-year'), { + month: 'short', + day: 'numeric', + }); + + // Full date: Jul 12, 2020 + localizeTimeElements(document.querySelectorAll('time.date'), { + year: 'numeric', + month: 'short', + day: 'numeric', + }); +} diff --git a/app/helpers/date_helper.rb b/app/helpers/date_helper.rb new file mode 100644 index 000000000..e92821e91 --- /dev/null +++ b/app/helpers/date_helper.rb @@ -0,0 +1,11 @@ +module DateHelper + def local_date(datetime, show_year: true) + datetime = Time.zone.parse(datetime) if datetime.is_a?(String) + + tag.time( + datetime.strftime("%b %e#{', %Y' if show_year}"), + datetime: datetime.utc.iso8601, + class: "date#{'-no-year' unless show_year}", + ) + end +end diff --git a/app/views/articles/_user_metadata.html.erb b/app/views/articles/_user_metadata.html.erb index 7f51ff9a1..d85e6329c 100644 --- a/app/views/articles/_user_metadata.html.erb +++ b/app/views/articles/_user_metadata.html.erb @@ -97,7 +97,7 @@ Joined