const RadiusNetworkNode = { name: 'RadiusNetworkNode', props: { device: Object }, template: `
{{ device.name }}
{{ device.ipv4.ip }}
{{ device.mac }}
{{ device.vendor }}
{{ details }}
`, computed: { iconClass() { if (this.device.model === 'fbox') return 'fa-duotone fa-router'; if ((this.device.name || '').toLowerCase().includes('repeater')) return 'fa-duotone fa-wifi-exclamation'; if (this.device.type === 'wlan') return 'fa-duotone fa-mobile-screen'; return 'fa-duotone fa-desktop'; }, connectionType() { if (this.device.type === 'wlan') return 'wlan'; if (this.device.type === 'ethernet') return 'ethernet'; return null; }, nodeClass() { return { 'is-router': this.device.model === 'fbox', 'is-repeater': (this.device.name || '').toLowerCase().includes('repeater'), 'is-offline': this.device.state && this.device.state.class !== 'globe_online' && this.device.state.class !== 'led_green' } }, details() { if (this.device.properties && this.device.properties.length > 0) { const props = this.device.properties.filter(p => p.txt && p.txt !== 'Mesh'); if (props.length > 0) return props[0].txt; } if (this.device.port && this.device.port !== 'WLAN') return this.device.port; return null; } } }; if (window.VueApp) { VueApp.component('radius-network-node', RadiusNetworkNode); }