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