diff --git a/app/decorators/user_decorator.rb b/app/decorators/user_decorator.rb index dc1851b56..fb52372d5 100644 --- a/app/decorators/user_decorator.rb +++ b/app/decorators/user_decorator.rb @@ -80,6 +80,9 @@ class UserDecorator < ApplicationDecorator "trusted-status-#{trusted?}", "#{setting.config_navbar.tr('_', '-')}-header", ] + + # Backfill ten-x-hacker-theme because the ios app looks for it to render native dark shell. + body_class << "ten-x-hacker-theme" if setting.config_theme == "dark_theme" body_class.join(" ") end diff --git a/spec/decorators/user_decorator_spec.rb b/spec/decorators/user_decorator_spec.rb index 39b1198d8..a7b8c4e9f 100644 --- a/spec/decorators/user_decorator_spec.rb +++ b/spec/decorators/user_decorator_spec.rb @@ -98,6 +98,7 @@ RSpec.describe UserDecorator, type: :decorator do dark-theme sans-serif-article-body mod-status-#{user.admin? || !user.moderator_for_tags.empty?} trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header + ten-x-hacker-theme ].join(" ") expect(user.decorate.config_body_class).to eq(expected_result) end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 584363f2c..f9c7e2f27 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -656,7 +656,7 @@ RSpec.describe User do user.setting.config_theme = "dark_theme" # rubocop:disable Layout/LineLength - classes = "dark-theme sans-serif-article-body mod-status-#{user.admin? || !user.moderator_for_tags.empty?} trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header" + classes = "dark-theme sans-serif-article-body mod-status-#{user.admin? || !user.moderator_for_tags.empty?} trusted-status-#{user.trusted?} #{user.setting.config_navbar}-header ten-x-hacker-theme" # rubocop:enable Layout/LineLength expect(user.decorate.config_body_class).to eq(classes) end