diff --git a/app/soapbox/features/account/components/header.js b/app/soapbox/features/account/components/header.js
index 4904b7e77..a8c173e94 100644
--- a/app/soapbox/features/account/components/header.js
+++ b/app/soapbox/features/account/components/header.js
@@ -5,6 +5,7 @@ import { connect } from 'react-redux';
import ImmutablePropTypes from 'react-immutable-proptypes';
import PropTypes from 'prop-types';
import { defineMessages, injectIntl, FormattedMessage } from 'react-intl';
+import IconButton from 'soapbox/components/icon_button';
import ImmutablePureComponent from 'react-immutable-pure-component';
import {
isStaff,
@@ -185,6 +186,8 @@ class Header extends ImmutablePureComponent {
if (account.getIn(['pleroma', 'accepts_chat_messages'], false) === true) {
menu.push({ text: intl.formatMessage(messages.chat, { name: account.get('username') }), action: this.props.onChat });
+ } else {
+ menu.push({ text: intl.formatMessage(messages.direct, { name: account.get('username') }), action: this.props.onDirect });
}
if (account.getIn(['relationship', 'following'])) {
@@ -296,6 +299,22 @@ class Header extends ImmutablePureComponent {
return info;
}
+ renderMessageButton() {
+ const { account, me } = this.props;
+
+ if (!me || !account || account.get('id') === me) {
+ return null;
+ }
+
+ const canChat = account.getIn(['pleroma', 'accepts_chat_messages'], false) === true;
+
+ if (canChat) {
+ return