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( + ); } - controls.push( - {e2eTitle}, - ); - 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 (
-
+
{ controls }