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

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

  .fields-group
    = f.input :locale,
      collection: I18n.available_locales,
      wrapper: :with_label,
      include_blank: false,
      label_method: lambda { |locale| human_locale(locale) },
      selected: I18n.locale

    = f.input :filtered_languages,
      collection: I18n.available_locales,
      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'

    = f.input :setting_default_privacy, collection: Status.visibilities.keys - ['direct'], wrapper: :with_label, include_blank: false, label_method: lambda { |visibility| safe_join([I18n.t("statuses.visibilities.#{visibility}"), content_tag(:span, I18n.t("statuses.visibilities.#{visibility}_long"), class: 'hint')]) }, required: false, as: :radio_buttons, collection_wrapper_tag: 'ul', item_wrapper_tag: 'li'

  .fields-group
    = f.simple_fields_for :notification_emails, hash_to_object(current_user.settings.notification_emails) do |ff|
      = ff.input :follow, as: :boolean, wrapper: :with_label
      = ff.input :follow_request, as: :boolean, wrapper: :with_label
      = ff.input :reblog, as: :boolean, wrapper: :with_label
      = ff.input :favourite, as: :boolean, wrapper: :with_label
      = ff.input :mention, as: :boolean, wrapper: :with_label
      = ff.input :digest, as: :boolean, wrapper: :with_label

  .fields-group
    = f.simple_fields_for :interactions, hash_to_object(current_user.settings.interactions) do |ff|
      = ff.input :must_be_follower, as: :boolean, wrapper: :with_label
      = ff.input :must_be_following, as: :boolean, wrapper: :with_label

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

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

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