This repository has been archived on 2022-09-16. You can view files and clone it, but cannot push or open issues/pull-requests.
tlaternet-templates/src/lib/js/index.ts

45 lines
1.3 KiB
TypeScript

document.addEventListener("DOMContentLoaded", () => {
const flashButtons = document.querySelectorAll(".notification .delete");
flashButtons.forEach((button) => {
const flash = button.parentNode;
if (flash === null) {
console.error(
"Unreachable because our `querySelector` includes a parent; something went very wrong"
);
return;
}
flash.addEventListener("click", () => {
if (flash.parentNode === null) {
console.error(
"Notification not placed in DOM; something went very wrong"
);
return;
}
flash.parentNode.removeChild(flash);
});
// In development, there won't be a web server hooked up to
// this to render the flash message, so we remove it entirely
if (process.env.NODE_ENV === "development") {
if (
flash.parentNode === null ||
flash.parentNode.parentNode === null
) {
return;
}
console.warn("Disabling flash message");
// Get the containing <span> element
const block = flash.parentNode;
flash.parentNode.parentNode.removeChild(block);
}
});
});
export {};