showToast adjusments so we can use toast 2 and adjust them for ALMOST all of them

remotes/1693176582716663532/tmp_refs/heads/watchparty
justcool393 2022-10-14 03:47:08 -07:00
parent c12f5ae43a
commit 6884774906
3 changed files with 29 additions and 20 deletions

View File

@ -147,18 +147,13 @@ function buy(mb) {
let data
try {data = JSON.parse(xhr.response)}
catch(e) {console.log(e)}
if (xhr.status >= 200 && xhr.status < 300 && data && data["message"]) {
document.getElementById('toast-post-success-text2').innerText = data["message"];
bootstrap.Toast.getOrCreateInstance(document.getElementById('toast-post-success2')).show();
success = xhr.status >= 200 && xhr.status < 300;
showToast(success, getMessageFromJsonData(success, data), true);
if (success) {
document.getElementById('giveaward').disabled=false;
let owned = document.getElementById(`${kind}-owned`)
let ownednum = Number(owned.textContent);
owned.textContent = ownednum + 1
} else {
document.getElementById('toast-post-error-text').innerText = "Error, please try again later."
if (data && data["error"]) document.getElementById('toast-post-error-text2').innerText = data["error"];
if (data && data["details"]) document.getElementById('toast-post-error-text2').innerText = data["details"];
bootstrap.Toast.getOrCreateInstance(document.getElementById('toast-post-error2')).show();
}
};

View File

@ -14,12 +14,28 @@ function prePostToastNonShopActions(t, url, button1, button2, className) {
}
}
function showToast(success, message) {
let element = success ? "toast-post-success" : "toast-post-error"
function getMessageFromJsonData(success, json) {
let message = success ? "Success!" : "Error, please try again later";
let key = success ? "message" : "error";
if (!json || !json[key]) return message;
message = json[key];
if (!success && json["details"]) {
message = json["details"];
}
return message;
}
function showToast(success, message, isToastTwo=false) {
let element = success ? "toast-post-success" : "toast-post-error";
let textElement = element + "-text";
if (isToastTwo) {
element = element + "2";
textElement = textElement + "2";
}
if (!message) {
message = success ? "Success" : "Error, please try again later";
}
document.getElementById(element + "-text").innerText = message;
document.getElementById(textElement).innerText = message;
bootstrap.Toast.getOrCreateInstance(document.getElementById(element)).show();
}
@ -31,22 +47,20 @@ function postToastLoad(xhr, className, extraActionsOnSuccess, extraActionsOnErro
catch (e) {
console.log(e)
}
if (xhr.status >= 200 && xhr.status < 300) {
showToast(true, data && data["message"] ? data["message"] : "Success!");
success = xhr.status >= 200 && xhr.status < 300;
showToast(success, getMessageFromJsonData(success, data));
if (success) {
if (button1)
{
if (typeof(button1) == 'boolean') {
location.reload()
} else {
} else {
document.getElementById(button1).classList.toggle(className);
document.getElementById(button2).classList.toggle(className);
}
}
if (extraActionsOnSuccess) extraActionsOnSuccess(xhr);
} else {
let message = data && data["error"] ? data["error"] : "Error, please try again later"
if (data && data["details"]) message = data["details"];
showToast(false, message);
if (extraActionsOnError) extraActionsOnError(xhr);
}
}

View File

@ -9,14 +9,14 @@ function delete_postModal(id) {
let data
try {data = JSON.parse(xhr.response)}
catch(e) {console.log(e)}
if (xhr.status >= 200 && xhr.status < 300 && data && data['message']) {
success = xhr.status >= 200 && xhr.status < 300;
showToast(success, getMessageFromJsonData(success, data));
if (success && data["message"]) {
document.getElementById(`post-${id}`).classList.add('deleted');
document.getElementById(`delete-${id}`).classList.add('d-none');
document.getElementById(`undelete-${id}`).classList.remove('d-none');
document.getElementById(`delete2-${id}`).classList.add('d-none');
document.getElementById(`undelete2-${id}`).classList.remove('d-none');
document.getElementById('toast-post-success-text').innerText = data["message"];
bootstrap.Toast.getOrCreateInstance(document.getElementById('toast-post-success')).show();
} else {
showToast(false, getMessageFromJsonData(false, data));
}