async function makeRequest()

in experimental/piranha_playground/static/script.js [105:128]


  async function makeRequest(url, requestData, buttonName, onSuccess) {
    const button = displayButton(true, "Processing...", buttonName);
    const response = await fetch(url, {
      method: "POST",
      headers: { "Content-Type": "application/json" },
      body: JSON.stringify(requestData),
    });
    const data = await response.json();

    if (response.status === 200) {
      onSuccess(data);
      button.classList.add("btn-success");
      displayButton(false, `Success`, buttonName);
    } else {
      button.classList.add("btn-danger");
      displayButton(false, `Error`, buttonName);
      showAlert(data.error || "An error occurred", "danger");
    }

    setTimeout(() => {
      button.classList.remove("btn-success", "btn-danger");
      displayButton(false, buttonElements[buttonName], buttonName);
    }, 3000);
  }