import CheckIcon from "@mui/icons-material/Check"; import DeleteIcon from "@mui/icons-material/Delete"; import RefreshIcon from "@mui/icons-material/Refresh"; import { IconButton, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, Tooltip, } from "@mui/material"; import React from "react"; import { Device, DeviceApi, DeviceRelay } from "../api/DeviceApi"; import { useAlert } from "../hooks/context_providers/AlertDialogProvider"; import { useConfirm } from "../hooks/context_providers/ConfirmDialogProvider"; import { useLoadingMessage } from "../hooks/context_providers/LoadingMessageProvider"; import { useSnackbar } from "../hooks/context_providers/SnackbarProvider"; import { AsyncWidget } from "../widgets/AsyncWidget"; import { SolarEnergyRouteContainer } from "../widgets/SolarEnergyRouteContainer"; import { TimeWidget } from "../widgets/TimeWidget"; import { RelayApi } from "../api/RelayApi"; export function RelaysListRoute(): React.ReactElement { const loadKey = React.useRef(1); const [list, setList] = React.useState(); const load = async () => { setList(await RelayApi.GetList()); list?.sort((a, b) => b.priority - a.priority); }; const reload = () => { loadKey.current += 1; setList(undefined); }; return ( } > } /> ); } function RelaysList(p: { list: DeviceRelay[]; onReload: () => void; }): React.ReactElement { return ( Name Enabled Priority Consumption Status {p.list.map((row) => ( {row.name} {row.enabled ? "YES" : "NO"} {row.priority} {row.consumption} TODO ))}
); }