aboutsummaryrefslogtreecommitdiff
path: root/src/client/react/components
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/react/components')
-rw-r--r--src/client/react/components/container/Search.tsx27
-rw-r--r--src/client/react/components/presentational/IconFromUserType.tsx2
2 files changed, 22 insertions, 7 deletions
diff --git a/src/client/react/components/container/Search.tsx b/src/client/react/components/container/Search.tsx
index b22c26e..fdd6c83 100644
--- a/src/client/react/components/container/Search.tsx
+++ b/src/client/react/components/container/Search.tsx
@@ -13,8 +13,8 @@ import users from '../../users';
import Results from './Results';
import IconFromUserType from '../presentational/IconFromUserType';
-interface SearchStateProps {
- selectedResult: string | null,
+interface SearchStatehProps {
+ selectedResult: string,
isExactMatch: boolean,
}
@@ -23,8 +23,8 @@ interface SearchDispatchProps {
inputChange(typedValue: string): void,
}
-class Search extends React.Component<SearchStateProps & SearchDispatchProps, any> {
- constructor(props: SearchStateProps & SearchDispatchProps) {
+class Search extends React.Component<SearchStatehProps & SearchDispatchProps, any> {
+ constructor(props: SearchStatehProps & SearchDispatchProps) {
super(props);
this.state = {
@@ -80,7 +80,7 @@ class Search extends React.Component<SearchStateProps & SearchDispatchProps, any
<div className="search__input-wrapper">
<div className="search__icon-wrapper">
<IconFromUserType
- userType={(selectedResult && isExactMatch) ? users.byId[selectedResult].type : undefined}
+ userType={isExactMatch ? users.byId[selectedResult].type : null}
defaultIcon={<SearchIcon />}
/>
</div>
@@ -99,11 +99,26 @@ class Search extends React.Component<SearchStateProps & SearchDispatchProps, any
}
}
-const mapStateToProps = (state: State):SearchStateProps => ({
+// Search.propTypes = {
+// selectedResult: PropTypes.string,
+// isExactMatch: PropTypes.bool.isRequired,
+// dispatch: PropTypes.func.isRequired,
+// };
+
+// Search.defaultProps = {
+// selectedResult: null,
+// };
+
+const mapStateToProps = (state: State):SearchStatehProps => ({
selectedResult: state.search.selectedResult,
isExactMatch: state.search.isExactMatch,
});
+// const mapDispatchToProps = {
+// inputChange,
+// changeSelectedResult,
+// };
+
const mapDispatchToProps = (dispatch: any): SearchDispatchProps => ({
inputChange(typedValue) {
dispatch(inputChange(typedValue));
diff --git a/src/client/react/components/presentational/IconFromUserType.tsx b/src/client/react/components/presentational/IconFromUserType.tsx
index 83af34c..d77ea1b 100644
--- a/src/client/react/components/presentational/IconFromUserType.tsx
+++ b/src/client/react/components/presentational/IconFromUserType.tsx
@@ -9,7 +9,7 @@ import TeacherIcon = require('react-icons/lib/md/account-circle');
// defaultIcon?: JSX.Element,
// }
-const IconFromUserType: React.StatelessComponent<{ userType?: string, defaultIcon?: JSX.Element }> = (props) => {
+const IconFromUserType: React.StatelessComponent<{ userType: string, defaultIcon?: JSX.Element }> = (props) => {
switch (props.userType) {
case 'c':
return <ClassIcon />;