diff options
author | Noah Loomans <noahloomans@gmail.com> | 2017-12-13 15:53:19 +0100 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2017-12-13 15:53:19 +0100 |
commit | 503ab5c66ab524dfe36aed84a01899cd07ed2bc5 (patch) | |
tree | 68f3461d561ddc6a8e83898916aba06c193e6ffa /src/client/react/components/container/Results.jsx | |
parent | fe27a0819a60caaa69b059f0c86d95ab0c4084b7 (diff) |
Allow selection of result using keyboard
Diffstat (limited to 'src/client/react/components/container/Results.jsx')
-rw-r--r-- | src/client/react/components/container/Results.jsx | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/client/react/components/container/Results.jsx b/src/client/react/components/container/Results.jsx index 1c38c8b..9be2639 100644 --- a/src/client/react/components/container/Results.jsx +++ b/src/client/react/components/container/Results.jsx @@ -4,14 +4,14 @@ import { connect } from 'react-redux'; import classnames from 'classnames'; import Result from '../presentational/Result'; -const Results = (({ results }) => ( +const Results = (({ results, selectedResult }) => ( <div className={classnames('search__results', { 'search__results--has-results': results.length > 0, })} > {results.map(user => ( - <Result key={user.value} user={user} /> + <Result key={user.value} user={user} selected={user === selectedResult} /> ))} </div> )); @@ -19,12 +19,21 @@ const Results = (({ results }) => ( Results.propTypes = { results: PropTypes.arrayOf(PropTypes.shape({ type: PropTypes.string, - value: PropTypes.value, + value: PropTypes.string, })).isRequired, + selectedResult: PropTypes.shape({ + type: PropTypes.string, + value: PropTypes.string, + }), +}; + +Results.defaultProps = { + selectedResult: null, }; const mapStateToProps = state => ({ results: state.search.results, + selectedResult: state.search.selectedResult, }); export default connect(mapStateToProps)(Results); |