diff --git a/app/views/admin/homepage/_card.html.erb b/app/components/admin/widget/cards/row_component.html.erb
similarity index 100%
rename from app/views/admin/homepage/_card.html.erb
rename to app/components/admin/widget/cards/row_component.html.erb
diff --git a/app/components/admin/widget/cards/row_component.rb b/app/components/admin/widget/cards/row_component.rb
new file mode 100644
index 000000000..fed569949
--- /dev/null
+++ b/app/components/admin/widget/cards/row_component.rb
@@ -0,0 +1,7 @@
+class Admin::Widget::Cards::RowComponent < ApplicationComponent
+ attr_reader :card
+
+ def initialize(card)
+ @card = card
+ end
+end
diff --git a/app/components/admin/widget/cards/table_component.html.erb b/app/components/admin/widget/cards/table_component.html.erb
new file mode 100644
index 000000000..01a52aec5
--- /dev/null
+++ b/app/components/admin/widget/cards/table_component.html.erb
@@ -0,0 +1,22 @@
+<% if cards.any? %>
+
-
- <%= card.label %>
- <%= card.title %>
- |
- <%= card.description %> |
-
- <%= card.link_text %>
- <%= card.link_url %>
- |
-
-
-
- <% if card.image.present? %>
- <%= link_to t("admin.shared.show_image"), card.image_url(:large),
- title: card.image.title, target: "_blank" %>
- <% end %>
- |
-
- <%= render Admin::TableActionsComponent.new(card) %>
- |
-
diff --git a/app/views/admin/site_customization/cards/_cards.html.erb b/app/views/admin/site_customization/cards/_cards.html.erb
deleted file mode 100644
index 8d9d87c96..000000000
--- a/app/views/admin/site_customization/cards/_cards.html.erb
+++ /dev/null
@@ -1,16 +0,0 @@
-