diff --git a/frontend/src/sections/devices/cwmp/devices-wifi.js b/frontend/src/sections/devices/cwmp/devices-wifi.js index c5f4389..b08202c 100644 --- a/frontend/src/sections/devices/cwmp/devices-wifi.js +++ b/frontend/src/sections/devices/cwmp/devices-wifi.js @@ -21,133 +21,31 @@ import { Box, IconButton, Icon, + SnackbarContent, + Snackbar, Checkbox, - FormControlLabel + FormControlLabel, + useTheme, } from '@mui/material'; import XMarkIcon from '@heroicons/react/24/outline/XMarkIcon'; -import PaperAirplane from '@heroicons/react/24/solid/PaperAirplaneIcon'; -import Check from '@heroicons/react/24/outline/CheckIcon' +import Check from '@heroicons/react/24/outline/CheckIcon'; +//import ExclamationTriangleIcon from '@heroicons/react/24/solid/ExclamationTriangleIcon'; import CircularProgress from '@mui/material/CircularProgress'; import Backdrop from '@mui/material/Backdrop'; import { useRouter } from 'next/router'; import GlobeAltIcon from '@heroicons/react/24/outline/GlobeAltIcon'; - export const DevicesWiFi = () => { + const theme = useTheme(); const router = useRouter() - const [content, setContent] = useState( - [ - { - "path": "InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.", - "name": { - "writable": false, - "value": "wl1" - }, - "ssid": { - "writable": true, - "value": "HUAWEI-TEST-1" - }, - "password": { - "writable": false, - "value": "" - }, - "security": { - "writable": false, - "value": "b/g/n" - }, - "enable": { - "writable": true, - "value": "0" - }, - "status": { - "writable": false, - "value": "Disabled" - } - }, - { - "path": "InternetGatewayDevice.LANDevice.1.WLANConfiguration.2.", - "name": { - "writable": false, - "value": "wl0" - }, - "ssid": { - "writable": true, - "value": "HUAWEI-TEST-1" - }, - "password": { - "writable": false, - "value": "" - }, - "security": { - "writable": false, - "value": "a/n/ac/ax" - }, - "enable": { - "writable": true, - "value": "1" - }, - "status": { - "writable": false, - "value": "Up" - } - }, - { - "path": "InternetGatewayDevice.LANDevice.2.WLANConfiguration.1.", - "name": { - "writable": false, - "value": "wl1.1" - }, - "ssid": { - "writable": true, - "value": "HUAWEI-1BLSP6_Guest" - }, - "password": { - "writable": false, - "value": "" - }, - "security": { - "writable": false, - "value": "b/g/n" - }, - "enable": { - "writable": true, - "value": "0" - }, - "status": { - "writable": false, - "value": "Disabled" - } - }, - { - "path": "InternetGatewayDevice.LANDevice.2.WLANConfiguration.2.", - "name": { - "writable": false, - "value": "wl0.1" - }, - "ssid": { - "writable": true, - "value": "Mobile WiFi" - }, - "password": { - "writable": false, - "value": "" - }, - "security": { - "writable": false, - "value": "a/n/ac/ax" - }, - "enable": { - "writable": true, - "value": "0" - }, - "status": { - "writable": false, - "value": "Disabled" - } - } - ]) + const [content, setContent] = useState([]) + const [applyContent, setApplyContent] = useState([]) + const [apply, setApply] = useState(false) + + const [errorModal, setErrorModal] = useState(false) + const [errorModalText, setErrorModalText] = useState("") const fetchWifiData = async () => { @@ -162,33 +60,39 @@ export const DevicesWiFi = () => { }; fetch(`${process.env.NEXT_PUBLIC_REST_ENDPOINT}/device/${router.query.id[0]}/wifi`, requestOptions) - .then(response => response.text()) + .then(response => { + if (response.status === 401) { + router.push("/auth/login") + } + return response.json() + }) .then(result => { - if (result.status === 401){ - router.push("/auth/login") - } - if (result.status === 404){ - //TODO: set device as offline - return - } - stepContentClasses(result) + console.log("wifi content", result) + result.map((item) => { + let contentToApply = { + hasChanges: false, + path: item.path, + } + setApplyContent(oldValue => [...oldValue, contentToApply]) + }) + setContent(result) }) .catch(error => console.log('error', error)); }; useEffect(()=>{ - // fetchWifiData() + fetchWifiData() },[]) - return ( content && + return (
- { - content.map((item, index) => { + {content.length > 1 ? + (content.map((item, index) => { return ( { /> - } label="Enabled" /> - { + let enable = e.target.value == 1 ? "1" : "0" + applyContent[index].hasChanges = true + applyContent[index].enable = { + value : enable + } + setApplyContent([...applyContent]) + item.enable.value = enable + }}/>} + label="Enabled" />} + {item.ssid.value != null && + disabled={!item.ssid.writable} + onChange={(e) => { + applyContent[index].hasChanges = true + applyContent[index].ssid = { + value : e.target.value + } + setApplyContent([...applyContent]) + item.ssid.value = e.target.value + }} + />} + {item.securityCapabilities && + />} + {item.password.value != null && + />} + {item.standard.value != null && + }