glitch-soc/mastodon

View on GitHub
app/views/admin/settings/appearance/show.html.haml

Summary

Maintainability
Test Coverage
- content_for :page_title do
  = t('admin.settings.appearance.title')

- content_for :heading do
  %h2= t('admin.settings.title')
  = render partial: 'admin/settings/shared/links'

= simple_form_for @admin_settings, url: admin_settings_appearance_path, html: { method: :patch } do |f|
  = render 'shared/error_messages', object: @admin_settings

  %p.lead= t('admin.settings.appearance.preamble')

  .fields-group
    = f.input :flavour_and_skin,
              collection: Themes.instance.flavours_and_skins,
              group_label_method: ->(flavour_and_skin) { I18n.t("flavours.#{flavour_and_skin}.name", default: flavour_and_skin) },
              wrapper: :with_label,
              label: t('admin.settings.flavour_and_skin.title'),
              include_blank: false,
              as: :grouped_select,
              label_method: :last,
              value_method: ->(value) { value.join('/') },
              group_method: :last

  .fields-group
    = f.input :custom_css,
              as: :text,
              input_html: { rows: 8 },
              wrapper: :with_block_label

  .fields-row
    .fields-row__column.fields-row__column-6.fields-group
      = f.input :mascot,
                as: :file,
                wrapper: :with_block_label

    .fields-row__column.fields-row__column-6.fields-group
      - if @admin_settings.mascot.persisted?
        = image_tag @admin_settings.mascot.file.url, class: 'fields-group__thumbnail'
        = link_to admin_site_upload_path(@admin_settings.mascot), data: { method: :delete }, class: 'link-button link-button--destructive' do
          = material_symbol 'delete'
          = t('admin.site_uploads.delete')

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