fix: replace all native confirm() dialogs with styled modal macros
Some checks failed
CI / ruff (push) Successful in 9s
CI / validate (push) Has been cancelled
CI / dependency-scanning (push) Has been cancelled
CI / docs (push) Has been cancelled
CI / deploy (push) Has been cancelled
CI / pytest (push) Has been cancelled

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:
2026-02-19 16:56:25 +01:00
parent 182610283d
commit 167bb50f4f
74 changed files with 939 additions and 436 deletions

View File

@@ -21,6 +21,12 @@ function contentPagesManager() {
loading: false,
error: null,
// Modal state
showCreateHomepageConfirm: false,
pendingHomepagePlatform: null,
showDeletePageConfirm: false,
pageToDelete: null,
// Tabs and filters
activeTab: 'all', // all, platform_marketing, store_defaults, store_overrides
searchQuery: '',
@@ -188,13 +194,19 @@ function contentPagesManager() {
// Show a toast and offer to create
if (slug === 'home') {
// Offer to create homepage
if (confirm(`No homepage found for ${platformCode}. Would you like to create one?`)) {
window.location.href = `/admin/content-pages/create?platform_code=${platformCode}&slug=home&is_platform_page=true`;
}
this.pendingHomepagePlatform = platformCode;
this.showCreateHomepageConfirm = true;
}
}
},
// Create homepage for a platform (called from confirm modal)
createHomepage() {
if (this.pendingHomepagePlatform) {
window.location.href = `/admin/content-pages/create?platform_code=${this.pendingHomepagePlatform}&slug=home&is_platform_page=true`;
}
},
// Get page tier label (three-tier system)
getPageTierLabel(page) {
if (page.store_id) {
@@ -220,12 +232,14 @@ function contentPagesManager() {
}
},
// Prompt delete page confirmation
promptDeletePage(page) {
this.pageToDelete = page;
this.showDeletePageConfirm = true;
},
// Delete a page
async deletePage(page) {
if (!confirm(`Are you sure you want to delete "${page.title}"?`)) {
return;
}
try {
contentPagesLog.info(`Deleting page: ${page.id}`);