import React from 'react';
import { createUltimatePagination, ITEM_TYPES } from 'react-ultimate-pagination';
import PropTypes from 'prop-types';
import { withStyles } from '@material-ui/core/styles';
import NavigationFirstPage from '@material-ui/icons/FirstPage';
import NavigationLastPage from '@material-ui/icons/LastPage';
import NavigationChevronLeft from '@material-ui/icons/ChevronLeft';
import NavigationChevronRight from '@material-ui/icons/ChevronRight';
import { Button, Hidden, IconButton } from '@material-ui/core';
const flatButtonStyle = {
  minWidth: 36
};
const styles = {
  paging: {
    marginTop: 10,
    display: 'flex',
    justifyContent: 'center',
    alignItems: 'center'
  }
};
const Page = ({
  value,
  isActive,
  onClick,
  isDisabled
}) => (
  
);
Page.propTypes = {
  value: PropTypes.number.isRequired,
  isActive: PropTypes.bool.isRequired,
  onClick: PropTypes.func.isRequired,
  isDisabled: PropTypes.bool.isRequired,
};
const Ellipsis = ({ onClick, isDisabled }) => (
  
);
Ellipsis.propTypes = {
  onClick: PropTypes.func.isRequired,
  isDisabled: PropTypes.bool.isRequired,
};
const FirstPageLink = ({ onClick, isDisabled }) => (
  
    
  
);
FirstPageLink.propTypes = {
  onClick: PropTypes.func.isRequired,
  isDisabled: PropTypes.bool.isRequired,
};
const PreviousPageLink = ({ onClick, isDisabled }) => (
  
    
  
);
PreviousPageLink.propTypes = {
  onClick: PropTypes.func.isRequired,
  isDisabled: PropTypes.bool.isRequired,
};
const NextPageLink = ({ onClick, isDisabled }) => (
  
    
  
);
NextPageLink.propTypes = {
  onClick: PropTypes.func.isRequired,
  isDisabled: PropTypes.bool.isRequired,
};
const LastPageLink = ({ onClick, isDisabled }) => (
  
    
  
);
LastPageLink.propTypes = {
  onClick: PropTypes.func.isRequired,
  isDisabled: PropTypes.bool.isRequired,
};
const itemTypeToComponent = {
  [ITEM_TYPES.PAGE]: Page,
  [ITEM_TYPES.ELLIPSIS]: Ellipsis,
  [ITEM_TYPES.FIRST_PAGE_LINK]: FirstPageLink,
  [ITEM_TYPES.PREVIOUS_PAGE_LINK]: PreviousPageLink,
  [ITEM_TYPES.NEXT_PAGE_LINK]: NextPageLink,
  [ITEM_TYPES.LAST_PAGE_LINK]: LastPageLink
};
const UltmPagination = createUltimatePagination({ itemTypeToComponent });
class Pagination extends React.Component {
  constructor(props) {
    super();
    this.state = {
      totalPages: props.totpages
    };
  }
  render() {
    const hide = true;
    const { totalPages } = this.state;
    const {
      classes,
      curpage,
      onChange,
      onGoFirst,
      onPrev,
      onNext,
      onGoLast,
      ...rest
    } = this.props;
    return (
      
        
        
        
          
        
        = totalPages} onClick={onNext} />
        = totalPages} onClick={onGoLast} />
       
    );
  }
}
Pagination.propTypes = {
  curpage: PropTypes.number.isRequired,
  totpages: PropTypes.number.isRequired,
  onChange: PropTypes.func.isRequired,
  onPrev: PropTypes.func.isRequired,
  onNext: PropTypes.func.isRequired,
  onGoFirst: PropTypes.func.isRequired,
  onGoLast: PropTypes.func.isRequired,
  classes: PropTypes.object.isRequired,
};
export default withStyles(styles)(Pagination);