content: //  Package imports.
  import PropTypes from 'prop-types';
  import React from 'react';
  import ImmutablePropTypes from 'react-immutable-proptypes';
  import { defineMessages, injectIntl } from 'react-intl';
  import ImmutablePureComponent from 'react-immutable-pure-component';
  
  //  Components.
  import Icon from 'flavours/glitch/components/icon';
  
  //  Messages.
  const messages = defineMessages({
    localOnly: {
      defaultMessage: 'This post is local-only',
      id: 'advanced_options.local-only.tooltip',
    },
    threadedMode: {
      defaultMessage: 'Threaded mode enabled',
      id: 'advanced_options.threaded_mode.tooltip',
    },
  });
  
  //  We use an array of tuples here instead of an object because it
  //  preserves order.
  const iconMap = [
    ['do_not_federate', 'home', messages.localOnly],
    ['threaded_mode', 'comments', messages.threadedMode],
  ];
  
  export default @injectIntl
  class TextareaIcons extends ImmutablePureComponent {
  
    static propTypes = {
      advancedOptions: ImmutablePropTypes.map,
      intl: PropTypes.object.isRequired,
    };
  
    render () {
      const { advancedOptions, intl } = this.props;
      return (
        <div className='composer--textarea--icons'>
          {advancedOptions ? iconMap.map(
            ([key, icon, message]) => advancedOptions.get(key) ? (
              <span
                className='textarea_icon'
                key={key}
                title={intl.formatMessage(message)}
              >
                <Icon
                  fixedWidth
                  id={icon}
                />
              </span>
            ) : null
          ) : null}
        </div>
      );
    }
  }
  