aboutsummaryrefslogtreecommitdiff
path: root/webmentions_ssg/static
diff options
context:
space:
mode:
authorDennis Fink2026-08-17 20:06:22 +0200
committerDennis Fink2026-08-17 20:06:22 +0200
commitd4a03623544aac0ce911d8471ff4b033bc3255e1 (patch)
tree0d707db5a9aed7442c28e0ac0de8898aab54c090 /webmentions_ssg/static
parent85a73c811a3de333138978d8d450533caa668dc5 (diff)
downloadwebmentions-ssg-d4a03623544aac0ce911d8471ff4b033bc3255e1.tar.gz
webmentions-ssg-d4a03623544aac0ce911d8471ff4b033bc3255e1.zip
feat(sender): add manual source rescan action
Add an authenticated action to queue a source rescan from the sent Webmentions overview. Extract the reusable confirmation modal and its JavaScript so received and sent admin actions share the same implementation.
Diffstat (limited to 'webmentions_ssg/static')
-rw-r--r--webmentions_ssg/static/js/confirmation-modal.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/webmentions_ssg/static/js/confirmation-modal.js b/webmentions_ssg/static/js/confirmation-modal.js
new file mode 100644
index 0000000..e278790
--- /dev/null
+++ b/webmentions_ssg/static/js/confirmation-modal.js
@@ -0,0 +1,26 @@
+document.addEventListener("DOMContentLoaded", () => {
+ const confirmationModal = document.getElementById("confirmation-modal");
+
+ if (confirmationModal === null) {
+ return;
+ }
+
+ confirmationModal.addEventListener("show.bs.modal", (event) => {
+ const button = event.relatedTarget;
+
+ const form = confirmationModal.querySelector("#confirmation-modal-form");
+ const title = confirmationModal.querySelector("#confirmation-modal-title");
+ const message = confirmationModal.querySelector(
+ "#confirmation-modal-message",
+ );
+ const submit = form.querySelector("#submit");
+
+ form.action = button.dataset.action;
+
+ title.textContent = button.dataset.title;
+ message.textContent = button.dataset.message;
+
+ submit.value = button.dataset.confirmLabel;
+ submit.className = `btn ${button.dataset.confirmClass}`;
+ });
+});