Files
wireguard_webadmin/containers/auth-gateway/auth_gateway/static/challenge.js

36 lines
1.5 KiB
JavaScript
Raw Normal View History

document.addEventListener("DOMContentLoaded", function () {
var widget = document.getElementById("altcha-widget");
var progressFill = document.getElementById("progress-fill");
var statusText = document.getElementById("challenge-status");
var challengeIcon = document.getElementById("challenge-icon");
if (!widget) return;
var fakeProgress = 0;
var progressInterval = setInterval(function () {
fakeProgress = Math.min(fakeProgress + Math.random() * 2.5, 88);
progressFill.style.width = fakeProgress + "%";
}, 150);
widget.addEventListener("statechange", function (ev) {
if (ev.detail.state === "verified") {
clearInterval(progressInterval);
progressFill.style.width = "100%";
progressFill.classList.add("progress-done");
challengeIcon.textContent = "✓";
challengeIcon.classList.add("challenge-icon-done");
statusText.textContent = "Verification complete. Redirecting...";
document.getElementById("altcha-payload").value = ev.detail.payload;
setTimeout(function () {
document.getElementById("challenge-form").submit();
}, 500);
} else if (ev.detail.state === "error") {
clearInterval(progressInterval);
challengeIcon.textContent = "✕";
challengeIcon.classList.add("challenge-icon-error");
statusText.textContent = "Verification failed. Please reload the page.";
progressFill.classList.add("progress-error");
}
});
});