diff --git a/app/assets/stylesheets/admin/action.scss b/app/assets/stylesheets/admin/action.scss
index cca144bbb..abdba6794 100644
--- a/app/assets/stylesheets/admin/action.scss
+++ b/app/assets/stylesheets/admin/action.scss
@@ -3,4 +3,8 @@
&[disabled] {
@include button-disabled;
}
+
+ &.delete {
+ cursor: pointer;
+ }
}
diff --git a/app/views/admin/officials/edit.html.erb b/app/views/admin/officials/edit.html.erb
index 40e428e49..c03c77c65 100644
--- a/app/views/admin/officials/edit.html.erb
+++ b/app/views/admin/officials/edit.html.erb
@@ -14,9 +14,17 @@
<%= f.text_field :official_position %>
<%= f.select :official_level, official_level_options %>
<%= f.submit class: "button" %>
- <% if @user.official? %>
-
- <%= link_to t("admin.officials.edit.destroy"), admin_official_path(@user), method: :delete, class: "delete" %>
- <% end %>
+ <% end %>
+
+ <% if @user.official? %>
+
+ <%= render Admin::ActionComponent.new(
+ :destroy,
+ @user,
+ text: t("admin.officials.edit.destroy"),
+ path: admin_official_path(@user),
+ method: :delete,
+ class: "delete"
+ ) %>
<% end %>
diff --git a/spec/system/admin/officials_spec.rb b/spec/system/admin/officials_spec.rb
index c71dfe928..cf94a541d 100644
--- a/spec/system/admin/officials_spec.rb
+++ b/spec/system/admin/officials_spec.rb
@@ -63,7 +63,7 @@ describe "Admin officials", :admin do
scenario "Destroy" do
visit edit_admin_official_path(official)
- click_link 'Remove "Official" status'
+ click_button 'Remove "Official" status'
expect(page).to have_content "Details saved: the user is no longer an official"
expect(page).to have_current_path(admin_officials_path, ignore_query: true)