From bb289a4145b91187945952f72c2b254283aa1180 Mon Sep 17 00:00:00 2001
From: Kegan Dougal <kegan@matrix.org>
Date: Tue, 1 Dec 2015 16:49:15 +0000
Subject: [PATCH] Add CustomServerDialog class

---
 .../views/login/CustomServerDialog.js         | 50 +++++++++++++++++++
 src/components/views/login/ServerConfig.js    | 20 +-------
 2 files changed, 52 insertions(+), 18 deletions(-)
 create mode 100644 src/components/views/login/CustomServerDialog.js

diff --git a/src/components/views/login/CustomServerDialog.js b/src/components/views/login/CustomServerDialog.js
new file mode 100644
index 0000000000..3f86bc199c
--- /dev/null
+++ b/src/components/views/login/CustomServerDialog.js
@@ -0,0 +1,50 @@
+/*
+Copyright 2015 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.
+*/
+
+var React = require("react");
+
+module.exports = React.createClass({
+    displayName: 'CustomServerDialog',
+
+    render: function() {
+        return (
+            <div className="mx_ErrorDialog">
+                <div className="mx_ErrorDialogTitle">
+                    Custom Server Options
+                </div>
+                <div className="mx_Dialog_content">
+                    <span>
+                        You can use the custom server options to log into other Matrix
+                        servers by specifying a different Home server URL.
+                        <br/>
+                        This allows you to use this app with an existing Matrix account on
+                        a different Home server.
+                        <br/>
+                        <br/>
+                        You can also set a custom Identity server but this will affect
+                        people&#39;s ability to find you if you use a server in a group other
+                        than the main Matrix.org group.
+                    </span>
+                </div>
+                <div className="mx_Dialog_buttons">
+                    <button onClick={this.props.onFinished} autoFocus={true}>
+                        Dismiss
+                    </button>
+                </div>
+            </div>
+        );
+    }
+});
diff --git a/src/components/views/login/ServerConfig.js b/src/components/views/login/ServerConfig.js
index 39f9dc4594..54430c7520 100644
--- a/src/components/views/login/ServerConfig.js
+++ b/src/components/views/login/ServerConfig.js
@@ -93,24 +93,8 @@ module.exports = React.createClass({
     },
 
     showHelpPopup: function() {
-        var ErrorDialog = sdk.getComponent('dialogs.ErrorDialog');
-        Modal.createDialog(ErrorDialog, {
-            title: 'Custom Server Options',
-            description: <span>
-                You can use the custom server options to log into other Matrix
-                servers by specifying a different Home server URL.
-                <br/>
-                This allows you to use Vector with an existing Matrix account on
-                a different Home server.
-                <br/>
-                <br/>
-                You can also set a custom Identity server but this will affect
-                people&#39;s ability to find you if you use a server in a group other
-                than the main Matrix.org group.
-            </span>,
-            button: "Dismiss",
-            focus: true
-        });
+        var CustomServerDialog = sdk.getComponent('login.CustomServerDialog');
+        Modal.createDialog(CustomServerDialog);
     },
 
     render: function() {