diff --git a/frontend/src/sections/devices/cwmp/connecteddevices.js b/frontend/src/sections/devices/cwmp/connecteddevices.js index 50e86a2..7628a60 100644 --- a/frontend/src/sections/devices/cwmp/connecteddevices.js +++ b/frontend/src/sections/devices/cwmp/connecteddevices.js @@ -16,102 +16,131 @@ export const ConnectedDevices = () => { const [interfaces, setInterfaces] = useState([]); const [interfaceValue, setInterfaceValue] = useState(null); + const getConnectionState = (rssi) => { + let connectionStatus = "Signal " + if (rssi > -30) { + return connectionStatus + "Excellent" + } else if (rssi > -60) { + return connectionStatus + "Good" + } else if (rssi > -70) { + return connectionStatus + "Bad" + } else { + return connectionStatus + "Awful" + } + } + const fetchConnectedDevicesData = async () => { var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); myHeaders.append("Authorization", localStorage.getItem("token")); - + var requestOptions = { - method: 'GET', - headers: myHeaders, - redirect: 'follow' + method: 'GET', + headers: myHeaders, + redirect: 'follow' }; fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT || ""}/api/device/${router.query.id[0]}/connecteddevices`, requestOptions) - .then(response => { - if (response.status === 401) { - router.push("/auth/login") - } - return response.json() - }) - .then(result => { - console.log("connecteddevices content", result) - let interfaces = Object.keys(result) - setInterfaces(interfaces) - setInterfaceValue(interfaces[0]) - setContent(result) - }) - .catch(error => console.log('error', error)); + .then(response => { + if (response.status === 401) { + router.push("/auth/login") + } + return response.json() + }) + .then(result => { + console.log("connecteddevices content", result) + let interfaces = Object.keys(result) + setInterfaces(interfaces) + setInterfaceValue(interfaces[0]) + setContent(result) + }) + .catch(error => console.log('error', error)); }; useEffect(() => { fetchConnectedDevicesData(); - },[]) + }, []) - return ( - - {content && interfaces.length > 0 ? - - - - Interface - setInterfaceValue(e.target.value)}> + {( + interfaces.map((item, index) => ( + + {item} + + )) + )} + + + { + content[interfaceValue].map((property, index) => ( + + + + + + + + + + + + {property.hostname} + + + + + + IP address: {property.ip_adress} + + + MAC: {property.mac} + + + + + Source: {property.adress_source} + + + { + let rssi = property.rssi + if (rssi > -30) { + return theme.palette.success.main + } else if (rssi > -60) { + return theme.palette.success.main + } else if (rssi > -70) { + return theme.palette.warning.main + } else { + return theme.palette.error.main + } + }}> + + RSSI: + + {property.rssi} dbm + + + + + + + )) - )} - - - { - content[interfaceValue].map((property,index) => ( - - - - - - - - - - - - {property.hostname} - - - - - - IP address: {property.ip_adress} - - - MAC: {property.mac} - - - - - RSSI: {property.rssi} dbm - - - Source: {property.adress_source} - - - - - - - )) - } - - : ( - content ? No connected devices found : - )} + } + + : ( + content ? No connected devices found : + )} ) } \ No newline at end of file