diff --git a/src/components/views/rooms/MessageComposer.js b/src/components/views/rooms/MessageComposer.js
index 689b549bc3..3c7a5b077b 100644
--- a/src/components/views/rooms/MessageComposer.js
+++ b/src/components/views/rooms/MessageComposer.js
@@ -186,6 +186,7 @@ export default class MessageComposer extends React.Component {
this._onRoomViewStoreUpdate = this._onRoomViewStoreUpdate.bind(this);
this._onTombstoneClick = this._onTombstoneClick.bind(this);
this.renderPlaceholderText = this.renderPlaceholderText.bind(this);
+ this.renderFormatBar = this.renderFormatBar.bind(this);
this.state = {
inputState: {
@@ -331,6 +332,47 @@ export default class MessageComposer extends React.Component {
}
}
+ renderFormatBar() {
+ const AccessibleButton = sdk.getComponent('elements.AccessibleButton');
+ const {marks, blockType} = this.state.inputState;
+ const formatButtons = formatButtonList.map((name) => {
+ // special-case to match the md serializer and the special-case in MessageComposerInput.js
+ const markName = name === 'inline-code' ? 'code' : name;
+ const active = marks.some(mark => mark.type === markName) || blockType === name;
+ const suffix = active ? '-on' : '';
+ const onFormatButtonClicked = this.onFormatButtonClicked.bind(this, name);
+ const className = 'mx_MessageComposer_format_button mx_filterFlipColor';
+ return (
+
+ );
+ })
+
+ return (
+