import React, { Component } from 'react'; import PropTypes from 'prop-types'; import TodoItem from './TodoItem'; import Footer from './Footer'; import { SHOW_ALL, SHOW_COMPLETED, SHOW_ACTIVE, } from '../constants/TodoFilters'; const TODO_FILTERS = { [SHOW_ALL]: () => true, [SHOW_ACTIVE]: (todo) => !todo.completed, [SHOW_COMPLETED]: (todo) => todo.completed, }; class MainSection extends Component { constructor(props, context) { super(props, context); this.state = { filter: SHOW_ALL }; } handleClearCompleted() { const atLeastOneCompleted = this.props.todos.some((todo) => todo.completed); if (atLeastOneCompleted) { this.props.actions.clearCompleted(); } } handleShow(filter) { this.setState({ filter }); } renderToggleAll(completedCount) { const { todos, actions } = this.props; if (todos.length > 0) { return ( ); } } renderFooter(completedCount) { const { todos } = this.props; const { filter } = this.state; const activeCount = todos.length - completedCount; if (todos.length) { return (