import ComputerIcon from '@mui/icons-material/Computer'; import DeviceHubIcon from '@mui/icons-material/DeviceHub'; import RefreshIcon from '@mui/icons-material/Refresh'; import SettingsInputAntennaIcon from '@mui/icons-material/SettingsInputAntenna'; import { Avatar, Button, Divider, List, ListItem, ListItemAvatar, ListItemText, useTheme } from '@mui/material'; import type { Theme } from '@mui/material'; import * as APApi from 'api/ap'; // import { useRequest } from 'alova/client' // TODO replace when Alova 3 is released import { useRequest } from 'alova'; import { ButtonRow, FormLoader, SectionContent, useLayoutTitle } from 'components'; import { useI18nContext } from 'i18n/i18n-react'; import type { APStatusType } from 'types'; import { APNetworkStatus } from 'types'; export const apStatusHighlight = ({ status }: APStatusType, theme: Theme) => { switch (status) { case APNetworkStatus.ACTIVE: return theme.palette.success.main; case APNetworkStatus.INACTIVE: return theme.palette.info.main; case APNetworkStatus.LINGERING: return theme.palette.warning.main; default: return theme.palette.warning.main; } }; const APStatus = () => { const { data: data, send: loadData, error } = useRequest(APApi.readAPStatus); const { LL } = useI18nContext(); useLayoutTitle(LL.STATUS_OF(LL.ACCESS_POINT(0))); const theme = useTheme(); const apStatus = ({ status }: APStatusType) => { switch (status) { case APNetworkStatus.ACTIVE: return LL.ACTIVE(); case APNetworkStatus.INACTIVE: return LL.INACTIVE(0); case APNetworkStatus.LINGERING: return 'Lingering until idle'; default: return LL.UNKNOWN(); } }; const content = () => { if (!data) { return ; } return ( <> IP ); }; return {content()}; }; export default APStatus;