import React from 'react'; import {LoaderWrapper} from '../../../components/LoaderWrapper/LoaderWrapper'; import { useCapabilitiesLoaded, useViewerNodesHandlerHasGrouping, } from '../../../store/reducers/capabilities/hooks'; import {NodesUptimeFilterValues} from '../../../utils/nodes'; import type {PaginatedStorageProps} from '../PaginatedStorage'; import {useStorageQueryParams} from '../useStorageQueryParams'; import {GroupedStorageNodesComponent} from './GroupedStorageNodesComponent'; import {StorageNodesComponent} from './StorageNodesComponent'; import '../Storage.scss'; export function PaginatedStorageNodes(props: PaginatedStorageProps) { const {storageNodesGroupByParam, visibleEntities, nodesUptimeFilter, handleShowAllNodes} = useStorageQueryParams(); const capabilitiesLoaded = useCapabilitiesLoaded(); const viewerNodesHandlerHasGrouping = useViewerNodesHandlerHasGrouping(); // Other filters do not fit with grouping // Reset them if grouping available React.useEffect(() => { if ( viewerNodesHandlerHasGrouping && (visibleEntities !== 'all' || nodesUptimeFilter !== NodesUptimeFilterValues.All) ) { handleShowAllNodes(); } }, [handleShowAllNodes, nodesUptimeFilter, viewerNodesHandlerHasGrouping, visibleEntities]); const renderContent = () => { if (viewerNodesHandlerHasGrouping && storageNodesGroupByParam) { return ; } return ; }; return {renderContent()}; }