diff --git a/res/css/views/rooms/_MessageComposer.scss b/res/css/views/rooms/_MessageComposer.scss
index dc4aec691b..7ee7efcaff 100644
--- a/res/css/views/rooms/_MessageComposer.scss
+++ b/res/css/views/rooms/_MessageComposer.scss
@@ -23,6 +23,10 @@ limitations under the License.
padding-left: 84px;
}
+.mx_MessageComposer_wrapper.mx_MessageComposer_hasE2EIcon {
+ padding-left: 109px;
+}
+
.mx_MessageComposer_replaced_wrapper {
margin-left: auto;
margin-right: auto;
@@ -71,9 +75,10 @@ limitations under the License.
width: 100%;
}
-.mx_MessageComposer_e2eIcon {
+.mx_MessageComposer_e2eIcon.mx_E2EIcon {
position: absolute;
left: 60px;
+ background-color: $composer-e2e-icon-color;
}
.mx_MessageComposer_noperm_error {
diff --git a/res/themes/dharma/css/_dharma.scss b/res/themes/dharma/css/_dharma.scss
index f976180144..482b3c51cb 100644
--- a/res/themes/dharma/css/_dharma.scss
+++ b/res/themes/dharma/css/_dharma.scss
@@ -142,6 +142,8 @@ $roomheader-addroom-color: #91A1C0;
$roomtopic-color: #9fa9ba;
$eventtile-meta-color: $roomtopic-color;
+$composer-e2e-icon-color: #c9ced6;
+
// ********************
$roomtile-name-color: #61708b;
diff --git a/res/themes/light/css/_base.scss b/res/themes/light/css/_base.scss
index 998325e1b7..f5d7e7be04 100644
--- a/res/themes/light/css/_base.scss
+++ b/res/themes/light/css/_base.scss
@@ -134,6 +134,8 @@ $roomheader-color: $primary-fg-color;
$roomheader-addroom-color: $primary-bg-color;
$roomtopic-color: $settings-grey-fg-color;
$eventtile-meta-color: $roomtopic-color;
+
+$composer-e2e-icon-color: #c9ced6;
// ********************
$roomtile-name-color: rgba(69, 69, 69, 0.8);
diff --git a/src/components/views/rooms/MessageComposer.js b/src/components/views/rooms/MessageComposer.js
index 7681c2dc13..7117825d76 100644
--- a/src/components/views/rooms/MessageComposer.js
+++ b/src/components/views/rooms/MessageComposer.js
@@ -26,6 +26,9 @@ import RoomViewStore from '../../../stores/RoomViewStore';
import SettingsStore, {SettingLevel} from "../../../settings/SettingsStore";
import Stickerpicker from './Stickerpicker';
import { makeRoomPermalink } from '../../../matrix-to';
+import classNames from 'classnames';
+
+import E2EIcon from './E2EIcon';
const formatButtonList = [
_td("bold"),
@@ -316,25 +319,14 @@ export default class MessageComposer extends React.Component {
);
}
- let e2eImg; let e2eTitle; let e2eClass;
- const roomIsEncrypted = MatrixClientPeg.get().isRoomEncrypted(this.props.room.roomId);
- if (roomIsEncrypted) {
- // FIXME: show a /!\ if there are untrusted devices in the room...
- e2eImg = require("../../../../res/img/e2e-verified.svg");
- e2eTitle = _t('Encrypted room');
- e2eClass = 'mx_MessageComposer_e2eIcon';
- } else {
- e2eImg = require("../../../../res/img/e2e-unencrypted.svg");
- e2eTitle = _t('Unencrypted room');
- e2eClass = 'mx_MessageComposer_e2eIcon mx_filterFlipColor';
+ if (this.props.e2eStatus) {
+ controls.push(,
- );
-
let callButton;
let videoCallButton;
let hangupButton;
@@ -413,6 +405,7 @@ export default class MessageComposer extends React.Component {
key="controls_formatting" />
) : null;
+ const roomIsEncrypted = MatrixClientPeg.get().isRoomEncrypted(this.props.room.roomId);
let placeholderText;
if (this.state.isQuoting) {
if (roomIsEncrypted) {
@@ -509,9 +502,13 @@ export default class MessageComposer extends React.Component {
;
}
+ const wrapperClasses = classNames({
+ mx_MessageComposer_wrapper: true,
+ mx_MessageComposer_hasE2EIcon: !!this.props.e2eStatus,
+ });
return (