const searchBar = document.getElementById('searchBar'); const stopCodeBar = document.getElementById('stopCodeBar'); const resultsContainer = document.getElementById('searchResults'); let allresults = []; window.onbeforeunload=searchBar.value=""; window.onbeforeunload=stopCodeBar.value=""; const url = 'https://setaapi.serverissimo.freeddns.org/stoplist'; //const url='http://localhost:5001/stoplist'; fetch(url) .then(response => { if (!response.ok) throw new Error("Errore nel caricamento dei dati."); return response.json(); }) .then(data => { allresults = data; }) .catch(error => console.error('Errore nel caricamento dei dati:', error)); searchBar.addEventListener('input', () => { const searchTerm = searchBar.value.toLowerCase(); const warning=document.getElementById('warning-mo'); warning.innerHTML=''; const filtered = allresults .filter(item => item.fermata.toLowerCase().includes(searchTerm)) .sort((a, b) => { const aStartsWith = a.fermata.toLowerCase().startsWith(searchTerm); const bStartsWith = b.fermata.toLowerCase().startsWith(searchTerm); if (aStartsWith && !bStartsWith) return -1; if (!aStartsWith && bStartsWith) return 1; return 0; }); renderresults(filtered); if (searchBar.value == '') { resultsContainer.innerHTML=''; warning.innerHTML = `

Come leggere il codice fermata.

`; } }); stopCodeBar.addEventListener('input', () => { var code=stopCodeBar.value.toUpperCase(); code="MO"+code; //renderresultscode(filtered); const searchResultsContainer = document.getElementById('searchResults'); const warning=document.getElementById('warning-mo'); warning.innerHTML=''; searchResultsContainer.innerHTML = ''; const div = document.createElement('div'); div.className = 'search-result'; div.innerHTML = `

${code}

Codice fermata: ${code}

`; div.addEventListener('click', () => { const url = `fermata.html?code=${encodeURIComponent(code)}&name=${encodeURIComponent(code)}`; parent.location=url; }); searchResultsContainer.appendChild(div); if (stopCodeBar.value == '') { resultsContainer.innerHTML=''; warning.innerHTML = `

Come leggere il codice fermata.

`; return; } }); function renderresultscode(results) { const searchResultsContainer = document.getElementById('searchResults'); searchResultsContainer.innerHTML = ''; const div = document.createElement('div'); div.className = 'search-result'; div.innerHTML = `

${results.fermata}

Codice fermata: ${results.valore}

`; div.addEventListener('click', () => { const url = `fermata.html?code=${encodeURIComponent(item.valore)}&name=${encodeURIComponent(item.fermata)}`; parent.location=url; }); searchResultsContainer.appendChild(div); } function renderresults(results) { const searchResultsContainer = document.getElementById('searchResults'); searchResultsContainer.innerHTML = ''; if (results.length === 0) { searchResultsContainer.innerHTML = '

Nessun risultato trovato

'; return; } results.forEach(item => { const div = document.createElement('div'); div.className = 'search-result'; div.innerHTML = `

${item.fermata}

Codice fermata: ${item.valore}

`; div.addEventListener('click', () => { const url = `fermata.html?code=${encodeURIComponent(item.valore)}&name=${encodeURIComponent(item.fermata)}`; parent.location=url; }); searchResultsContainer.appendChild(div); }); }