aboutsummaryrefslogtreecommitdiff
path: root/src/client/react/components/presentational/IconFromUserType.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/react/components/presentational/IconFromUserType.js')
-rw-r--r--src/client/react/components/presentational/IconFromUserType.js52
1 files changed, 27 insertions, 25 deletions
diff --git a/src/client/react/components/presentational/IconFromUserType.js b/src/client/react/components/presentational/IconFromUserType.js
index ee0e04b..2ef95b7 100644
--- a/src/client/react/components/presentational/IconFromUserType.js
+++ b/src/client/react/components/presentational/IconFromUserType.js
@@ -5,33 +5,35 @@ import RoomIcon from 'react-icons/lib/md/room';
import ClassIcon from 'react-icons/lib/md/group';
import TeacherIcon from 'react-icons/lib/md/account-circle';
-const IconFromUserType = ({ userType, defaultIcon }) => {
- switch (userType) {
- case 'c':
- return <ClassIcon />;
- case 't':
- return <TeacherIcon />;
- case 's':
- return <StudentIcon />;
- case 'r':
- return <RoomIcon />;
- default:
- if (defaultIcon) {
- return defaultIcon;
- }
+class IconFromUserType extends React.Component {
+ static propTypes = {
+ userType: PropTypes.string,
+ defaultIcon: PropTypes.element,
+ };
- throw new Error('`userType` was invalid or not given, but `defaultIcon` is not defined.');
- }
-};
+ static defaultProps = {
+ userType: null,
+ defaultIcon: null,
+ };
-IconFromUserType.propTypes = {
- userType: PropTypes.string,
- defaultIcon: PropTypes.element,
-};
+ render() {
+ switch (this.props.userType) {
+ case 'c':
+ return <ClassIcon />;
+ case 't':
+ return <TeacherIcon />;
+ case 's':
+ return <StudentIcon />;
+ case 'r':
+ return <RoomIcon />;
+ default:
+ if (this.props.defaultIcon) {
+ return this.props.defaultIcon;
+ }
-IconFromUserType.defaultProps = {
- userType: null,
- defaultIcon: null,
-};
+ throw new Error('`userType` was invalid or not given, but `defaultIcon` is not defined.');
+ }
+ }
+}
export default IconFromUserType;