import React from 'react';
import { connect } from 'react-redux';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
import ImmutablePureComponent from 'react-immutable-pure-component';
import { FormattedMessage } from 'react-intl';
import { NavLink } from 'react-router-dom';

const mapStateToProps = state => ({
  value: state.getIn(['search', 'value']),
  submitted: state.getIn(['search', 'submitted']),
});

class Header extends ImmutablePureComponent {

  static propTypes = {
    value: PropTypes.string,
    submitted: PropTypes.bool,
  };

  state = {
    submittedValue: '',
  };

  componentWillReceiveProps (nextProps) {
    if (nextProps.submitted) {
      const submittedValue = nextProps.value;
      this.setState({submittedValue})
    }
  }

  render () {
    const { submittedValue } = this.state;

    if (!submittedValue) {
      return null;
    }

    return (
      <div className='search-header'>
        <div className='search-header__text-container'>
          <h1 className='search-header__title-text'>
            {submittedValue}
          </h1>
        </div>
        <div className='search-header__type-filters'>
          <div className='account__section-headline'>
            <div className='search-header__type-filters-tabs'>
              <NavLink to='/search' activeClassName='active'>
                <FormattedMessage id='search_results.top' defaultMessage='Top' />
              </NavLink>
              {/*<NavLink to='/search/gabs' activeClassName='active'>
                <FormattedMessage id='search_results.statuses' defaultMessage='Gabs' />
              </NavLink>
              <NavLink to='/search/people' activeClassName='active'>
                <FormattedMessage id='search_results.accounts' defaultMessage='People' />
              </NavLink>
              <NavLink to='/search/hashtags' activeClassName='active'>
                <FormattedMessage id='search_results.hashtags' defaultMessage='Hashtags' />
              </NavLink>
              <NavLink to='/search/groups' activeClassName='active'>
                <FormattedMessage id='search_results.groups' defaultMessage='Groups' />
              </NavLink>*/}
            </div>
          </div>
        </div>
      </div>
    );
  }
}

export default connect(mapStateToProps)(Header);