mirror of
https://github.com/Daniongithub/ER-TPL.git
synced 2025-10-02 12:50:47 +00:00
Sono rinnovati
This commit is contained in:
197
seta_menu/percorsi/css/style.css
Normal file
197
seta_menu/percorsi/css/style.css
Normal file
@@ -0,0 +1,197 @@
|
||||
body {
|
||||
background-color: #282828;
|
||||
text-align: center;
|
||||
color: white;
|
||||
font-family: Titillium Web;
|
||||
}
|
||||
|
||||
.search-result {
|
||||
border: 2px solid white;
|
||||
border-radius: 8px;
|
||||
width: 20vw;
|
||||
margin: auto;
|
||||
margin-left: 5px;
|
||||
margin-right: 5px;
|
||||
margin-top: 10px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-radius: 8px;
|
||||
min-width: 85%;
|
||||
max-width: 100%;
|
||||
margin: auto;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: rgb(204, 132, 0);
|
||||
}
|
||||
|
||||
th,td {
|
||||
border: 2px solid #444;
|
||||
padding: .7vw;
|
||||
padding-top: .6vw;
|
||||
padding-bottom: .6vw;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.bus-card-red {
|
||||
background-color: rgb(241, 120, 120) !important;
|
||||
}
|
||||
|
||||
hr{
|
||||
margin-top:19px;
|
||||
}
|
||||
|
||||
h1.warning {
|
||||
color:red;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
h1.yellow-warning {
|
||||
color:rgb(255, 205, 0);
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
header {
|
||||
font-size: 67%;
|
||||
background-color: #333;
|
||||
height: auto;
|
||||
padding: 0px 0px;
|
||||
align-items: start;
|
||||
width: 100%;
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
nav ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: left;
|
||||
}
|
||||
|
||||
nav {
|
||||
text-align: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
nav#corsie-nav ul{
|
||||
justify-content: center;
|
||||
}
|
||||
nav#corsie-nav ul li a{
|
||||
color: white;
|
||||
text-decoration: underline;
|
||||
}
|
||||
nav#corsie-nav ul li{
|
||||
margin-left: 8px;
|
||||
margin-right: 7px;
|
||||
}
|
||||
nav ul li {
|
||||
margin-left: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
nav ul li a {
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
nav ul li a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a {
|
||||
color: orange;
|
||||
}
|
||||
|
||||
a.bianco{
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a.biancosott{
|
||||
color: white;
|
||||
}
|
||||
a.link-cell {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#bacino,
|
||||
#searchBar {
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 280px;
|
||||
}
|
||||
#stopCodeBar {
|
||||
padding: 10px;
|
||||
font-size: 16px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--border-color);
|
||||
width: 280px;
|
||||
}
|
||||
img{
|
||||
height:300px;
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.search-result {
|
||||
display: block;
|
||||
width: 95.5%;
|
||||
}
|
||||
.container {
|
||||
flex-direction: column;
|
||||
}
|
||||
th,td {
|
||||
font-size: 70%;
|
||||
}
|
||||
nav#corsie-nav ul li a{
|
||||
font-size: 75%;
|
||||
margin: 0;
|
||||
}
|
||||
table {
|
||||
margin-top: 10px;
|
||||
}
|
||||
h2{
|
||||
margin-bottom: 0;
|
||||
}
|
||||
h2.noreduction{
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
#searchBar {
|
||||
width: 80%;
|
||||
}
|
||||
#stopCodeBar {
|
||||
width: 80%;
|
||||
}
|
||||
hr{
|
||||
margin-bottom:19px;
|
||||
}
|
||||
img{
|
||||
width: 98%;
|
||||
height: auto;
|
||||
}
|
||||
}
|
||||
|
||||
footer {
|
||||
position: relative;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
div.search-result div{
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
p.space{
|
||||
width: 20px;
|
||||
}
|
48
seta_menu/percorsi/index.html
Normal file
48
seta_menu/percorsi/index.html
Normal file
@@ -0,0 +1,48 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="it">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="description" content="Cerca orari in tempo reale per le fermate di SETA a Modena.">
|
||||
<meta name="keywords" content="seta, modena, seta-modena, orari, in, tempo, reale, autobus, fermate, orario, palina">
|
||||
<meta name="author" content="ER-TPL Team">
|
||||
<title>SETA Modena - Bus in servizio</title>
|
||||
<link rel="stylesheet" href="css/style.css">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<link rel="shortcut icon" href="https://www.setaweb.it/images/favicon/android-icon-192x192.png">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<nav style="display: flex;">
|
||||
<ul>
|
||||
<li><a href="/index.html"><h1 style="font-size: 100%;font-weight: 500;">Home</h1></a></li>
|
||||
<li><a href="/seta_menu/seta.html"><h1 style="font-size: 100%;font-weight: 500;">SETA Modena</h1></a></li>
|
||||
</ul>
|
||||
<ul style="flex:1;justify-content: right;">
|
||||
<li><a href=""><h1 style="font-size: 100%;font-weight: 500;">No</h1></a></li>
|
||||
</ul>
|
||||
</nav>
|
||||
</header>
|
||||
<h1>No</h1>
|
||||
<h2>No:</h2>
|
||||
<div style="display: flex;justify-content: center;">
|
||||
<div class="search-result"><h3>No</h3></div>
|
||||
<div class="search-result"><h3>No</h3></div>
|
||||
<div class="search-result"><h3>No</h3></div>
|
||||
</div>
|
||||
<footer>
|
||||
<div>
|
||||
<p>No.</p>
|
||||
</div>
|
||||
</footer>
|
||||
<!--
|
||||
<footer>
|
||||
<div>
|
||||
<p>Copyright (C) 2025 ER-TPL Team - <a href="https://ertpl.pages.dev" target="_blank">ertpl.pages.dev</a> - code by Il Dani & SetaModenaFanpage <a href="https://github.com/Leocraft1/SetaAPI" target="_blank">Codice Sorgente</a> - I loghi SETA Spa sono marchi registrati e sono inseriti in questo sito solo a scopo di illustrazione.</p>
|
||||
</div>
|
||||
</footer>
|
||||
-->
|
||||
</body>
|
||||
</html>
|
202
seta_menu/percorsi/js/linea.js
Normal file
202
seta_menu/percorsi/js/linea.js
Normal file
@@ -0,0 +1,202 @@
|
||||
const params = new URLSearchParams(window.location.search);
|
||||
const id = params.get('id');
|
||||
|
||||
//Sets stop name
|
||||
const numero_span = document.getElementById('numero-span');
|
||||
numero_span.textContent=id;
|
||||
|
||||
const urlBackend = `https://setaapi.serverissimo.freeddns.org/vehicleinfo/${id}`;
|
||||
//const urlBackend = `http://localhost:5001/arrivals/${codice}`;
|
||||
function caricadati(){
|
||||
var item=[];
|
||||
fetch(urlBackend)
|
||||
.then(response => {
|
||||
if (!response.ok) throw new Error("Errore di risposta nel caricamento dei dati, probabilmente il server API è offline.");
|
||||
return response.json();
|
||||
})
|
||||
.then(data => {
|
||||
item = data;
|
||||
})
|
||||
.then(data => {
|
||||
|
||||
const container = document.getElementById('tabella-container');
|
||||
container.innerHTML = '';
|
||||
// Creo tabella
|
||||
const table = document.createElement('table');
|
||||
|
||||
// Intestazione
|
||||
const thead = document.createElement('thead');
|
||||
thead.innerHTML = `
|
||||
<tr>
|
||||
<th class="linea" colspan="2" style="text-align:center;">Informazioni veicolo:</th>
|
||||
</tr>
|
||||
`;
|
||||
table.appendChild(thead);
|
||||
|
||||
// Corpo tabella
|
||||
const tbody = document.createElement('tbody');
|
||||
item.features.forEach(element => {
|
||||
const bus = element.properties;
|
||||
var tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td class="uguale">Linea:</td>
|
||||
<td class="uguale">${bus.linea}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Direzione:</td>
|
||||
<td>${bus.route_desc}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Tipo linea:</td>
|
||||
<td>${bus.service_tag}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
//Ritardo col +
|
||||
if(bus.delay>0){
|
||||
bus.delay="+"+bus.delay;
|
||||
}
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Ritardo/Anticipo: (+/-)</td>
|
||||
<td>${bus.delay}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Numero mezzo:</td>
|
||||
<td>${bus.vehicle_code}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Modello:</td>
|
||||
<td>${bus.model}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Targa:</td>
|
||||
<td>${bus.plate_num}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
//Si o no pedana
|
||||
if(bus.pedana==1){
|
||||
bus.pedana="Sì";
|
||||
}else{
|
||||
bus.pedana="No";
|
||||
}
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Pedana?:</td>
|
||||
<td>${bus.pedana}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Ora si trova a:</td>
|
||||
<td>${bus.next_stop}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Codice percorso:</td>
|
||||
<td>${bus.route_code}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Codice corsa:</td>
|
||||
<td>${bus.journey_code}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
//Colore sfondo conta passeggeri
|
||||
if(bus.num_passeggeri<=bus.posti_totali/4){
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td class="bus-card-green">Numero passeggeri a bordo:</td>
|
||||
<td class="bus-card-green">${bus.num_passeggeri}</td>
|
||||
</tr>
|
||||
`;
|
||||
}else if(bus.num_passeggeri<=bus.posti_totali/1.8){
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td class="bus-card-yellow">Numero passeggeri a bordo:</td>
|
||||
<td class="bus-card-yellow">${bus.num_passeggeri}</td>
|
||||
</tr>
|
||||
`;
|
||||
}else{
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td class="bus-card-red">Numero passeggeri a bordo:</td>
|
||||
<td class="bus-card-red">${bus.num_passeggeri}</td>
|
||||
</tr>
|
||||
`;
|
||||
}if(bus.num_passeggeri==null){
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Numero passeggeri a bordo:</td>
|
||||
<td>Non disponibile</td>
|
||||
</tr>
|
||||
`;
|
||||
}
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Numero posti totali (in piedi + sedili):</td>
|
||||
<td>${bus.posti_totali}</td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
tr = document.createElement('tr');
|
||||
tr.innerHTML = `
|
||||
<tr>
|
||||
<td>Posizione:</td>
|
||||
<td><a href="https://wimb.setaweb.it/qm/index.html?id=${bus.vehicle_code}">GPS</a></td>
|
||||
</tr>
|
||||
`;
|
||||
tbody.appendChild(tr);
|
||||
|
||||
});
|
||||
table.appendChild(tbody);
|
||||
container.appendChild(table);
|
||||
})
|
||||
.catch(err => {
|
||||
console.error('Errore nel caricamento dati:', err);
|
||||
document.getElementById('tabella-container').textContent = "Errore nella sintassi dei dati ricevuti.";
|
||||
});
|
||||
}
|
||||
|
||||
caricadati();
|
||||
|
||||
setInterval(caricadati, 60000);
|
0
seta_menu/percorsi/js/script.js
Normal file
0
seta_menu/percorsi/js/script.js
Normal file
Reference in New Issue
Block a user