- content_for :page_title do
  = t('settings.preferences')

- content_for :heading_actions do
  = button_tag t('generic.save_changes'), class: 'button', form: 'edit_preferences'

= simple_form_for current_user, url: settings_preferences_other_path, html: { method: :put, id: 'edit_preferences' } do |f|
  = render 'shared/error_messages', object: current_user

  .fields-group
    = f.input :setting_noindex, as: :boolean, wrapper: :with_label

  .fields-group
    = f.input :setting_hide_network, as: :boolean, wrapper: :with_label

  .fields-group
    = f.input :setting_hide_statuses_count, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_hide_following_count, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_hide_followers_count, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_aggregate_reblogs, as: :boolean, wrapper: :with_label, recommended: true

  %h4= t 'preferences.posting_defaults'

  .fields-row
    .fields-group.fields-row__column.fields-row__column-6
      = f.input :setting_default_privacy, collection: Status.selectable_visibilities, wrapper: :with_label, include_blank: false, label_method: lambda { |visibility| safe_join([I18n.t("statuses.visibilities.#{visibility}"), I18n.t("statuses.visibilities.#{visibility}_long")], ' - ') }, required: false, hint: false

    .fields-group.fields-row__column.fields-row__column-6
      = f.input :setting_default_language, collection: [nil] + filterable_languages.sort, wrapper: :with_label, label_method: lambda { |locale| locale.nil? ? I18n.t('statuses.language_detection') : human_locale(locale) }, required: false, include_blank: false, hint: false

  .fields-group
    = f.input :setting_default_sensitive, as: :boolean, wrapper: :with_label

  .fields-group
    = f.input :setting_show_application, as: :boolean, wrapper: :with_label, recommended: true

  .fields-row
    .fields-group.fields-row__column.fields-row__column-6
      = f.input :setting_default_expires_in, wrapper: :with_label, input_html: { maxlength: 30, pattern: '^(?:(\d+)y)?(?:(\d+)m(?=[\do])o?)?(?:(\d+)d)?(?:(\d+)h)?(?:(\d+)m)?$' }, fedibird_features: true

    .fields-group.fields-row__column.fields-row__column-6
      %span.fedibird_features.float Fedibird
      = f.input :setting_default_expires_action, collection: ['mark', 'delete'], label_method: lambda { |item| t("simple_form.labels.defaults.setting_default_expires_action_#{item}") }, hint: t("simple_form.hints.defaults.setting_default_expires_action"), as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label

  %h4= t 'preferences.searching_defaults'

  .fields-group
    = f.input :setting_default_search_searchability, collection: Status.selectable_searchabilities, wrapper: :with_label, include_blank: false, label_method: lambda { |searchability| safe_join([I18n.t("search.searchabilities.#{searchability}"), I18n.t("search.searchabilities.#{searchability}_long")], ' - ') }, required: false, hint: true, fedibird_features: true

  %h4= t 'preferences.fedibird_features'

  .fields-group
    %span.fedibird_features.float Fedibird
    = f.input :setting_new_features_policy, collection: ['conservative', 'default', 'tester'], label_method: lambda { |item| t("simple_form.labels.defaults.setting_new_features_policy_#{item}") }, hint: t("simple_form.hints.defaults.setting_new_features_policy"), as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li', wrapper: :with_floating_label

  .fields-group
    = f.input :setting_show_follow_button_on_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_subscribe_button_on_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_followed_by, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_follow_button_to_list_adder, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_navigation_panel, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_quote_button, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_bookmark_button, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_place_tab_bar_at_bottom, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_tab_bar_label, as: :boolean, wrapper: :with_label, fedibird_features: true

  -# .fields-group
  -#   = f.input :setting_enable_local_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_enable_federated_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_enable_limited_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_enable_personal_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_enable_reaction, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_compact_reaction, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_disable_reaction_streaming, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_reply_tree_button, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_enable_status_reference, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_match_visibility_of_references, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_confirm_follow_from_bot, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_show_reload_button, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_disable_relative_time, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_hide_direct_from_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_hide_personal_from_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_hide_personal_from_account, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_hide_privacy_meta, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :setting_unlocked_for_official_app, as: :boolean, wrapper: :with_label, fedibird_features: true

  %h4= t 'preferences.public_timelines'

  .fields-group
    = f.input :setting_hide_bot_on_public_timeline, as: :boolean, wrapper: :with_label, fedibird_features: true

  .fields-group
    = f.input :chosen_languages, collection: filterable_languages.sort, wrapper: :with_block_label, include_blank: false, label_method: lambda { |locale| human_locale(locale) }, required: false, as: :check_boxes, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'

  .actions
    = f.button :button, t('generic.save_changes'), type: :submit
