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, 7 insertions, 22 deletions
diff --git a/src/client/react/components/container/Search.tsx b/src/client/react/components/container/Search.tsx
index fdd6c83..b22c26e 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 SearchStatehProps {
- selectedResult: string,
+interface SearchStateProps {
+ selectedResult: string | null,
isExactMatch: boolean,
}
@@ -23,8 +23,8 @@ interface SearchDispatchProps {
inputChange(typedValue: string): void,
}
-class Search extends React.Component<SearchStatehProps & SearchDispatchProps, any> {
- constructor(props: SearchStatehProps & SearchDispatchProps) {
+class Search extends React.Component<SearchStateProps & SearchDispatchProps, any> {
+ constructor(props: SearchStateProps & SearchDispatchProps) {
super(props);
this.state = {
@@ -80,7 +80,7 @@ class Search extends React.Component<SearchStatehProps & SearchDispatchProps, an
<div className="search__input-wrapper">
<div className="search__icon-wrapper">
<IconFromUserType
- userType={isExactMatch ? users.byId[selectedResult].type : null}
+ userType={(selectedResult && isExactMatch) ? users.byId[selectedResult].type : undefined}
defaultIcon={<SearchIcon />}
/>
</div>
@@ -99,26 +99,11 @@ class Search extends React.Component<SearchStatehProps & SearchDispatchProps, an
}
}
-// Search.propTypes = {
-// selectedResult: PropTypes.string,
-// isExactMatch: PropTypes.bool.isRequired,
-// dispatch: PropTypes.func.isRequired,
-// };
-
-// Search.defaultProps = {
-// selectedResult: null,
-// };
-
-const mapStateToProps = (state: State):SearchStatehProps => ({
+const mapStateToProps = (state: State):SearchStateProps => ({
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 d77ea1b..83af34c 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 />;