diff options
Diffstat (limited to 'src/components/auth/Signup.js')
-rw-r--r-- | src/components/auth/Signup.js | 29 |
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 */ | ||
1 | import React, { Component } from 'react'; | 2 | import React, { Component } from 'react'; |
2 | import PropTypes from 'prop-types'; | 3 | import PropTypes from 'prop-types'; |
3 | import { observer } from 'mobx-react'; | 4 | import { observer, inject } from 'mobx-react'; |
4 | import { defineMessages, intlShape } from 'react-intl'; | 5 | import { defineMessages, intlShape } from 'react-intl'; |
5 | 6 | ||
6 | import { isDevMode, useLiveAPI } from '../../environment'; | 7 | import { isDevMode, useLiveAPI } from '../../environment'; |
7 | import Form from '../../lib/Form'; | 8 | import Form from '../../lib/Form'; |
8 | import { required, email, minLength } from '../../helpers/validation-helpers'; | 9 | import { required, email, minLength } from '../../helpers/validation-helpers'; |
10 | import serverlessLogin from '../../helpers/serverless-helpers'; | ||
9 | import Input from '../ui/Input'; | 11 | import Input from '../ui/Input'; |
10 | import Button from '../ui/Button'; | 12 | import Button from '../ui/Button'; |
11 | import Link from '../ui/Link'; | 13 | import 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 | ||
67 | export default @observer class Signup extends Component { | 77 | export 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 | & | 189 | & |
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> |