import React, { Fragment } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { makeStyles } from '@material-ui/core/styles'; import Divider from '@material-ui/core/Divider'; import List from '@material-ui/core/List'; import ListItem from '@material-ui/core/ListItem'; import ListItemText from '@material-ui/core/ListItemText'; import { devicesActions, geofencesActions } from '../store'; import CollectionActions from '../settings/components/CollectionActions'; import { useCatchCallback } from '../reactHelper'; const useStyles = makeStyles(() => ({ list: { maxHeight: '100%', overflow: 'auto', }, icon: { width: '25px', height: '25px', filter: 'brightness(0) invert(1)', }, })); const GeofencesList = () => { const classes = useStyles(); const dispatch = useDispatch(); const items = useSelector((state) => state.geofences.items); const refreshGeofences = useCatchCallback(async () => { const response = await fetch('/api/geofences'); if (response.ok) { dispatch(geofencesActions.refresh(await response.json())); } else { throw Error(await response.text()); } }, [dispatch]); return ( {Object.values(items).map((item, index, list) => ( dispatch(devicesActions.select(item.id))}> {index < list.length - 1 ? : null} ))} ); }; export default GeofencesList;