Setting.open_deletion
end
- def add_rtl_body_class(other_classes)
- other_classes = "#{other_classes} rtl" if locale_direction == 'rtl'
- other_classes
- end
-
def locale_direction
if [:ar, :fa, :he].include?(I18n.locale)
'rtl'
def react_component(name, props = {})
content_tag(:div, nil, data: { component: name.to_s.camelcase, props: Oj.dump(props) })
end
+
+ def body_classes
+ output = (@body_classes || '').split(' ')
+ output << "theme-#{current_theme.parameterize}"
+ output << 'system-font' if current_account&.user&.setting_system_font_ui
+ output << current_account&.user&.setting_reduce_motion ? 'reduce-motion' : 'no-reduce-motion'
+ output << 'rtl' if locale_direction == 'rtl'
+ output.reject(&:blank?).join(' ')
+ end
end
= yield :header_tags
- - body_classes ||= @body_classes || ''
- - body_classes += ' system-font' if current_account&.user&.setting_system_font_ui
- - body_classes += current_account&.user&.setting_reduce_motion ? ' reduce-motion' : ' no-reduce-motion'
-
- %body{ class: add_rtl_body_class(body_classes) }
+ %body{ class: body_classes }
= content_for?(:content) ? yield(:content) : yield
contact_information:
email: Business e-mail
username: Contact username
+ custom_css:
+ desc_html: Modify the look with CSS loaded on every page
+ title: Custom CSS
hero:
desc_html: Displayed on the frontpage. At least 600x100px recommended. When not set, falls back to instance thumbnail
title: Hero image
end
end
- describe 'add_rtl_body_class' do
+ describe 'locale_direction' do
around do |example|
current_locale = I18n.locale
example.run
it 'adds rtl body class if locale is Arabic' do
I18n.locale = :ar
- expect(helper.add_rtl_body_class('other classes')).to eq 'other classes rtl'
+ expect(helper.locale_direction).to eq 'rtl'
end
it 'adds rtl body class if locale is Farsi' do
I18n.locale = :fa
- expect(helper.add_rtl_body_class('other classes')).to eq 'other classes rtl'
+ expect(helper.locale_direction).to eq 'rtl'
end
it 'adds rtl if locale is Hebrew' do
I18n.locale = :he
- expect(helper.add_rtl_body_class('other classes')).to eq 'other classes rtl'
+ expect(helper.locale_direction).to eq 'rtl'
end
it 'does not add rtl if locale is Thai' do
I18n.locale = :th
- expect(helper.add_rtl_body_class('other classes')).to eq 'other classes'
+ expect(helper.locale_direction).to_not eq 'rtl'
end
end