commit: 79bc3d58456a850a7f2d99a2c0e15ff1618c1a0e
parent: 106efba800a63d508aabdc661cb0551c2b82110c
Author: Eugen Rochko <eugen@zeonfederated.com>
Date: Mon, 29 Jan 2018 00:22:20 +0100
Add direction tags to HTML e-mails for RTL languages (#6373)
Diffstat:
5 files changed, 15 insertions(+), 4 deletions(-)
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
@@ -22,10 +22,18 @@ module ApplicationHelper
end
def add_rtl_body_class(other_classes)
- other_classes = "#{other_classes} rtl" if [:ar, :fa, :he].include?(I18n.locale)
+ other_classes = "#{other_classes} rtl" if locale_direction == 'rtl'
other_classes
end
+ def locale_direction
+ if [:ar, :fa, :he].include?(I18n.locale)
+ 'rtl'
+ else
+ 'ltr'
+ end
+ end
+
def favicon_path
env_suffix = Rails.env.production? ? '' : '-dev'
"/favicon#{env_suffix}.ico"
diff --git a/app/mailers/application_mailer.rb b/app/mailers/application_mailer.rb
@@ -3,6 +3,7 @@
class ApplicationMailer < ActionMailer::Base
layout 'mailer'
+ helper :application
helper :instance
helper :mailer
diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb
@@ -3,6 +3,7 @@
class UserMailer < Devise::Mailer
layout 'mailer'
+ helper :application
helper :instance
add_template_helper RoutingHelper
diff --git a/app/views/layouts/mailer.html.haml b/app/views/layouts/mailer.html.haml
@@ -7,7 +7,7 @@
%title/
= stylesheet_pack_tag 'mailer'
- %body
+ %body{ dir: locale_direction }
%table.email-table{ cellspacing: 0, cellpadding: 0 }
%tbody
%tr
diff --git a/app/views/notification_mailer/_status.html.haml b/app/views/notification_mailer/_status.html.haml
@@ -1,6 +1,6 @@
- i ||= 0
-%table.email-table{ cellspacing: 0, cellpadding: 0 }
+%table.email-table{ cellspacing: 0, cellpadding: 0, dir: 'ltr' }
%tbody
%tr
%td.email-body
@@ -24,7 +24,8 @@
%bdi= display_name(status.account)
= "@#{status.account.acct}"
- = Formatter.instance.format(status)
+ %div{ dir: rtl_status?(status) ? 'rtl' : 'ltr' }
+ = Formatter.instance.format(status)
%p.status-footer
= link_to l(status.created_at), web_url("statuses/#{status.id}")