diff --git a/app/templates/admin/components.html b/app/templates/admin/components.html
index b98bc6a3..7144b134 100644
--- a/app/templates/admin/components.html
+++ b/app/templates/admin/components.html
@@ -2479,6 +2479,195 @@ goToPage(n) { if (n !== '...' && n >= 1 && n <= this.totalPages) { this.paginati
+
+
+
Confirmation Modal Macros
+
+ Use the confirm_modal and confirm_modal_dynamic macros for styled confirmation dialogs. These support danger, warning, and info variants.
+
+
+ {# Static Confirm Modal Demo #}
+
+
+
+
+
+
+
+
+ {# Confirm Modal Demo (Danger) #}
+
+
+
+
+
+
+
+
+
+
Delete Item
+
Are you sure you want to delete this item? This action cannot be undone.
+
+
+
+
+
+
+
+
+
+
+ {# Confirm Modal Demo (Warning) #}
+
+
+
+
+
+
+
+
+
+
Remove Access
+
Are you sure you want to remove access? The user will need to be re-invited.
+
+
+
+
+
+
+
+
+
+
+ {# Confirm Modal Demo (Info) #}
+
+
+
+
+
+
+
+
+
+
Publish Changes
+
Are you sure you want to publish these changes? They will be visible to all users.
+
+
+
+
+
+
+
+
+
+
+ {# Dynamic Confirm Modal Demo #}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Static Message (confirm_modal):
+
+
+
+
Dynamic Message (confirm_modal_dynamic):
+
+
+
+
+
+ Parameters: id, title, message (or message_var for dynamic), confirm_action, show_var, confirm_text, cancel_text, variant ('danger'|'warning'|'info'), icon
+
+
+
Details Modal (Table Layout)
diff --git a/static/admin/js/components.js b/static/admin/js/components.js
index 04c65b41..fbd93a44 100644
--- a/static/admin/js/components.js
+++ b/static/admin/js/components.js
@@ -429,6 +429,12 @@ function adminComponents() {
showLogModal: false,
exampleLog: null,
+ // Confirm modal demo state
+ showConfirmModalDemo: false,
+ confirmModalVariant: 'danger',
+ showDynamicConfirmDemo: false,
+ dynamicItemName: '',
+
// Example log data for demo
showErrorLogDemo() {
this.exampleLog = {