diff --git a/app-code/account/index.php b/app-code/account/index.php index 118657c..7ee6d52 100644 --- a/app-code/account/index.php +++ b/app-code/account/index.php @@ -21,6 +21,14 @@ if (!isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !== true) { ?> + @@ -375,10 +383,12 @@ if (!isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !== true) { } } else { // Handle error + switchElement.checked = false; showErrorModal('Error: ' + (result.message || 'An error occurred while updating 2FA.')); } } catch (error) { console.error('Error:', error); + switchElement.checked = false; showErrorModal('Failed to send request. Please try again later.'); } }); @@ -425,8 +435,20 @@ if (!isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !== true) { // Function to show error modal function showErrorModal(message) { document.getElementById('errorModalMessage').textContent = message; + const errorElement = document.getElementById('errorModal'); + const twofaIsOpen = document.getElementById('twofaModal').classList.contains('show'); + errorElement.classList.toggle('modal-front', twofaIsOpen); const errorModal = new bootstrap.Modal(document.getElementById('errorModal')); errorModal.show(); + if (twofaIsOpen) { + setTimeout(() => { + const backdrops = document.querySelectorAll('.modal-backdrop'); + const latestBackdrop = backdrops[backdrops.length - 1]; + if (latestBackdrop) { + latestBackdrop.classList.add('modal-front-backdrop'); + } + }, 0); + } } function showSuccessModal(message) { document.getElementById('successModalMessage').textContent = message; @@ -466,6 +488,7 @@ if (!isset($_SESSION["logged_in"]) || $_SESSION["logged_in"] !== true) { document.getElementById('2fa-switch').checked = true; showSuccessModal(result.message || '2FA enabled successfully.'); } else { + document.getElementById('2fa-switch').checked = false; showErrorModal(result.message || 'Invalid 2FA code.'); } }