adlerka.space/assets/script.js

52 lines
1.5 KiB
JavaScript
Raw Normal View History

2024-02-03 22:44:01 +01:00
function doAccountAction(requestData, successMessage, failureMessage, silent=false) {
2024-02-03 17:01:52 +01:00
return fetch('/account', {
2024-02-03 16:08:26 +01:00
method: 'POST',
body: requestData,
})
.then(response => {
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
return response.json();
})
.then(data => {
2024-02-03 22:44:01 +01:00
if(!silent) {
handleResponse(data, successMessage, failureMessage);
}
2024-02-03 16:08:26 +01:00
return data; // Returning the response data for further processing
})
.catch((error) => {
console.error('Error:', error);
});
}
function handleResponse(data, SuccessMessage, failureMessage) {
const StatusMessageElement = document.getElementById("StatusMessage");
if (data.Status === 'Success') {
StatusMessageElement.innerText = SuccessMessage;
} else {
StatusMessageElement.innerText = failureMessage;
}
2024-02-04 09:26:17 +01:00
// Show the status message
StatusMessageElement.style.display = "block";
setTimeout(() => {
// Hide the status message after 3 seconds
StatusMessageElement.style.opacity = 0;
setTimeout(() => {
StatusMessageElement.style.display = "none";
// Reset opacity for future messages
StatusMessageElement.style.opacity = 1;
}, 500);
}, 3000);
2024-02-03 16:08:26 +01:00
}
function logout() {
const data = new URLSearchParams();
data.append("action", "logout");
2024-02-03 17:01:52 +01:00
doAccountAction(data, "Logout Successful!", "Logout failed.");
2024-02-03 16:08:26 +01:00
}