diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2019-02-01 00:14:05 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-01 00:14:05 +0100 |
commit | 1f9519020296c8c24a73d3f99d3c1ad94a627f3b (patch) | |
tree | 730245deccb6258eaddf9a013d377cd33ea2667b /app/javascript/mastodon/components/icon.js | |
parent | 3383ed7573866f086ac49b0e975d5c502cdf4b89 (diff) |
Refactor icons in web UI to use Icon component (#9951)
* Refactor uses of icons to an Icon component in web UI * Refactor options passed to the Icon component * Make tests work with absolute component paths
Diffstat (limited to 'app/javascript/mastodon/components/icon.js')
-rw-r--r-- | app/javascript/mastodon/components/icon.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/app/javascript/mastodon/components/icon.js b/app/javascript/mastodon/components/icon.js new file mode 100644 index 000000000..d8a17722f --- /dev/null +++ b/app/javascript/mastodon/components/icon.js @@ -0,0 +1,21 @@ +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 ( + <i role='img' className={classNames('fa', `fa-${id}`, className, { 'fa-fw': fixedWidth })} {...other} /> + ); + } + +} |