round21: Startseiten-Bereiche in eine Karte zusammengefasst, Favicon-Auswahl filtert tote Icons und zeigt groessere Vorschau, Icon fuer manuelle Anpassung getauscht, Zeitstempel-Inkonsistenz Scan/Ping behoben

This commit is contained in:
2026-07-23 20:03:34 +02:00
parent 68ca9ec5e1
commit 6a66128172
4 changed files with 147 additions and 47 deletions

View File

@@ -382,9 +382,20 @@ function DeviceRow({ device }: { device: DeviceWithServices }) {
{device.online ? "Online" : "Offline"}
</span>
<div className="text-[10px] text-black/30 dark:text-white/30">
{device.lastScan
? `zuletzt gesehen: ${new Date(device.lastScan).toLocaleString("de-DE")}`
: "nie gescannt"}
{(() => {
// "Zuletzt gesehen" soll den neueren der beiden Zeitpunkte
// zeigen - ein echter Scan (lastScan) oder ein reiner
// Ping-Live-Status-Check (lastPing, siehe Einstellungen) -
// sonst wirkt es inkonsistent, wenn der Online-Punkt frisch
// vom Ping aktualisiert wurde, der Zeitstempel aber noch den
// alten Scan zeigt.
const scanTime = device.lastScan ? new Date(device.lastScan).getTime() : 0;
const pingTime = device.lastPing ? new Date(device.lastPing).getTime() : 0;
const latest = Math.max(scanTime, pingTime);
if (latest === 0) return "nie gescannt";
const label = pingTime > scanTime ? "zuletzt gesehen (Ping)" : "zuletzt gesehen";
return `${label}: ${new Date(latest).toLocaleString("de-DE")}`;
})()}
</div>
</td>
<td className="px-4 py-3 text-black/60 dark:text-white/60">{device.services.length}</td>