From 21c1b4bf8a948cc8282ec676c1fb5732e81fc82b Mon Sep 17 00:00:00 2001 From: Matt Jankowski Date: Fri, 21 Apr 2017 12:19:59 -0400 Subject: [PATCH] Use local_time gem for timezone replacement (#2174) For the 'time ago' value of stream entry simple statuses and the timestamp value of detailed statuses - output their UTC value and use the browser timezone to convert locally. --- Gemfile | 1 + Gemfile.lock | 10 ++++++++++ app/assets/javascripts/application_public.js | 1 + app/views/stream_entries/_detailed_status.html.haml | 2 +- app/views/stream_entries/_simple_status.html.haml | 2 +- 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Gemfile b/Gemfile index 2971a7a29b..701c724ee2 100644 --- a/Gemfile +++ b/Gemfile @@ -35,6 +35,7 @@ gem 'http_accept_language' gem 'httplog' gem 'kaminari' gem 'link_header' +gem 'local_time' gem 'nokogiri' gem 'oj' gem 'ostatus2', '~> 1.1' diff --git a/Gemfile.lock b/Gemfile.lock index b0ef1c768a..14567dc5a4 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -111,6 +111,13 @@ GEM cocaine (0.5.8) climate_control (>= 0.0.3, < 1.0) coderay (1.1.1) + coffee-rails (4.2.1) + coffee-script (>= 2.2.0) + railties (>= 4.0.0, < 5.2.x) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) colorize (0.8.1) concurrent-ruby (1.0.5) connection_pool (2.2.1) @@ -224,6 +231,8 @@ GEM letter_opener (~> 1.0) railties (>= 3.2) link_header (0.0.8) + local_time (1.0.3) + coffee-rails lograge (0.4.1) actionpack (>= 4, < 5.1) activesupport (>= 4, < 5.1) @@ -500,6 +509,7 @@ DEPENDENCIES letter_opener letter_opener_web link_header + local_time lograge microformats2 nokogiri diff --git a/app/assets/javascripts/application_public.js b/app/assets/javascripts/application_public.js index ae151a301d..7df4891e78 100644 --- a/app/assets/javascripts/application_public.js +++ b/app/assets/javascripts/application_public.js @@ -2,6 +2,7 @@ //= require jquery_ujs //= require extras //= require best_in_place +//= require local_time $(function () { $(".best_in_place").best_in_place(); diff --git a/app/views/stream_entries/_detailed_status.html.haml b/app/views/stream_entries/_detailed_status.html.haml index e3cc522be2..626b97f41a 100644 --- a/app/views/stream_entries/_detailed_status.html.haml +++ b/app/views/stream_entries/_detailed_status.html.haml @@ -32,7 +32,7 @@ %div.detailed-status__meta %data.dt-published{ value: status.created_at.to_time.iso8601 } = link_to TagManager.instance.url_for(status), class: 'detailed-status__datetime u-url u-uid', target: stream_link_target, rel: 'noopener' do - %span= l(status.created_at) + %span= local_time(status.created_at, format: :default) ยท - if status.application - if status.application.website.blank? diff --git a/app/views/stream_entries/_simple_status.html.haml b/app/views/stream_entries/_simple_status.html.haml index 52905ff5e0..52518bc334 100644 --- a/app/views/stream_entries/_simple_status.html.haml +++ b/app/views/stream_entries/_simple_status.html.haml @@ -1,7 +1,7 @@ .status.light .status__header .status__meta - = link_to time_ago_in_words(status.created_at), TagManager.instance.url_for(status), class: 'status__relative-time u-url u-uid', title: l(status.created_at), target: stream_link_target, rel: 'noopener' + = link_to local_time_ago(status.created_at), TagManager.instance.url_for(status), class: 'status__relative-time u-url u-uid', title: l(status.created_at), target: stream_link_target, rel: 'noopener' %data.dt-published{ value: status.created_at.to_time.iso8601 } = link_to TagManager.instance.url_for(status.account), class: 'status__display-name p-author h-card', target: stream_link_target, rel: 'noopener' do