aboutsummaryrefslogtreecommitdiffstats
path: root/src/components/auth/Signup.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/auth/Signup.js')
-rw-r--r--src/components/auth/Signup.js29
1 files changed, 24 insertions, 5 deletions
diff --git a/src/components/auth/Signup.js b/src/components/auth/Signup.js
index 0499d764b..a166155a7 100644
--- a/src/components/auth/Signup.js
+++ b/src/components/auth/Signup.js
@@ -1,11 +1,13 @@
1/* eslint jsx-a11y/anchor-is-valid: 0 */
1import React, { Component } from 'react'; 2import React, { Component } from 'react';
2import PropTypes from 'prop-types'; 3import PropTypes from 'prop-types';
3import { observer } from 'mobx-react'; 4import { observer, inject } from 'mobx-react';
4import { defineMessages, intlShape } from 'react-intl'; 5import { defineMessages, intlShape } from 'react-intl';
5 6
6import { isDevMode, useLiveAPI } from '../../environment'; 7import { isDevMode, useLiveAPI } from '../../environment';
7import Form from '../../lib/Form'; 8import Form from '../../lib/Form';
8import { required, email, minLength } from '../../helpers/validation-helpers'; 9import { required, email, minLength } from '../../helpers/validation-helpers';
10import serverlessLogin from '../../helpers/serverless-helpers';
9import Input from '../ui/Input'; 11import Input from '../ui/Input';
10import Button from '../ui/Button'; 12import Button from '../ui/Button';
11import Link from '../ui/Link'; 13import Link from '../ui/Link';
@@ -40,7 +42,7 @@ const messages = defineMessages({
40 }, 42 },
41 legalInfo: { 43 legalInfo: {
42 id: 'signup.legal.info', 44 id: 'signup.legal.info',
43 defaultMessage: '!!!By creating a Franz account you accept the', 45 defaultMessage: '!!!By creating a Ferdi account you accept the',
44 }, 46 },
45 terms: { 47 terms: {
46 id: 'signup.legal.terms', 48 id: 'signup.legal.terms',
@@ -58,18 +60,27 @@ const messages = defineMessages({
58 id: 'signup.link.login', 60 id: 'signup.link.login',
59 defaultMessage: '!!!Already have an account, sign in?', 61 defaultMessage: '!!!Already have an account, sign in?',
60 }, 62 },
63 changeServer: {
64 id: 'login.changeServer',
65 defaultMessage: '!!!Change server',
66 },
67 serverless: {
68 id: 'services.serverless',
69 defaultMessage: '!!!Use Ferdi without an Account',
70 },
61 emailDuplicate: { 71 emailDuplicate: {
62 id: 'signup.emailDuplicate', 72 id: 'signup.emailDuplicate',
63 defaultMessage: '!!!A user with that email address already exists', 73 defaultMessage: '!!!A user with that email address already exists',
64 }, 74 },
65}); 75});
66 76
67export default @observer class Signup extends Component { 77export default @inject('actions') @observer class Signup extends Component {
68 static propTypes = { 78 static propTypes = {
69 onSubmit: PropTypes.func.isRequired, 79 onSubmit: PropTypes.func.isRequired,
70 isSubmitting: PropTypes.bool.isRequired, 80 isSubmitting: PropTypes.bool.isRequired,
71 loginRoute: PropTypes.string.isRequired, 81 loginRoute: PropTypes.string.isRequired,
72 error: globalErrorPropType.isRequired, 82 error: globalErrorPropType.isRequired,
83 actions: PropTypes.object.isRequired,
73 }; 84 };
74 85
75 static contextTypes = { 86 static contextTypes = {
@@ -112,11 +123,17 @@ export default @observer class Signup extends Component {
112 }); 123 });
113 } 124 }
114 125
126 useLocalServer() {
127 serverlessLogin(this.props.actions);
128 }
129
115 render() { 130 render() {
116 const { form } = this; 131 const { form } = this;
117 const { intl } = this.context; 132 const { intl } = this.context;
118 const { isSubmitting, loginRoute, error } = this.props; 133 const { isSubmitting, loginRoute, error } = this.props;
119 134
135 const termsBase = window.ferdi.stores.settings.all.app.server !== 'https://api.franzinfra.com' ? window.ferdi.stores.settings.all.app.server : 'https://meetfranz.com';
136
120 return ( 137 return (
121 <div className="auth__scroll-container"> 138 <div className="auth__scroll-container">
122 <div className="auth__container auth__container--signup"> 139 <div className="auth__container auth__container--signup">
@@ -163,7 +180,7 @@ export default @observer class Signup extends Component {
163 {intl.formatMessage(messages.legalInfo)} 180 {intl.formatMessage(messages.legalInfo)}
164 <br /> 181 <br />
165 <Link 182 <Link
166 to="https://meetfranz.com/terms" 183 to={`${termsBase}/terms`}
167 target="_blank" 184 target="_blank"
168 className="link" 185 className="link"
169 > 186 >
@@ -171,7 +188,7 @@ export default @observer class Signup extends Component {
171 </Link> 188 </Link>
172 &nbsp;&amp;&nbsp; 189 &nbsp;&amp;&nbsp;
173 <Link 190 <Link
174 to="https://meetfranz.com/privacy" 191 to={`${termsBase}/privacy`}
175 target="_blank" 192 target="_blank"
176 className="link" 193 className="link"
177 > 194 >
@@ -181,6 +198,8 @@ export default @observer class Signup extends Component {
181 </p> 198 </p>
182 </form> 199 </form>
183 <div className="auth__links"> 200 <div className="auth__links">
201 <Link to="/settings/app">{intl.formatMessage(messages.changeServer)}</Link>
202 <a onClick={this.useLocalServer.bind(this)}>{intl.formatMessage(messages.serverless)}</a>
184 <Link to={loginRoute}>{intl.formatMessage(messages.loginLink)}</Link> 203 <Link to={loginRoute}>{intl.formatMessage(messages.loginLink)}</Link>
185 </div> 204 </div>
186 </div> 205 </div>