const markAllArticles = (feedId, el, read) => { const basePath = window.BASE_PATH; const apiUrl = `${basePath}/api/feeds/${feedId}/${read ? "read" : "unread"}`; fetch(apiUrl, { method: "PUT" }) .then((_data) => { el.parentNode.nextElementSibling.remove(); el.parentNode.remove(); }) .catch((error) => { alert(error); }); }; const markOneArticle = (articleId, el, read) => { const basePath = window.BASE_PATH; const apiUrl = `${basePath}/api/articles/${articleId}/${read ? "read" : "unread"}`; fetch(apiUrl, { method: "PUT" }) .then((_data) => { el.parentNode.remove(); }) .catch((error) => { alert(error); }); }; document.addEventListener("DOMContentLoaded", () => { document.querySelectorAll(".js-unread-feed").forEach((el) => { el.addEventListener("click", () => { markAllArticles(el.dataset.feedId, el, false); }); }); document.querySelectorAll(".js-unread-article").forEach((el) => { el.addEventListener("click", () => { markOneArticle(el.dataset.articleId, el, false); }); }); document.querySelectorAll(".js-read-feed").forEach((el) => { el.addEventListener("click", () => { markAllArticles(el.dataset.feedId, el, true); }); }); document.querySelectorAll(".js-read-article").forEach((el) => { el.addEventListener("click", () => { markOneArticle(el.dataset.articleId, el, true); }); }); });