generated from Dicken/dickendock
round12: FritzBox-Merge-Bug vor Doppel-Ausloesung fixen, Scan-Meldungen entschaerfen, Dienstname-Fallback aus Hostname statt IP
This commit is contained in:
@@ -240,6 +240,7 @@ function ServiceRow({
|
||||
service,
|
||||
deviceMac,
|
||||
deviceIp,
|
||||
deviceHostname,
|
||||
draggable,
|
||||
onDragStart,
|
||||
onDragOver,
|
||||
@@ -249,6 +250,7 @@ function ServiceRow({
|
||||
service: Service;
|
||||
deviceMac: string | null;
|
||||
deviceIp: string | null;
|
||||
deviceHostname: string | null;
|
||||
draggable: boolean;
|
||||
onDragStart: (e: DragEvent<HTMLTableRowElement>) => void;
|
||||
onDragOver: (e: DragEvent<HTMLTableRowElement>) => void;
|
||||
@@ -328,7 +330,16 @@ function ServiceRow({
|
||||
</div>
|
||||
</td>
|
||||
<td className="px-4 py-3 font-mono text-xs text-black/60 dark:text-white/60">
|
||||
{service.hostname}
|
||||
{/* Der gespeicherte Hostname ist oft nur die IP (wenn DNS nichts
|
||||
Besseres auflösen konnte) - dann lieber den bekannten Gerätenamen
|
||||
zeigen statt der IP doppelt (die steht schon in der Spalte
|
||||
daneben). Der technische Wert bleibt beim Bearbeiten unverändert
|
||||
editierbar/verwendbar, hier geht es nur um die Anzeige. */}
|
||||
{service.hostname === deviceIp && deviceHostname ? (
|
||||
<span title={`Technisch: ${service.hostname}`}>{deviceHostname}</span>
|
||||
) : (
|
||||
service.hostname
|
||||
)}
|
||||
</td>
|
||||
<td className="px-4 py-3 font-mono text-xs text-black/60 dark:text-white/60">
|
||||
{deviceIp ?? "–"}
|
||||
@@ -428,6 +439,12 @@ export function ServicesPage() {
|
||||
return map;
|
||||
}, [devices]);
|
||||
|
||||
const hostnameByDeviceId = useMemo(() => {
|
||||
const map: Record<string, string | null> = {};
|
||||
for (const d of devices ?? []) map[d.id] = d.hostname;
|
||||
return map;
|
||||
}, [devices]);
|
||||
|
||||
const reorderMutation = useMutation({
|
||||
mutationFn: reorderServicesRequest,
|
||||
onSuccess: () => {
|
||||
@@ -569,6 +586,7 @@ export function ServicesPage() {
|
||||
service={service}
|
||||
deviceMac={macByDeviceId[service.deviceId] ?? null}
|
||||
deviceIp={ipByDeviceId[service.deviceId] ?? null}
|
||||
deviceHostname={hostnameByDeviceId[service.deviceId] ?? null}
|
||||
draggable={dragEnabled}
|
||||
isDragging={draggedId === service.id}
|
||||
onDragStart={handleDragStart(service.id)}
|
||||
|
||||
Reference in New Issue
Block a user