diff options
Diffstat (limited to 'src/containers/auth')
-rw-r--r-- | src/containers/auth/AuthLayoutContainer.tsx (renamed from src/containers/auth/AuthLayoutContainer.js) | 45 | ||||
-rw-r--r-- | src/containers/auth/ChangeServerScreen.tsx (renamed from src/containers/auth/ChangeServerScreen.js) | 24 | ||||
-rw-r--r-- | src/containers/auth/ImportScreen.tsx | 19 | ||||
-rw-r--r-- | src/containers/auth/InviteScreen.js | 22 | ||||
-rw-r--r-- | src/containers/auth/InviteScreen.tsx | 14 | ||||
-rw-r--r-- | src/containers/auth/LockedScreen.tsx | 19 | ||||
-rw-r--r-- | src/containers/auth/LoginScreen.tsx (renamed from src/containers/auth/LoginScreen.js) | 26 | ||||
-rw-r--r-- | src/containers/auth/PasswordScreen.tsx | 17 | ||||
-rw-r--r-- | src/containers/auth/SetupAssistantScreen.tsx | 27 | ||||
-rw-r--r-- | src/containers/auth/SignupScreen.js | 46 | ||||
-rw-r--r-- | src/containers/auth/SignupScreen.tsx | 32 | ||||
-rw-r--r-- | src/containers/auth/WelcomeScreen.tsx | 16 |
12 files changed, 91 insertions, 216 deletions
diff --git a/src/containers/auth/AuthLayoutContainer.js b/src/containers/auth/AuthLayoutContainer.tsx index e6d6dcf8a..8d65ec6f4 100644 --- a/src/containers/auth/AuthLayoutContainer.js +++ b/src/containers/auth/AuthLayoutContainer.tsx | |||
@@ -1,28 +1,19 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, ReactElement, ReactNode } from 'react'; |
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
4 | import { ThemeProvider } from 'react-jss'; | 3 | import { ThemeProvider } from 'react-jss'; |
5 | 4 | ||
5 | import { DefaultProps } from 'src/@types/ferdium-components.types'; | ||
6 | import { Location } from 'mobx-react-router'; | ||
6 | import AuthLayout from '../../components/auth/AuthLayout'; | 7 | import AuthLayout from '../../components/auth/AuthLayout'; |
7 | import AppStore from '../../stores/AppStore'; | ||
8 | import UserStore from '../../stores/UserStore'; | ||
9 | import GlobalErrorStore from '../../stores/GlobalErrorStore'; | ||
10 | import UIStore from '../../stores/UIStore'; | ||
11 | import SettingsStore from '../../stores/SettingsStore'; | ||
12 | import AppLoader from '../../components/ui/AppLoader'; | 8 | import AppLoader from '../../components/ui/AppLoader'; |
13 | 9 | ||
14 | import { oneOrManyChildElements } from '../../prop-types'; | 10 | interface AuthLayoutContainerProps extends DefaultProps { |
15 | import FeaturesStore from '../../stores/FeaturesStore'; | 11 | location: Location; |
16 | 12 | children: ReactNode[] | ReactNode; | |
17 | class AuthLayoutContainer extends Component { | 13 | } |
18 | static propTypes = { | ||
19 | children: oneOrManyChildElements.isRequired, | ||
20 | location: PropTypes.shape({ | ||
21 | pathname: PropTypes.string.isRequired, | ||
22 | }).isRequired, | ||
23 | }; | ||
24 | 14 | ||
25 | render() { | 15 | class AuthLayoutContainer extends Component<AuthLayoutContainerProps> { |
16 | render(): ReactElement { | ||
26 | const { stores, actions, children, location } = this.props; | 17 | const { stores, actions, children, location } = this.props; |
27 | const { app, features, globalError, user } = stores; | 18 | const { app, features, globalError, user } = stores; |
28 | 19 | ||
@@ -33,7 +24,7 @@ class AuthLayoutContainer extends Component { | |||
33 | if (isLoadingBaseFeatures) { | 24 | if (isLoadingBaseFeatures) { |
34 | return ( | 25 | return ( |
35 | <ThemeProvider theme={stores.ui.theme}> | 26 | <ThemeProvider theme={stores.ui.theme}> |
36 | <AppLoader /> | 27 | <AppLoader theme={stores.ui.theme} /> |
37 | </ThemeProvider> | 28 | </ThemeProvider> |
38 | ); | 29 | ); |
39 | } | 30 | } |
@@ -42,7 +33,7 @@ class AuthLayoutContainer extends Component { | |||
42 | if (isLoggingOut) { | 33 | if (isLoggingOut) { |
43 | return ( | 34 | return ( |
44 | <ThemeProvider theme={stores.ui.theme}> | 35 | <ThemeProvider theme={stores.ui.theme}> |
45 | <AppLoader texts={['Logging you out...']} /> | 36 | <AppLoader theme={stores.ui.theme} texts={['Logging you out...']} /> |
46 | </ThemeProvider> | 37 | </ThemeProvider> |
47 | ); | 38 | ); |
48 | } | 39 | } |
@@ -69,18 +60,4 @@ class AuthLayoutContainer extends Component { | |||
69 | } | 60 | } |
70 | } | 61 | } |
71 | 62 | ||
72 | AuthLayoutContainer.propTypes = { | ||
73 | stores: PropTypes.shape({ | ||
74 | app: PropTypes.instanceOf(AppStore).isRequired, | ||
75 | features: PropTypes.instanceOf(FeaturesStore).isRequired, | ||
76 | globalError: PropTypes.instanceOf(GlobalErrorStore).isRequired, | ||
77 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
78 | ui: PropTypes.instanceOf(UIStore).isRequired, | ||
79 | }).isRequired, | ||
80 | actions: PropTypes.shape({ | ||
81 | app: PropTypes.instanceOf(AppStore).isRequired, | ||
82 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
83 | }).isRequired, | ||
84 | }; | ||
85 | |||
86 | export default inject('stores', 'actions')(observer(AuthLayoutContainer)); | 63 | export default inject('stores', 'actions')(observer(AuthLayoutContainer)); |
diff --git a/src/containers/auth/ChangeServerScreen.js b/src/containers/auth/ChangeServerScreen.tsx index 60bfde088..6af87e4a1 100644 --- a/src/containers/auth/ChangeServerScreen.js +++ b/src/containers/auth/ChangeServerScreen.tsx | |||
@@ -1,18 +1,16 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, ReactElement } from 'react'; |
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
4 | import { RouterStore } from 'mobx-react-router'; | 3 | import { DefaultProps } from 'src/@types/ferdium-components.types'; |
5 | import ChangeServer from '../../components/auth/ChangeServer'; | 4 | import ChangeServer from '../../components/auth/ChangeServer'; |
6 | import SettingsStore from '../../stores/SettingsStore'; | ||
7 | 5 | ||
8 | class ChangeServerScreen extends Component { | 6 | class ChangeServerScreen extends Component<DefaultProps> { |
9 | constructor(props) { | 7 | constructor(props: DefaultProps) { |
10 | super(props); | 8 | super(props); |
11 | 9 | ||
12 | this.onSubmit = this.onSubmit.bind(this); | 10 | this.onSubmit = this.onSubmit.bind(this); |
13 | } | 11 | } |
14 | 12 | ||
15 | onSubmit(values) { | 13 | onSubmit(values: any): void { |
16 | const { server } = values; | 14 | const { server } = values; |
17 | 15 | ||
18 | this.props.actions.settings.update({ | 16 | this.props.actions.settings.update({ |
@@ -24,7 +22,7 @@ class ChangeServerScreen extends Component { | |||
24 | this.props.stores.router.push('/auth'); | 22 | this.props.stores.router.push('/auth'); |
25 | } | 23 | } |
26 | 24 | ||
27 | render() { | 25 | render(): ReactElement { |
28 | const { stores } = this.props; | 26 | const { stores } = this.props; |
29 | const { server } = stores.settings.all.app; | 27 | const { server } = stores.settings.all.app; |
30 | 28 | ||
@@ -32,14 +30,4 @@ class ChangeServerScreen extends Component { | |||
32 | } | 30 | } |
33 | } | 31 | } |
34 | 32 | ||
35 | ChangeServerScreen.propTypes = { | ||
36 | actions: PropTypes.shape({ | ||
37 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
38 | }).isRequired, | ||
39 | stores: PropTypes.shape({ | ||
40 | settings: PropTypes.instanceOf(SettingsStore).isRequired, | ||
41 | router: PropTypes.instanceOf(RouterStore).isRequired, | ||
42 | }).isRequired, | ||
43 | }; | ||
44 | |||
45 | export default inject('stores', 'actions')(observer(ChangeServerScreen)); | 33 | export default inject('stores', 'actions')(observer(ChangeServerScreen)); |
diff --git a/src/containers/auth/ImportScreen.tsx b/src/containers/auth/ImportScreen.tsx index 8d318cb2d..c128dec14 100644 --- a/src/containers/auth/ImportScreen.tsx +++ b/src/containers/auth/ImportScreen.tsx | |||
@@ -1,21 +1,10 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, ReactElement } from 'react'; |
2 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
3 | import { RouterStore } from 'mobx-react-router'; | 3 | import { DefaultProps } from 'src/@types/ferdium-components.types'; |
4 | import { UserStore } from 'src/stores.types'; | ||
5 | import Import from '../../components/auth/Import'; | 4 | import Import from '../../components/auth/Import'; |
6 | 5 | ||
7 | interface IProps { | 6 | class ImportScreen extends Component<DefaultProps> { |
8 | actions: { | 7 | render(): ReactElement { |
9 | user: UserStore; | ||
10 | }; | ||
11 | stores: { | ||
12 | user: UserStore; | ||
13 | router: RouterStore; | ||
14 | }; | ||
15 | } | ||
16 | |||
17 | class ImportScreen extends Component<IProps> { | ||
18 | render() { | ||
19 | const { actions, stores } = this.props; | 8 | const { actions, stores } = this.props; |
20 | 9 | ||
21 | if (stores.user.isImportLegacyServicesCompleted) { | 10 | if (stores.user.isImportLegacyServicesCompleted) { |
diff --git a/src/containers/auth/InviteScreen.js b/src/containers/auth/InviteScreen.js deleted file mode 100644 index fc66227cc..000000000 --- a/src/containers/auth/InviteScreen.js +++ /dev/null | |||
@@ -1,22 +0,0 @@ | |||
1 | import { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | ||
4 | import Invite from '../../components/auth/Invite'; | ||
5 | |||
6 | class InviteScreen extends Component { | ||
7 | render() { | ||
8 | const { actions } = this.props; | ||
9 | |||
10 | return <Invite onSubmit={actions.user.invite} embed={false} />; | ||
11 | } | ||
12 | } | ||
13 | |||
14 | InviteScreen.propTypes = { | ||
15 | actions: PropTypes.shape({ | ||
16 | user: PropTypes.shape({ | ||
17 | invite: PropTypes.func.isRequired, | ||
18 | }).isRequired, | ||
19 | }).isRequired, | ||
20 | }; | ||
21 | |||
22 | export default inject('stores', 'actions')(observer(InviteScreen)); | ||
diff --git a/src/containers/auth/InviteScreen.tsx b/src/containers/auth/InviteScreen.tsx new file mode 100644 index 000000000..a2c684f41 --- /dev/null +++ b/src/containers/auth/InviteScreen.tsx | |||
@@ -0,0 +1,14 @@ | |||
1 | import { Component, ReactElement } from 'react'; | ||
2 | import { inject, observer } from 'mobx-react'; | ||
3 | import { DefaultProps } from 'src/@types/ferdium-components.types'; | ||
4 | import Invite from '../../components/auth/Invite'; | ||
5 | |||
6 | class InviteScreen extends Component<DefaultProps> { | ||
7 | render(): ReactElement { | ||
8 | const { actions } = this.props; | ||
9 | |||
10 | return <Invite onSubmit={actions.user.invite} embed={false} />; | ||
11 | } | ||
12 | } | ||
13 | |||
14 | export default inject('stores', 'actions')(observer(InviteScreen)); | ||
diff --git a/src/containers/auth/LockedScreen.tsx b/src/containers/auth/LockedScreen.tsx index 500bff0d6..8e3c1ec49 100644 --- a/src/containers/auth/LockedScreen.tsx +++ b/src/containers/auth/LockedScreen.tsx | |||
@@ -1,34 +1,23 @@ | |||
1 | import { Component, ReactElement } from 'react'; | 1 | import { Component, ReactElement } from 'react'; |
2 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
3 | import { SettingsStore } from 'src/stores.types'; | 3 | import { DefaultProps } from 'src/@types/ferdium-components.types'; |
4 | import Locked from '../../components/auth/Locked'; | 4 | import Locked from '../../components/auth/Locked'; |
5 | 5 | ||
6 | import { hash } from '../../helpers/password-helpers'; | 6 | import { hash } from '../../helpers/password-helpers'; |
7 | import UserStore from '../../stores/UserStore'; | ||
8 | 7 | ||
9 | interface IProps { | 8 | class LockedScreen extends Component<DefaultProps> { |
10 | actions: { | ||
11 | settings: SettingsStore; | ||
12 | }; | ||
13 | stores: { | ||
14 | settings: SettingsStore; | ||
15 | user: UserStore; | ||
16 | }; | ||
17 | } | ||
18 | |||
19 | class LockedScreen extends Component<IProps> { | ||
20 | state = { | 9 | state = { |
21 | error: false, | 10 | error: false, |
22 | }; | 11 | }; |
23 | 12 | ||
24 | constructor(props) { | 13 | constructor(props: DefaultProps) { |
25 | super(props); | 14 | super(props); |
26 | 15 | ||
27 | this.onSubmit = this.onSubmit.bind(this); | 16 | this.onSubmit = this.onSubmit.bind(this); |
28 | this.unlock = this.unlock.bind(this); | 17 | this.unlock = this.unlock.bind(this); |
29 | } | 18 | } |
30 | 19 | ||
31 | onSubmit(values): void { | 20 | onSubmit(values: any): void { |
32 | const { password } = values; | 21 | const { password } = values; |
33 | 22 | ||
34 | let correctPassword = this.props.stores.settings.all.app.lockedPassword; | 23 | let correctPassword = this.props.stores.settings.all.app.lockedPassword; |
diff --git a/src/containers/auth/LoginScreen.js b/src/containers/auth/LoginScreen.tsx index f8351f458..4c5271fe1 100644 --- a/src/containers/auth/LoginScreen.js +++ b/src/containers/auth/LoginScreen.tsx | |||
@@ -1,17 +1,14 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, ReactElement } from 'react'; |
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
3 | import { DefaultProps, GlobalError } from 'src/@types/ferdium-components.types'; | ||
4 | import Login from '../../components/auth/Login'; | 4 | import Login from '../../components/auth/Login'; |
5 | import UserStore from '../../stores/UserStore'; | ||
6 | 5 | ||
7 | import { globalError as globalErrorPropType } from '../../prop-types'; | 6 | interface LoginScreenProps extends DefaultProps { |
8 | 7 | error: GlobalError; | |
9 | class LoginScreen extends Component { | 8 | } |
10 | static propTypes = { | ||
11 | error: globalErrorPropType.isRequired, | ||
12 | }; | ||
13 | 9 | ||
14 | render() { | 10 | class LoginScreen extends Component<LoginScreenProps> { |
11 | render(): ReactElement { | ||
15 | const { actions, stores, error } = this.props; | 12 | const { actions, stores, error } = this.props; |
16 | return ( | 13 | return ( |
17 | <Login | 14 | <Login |
@@ -29,13 +26,4 @@ class LoginScreen extends Component { | |||
29 | } | 26 | } |
30 | } | 27 | } |
31 | 28 | ||
32 | LoginScreen.propTypes = { | ||
33 | actions: PropTypes.shape({ | ||
34 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
35 | }).isRequired, | ||
36 | stores: PropTypes.shape({ | ||
37 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
38 | }).isRequired, | ||
39 | }; | ||
40 | |||
41 | export default inject('stores', 'actions')(observer(LoginScreen)); | 29 | export default inject('stores', 'actions')(observer(LoginScreen)); |
diff --git a/src/containers/auth/PasswordScreen.tsx b/src/containers/auth/PasswordScreen.tsx index d88549712..3176e5a8b 100644 --- a/src/containers/auth/PasswordScreen.tsx +++ b/src/containers/auth/PasswordScreen.tsx | |||
@@ -1,19 +1,10 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, ReactElement } from 'react'; |
2 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
3 | import { UserStore } from 'src/stores.types'; | 3 | import { DefaultProps } from 'src/@types/ferdium-components.types'; |
4 | import Password from '../../components/auth/Password'; | 4 | import Password from '../../components/auth/Password'; |
5 | 5 | ||
6 | interface IProps { | 6 | class PasswordScreen extends Component<DefaultProps> { |
7 | actions: { | 7 | render(): ReactElement { |
8 | user: UserStore; | ||
9 | }; | ||
10 | stores: { | ||
11 | user: UserStore; | ||
12 | }; | ||
13 | }; | ||
14 | |||
15 | class PasswordScreen extends Component<IProps> { | ||
16 | render() { | ||
17 | const { actions, stores } = this.props; | 8 | const { actions, stores } = this.props; |
18 | 9 | ||
19 | return ( | 10 | return ( |
diff --git a/src/containers/auth/SetupAssistantScreen.tsx b/src/containers/auth/SetupAssistantScreen.tsx index 8f1871776..92f12c0bc 100644 --- a/src/containers/auth/SetupAssistantScreen.tsx +++ b/src/containers/auth/SetupAssistantScreen.tsx | |||
@@ -1,29 +1,12 @@ | |||
1 | /* eslint-disable no-await-in-loop */ | 1 | /* eslint-disable no-await-in-loop */ |
2 | import { Component } from 'react'; | 2 | import { Component, ReactElement } from 'react'; |
3 | import { inject, observer } from 'mobx-react'; | 3 | import { inject, observer } from 'mobx-react'; |
4 | 4 | ||
5 | import { RouterStore } from 'mobx-react-router'; | 5 | import { DefaultProps } from 'src/@types/ferdium-components.types'; |
6 | import { sleep } from '../../helpers/async-helpers'; | 6 | import { sleep } from '../../helpers/async-helpers'; |
7 | import SetupAssistant from '../../components/auth/SetupAssistant'; | 7 | import SetupAssistant from '../../components/auth/SetupAssistant'; |
8 | import ServicesStore from '../../stores/ServicesStore'; | ||
9 | import RecipesStore from '../../stores/RecipesStore'; | ||
10 | import UserStore from '../../stores/UserStore'; | ||
11 | 8 | ||
12 | interface IProps { | 9 | class SetupAssistantScreen extends Component<DefaultProps> { |
13 | stores: { | ||
14 | services: ServicesStore; | ||
15 | router: RouterStore; | ||
16 | recipes?: RecipesStore; | ||
17 | user?: UserStore; | ||
18 | }; | ||
19 | actions: { | ||
20 | user: UserStore; | ||
21 | service: ServicesStore; | ||
22 | recipe: RecipesStore; | ||
23 | }; | ||
24 | }; | ||
25 | |||
26 | class SetupAssistantScreen extends Component<IProps> { | ||
27 | state = { | 10 | state = { |
28 | isSettingUpServices: false, | 11 | isSettingUpServices: false, |
29 | }; | 12 | }; |
@@ -68,7 +51,7 @@ class SetupAssistantScreen extends Component<IProps> { | |||
68 | }, | 51 | }, |
69 | }; | 52 | }; |
70 | 53 | ||
71 | async setupServices(serviceConfig) { | 54 | async setupServices(serviceConfig: any): Promise<void> { |
72 | const { | 55 | const { |
73 | stores: { services, router }, | 56 | stores: { services, router }, |
74 | } = this.props; | 57 | } = this.props; |
@@ -103,7 +86,7 @@ class SetupAssistantScreen extends Component<IProps> { | |||
103 | router.push('/'); | 86 | router.push('/'); |
104 | } | 87 | } |
105 | 88 | ||
106 | render() { | 89 | render(): ReactElement { |
107 | return ( | 90 | return ( |
108 | <SetupAssistant | 91 | <SetupAssistant |
109 | onSubmit={config => this.setupServices(config)} | 92 | onSubmit={config => this.setupServices(config)} |
diff --git a/src/containers/auth/SignupScreen.js b/src/containers/auth/SignupScreen.js deleted file mode 100644 index 3824e47d5..000000000 --- a/src/containers/auth/SignupScreen.js +++ /dev/null | |||
@@ -1,46 +0,0 @@ | |||
1 | import { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | ||
4 | |||
5 | import Signup from '../../components/auth/Signup'; | ||
6 | import UserStore from '../../stores/UserStore'; | ||
7 | import FeaturesStore from '../../stores/FeaturesStore'; | ||
8 | |||
9 | import { globalError as globalErrorPropType } from '../../prop-types'; | ||
10 | |||
11 | class SignupScreen extends Component { | ||
12 | static propTypes = { | ||
13 | error: globalErrorPropType.isRequired, | ||
14 | }; | ||
15 | |||
16 | onSignup(values) { | ||
17 | const { actions } = this.props; | ||
18 | |||
19 | actions.user.signup(values); | ||
20 | } | ||
21 | |||
22 | render() { | ||
23 | const { stores, error } = this.props; | ||
24 | |||
25 | return ( | ||
26 | <Signup | ||
27 | onSubmit={values => this.onSignup(values)} | ||
28 | isSubmitting={stores.user.signupRequest.isExecuting} | ||
29 | loginRoute={stores.user.loginRoute} | ||
30 | error={error} | ||
31 | /> | ||
32 | ); | ||
33 | } | ||
34 | } | ||
35 | |||
36 | SignupScreen.propTypes = { | ||
37 | actions: PropTypes.shape({ | ||
38 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
39 | }).isRequired, | ||
40 | stores: PropTypes.shape({ | ||
41 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
42 | features: PropTypes.instanceOf(FeaturesStore).isRequired, | ||
43 | }).isRequired, | ||
44 | }; | ||
45 | |||
46 | export default inject('stores', 'actions')(observer(SignupScreen)); | ||
diff --git a/src/containers/auth/SignupScreen.tsx b/src/containers/auth/SignupScreen.tsx new file mode 100644 index 000000000..1dac392ef --- /dev/null +++ b/src/containers/auth/SignupScreen.tsx | |||
@@ -0,0 +1,32 @@ | |||
1 | import { Component, ReactElement } from 'react'; | ||
2 | import { inject, observer } from 'mobx-react'; | ||
3 | |||
4 | import { DefaultProps, GlobalError } from 'src/@types/ferdium-components.types'; | ||
5 | import Signup from '../../components/auth/Signup'; | ||
6 | |||
7 | interface SignUpScreenComponents extends DefaultProps { | ||
8 | error: GlobalError; | ||
9 | } | ||
10 | |||
11 | class SignupScreen extends Component<SignUpScreenComponents> { | ||
12 | onSignup(values: any): void { | ||
13 | const { actions } = this.props; | ||
14 | |||
15 | actions.user.signup(values); | ||
16 | } | ||
17 | |||
18 | render(): ReactElement { | ||
19 | const { stores, error } = this.props; | ||
20 | |||
21 | return ( | ||
22 | <Signup | ||
23 | onSubmit={values => this.onSignup(values)} | ||
24 | isSubmitting={stores.user.signupRequest.isExecuting} | ||
25 | loginRoute={stores.user.loginRoute} | ||
26 | error={error} | ||
27 | /> | ||
28 | ); | ||
29 | } | ||
30 | } | ||
31 | |||
32 | export default inject('stores', 'actions')(observer(SignupScreen)); | ||
diff --git a/src/containers/auth/WelcomeScreen.tsx b/src/containers/auth/WelcomeScreen.tsx index 944d288ad..bbd73f4a2 100644 --- a/src/containers/auth/WelcomeScreen.tsx +++ b/src/containers/auth/WelcomeScreen.tsx | |||
@@ -1,19 +1,11 @@ | |||
1 | import { Component } from 'react'; | 1 | import { Component, ReactElement } from 'react'; |
2 | import { inject, observer } from 'mobx-react'; | 2 | import { inject, observer } from 'mobx-react'; |
3 | 3 | ||
4 | import { DefaultProps } from 'src/@types/ferdium-components.types'; | ||
4 | import Welcome from '../../components/auth/Welcome'; | 5 | import Welcome from '../../components/auth/Welcome'; |
5 | import UserStore from '../../stores/UserStore'; | ||
6 | import RecipePreviewsStore from '../../stores/RecipePreviewsStore'; | ||
7 | 6 | ||
8 | interface IProps { | 7 | class WelcomeScreen extends Component<DefaultProps> { |
9 | stores: { | 8 | render(): ReactElement { |
10 | user: UserStore, | ||
11 | recipePreviews: RecipePreviewsStore, | ||
12 | }, | ||
13 | }; | ||
14 | |||
15 | class WelcomeScreen extends Component<IProps> { | ||
16 | render() { | ||
17 | const { user, recipePreviews } = this.props.stores; | 9 | const { user, recipePreviews } = this.props.stores; |
18 | 10 | ||
19 | return ( | 11 | return ( |