diff options
author | Noah Loomans <noahloomans@gmail.com> | 2017-12-21 12:06:41 +0100 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2017-12-21 12:06:41 +0100 |
commit | f0c8cf0e79f003514fd65a70def5820205955a77 (patch) | |
tree | cb66d325fb5d16d8b7fa0f14c91ad17dd4ff7c6c /src/client/react/components/container/Results.tsx | |
parent | 569b2969d530f08e55798c5cb3079948c7c037cd (diff) |
Move to typescript
Diffstat (limited to 'src/client/react/components/container/Results.tsx')
-rw-r--r-- | src/client/react/components/container/Results.tsx | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/client/react/components/container/Results.tsx b/src/client/react/components/container/Results.tsx new file mode 100644 index 0000000..21d3378 --- /dev/null +++ b/src/client/react/components/container/Results.tsx @@ -0,0 +1,26 @@ +import * as React from 'react'; +import { connect } from 'react-redux'; +import * as classnames from 'classnames'; +import Result from '../presentational/Result'; +import { User } from '../../users'; +import { State } from '../../reducers'; + +const Results: React.StatelessComponent<{ results: string[], isExactMatch: boolean, selectedResult: string }> = (props) => ( + <div + className={classnames('search__results', { + 'search__results--has-results': !props.isExactMatch && props.results.length > 0, + })} + > + {!props.isExactMatch && props.results.map(userId => ( + <Result key={userId} userId={userId} isSelected={userId === props.selectedResult} /> + ))} + </div> +); + +const mapStateToProps = (state: State) => ({ + results: state.search.results, + isExactMatch: state.search.isExactMatch, + selectedResult: state.search.selectedResult, +}); + +export default connect(mapStateToProps)(Results); |