diff options
author | Reverite <github@reverite.sh> | 2019-09-09 20:01:01 -0700 |
---|---|---|
committer | Reverite <github@reverite.sh> | 2019-09-09 20:01:01 -0700 |
commit | 849e2bc4ca11892e701835a4696904d78b1ad325 (patch) | |
tree | b579de6026e032167d7ba837b6f6cb3c7568ea24 /app/javascript/flavours/glitch/components/icon.js | |
parent | 244196cf4a20005865bf0b9a1d99146e61e59ae4 (diff) | |
parent | 2aa0cdf7e6c44f252ffbcc991a5391c31386058d (diff) |
Merge branch 'glitch' into production
Diffstat (limited to 'app/javascript/flavours/glitch/components/icon.js')
-rw-r--r-- | app/javascript/flavours/glitch/components/icon.js | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/app/javascript/flavours/glitch/components/icon.js b/app/javascript/flavours/glitch/components/icon.js index 8f55a0115..d8a17722f 100644 --- a/app/javascript/flavours/glitch/components/icon.js +++ b/app/javascript/flavours/glitch/components/icon.js @@ -1,26 +1,21 @@ -// Package imports. -import classNames from 'classnames'; -import PropTypes from 'prop-types'; import React from 'react'; +import PropTypes from 'prop-types'; +import classNames from 'classnames'; -// This just renders a FontAwesome icon. -export default function Icon ({ - className, - fullwidth, - icon, -}) { - const computedClass = classNames('icon', 'fa', { 'fa-fw': fullwidth }, `fa-${icon}`, className); - return icon ? ( - <span - aria-hidden='true' - className={computedClass} - /> - ) : null; -} +export default class Icon extends React.PureComponent { -// Props. -Icon.propTypes = { - className: PropTypes.string, - fullwidth: PropTypes.bool, - icon: PropTypes.string, -}; + static propTypes = { + id: PropTypes.string.isRequired, + className: PropTypes.string, + fixedWidth: PropTypes.bool, + }; + + render () { + const { id, className, fixedWidth, ...other } = this.props; + + return ( + <i role='img' className={classNames('fa', `fa-${id}`, className, { 'fa-fw': fixedWidth })} {...other} /> + ); + } + +} |