const { v4: uuidv4 } = require("uuid"); import * as bootstrap from "bootstrap"; export function displayToast(type, icon, content, duration) { let mainToastContainer = document.getElementById("mainToastContainer"); let randomID = uuidv4(); let toastCode = ` `; // insert toast to toast container mainToastContainer.insertAdjacentHTML("beforeend", toastCode); // register toast let toastHTMLElement = document.getElementById(randomID); let toast = bootstrap.Toast.getOrCreateInstance(toastHTMLElement); // Returns a Bootstrap toast instance toast._config.delay = duration; // show toast toast.show(); //register event listener if toast is hidden toastHTMLElement.addEventListener("hidden.bs.toast", () => { // remove eventListener toastHTMLElement.removeEventListener("hidden.bs.toast", this); // remove toast toastHTMLElement.remove(); }); }