aboutsummaryrefslogtreecommitdiff
path: root/src/client/react/components/container/Results.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/react/components/container/Results.tsx')
-rw-r--r--src/client/react/components/container/Results.tsx26
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);