diff --git a/res/css/structures/_HomePage.scss b/res/css/structures/_HomePage.scss
index cdac1bcc8a..dc3158b39d 100644
--- a/res/css/structures/_HomePage.scss
+++ b/res/css/structures/_HomePage.scss
@@ -33,3 +33,16 @@ limitations under the License.
.mx_HomePage_body {
// margin-left: 63px;
}
+
+.mx_HomePage_guest_warning {
+ display: flex;
+ background-color: $secondary-accent-color;
+ border: 1px solid $accent-color;
+ margin: 20px;
+ padding: 20px 40px;
+ border-radius: 5px;
+}
+
+.mx_HomePage_guest_warning img {
+ padding-right: 10px;
+}
diff --git a/src/components/structures/HomePage.js b/src/components/structures/HomePage.js
index 457796f5dc..6f6a3d5268 100644
--- a/src/components/structures/HomePage.js
+++ b/src/components/structures/HomePage.js
@@ -23,6 +23,8 @@ import request from 'browser-request';
import { _t } from '../../languageHandler';
import sanitizeHtml from 'sanitize-html';
import sdk from '../../index';
+import { MatrixClient } from 'matrix-js-sdk';
+import dis from '../../dispatcher';
class HomePage extends React.Component {
static displayName = 'HomePage';
@@ -37,6 +39,10 @@ class HomePage extends React.Component {
homePageUrl: PropTypes.string,
};
+ static contextTypes = {
+ matrixClient: PropTypes.instanceOf(MatrixClient),
+ };
+
state = {
iframeSrc: '',
page: '',
@@ -86,10 +92,47 @@ class HomePage extends React.Component {
this._unmounted = true;
}
+ onLoginClick() {
+ dis.dispatch({ action: 'start_login' });
+ }
+
+ onRegisterClick() {
+ dis.dispatch({ action: 'start_registration' });
+ }
+
render() {
+ let guestWarning = "";
+ if (this.context.matrixClient.isGuest()) {
+ guestWarning = (
+
+
+
+
+ { _t("You are currently using Riot anonymously as a guest.") }
+
+
+ { _t(
+ 'If you would like to create a Matrix account you can
register now.',
+ {},
+ { 'a': (sub) =>
{ sub } },
+ ) }
+
+
+ { _t(
+ 'If you already have a Matrix account you can
log in instead.',
+ {},
+ { 'a': (sub) =>
{ sub } },
+ ) }
+
+
+
+ );
+ }
+
if (this.state.iframeSrc) {
return (
+ { guestWarning }
);
@@ -98,6 +141,7 @@ class HomePage extends React.Component {
const GeminiScrollbarWrapper = sdk.getComponent("elements.GeminiScrollbarWrapper");
return (
+ { guestWarning }
diff --git a/src/i18n/strings/en_EN.json b/src/i18n/strings/en_EN.json
index e0f4663532..f5f60edbe8 100644
--- a/src/i18n/strings/en_EN.json
+++ b/src/i18n/strings/en_EN.json
@@ -922,7 +922,9 @@
"Username available": "Username available",
"To get started, please pick a username!": "To get started, please pick a username!",
"This will be your account name on the homeserver, or you can pick a different server.": "This will be your account name on the homeserver, or you can pick a different server.",
+ "If you would like to create a Matrix account you can register now.": "If you would like to create a Matrix account you can register now.",
"If you already have a Matrix account you can log in instead.": "If you already have a Matrix account you can log in instead.",
+ "You are currently using Riot anonymously as a guest.": "You are currently using Riot anonymously as a guest.",
"You have successfully set a password!": "You have successfully set a password!",
"You have successfully set a password and an email address!": "You have successfully set a password and an email address!",
"You can now return to your account after signing out, and sign in on other devices.": "You can now return to your account after signing out, and sign in on other devices.",
diff --git a/src/i18n/strings/en_US.json b/src/i18n/strings/en_US.json
index d8733ab05a..ba37b5dc9c 100644
--- a/src/i18n/strings/en_US.json
+++ b/src/i18n/strings/en_US.json
@@ -644,7 +644,9 @@
"Username not available": "Username not available",
"Something went wrong!": "Something went wrong!",
"This will be your account name on the homeserver, or you can pick a different server.": "This will be your account name on the homeserver, or you can pick a different server.",
+ "If you would like to create a Matrix account you can register now.": "If you would like to create a Matrix account you can register now.",
"If you already have a Matrix account you can log in instead.": "If you already have a Matrix account you can log in instead.",
+ "You are currently using Riot anonymously as a guest.": "You are currently using Riot anonymously as a guest.",
"Your browser does not support the required cryptography extensions": "Your browser does not support the required cryptography extensions",
"Not a valid Riot keyfile": "Not a valid Riot keyfile",
"Authentication check failed: incorrect password?": "Authentication check failed: incorrect password?",