+
+
+
+ {snapshot?.source?.error && (
+
+ Источник временно недоступен. Показаны последние сохранённые данные.
+
+ )}
+ {error && (
+
+ {error.message}
+
+
+ )}
+ {status === 'loading' &&
Ищем устройства…
}
+ {status !== 'loading' && !devices.length && !error && (
+
Gateway пока не видит устройств.
+ )}
+
+
+ {devices.map((device) => {
+ const title = device.alias || device.hostname || device.manufacturer || device.ip;
+ const editing = editingId === device.id;
+ const saving = savingId === device.id;
+ return
+
+
+
{STATUS_LABELS[device.status]}
+
{title}
+ {device.manufacturer && device.manufacturer !== title &&
{device.manufacturer}
}
+
+
+
+
+
+ - IP
- {device.ip || '—'}
+ - MAC
- {device.mac || '—'}
+ - Интерфейс
- {device.interface || '—'}
+ - Последний раз
+ - Источник
- {device.source} · {CONFIDENCE_LABELS[device.confidence]}
+
+
+ {editing ? (
+
+ ) : (
+
+ )}
+ ;
+ })}
+
+
+