const params = new URLSearchParams(window.location.search); const nome = params.get('name'); const codice = params.get('code'); //Sets stop name const fermata_span = document.getElementById('fermata-span'); fermata_span.textContent=nome; //Set corsie per stazione o autostazione const corsie_nav = document.getElementById('corsie-nav'); if(nome.includes("STAZIONE FS")){ corsie_nav.innerHTML = ` `; } if(nome.includes("MODENA AUTOSTAZIONE")){ corsie_nav.innerHTML = ` `; } if(nome.includes("GARIBALDI")){ corsie_nav.innerHTML = ` `; } const urlBackend = `https://setaapi.serverissimo.freeddns.org/arrivals/${codice}`; //const urlBackend = `http://localhost:5001/arrivals/${codice}`; function caricadati(){ fetch(urlBackend) .then(response => { if (!response.ok) throw new Error("Errore nel caricamento dei dati."); return response.json(); }) .then(data => { item = data.arrival; }) .then(data => { const container = document.getElementById('tabella-container'); container.innerHTML = ''; if (item.error=="no arrivals scheduled in next 90 minutes") { container.innerHTML = '

Nessuna corsa programmata nei prossimi 90 minuti.

'; return; } // Creo tabella const table = document.createElement('table'); // Intestazione const thead = document.createElement('thead'); thead.innerHTML = ` Linea Direzione Orario (Rit/Ant) Stato corsa Veicolo Ora si trova a `; table.appendChild(thead); // Corpo tabella const tbody = document.createElement('tbody'); item.services.forEach(item => { const tr = document.createElement('tr'); if(item.type=="planned"){ var stato="Prevista"; }else{ var stato="In tempo reale"; }if(item.next_stop==null){ var posizione=""; }else{ var posizione=item.next_stop; } if(item.delay==undefined){ tr.innerHTML = ` ${item.service} ${item.destination} ${item.arrival} ${stato} ${item.busnum} ${posizione} `; tbody.appendChild(tr); }else{ if(item.delay>0){ tr.innerHTML = ` ${item.service} ${item.destination} ${item.arrival} (+${item.delay}) ${stato} ${item.busnum} ${posizione} `; tbody.appendChild(tr); }else{ tr.innerHTML = ` ${item.service} ${item.destination} ${item.arrival} (${item.delay}) ${stato} ${item.busnum} ${posizione} `; tbody.appendChild(tr); } } }); table.appendChild(tbody); container.appendChild(table); }) .catch(err => { console.error('Errore nel caricamento dati:', err); document.getElementById('tabella-container').textContent = 'Errore nel caricamento dati.'; }); } caricadati(); setInterval(caricadati, 60000);