discourse/app/serializers/current_user_option_serializer.rb
Natalie Tay cd6427203c
FEATURE: A dedicated 'show original' user preferences saved to user options (#39128)
Currently toggling "Show original" only persists in local storage for
the device for 30 days.

This PR adds the option in the user's interface settings at
`/my/preferences/interface`.
2026-04-07 21:37:20 +08:00

43 lines
1.3 KiB
Ruby

# frozen_string_literal: true
class CurrentUserOptionSerializer < ApplicationSerializer
attributes :mailing_list_mode,
:external_links_in_new_tab,
:enable_quoting,
:enable_smart_lists,
:enable_markdown_monospace_font,
:dynamic_favicon,
:automatically_unpin_topics,
:likes_notifications_disabled,
:hide_profile_and_presence,
:hide_profile,
:hide_presence,
:title_count_mode,
:enable_defer,
:timezone,
:skip_new_user_tips,
:default_calendar,
:bookmark_auto_delete_preference,
:notify_on_linked_posts,
:seen_popups,
:should_be_redirected_to_top,
:redirected_to_top,
:treat_as_new_topic_start_date,
:sidebar_link_to_filtered_list,
:sidebar_show_count_of_new_items,
:composition_mode,
:interface_color_mode,
:show_original_content
def likes_notifications_disabled
object.likes_notifications_disabled?
end
def include_redirected_to_top?
object.redirected_to_top.present?
end
def include_seen_popups?
SiteSetting.enable_user_tips
end
end