diff --git a/static/index.js b/static/index.js index e3f81b4..82e8aa5 100644 --- a/static/index.js +++ b/static/index.js @@ -3,6 +3,10 @@ function load_links() { .then((response) => response.json()) .then((data) => { let i = 0; + if (data.links === undefined || data.links.length === 0) { + show_error(null, "Nessun orario trovato"); + return; + } data.links.forEach((el) => { const select = document.getElementById("links"); const option = document.createElement("option"); @@ -14,8 +18,7 @@ function load_links() { document.getElementById("links-label").removeAttribute("aria-busy"); }) .catch((error) => { - alert("Errore nel caricamento dei dati, riprova più tardi."); - console.error("Error:", error); + show_error(error); }); } @@ -36,8 +39,7 @@ function load_teachers(id) { document.getElementById("teacher-label").removeAttribute("aria-busy"); }) .catch((error) => { - alert("Errore nel caricamento dei dati, riprova più tardi."); - console.error("Error:", error); + show_error(error); }); } @@ -62,8 +64,7 @@ function load_classes(id) { document.getElementById("class-label").removeAttribute("aria-busy"); }) .catch((error) => { - alert("Errore nel caricamento dei dati, riprova più tardi."); - console.error("Error:", error); + show_error(error); }); } @@ -138,8 +139,7 @@ function make_table(url) { document.getElementById("table").removeAttribute("aria-busy"); }) .catch((error) => { - alert("Errore nel caricamento dei dati, riprova più tardi."); - console.error("Error:", error); + show_error(error); }); } @@ -236,6 +236,13 @@ function delete_cookies() { Cookies.remove("class"); } +function show_error(e, message) { + let default_error = "Errore nel caricamento dei dati, riprova più tardi"; + console.error(e ?? default_error); + document.getElementById("error").textContent = message ?? default_error; + document.getElementById("error-dialog").setAttribute("open", ""); +} + if (Cookies.get("id") && Cookies.get("type")) { if (Cookies.get("type") === "teacher" && Cookies.get("teacher")) { make_teacher_table(Cookies.get("id"), Cookies.get("teacher")); diff --git a/templates/index.html b/templates/index.html index c2d21e0..217f9b2 100644 --- a/templates/index.html +++ b/templates/index.html @@ -104,6 +104,9 @@ + +

Errore: non è stato possibile caricare l'orario.

+