import classNames from 'classnames'; import React from 'react'; import { useSelector } from 'react-redux'; import { createSelector } from 'reselect'; import { ColorImpairedConsumer } from 'App/ColorImpairedContext'; import IndexerAppState from 'App/State/IndexerAppState'; import DescriptionList from 'Components/DescriptionList/DescriptionList'; import DescriptionListItem from 'Components/DescriptionList/DescriptionListItem'; import createClientSideCollectionSelector from 'Store/Selectors/createClientSideCollectionSelector'; import createDeepEqualSelector from 'Store/Selectors/createDeepEqualSelector'; import translate from 'Utilities/String/translate'; import styles from './IndexerIndexFooter.css'; function createUnoptimizedSelector() { return createSelector( createClientSideCollectionSelector('indexers', 'indexerIndex'), (indexers: IndexerAppState) => { return indexers.items.map((s) => { const { protocol, privacy, enable } = s; return { protocol, privacy, enable, }; }); } ); } function createIndexersSelector() { return createDeepEqualSelector( createUnoptimizedSelector(), (indexers) => indexers ); } export default function IndexerIndexFooter() { const indexers = useSelector(createIndexersSelector()); const count = indexers.length; let enabled = 0; let torrent = 0; indexers.forEach((s) => { if (s.enable) { enabled += 1; } if (s.protocol === 'torrent') { torrent++; } }); return ( {(enableColorImpairedMode) => { return (
{translate('Enabled')}
{translate('EnabledRedirected')}
{translate('Disabled')}
{translate('Error')}
); }} ); }