fix: replace all native confirm() dialogs with styled modal macros
Some checks failed
Some checks failed
Migrated ~68 native browser confirm() calls across 74 files to use the project's confirm_modal/confirm_modal_dynamic Jinja2 macros, providing consistent styled confirmation dialogs instead of plain browser popups. Modules updated: core, tenancy, cms, marketplace, messaging, billing, customers, orders, cart. Uses danger/warning/info variants and double-confirm pattern for destructive delete operations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,10 @@ function adminCustomers() {
|
||||
// Selected store (for prominent display and filtering)
|
||||
selectedStore: null,
|
||||
|
||||
// Toggle status confirm state
|
||||
showToggleStatusConfirm: false,
|
||||
pendingToggleCustomer: null,
|
||||
|
||||
// Tom Select instance
|
||||
storeSelectInstance: null,
|
||||
|
||||
@@ -351,11 +355,6 @@ function adminCustomers() {
|
||||
* Toggle customer active status
|
||||
*/
|
||||
async toggleStatus(customer) {
|
||||
const action = customer.is_active ? 'deactivate' : 'activate';
|
||||
if (!confirm(`Are you sure you want to ${action} this customer?`)) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
const response = await apiClient.patch(`/admin/customers/${customer.id}/toggle-status`);
|
||||
customer.is_active = response.is_active;
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
{% from 'shared/macros/alerts.html' import loading_state, error_state %}
|
||||
{% from 'shared/macros/tables.html' import table_wrapper, table_header %}
|
||||
{% from 'shared/macros/pagination.html' import pagination %}
|
||||
{% from 'shared/macros/modals.html' import confirm_modal_dynamic %}
|
||||
|
||||
{% block title %}Customers{% endblock %}
|
||||
|
||||
@@ -278,7 +279,7 @@
|
||||
<td class="px-4 py-3">
|
||||
<div class="flex items-center space-x-2 text-sm">
|
||||
<button
|
||||
@click="toggleStatus(customer)"
|
||||
@click="pendingToggleCustomer = customer; showToggleStatusConfirm = true"
|
||||
class="px-2 py-1 text-xs font-medium leading-5 rounded-lg"
|
||||
:class="customer.is_active
|
||||
? 'text-red-600 hover:bg-red-100 dark:text-red-400 dark:hover:bg-red-700/50'
|
||||
@@ -298,6 +299,9 @@
|
||||
<!-- Pagination -->
|
||||
{{ pagination() }}
|
||||
</div>
|
||||
|
||||
<!-- Toggle Customer Status Confirm Modal -->
|
||||
{{ confirm_modal_dynamic('toggleStatusConfirm', 'Change Customer Status', "'Are you sure you want to ' + (pendingToggleCustomer?.is_active ? 'deactivate' : 'activate') + ' this customer?'", 'toggleStatus(pendingToggleCustomer)', 'showToggleStatusConfirm', 'Confirm', 'Cancel', 'warning') }}
|
||||
{% endblock %}
|
||||
|
||||
{% block extra_scripts %}
|
||||
|
||||
Reference in New Issue
Block a user