ConnectedDeviceRow
Domain · ModemBağlı cihaz tablosu satırı. Cihaz ikonu, hostname/MAC, IP, bağlantı tipi (kablolu/wifi + dBm), trafik ve DHCP/Static/Blocked durumu.
| Device | IP | Connection | Traffic | Status |
|---|---|---|---|---|
|
Desktop PC 00:11:22:33:44:55 |
192.168.1.10 | Wired | 2.0 GB 10.0 GB | Static |
|
Work Laptop B8:E8:56:AA:BB:CC |
192.168.1.102 | 5 GHz | 1.0 GB 5.0 GB | |
|
Unknown 02:42:AC:11:22:33 |
192.168.1.150 | 2.4 GHz | 10 MB 50 MB | Blocked |
<%
var _dev = locals.device || {};
var iconMap = {
computer: 'fa-solid fa-desktop',
laptop: 'fa-solid fa-laptop',
phone: 'fa-solid fa-mobile-screen',
tablet: 'fa-solid fa-tablet-screen-button',
tv: 'fa-solid fa-tv',
gaming: 'fa-solid fa-gamepad',
printer: 'fa-solid fa-print',
camera: 'fa-solid fa-camera',
iot: 'fa-solid fa-microchip',
router: 'fa-solid fa-network-wired',
nas: 'fa-solid fa-hard-drive',
unknown: 'fa-solid fa-circle-question',
};
var connLabel = { WIRED: 'Wired', WIFI_2_4: '2.4 GHz', WIFI_5: '5 GHz', WIFI_6: '6 GHz' };
function fmtBytes(b) {
if (b >= 1073741824) return (b / 1073741824).toFixed(1) + ' GB';
if (b >= 1048576) return (b / 1048576).toFixed(0) + ' MB';
return (b / 1024).toFixed(0) + ' KB';
}
var icon = iconMap[_dev.iconType] || iconMap.unknown;
var name = _dev.customName || _dev.hostname || '—';
var conn = connLabel[_dev.connectionType] || _dev.connectionType;
var upload = fmtBytes(_dev.uploadBytes || 0);
var download = fmtBytes(_dev.downloadBytes || 0);
%>
<%= name %>
<%= _dev.mac %>
<%= _dev.ip %>
<% if (_dev.isBlocked) { %>
Blocked
<% } else if (_dev.isStatic) { %>
Static
<% } else { %>
<% } %>