Merge branch 'store-current-search-tab' into 'develop'

Keep selected search results tab

See merge request soapbox-pub/soapbox-fe!657
This commit is contained in:
Alex Gleason
2021-08-03 19:39:09 +00:00
6 changed files with 24 additions and 13 deletions

View File

@ -16,21 +16,15 @@ export default class SearchResults extends ImmutablePureComponent {
results: ImmutablePropTypes.map.isRequired,
submitted: PropTypes.bool,
expandSearch: PropTypes.func.isRequired,
};
state = {
selectedFilter: 'accounts',
selectedFilter: PropTypes.string.isRequired,
};
handleLoadMore = () => this.props.expandSearch(this.state.selectedFilter);
handleSelectFilter = newActiveFilter => {
this.setState({ selectedFilter: newActiveFilter });
};
handleSelectFilter = newActiveFilter => this.props.selectFilter(newActiveFilter);
render() {
const { results, submitted } = this.props;
const { selectedFilter } = this.state;
const { results, submitted, selectedFilter } = this.props;
if (submitted && results.isEmpty()) {
return (

View File

@ -1,13 +1,14 @@
import { connect } from 'react-redux';
import SearchResults from '../components/search_results';
import { fetchSuggestions, dismissSuggestion } from '../../../actions/suggestions';
import { expandSearch } from '../../../actions/search';
import { expandSearch, setFilter } from '../../../actions/search';
const mapStateToProps = state => {
return {
results: state.getIn(['search', 'results']),
suggestions: state.getIn(['suggestions', 'items']),
submitted: state.getIn(['search', 'submitted']),
selectedFilter: state.getIn(['search', 'filter']),
};
};
@ -15,6 +16,7 @@ const mapDispatchToProps = dispatch => ({
fetchSuggestions: () => dispatch(fetchSuggestions()),
expandSearch: type => dispatch(expandSearch(type)),
dismissSuggestion: account => dispatch(dismissSuggestion(account.get('id'))),
selectFilter: newActiveFilter => dispatch(setFilter(newActiveFilter)),
});
export default connect(mapStateToProps, mapDispatchToProps)(SearchResults);