about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatt Jankowski <mjankowski@thoughtbot.com>2017-04-21 12:19:59 -0400
committerEugen <eugen@zeonfederated.com>2017-04-21 18:19:59 +0200
commit452dc6b5fee576994c26139889d225db4acaeefc (patch)
treec1039320591e1e53b65af3074b47cd8765e88c8e
parent5c9aa2b7329fe5bd87cee583e33c7b5c1eac4566 (diff)
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.
-rw-r--r--Gemfile1
-rw-r--r--Gemfile.lock10
-rw-r--r--app/assets/javascripts/application_public.js1
-rw-r--r--app/views/stream_entries/_detailed_status.html.haml2
-rw-r--r--app/views/stream_entries/_simple_status.html.haml2
5 files changed, 14 insertions, 2 deletions
diff --git a/Gemfile b/Gemfile
index 2971a7a29..701c724ee 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 b0ef1c768..14567dc5a 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 ae151a301..7df4891e7 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 e3cc522be..626b97f41 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 52905ff5e..52518bc33 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