import React, { useState } from 'react' import { connect } from 'react-redux' import { fetchIssues, fetchIssuesFiltered } from 'Duck/funnels' import { LoadMoreButton, NoContent } from 'UI' import FunnelIssuesHeader from '../FunnelIssuesHeader' import IssueItem from '../IssueItem'; import { funnelIssue as funnelIssueRoute, withSiteId } from 'App/routes' import { withRouter } from 'react-router' import IssueFilter from '../IssueFilter'; import SortDropdown from './SortDropdown'; import AnimatedSVG, { ICONS } from 'Shared/AnimatedSVG/AnimatedSVG'; const PER_PAGE = 10; function FunnelIssues(props) { const { funnel, list, loading = false, criticalIssuesCount, issueFilters, sort } = props; const [showPages, setShowPages] = useState(1) const addPage = () => setShowPages(showPages + 1); const onClick = ({ issueId }) => { const { siteId, history } = props; history.push(withSiteId(funnelIssueRoute(funnel.funnelId, issueId), siteId)); } let filteredList = issueFilters.size > 0 ? list.filter(item => issueFilters.includes(item.type)) : list; filteredList = sort.sort ? filteredList.sortBy(i => i[sort.sort]) : filteredList; filteredList = sort.order === 'desc' ? filteredList.reverse() : filteredList; const displayedCount = Math.min(showPages * PER_PAGE, filteredList.size); return (