From 71c52373f81cace664047edd19d9d289f45a4dff Mon Sep 17 00:00:00 2001 From: Ricardo Cino Date: Thu, 7 Jul 2022 09:31:50 +0200 Subject: chore: Mobx & React-Router upgrade (#406) Co-authored-by: Vijay A --- src/components/auth/Welcome.jsx | 106 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 src/components/auth/Welcome.jsx (limited to 'src/components/auth/Welcome.jsx') diff --git a/src/components/auth/Welcome.jsx b/src/components/auth/Welcome.jsx new file mode 100644 index 000000000..c784b75c3 --- /dev/null +++ b/src/components/auth/Welcome.jsx @@ -0,0 +1,106 @@ +/* eslint jsx-a11y/anchor-is-valid: 0 */ +import { Component } from 'react'; +import PropTypes from 'prop-types'; +import { observer, PropTypes as MobxPropTypes, inject } from 'mobx-react'; +import { defineMessages, injectIntl } from 'react-intl'; +import serverlessLogin from '../../helpers/serverless-helpers'; +import shuffleArray from '../../helpers/array-helpers'; +import { serverName } from '../../api/apiBase'; + +import Link from '../ui/Link'; +import { H1 } from '../ui/headline'; + +const messages = defineMessages({ + signupButton: { + id: 'welcome.signupButton', + defaultMessage: 'Create a free account', + }, + loginButton: { + id: 'welcome.loginButton', + defaultMessage: 'Login to your account', + }, + changeServerMessage: { + id: 'login.changeServerMessage', + defaultMessage: 'You are using {serverNameParse} Server, do you want to switch?' + }, + changeServer: { + id: 'login.changeServer', + defaultMessage: 'Change here!', + }, + serverless: { + id: 'services.serverless', + defaultMessage: 'Use Ferdium without an Account', + }, +}); + +class Welcome extends Component { + static propTypes = { + loginRoute: PropTypes.string.isRequired, + signupRoute: PropTypes.string.isRequired, + changeServerRoute: PropTypes.string.isRequired, + recipes: MobxPropTypes.arrayOrObservableArray.isRequired, + actions: PropTypes.object.isRequired, + }; + + useLocalServer() { + serverlessLogin(this.props.actions); + } + + render() { + const { intl } = this.props; + const { loginRoute, signupRoute, changeServerRoute } = this.props; + let { recipes } = this.props; + recipes = shuffleArray(recipes); + recipes.length = 8 * 2; + + let serverNameParse = serverName(); + serverNameParse = + serverNameParse === 'Custom' ? 'a Custom' : serverNameParse; + + return ( +
+
+ +
+
+

Ferdium

+
+
+ + {intl.formatMessage(messages.signupButton)} + + + {intl.formatMessage(messages.loginButton)} + +
+ + {intl.formatMessage(messages.changeServerMessage, { serverNameParse })} + + + {intl.formatMessage(messages.changeServer)} + +
+
+
+
+ + {intl.formatMessage(messages.serverless)} + +
+
+ {recipes.map(recipe => ( +
+ +
+ ))} +
+
+ ); + } +} + +export default injectIntl(inject('actions')(observer(Welcome))); -- cgit v1.2.3-54-g00ecf