refactored confirmation dialogs to use a unified confirmAction modal
Some checks failed
PHPUnit / test (push) Has been cancelled

This commit is contained in:
2026-06-14 18:02:03 +02:00
parent 6ae29f1648
commit b06c4bf3ee
10 changed files with 295 additions and 39 deletions

View File

@ -1,5 +1,6 @@
import { apiGet, apiPost, apiPut, apiDownloadFetch, redirectToLogin } from '../api.js';
import { getRole, pageHeaderHTML, showToast } from '../app.js';
import { confirmAction } from '../confirm-modal.js';
import { navigate } from '../router.js';
const REVOKE_ALL_CONFIRM = 'REVOKE ALL SESSIONS';
@ -166,11 +167,12 @@ export function devPage() {
});
document.getElementById('devRemoveBtn').addEventListener('click', async () => {
if (!confirm(
'Remove all dev test data?\n\n'
+ 'Deletes users matching dev_*, clients DEV-CL-*, and their answers/completions.\n'
+ 'Real accounts are not affected.'
)) {
if (!(await confirmAction({
title: 'Remove dev test data',
message: 'Remove all dev test data?\n\nDeletes users matching dev_*, clients DEV-CL-*, and their answers/completions.\nReal accounts are not affected.',
confirmLabel: 'Remove',
variant: 'danger',
}))) {
return;
}
const btn = document.getElementById('devRemoveBtn');
@ -206,11 +208,12 @@ export function devPage() {
});
document.getElementById('devWipeBtn').addEventListener('click', async () => {
if (!confirm(
'Remove ALL clients, completions, counselors, and supervisors?\n\n'
+ 'Admin accounts and questionnaires will NOT be deleted.\n'
+ 'This cannot be undone.'
)) {
if (!(await confirmAction({
title: 'Wipe operational data',
message: 'Remove ALL clients, completions, counselors, and supervisors?\n\nAdmin accounts and questionnaires will NOT be deleted.\nThis cannot be undone.',
confirmLabel: 'Remove all',
variant: 'danger',
}))) {
return;
}
const btn = document.getElementById('devWipeBtn');
@ -533,10 +536,12 @@ function wireSecuritySettings() {
revokeBtn?.addEventListener('click', async () => {
if (revokeInput.value.trim() !== REVOKE_ALL_CONFIRM) return;
if (!confirm(
'Revoke every active session?\n\n'
+ 'All users (including you) will be signed out on website and mobile.'
)) {
if (!(await confirmAction({
title: 'Revoke all sessions',
message: 'Revoke every active session?\n\nAll users (including you) will be signed out on website and mobile.',
confirmLabel: 'Revoke all',
variant: 'danger',
}))) {
return;
}
revokeBtn.disabled = true;