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
This commit is contained in:
		@@ -4,6 +4,7 @@ import Immutable from 'immutable';
 | 
			
		||||
import ImmutablePropTypes from 'react-immutable-proptypes';
 | 
			
		||||
import punycode from 'punycode';
 | 
			
		||||
import classnames from 'classnames';
 | 
			
		||||
import Icon from 'mastodon/components/icon';
 | 
			
		||||
 | 
			
		||||
const IDNA_PREFIX = 'xn--';
 | 
			
		||||
 | 
			
		||||
@@ -175,8 +176,8 @@ export default class Card extends React.PureComponent {
 | 
			
		||||
 | 
			
		||||
            <div className='status-card__actions'>
 | 
			
		||||
              <div>
 | 
			
		||||
                <button onClick={this.handleEmbedClick}><i className={`fa fa-${iconVariant}`} /></button>
 | 
			
		||||
                {horizontal && <a href={card.get('url')} target='_blank' rel='noopener'><i className='fa fa-external-link' /></a>}
 | 
			
		||||
                <button onClick={this.handleEmbedClick}><Icon id={iconVariant} /></button>
 | 
			
		||||
                {horizontal && <a href={card.get('url')} target='_blank' rel='noopener'><Icon id='external-link' /></a>}
 | 
			
		||||
              </div>
 | 
			
		||||
            </div>
 | 
			
		||||
          </div>
 | 
			
		||||
@@ -198,7 +199,7 @@ export default class Card extends React.PureComponent {
 | 
			
		||||
    } else {
 | 
			
		||||
      embed = (
 | 
			
		||||
        <div className='status-card__image'>
 | 
			
		||||
          <i className='fa fa-file-text' />
 | 
			
		||||
          <Icon id='file-text' />
 | 
			
		||||
        </div>
 | 
			
		||||
      );
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,7 @@ import ImmutablePureComponent from 'react-immutable-pure-component';
 | 
			
		||||
import Video from '../../video';
 | 
			
		||||
import scheduleIdleTask from '../../ui/util/schedule_idle_task';
 | 
			
		||||
import classNames from 'classnames';
 | 
			
		||||
import Icon from 'mastodon/components/icon';
 | 
			
		||||
 | 
			
		||||
export default class DetailedStatus extends ImmutablePureComponent {
 | 
			
		||||
 | 
			
		||||
@@ -148,11 +149,11 @@ export default class DetailedStatus extends ImmutablePureComponent {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (status.get('visibility') === 'private') {
 | 
			
		||||
      reblogLink = <i className={`fa fa-${reblogIcon}`} />;
 | 
			
		||||
      reblogLink = <Icon id={reblogIcon} />;
 | 
			
		||||
    } else if (this.context.router) {
 | 
			
		||||
      reblogLink = (
 | 
			
		||||
        <Link to={`/statuses/${status.get('id')}/reblogs`} className='detailed-status__link'>
 | 
			
		||||
          <i className={`fa fa-${reblogIcon}`} />
 | 
			
		||||
          <Icon id={reblogIcon} />
 | 
			
		||||
          <span className='detailed-status__reblogs'>
 | 
			
		||||
            <FormattedNumber value={status.get('reblogs_count')} />
 | 
			
		||||
          </span>
 | 
			
		||||
@@ -161,7 +162,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
 | 
			
		||||
    } else {
 | 
			
		||||
      reblogLink = (
 | 
			
		||||
        <a href={`/interact/${status.get('id')}?type=reblog`} className='detailed-status__link' onClick={this.handleModalLink}>
 | 
			
		||||
          <i className={`fa fa-${reblogIcon}`} />
 | 
			
		||||
          <Icon id={reblogIcon} />
 | 
			
		||||
          <span className='detailed-status__reblogs'>
 | 
			
		||||
            <FormattedNumber value={status.get('reblogs_count')} />
 | 
			
		||||
          </span>
 | 
			
		||||
@@ -172,7 +173,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
 | 
			
		||||
    if (this.context.router) {
 | 
			
		||||
      favouriteLink = (
 | 
			
		||||
        <Link to={`/statuses/${status.get('id')}/favourites`} className='detailed-status__link'>
 | 
			
		||||
          <i className='fa fa-star' />
 | 
			
		||||
          <Icon id='star' />
 | 
			
		||||
          <span className='detailed-status__favorites'>
 | 
			
		||||
            <FormattedNumber value={status.get('favourites_count')} />
 | 
			
		||||
          </span>
 | 
			
		||||
@@ -181,7 +182,7 @@ export default class DetailedStatus extends ImmutablePureComponent {
 | 
			
		||||
    } else {
 | 
			
		||||
      favouriteLink = (
 | 
			
		||||
        <a href={`/interact/${status.get('id')}?type=favourite`} className='detailed-status__link' onClick={this.handleModalLink}>
 | 
			
		||||
          <i className='fa fa-star' />
 | 
			
		||||
          <Icon id='star' />
 | 
			
		||||
          <span className='detailed-status__favorites'>
 | 
			
		||||
            <FormattedNumber value={status.get('favourites_count')} />
 | 
			
		||||
          </span>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user