From 2082ee5bdc69d6331db64af64ff686b99ddddd55 Mon Sep 17 00:00:00 2001
From: Reed Garmsen
Date: Thu, 18 Jun 2015 13:37:39 -0700
Subject: Added a util function that checks that local/session storage is
enabled. Also added tests using this function to report an error to the user
if it is not enabled
---
web/react/components/login.jsx | 14 +++++++++++++-
web/react/components/signup_team_complete.jsx | 12 ++++++++++++
2 files changed, 25 insertions(+), 1 deletion(-)
(limited to 'web/react/components')
diff --git a/web/react/components/login.jsx b/web/react/components/login.jsx
index 65f1da1f8..85df5f797 100644
--- a/web/react/components/login.jsx
+++ b/web/react/components/login.jsx
@@ -21,6 +21,12 @@ var FindTeamDomain = React.createClass({
return;
}
+ if (!utils.isLocalStorageSupported()) {
+ state.server_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
+ this.setState(state);
+ return;
+ }
+
state.server_error = "";
this.setState(state);
@@ -94,7 +100,7 @@ module.exports = React.createClass({
return;
}
- var email = this.refs.email.getDOMNode().value.trim();
+ var email = this.refs.email.getDOMNode().value.trim();
if (!email) {
state.server_error = "An email is required"
this.setState(state);
@@ -108,6 +114,12 @@ module.exports = React.createClass({
return;
}
+ if (!utils.isLocalStorageSupported()) {
+ state.server_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
+ this.setState(state);
+ return;
+ }
+
state.server_error = "";
this.setState(state);
diff --git a/web/react/components/signup_team_complete.jsx b/web/react/components/signup_team_complete.jsx
index b038679e6..06f268711 100644
--- a/web/react/components/signup_team_complete.jsx
+++ b/web/react/components/signup_team_complete.jsx
@@ -9,6 +9,10 @@ var constants = require('../utils/constants.jsx')
WelcomePage = React.createClass({
submitNext: function (e) {
+ if (!utils.isLocalStorageSupported()) {
+ this.setState({ storage_error: "This service requires local storage to be enabled. Please enable it or exit private browsing."} );
+ return;
+ }
e.preventDefault();
this.props.state.wizard = "team_name";
this.props.updateParent(this.props.state);
@@ -26,6 +30,12 @@ WelcomePage = React.createClass({
if (!email || !utils.isEmail(email)) {
state.email_error = "Please enter a valid email address";
this.setState(state);
+ return;
+ }
+ else if (!utils.isLocalStorageSupported()) {
+ state.email_error = "This service requires local storage to be enabled. Please enable it or exit private browsing.";
+ this.setState(state);
+ return;
}
else {
state.email_error = "";
@@ -50,6 +60,7 @@ WelcomePage = React.createClass({
client.track('signup', 'signup_team_01_welcome');
+ var storage_error = this.state.storage_error ? : null;
var email_error = this.state.email_error ? : null;
var server_error = this.state.server_error ? : null;
@@ -66,6 +77,7 @@ WelcomePage = React.createClass({
+ { storage_error }
If this is not correct, you can switch to a different email. We'll send you a new invite right away.
--
cgit v1.2.3-1-g7c22