diff --git a/app/components/admin/settings/images_and_documents_tab_component.html.erb b/app/components/admin/settings/images_and_documents_tab_component.html.erb
new file mode 100644
index 000000000..52d6c9e7b
--- /dev/null
+++ b/app/components/admin/settings/images_and_documents_tab_component.html.erb
@@ -0,0 +1,12 @@
+
<%= t("admin.settings.index.images_and_documents") %>
+
+<%= render Admin::Settings::TableComponent.new(setting_name: "setting") do %>
+ <% images_settings.each do |key| %>
+ <%= render Admin::Settings::RowComponent.new(key, tab: tab) %>
+ <% end %>
+ <%= render Admin::Settings::RowComponent.new("uploads.images.content_types", type: :content_type, tab: tab) %>
+ <% documents_settings.each do |key| %>
+ <%= render Admin::Settings::RowComponent.new(key, tab: tab) %>
+ <% end %>
+ <%= render Admin::Settings::RowComponent.new("uploads.documents.content_types", type: :content_type, tab: tab) %>
+<% end %>
diff --git a/app/components/admin/settings/images_and_documents_tab_component.rb b/app/components/admin/settings/images_and_documents_tab_component.rb
new file mode 100644
index 000000000..c3ca8b172
--- /dev/null
+++ b/app/components/admin/settings/images_and_documents_tab_component.rb
@@ -0,0 +1,22 @@
+class Admin::Settings::ImagesAndDocumentsTabComponent < ApplicationComponent
+ def tab
+ "#tab-images-and-documents"
+ end
+
+ def images_settings
+ %w[
+ uploads.images.title.min_length
+ uploads.images.title.max_length
+ uploads.images.min_width
+ uploads.images.min_height
+ uploads.images.max_size
+ ]
+ end
+
+ def documents_settings
+ %w[
+ uploads.documents.max_amount
+ uploads.documents.max_size
+ ]
+ end
+end
diff --git a/app/views/admin/settings/_images_and_documents_tab.html.erb b/app/views/admin/settings/_images_and_documents_tab.html.erb
deleted file mode 100644
index 95144d27c..000000000
--- a/app/views/admin/settings/_images_and_documents_tab.html.erb
+++ /dev/null
@@ -1,14 +0,0 @@
-<%= t("admin.settings.index.images_and_documents") %>
-
-<% tab = "#tab-images-and-documents" %>
-<%= render Admin::Settings::TableComponent.new(setting_name: "setting") do %>
- <%= render Admin::Settings::RowComponent.new("uploads.images.title.min_length", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.images.title.max_length", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.images.min_width", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.images.min_height", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.images.max_size", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.images.content_types", type: :content_type, tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.documents.max_amount", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.documents.max_size", tab: tab) %>
- <%= render Admin::Settings::RowComponent.new("uploads.documents.content_types", type: :content_type, tab: tab) %>
-<% end %>
diff --git a/app/views/admin/settings/index.html.erb b/app/views/admin/settings/index.html.erb
index daf1fc2d2..e90ccdbf6 100644
--- a/app/views/admin/settings/index.html.erb
+++ b/app/views/admin/settings/index.html.erb
@@ -19,7 +19,7 @@
- <%= render "images_and_documents_tab" %>
+ <%= render Admin::Settings::ImagesAndDocumentsTabComponent.new %>