diff --git a/app/javascript/controllers/application.js b/app/javascript/controllers/application.js
index 1213e85c..9ab9e865 100644
--- a/app/javascript/controllers/application.js
+++ b/app/javascript/controllers/application.js
@@ -6,4 +6,34 @@ const application = Application.start()
application.debug = false
window.Stimulus = application
+Turbo.setConfirmMethod((message) => {
+ const dialog = document.getElementById("turbo-confirm");
+
+ try {
+ const { title, body, accept } = JSON.parse(message);
+
+ if (title) {
+ document.getElementById("turbo-confirm-title").innerHTML = title;
+ }
+
+ if (body) {
+ document.getElementById("turbo-confirm-body").innerHTML = body;
+ }
+
+ if (accept) {
+ document.getElementById("turbo-confirm-accept").innerHTML = accept;
+ }
+ } catch (e) {
+ document.getElementById("turbo-confirm-title").innerText = message;
+ }
+
+ dialog.showModal();
+
+ return new Promise((resolve) => {
+ dialog.addEventListener("close", () => {
+ resolve(dialog.returnValue == "confirm")
+ }, { once: true })
+ })
+})
+
export { application }
diff --git a/app/views/accounts/_account_valuation_list.html.erb b/app/views/accounts/_account_valuation_list.html.erb
index 78f621d4..42070e0a 100644
--- a/app/views/accounts/_account_valuation_list.html.erb
+++ b/app/views/accounts/_account_valuation_list.html.erb
@@ -33,7 +33,7 @@
<%= lucide_icon("pencil-line", class: "w-5 h-5 text-gray-500 shrink-0") %>
Edit entry
<% end %>
- <%= link_to valuation_path(valuation.original), data: { turbo_method: :delete, turbo_confirm: "Are you sure?" }, class: "text-red-600 flex gap-1 items-center hover:bg-gray-50 rounded-md p-2" do %>
+ <%= link_to valuation_path(valuation.original), data: { turbo_method: :delete, turbo_confirm: { title: t('custom_turbo_confirm.history.title'), body: t('custom_turbo_confirm.history.body_html'), accept: t('custom_turbo_confirm.history.accept') } }, class: "text-red-600 flex gap-1 items-center hover:bg-gray-50 rounded-md p-2" do %>
<%= lucide_icon("trash-2", class: "w-5 h-5 shrink-0") %>
Delete entry
<% end %>
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 16bc6069..a98b5403 100644
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -79,5 +79,7 @@
<%= turbo_frame_tag "modal" %>
+
+ <%= render 'shared/custom_confirm_modal' %>