Fix MQTT, memory persitence e UI
This commit is contained in:
+37
-14
@@ -78,13 +78,23 @@
|
||||
th { padding: 12px 15px; font-weight: 600; text-transform: uppercase; font-size: 0.75rem; color: var(--text-muted); }
|
||||
td { padding: 10px 15px; border-bottom: 1px solid var(--border-color); color: var(--text-main); }
|
||||
|
||||
/* Animazioni Flat per i transiti */
|
||||
/* Animazioni Uniformate per i transiti */
|
||||
@keyframes pulse-border {
|
||||
0% { border-color: var(--border-color); }
|
||||
50% { border-color: var(--pulse-color, var(--primary)); }
|
||||
100% { border-color: var(--border-color); }
|
||||
}
|
||||
.tx-active-unified {
|
||||
animation: pulse-border 1.5s infinite !important;
|
||||
color: var(--text-main) !important;
|
||||
border-left: 4px solid var(--pulse-color, var(--primary)) !important;
|
||||
background: #010409 !important;
|
||||
}
|
||||
|
||||
/* La vecchia classe blink la teniamo solo per gli allarmi rossi dei demoni KO */
|
||||
@keyframes flat-blink { 0% { border-color: var(--border-color); } 50% { border-color: var(--danger); } 100% { border-color: var(--border-color); } }
|
||||
.blink { animation: flat-blink 1.5s infinite; color: var(--danger) !important; }
|
||||
|
||||
@keyframes flat-tx { 0% { border-left-color: var(--border-color); background: #010409; } 50% { border-left-color: var(--primary); background: rgba(47, 129, 247, 0.1); } 100% { border-left-color: var(--border-color); background: #010409; } }
|
||||
.tx-active { animation: flat-tx 1.5s infinite !important; color: var(--text-main) !important; border-color: var(--border-color) !important; }
|
||||
|
||||
/* Finestre Modali (Popup) */
|
||||
.modal-overlay { display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(1, 4, 9, 0.85); z-index:1000; align-items:center; justify-content:center; }
|
||||
.modal-content { background:var(--card-bg); border:1px solid var(--border-color); padding:25px; border-radius:6px; max-height: 90vh; overflow-y: auto; box-shadow: 0 10px 30px rgba(0,0,0,0.8); }
|
||||
@@ -658,18 +668,31 @@
|
||||
if (altDiv) {
|
||||
altDiv.style.display = "block"; altDiv.innerText = telemetryObj.alt;
|
||||
let altText = telemetryObj.alt.toUpperCase();
|
||||
if (altText.includes("NXDN")) activeModeColor = "#10b981"; else if (altText.includes("YSF")) activeModeColor = "#8b5cf6"; else if (altText.includes("D-STAR")) activeModeColor = "#06b6d4"; else if (altText.includes("P25")) activeModeColor = "#f59e0b";
|
||||
|
||||
// Assegna il colore in base al modo
|
||||
if (altText.includes("NXDN")) activeModeColor = "#10b981";
|
||||
else if (altText.includes("YSF")) activeModeColor = "#8b5cf6";
|
||||
else if (altText.includes("D-STAR")) activeModeColor = "#06b6d4";
|
||||
else if (altText.includes("P25")) activeModeColor = "#f59e0b";
|
||||
|
||||
isTx = altText.includes("🟢") || altText.includes("🟣") || altText.includes("🔵") || altText.includes("🟠");
|
||||
altDiv.style.setProperty('color', activeModeColor, 'important');
|
||||
altDiv.style.setProperty('border-left', `4px solid ${activeModeColor}`, 'important');
|
||||
if (isTx) { altDiv.classList.add('blink'); } else { altDiv.classList.remove('blink'); }
|
||||
|
||||
// Passiamo il colore al CSS per l'animazione
|
||||
altDiv.style.setProperty('--pulse-color', activeModeColor);
|
||||
if (isTx) {
|
||||
altDiv.classList.add('tx-active-unified');
|
||||
} else {
|
||||
altDiv.classList.remove('tx-active-unified');
|
||||
altDiv.style.setProperty('color', 'var(--text-muted)', 'important');
|
||||
altDiv.style.setProperty('border-left', `4px solid var(--border-color)`, 'important');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (altDiv) altDiv.style.display = "none";
|
||||
if (tsContainer) tsContainer.style.display = "flex";
|
||||
|
||||
let netObj = data.networks && data.networks[c.id.toLowerCase()] ? data.networks[c.id.toLowerCase()] : {ts1: "", ts2: ""};
|
||||
activeModeColor = "var(--primary)";
|
||||
activeModeColor = "var(--primary)"; // Default Blu per il DMR
|
||||
|
||||
if (ts1Div && ts2Div) {
|
||||
[ts1Div, ts2Div].forEach((div, idx) => {
|
||||
@@ -679,15 +702,15 @@
|
||||
const fullLabel = netName ? `${baseLabel} [${netName}]` : baseLabel;
|
||||
|
||||
div.innerText = `${fullLabel}: ${val}`;
|
||||
div.style.setProperty('--pulse-color', activeModeColor);
|
||||
|
||||
if (val.includes("🎙️")) {
|
||||
isTx = true;
|
||||
div.classList.add('tx-active');
|
||||
div.classList.add('tx-active-unified');
|
||||
} else {
|
||||
div.classList.remove('tx-active');
|
||||
div.style.setProperty('color', 'var(--text-main)', 'important');
|
||||
div.style.setProperty('border-left-color', 'var(--primary)', 'important');
|
||||
div.style.setProperty('background', 'rgba(59, 130, 246, 0.1)', 'important');
|
||||
div.classList.remove('tx-active-unified');
|
||||
div.style.setProperty('color', 'var(--text-muted)', 'important');
|
||||
div.style.setProperty('border-left', '4px solid var(--border-color)', 'important');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user