From cd46a52f83e9686ac8d45bd270d0cfca896f02aa Mon Sep 17 00:00:00 2001 From: bruno Date: Thu, 22 Feb 2024 14:08:55 +0100 Subject: [PATCH] Make it autorefresh --- assets/script.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/assets/script.js b/assets/script.js index f3a6ced..a997156 100644 --- a/assets/script.js +++ b/assets/script.js @@ -1,4 +1,5 @@ let UserInfo = {}; +let PageIntervals = []; function isLoggedIn(){ return UserInfo.Email && UserInfo.Email.length > 0; @@ -179,8 +180,23 @@ async function togglearticlecreate(){ articleContainerElement.classList.toggle("hidden"); } -async function renderarticle(articledata){ +async function renderarticles(){ + let template = document.querySelector('template[data-template-name="article"]').content.toString(); + let articles = await doAction( + "/newsarticle", + { + action: "getNewsArticles" + }, + "Články načítané", + "Nastala chyba pri načítavaní článkov", + true + ); + let articleout = ""; + for (const article of articles) { + articleout += template.replace("__TEMPLATE_ARTICLE_TITLE__", article.Title).replace("__TEMPLATE_ARTICLE_AUTHOR__", article.WrittenByName).replace("__TEMPLATE_ARTICLE_DATE__", article.WrittenAt).replace("__TEMPLATE_ARTICLE_BODY__", article.Body) + } + document.getElementById("articleslist").innerHTML = articleout; } async function submitarticle(){ @@ -206,12 +222,18 @@ async function articleInit(){ togglearticlecreate(); } }) + PageIntervals.push(setInterval(renderarticles, 300000)); } async function onPageLoad() { await restoreUserInfo(); let currentSite = localStorage.getItem("currentSite"); let currentPage = localStorage.getItem("currentPage"); + + for(let interval of PageIntervals) { + clearInterval(interval); + } + if (currentSite === "home" && currentPage === "settings") { if (document.getElementById("user-settings")) { await populateUserInfoFields(UserInfo);