diff --git a/app/javascript/flavours/glitch/components/icon.jsx b/app/javascript/flavours/glitch/components/icon.jsx deleted file mode 100644 index d3d7c591d..000000000 --- a/app/javascript/flavours/glitch/components/icon.jsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import classNames from 'classnames'; - -export default class Icon extends React.PureComponent { - - static propTypes = { - id: PropTypes.string.isRequired, - className: PropTypes.string, - fixedWidth: PropTypes.bool, - }; - - render () { - const { id, className, fixedWidth, ...other } = this.props; - - return ( - - ); - } - -} diff --git a/app/javascript/flavours/glitch/components/icon.tsx b/app/javascript/flavours/glitch/components/icon.tsx new file mode 100644 index 000000000..d85fff6ef --- /dev/null +++ b/app/javascript/flavours/glitch/components/icon.tsx @@ -0,0 +1,14 @@ +import React from 'react'; +import classNames from 'classnames'; + +type Props = { + id: string; + className?: string; + fixedWidth?: boolean; + children?: never; + [key: string]: any; +} +export const Icon: React.FC = ({ id, className, fixedWidth, ...other }) => + ; + +export default Icon; diff --git a/app/javascript/flavours/glitch/components/icon_with_badge.jsx b/app/javascript/flavours/glitch/components/icon_with_badge.jsx deleted file mode 100644 index a42ba4589..000000000 --- a/app/javascript/flavours/glitch/components/icon_with_badge.jsx +++ /dev/null @@ -1,22 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import Icon from 'flavours/glitch/components/icon'; - -const formatNumber = num => num > 40 ? '40+' : num; - -const IconWithBadge = ({ id, count, issueBadge, className }) => ( - - - {count > 0 && {formatNumber(count)}} - {issueBadge && } - -); - -IconWithBadge.propTypes = { - id: PropTypes.string.isRequired, - count: PropTypes.number.isRequired, - issueBadge: PropTypes.bool, - className: PropTypes.string, -}; - -export default IconWithBadge; diff --git a/app/javascript/flavours/glitch/components/icon_with_badge.tsx b/app/javascript/flavours/glitch/components/icon_with_badge.tsx new file mode 100644 index 000000000..487bf326a --- /dev/null +++ b/app/javascript/flavours/glitch/components/icon_with_badge.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Icon } from './icon'; + +const formatNumber = (num: number): number | string => num > 40 ? '40+' : num; + +type Props = { + id: string; + count: number; + issueBadge: boolean; + className: string; +} +const IconWithBadge: React.FC = ({ id, count, issueBadge, className }) => ( + + + {count > 0 && {formatNumber(count)}} + {issueBadge && } + +); + +export default IconWithBadge;