diff --git a/src/component-index.js b/src/component-index.js
index 08477c676e..bb2d887e40 100644
--- a/src/component-index.js
+++ b/src/component-index.js
@@ -58,6 +58,7 @@ module.exports.components['views.dialogs.SetDisplayNameDialog'] = require('./com
module.exports.components['views.dialogs.TextInputDialog'] = require('./components/views/dialogs/TextInputDialog');
module.exports.components['views.elements.AddressSelector'] = require('./components/views/elements/AddressSelector');
module.exports.components['views.elements.AddressTile'] = require('./components/views/elements/AddressTile');
+module.exports.components['views.elements.DeviceVerifyButtons'] = require('./components/views/elements/DeviceVerifyButtons');
module.exports.components['views.elements.EditableText'] = require('./components/views/elements/EditableText');
module.exports.components['views.elements.EditableTextContainer'] = require('./components/views/elements/EditableTextContainer');
module.exports.components['views.elements.EmojiText'] = require('./components/views/elements/EmojiText');
diff --git a/src/components/views/dialogs/EncryptedEventDialog.js b/src/components/views/dialogs/EncryptedEventDialog.js
index be8656064c..c86b1d20f8 100644
--- a/src/components/views/dialogs/EncryptedEventDialog.js
+++ b/src/components/views/dialogs/EncryptedEventDialog.js
@@ -152,12 +152,12 @@ module.exports = React.createClass({
},
render: function() {
- var MemberDeviceInfo = sdk.getComponent('rooms.MemberDeviceInfo');
+ var DeviceVerifyButtons = sdk.getComponent('elements.DeviceVerifyButtons');
var buttons = null;
if (this.state.device) {
buttons = (
-
);
diff --git a/src/components/views/elements/DeviceVerifyButtons.js b/src/components/views/elements/DeviceVerifyButtons.js
new file mode 100644
index 0000000000..90af1635c9
--- /dev/null
+++ b/src/components/views/elements/DeviceVerifyButtons.js
@@ -0,0 +1,131 @@
+/*
+Copyright 2016 OpenMarket Ltd
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+import React from 'react';
+import MatrixClientPeg from '../../../MatrixClientPeg';
+import sdk from '../../../index';
+import Modal from '../../../Modal';
+
+export default React.createClass({
+ displayName: 'DeviceVerifyButtons',
+
+ propTypes: {
+ userId: React.PropTypes.string.isRequired,
+ device: React.PropTypes.object.isRequired,
+ },
+
+ onVerifyClick: function() {
+ var QuestionDialog = sdk.getComponent("dialogs.QuestionDialog");
+ Modal.createDialog(QuestionDialog, {
+ title: "Verify device",
+ description: (
+
+
+ To verify that this device can be trusted, please contact its
+ owner using some other means (e.g. in person or a phone call)
+ and ask them whether the key they see in their User Settings
+ for this device matches the key below:
+
+
+
+
{ this.props.device.getDisplayName() }
+
{ this.props.device.deviceId}
+
{ this.props.device.getFingerprint() }
+
+
+
+ If it matches, press the verify button below.
+ If it doesnt, then someone else is intercepting this device
+ and you probably want to press the block button instead.
+
+
+ In future this verification process will be more sophisticated.
+
- To verify that this device can be trusted, please contact its
- owner using some other means (e.g. in person or a phone call)
- and ask them whether the key they see in their User Settings
- for this device matches the key below:
-
-
-
-
{ this.props.device.getDisplayName() }
-
{ this.props.device.deviceId}
-
{ this.props.device.getFingerprint() }
-
-
-
- If it matches, press the verify button below.
- If it doesn't, then someone else is intercepting this device
- and you probably want to press the block button instead.
-
-
- In future this verification process will be more sophisticated.
-