import React, { useEffect } from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { UserStatus } from '@energyweb/origin-backend-core'; import { getMyDevices, fetchMyDevices } from '../../features/devices'; import { usePermissions } from '../../utils/permissions'; import { TableFallback } from '../Table'; import { Requirements } from '../Layout'; import { DeviceTable } from './Table/DeviceTable'; import { fromGeneralSelectors, fromUsersSelectors } from '../../features'; export const MyDevices = () => { const dispatch = useDispatch(); const user = useSelector(fromUsersSelectors.getUserOffchain); const userIsActive = user?.status === UserStatus.Active; const myDevices = useSelector(getMyDevices); const deviceClient = useSelector(fromGeneralSelectors.getBackendClient)?.deviceClient; const { canAccessPage } = usePermissions(); useEffect(() => { if (deviceClient && userIsActive) { dispatch(fetchMyDevices()); } }, [deviceClient, user]); if (!canAccessPage.value) { return ; } if (myDevices === null) { return ; } return ( ); };