diff --git a/frontend/components/Avatar/Avatar.jsx b/frontend/components/Avatar/Avatar.jsx deleted file mode 100644 index cb71f56271..0000000000 --- a/frontend/components/Avatar/Avatar.jsx +++ /dev/null @@ -1,32 +0,0 @@ -import React, { PropTypes } from 'react'; -import classnames from 'classnames'; - -import userInterface from '../../interfaces/user'; - -const Avatar = ({ size, className, style, user }) => { - const { gravatarURL } = user; - const isSmall = size && size.toLowerCase() === 'small'; - const avatarClasses = classnames( - 'avatar', - { 'avatar--small': isSmall }, - className - ); - - return ( - User avatar - ); -}; - -Avatar.propTypes = { - size: PropTypes.string, - className: PropTypes.string, - style: PropTypes.object, // eslint-disable-line react/forbid-prop-types - user: userInterface.isRequired, -}; - -export default Avatar; diff --git a/frontend/components/Avatar/Avatar.tsx b/frontend/components/Avatar/Avatar.tsx new file mode 100644 index 0000000000..60aaf83fb6 --- /dev/null +++ b/frontend/components/Avatar/Avatar.tsx @@ -0,0 +1,38 @@ +import * as React from 'react'; +const classnames = require('classnames'); + +interface IAvatarUserInterface { + gravatarURL: string; +} + +interface IAvatarInterface { + className?: string; + size?: string; + user: IAvatarUserInterface; +} + +interface IAvatarState {} + +const baseClass = 'avatar'; + +class Avatar extends React.Component { + render (): JSX.Element { + const { className, size, user } = this.props; + const isSmall = size && size.toLowerCase() === 'small'; + const avatarClasses = classnames(baseClass, { + [`${baseClass}--${size}`]: isSmall, + className, + }); + const { gravatarURL } = user; + + return ( + User Avatar + ); + } +} + +export default Avatar; diff --git a/frontend/components/Avatar/index.js b/frontend/components/Avatar/index.js index 051cfa2ddb..722b8c348f 100644 --- a/frontend/components/Avatar/index.js +++ b/frontend/components/Avatar/index.js @@ -1 +1 @@ -export default from './Avatar'; +export default from './Avatar.tsx'; diff --git a/frontend/components/forms/validators/valid_email/index.js b/frontend/components/forms/validators/valid_email/index.js index 06769f390f..b078ab24e4 100644 --- a/frontend/components/forms/validators/valid_email/index.js +++ b/frontend/components/forms/validators/valid_email/index.js @@ -1,9 +1 @@ -const EMAIL_REGEX = /\S+@\S+\.\S+/; - -export default (email) => { - if (EMAIL_REGEX.test(email)) { - return true; - } - - return false; -}; +export default from './valid_email.ts'; diff --git a/frontend/components/forms/validators/valid_email/valid_email.ts b/frontend/components/forms/validators/valid_email/valid_email.ts new file mode 100644 index 0000000000..33a9721561 --- /dev/null +++ b/frontend/components/forms/validators/valid_email/valid_email.ts @@ -0,0 +1,9 @@ +const EMAIL_REGEX = /\S+@\S+\.\S+/; + +export default (email: string): boolean => { + if (EMAIL_REGEX.test(email)) { + return true; + } + + return false; +}; diff --git a/frontend/components/forms/validators/validate_equality/validate_equality.ts b/frontend/components/forms/validators/validate_equality/validate_equality.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/package.json b/package.json index 9958111d37..9db0a53735 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "moment": "^2.15.1", "nock": "^8.0.0", "node-bourbon": "^4.2.8", - "node-sass": "^3.10.0", + "node-sass": "^3.10.1", "normalizr": "^2.2.1", "postcss-functions": "^2.1.0", "postcss-loader": "^0.8.0",