diff options
Diffstat (limited to 'src/containers/auth/ImportScreen.js')
-rw-r--r-- | src/containers/auth/ImportScreen.js | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/containers/auth/ImportScreen.js b/src/containers/auth/ImportScreen.js new file mode 100644 index 000000000..ddd56ffb6 --- /dev/null +++ b/src/containers/auth/ImportScreen.js | |||
@@ -0,0 +1,41 @@ | |||
1 | import React, { Component } from 'react'; | ||
2 | import PropTypes from 'prop-types'; | ||
3 | import { inject, observer } from 'mobx-react'; | ||
4 | import Import from '../../components/auth/Import'; | ||
5 | import UserStore from '../../stores/UserStore'; | ||
6 | import { gaPage } from '../../lib/analytics'; | ||
7 | |||
8 | @inject('stores', 'actions') @observer | ||
9 | export default class ImportScreen extends Component { | ||
10 | componentDidMount() { | ||
11 | gaPage('Auth/Import'); | ||
12 | } | ||
13 | |||
14 | render() { | ||
15 | const { actions, stores } = this.props; | ||
16 | |||
17 | if (stores.user.isImportLegacyServicesCompleted) { | ||
18 | stores.router.push(stores.user.inviteRoute); | ||
19 | } | ||
20 | |||
21 | return ( | ||
22 | <Import | ||
23 | services={stores.user.legacyServices} | ||
24 | onSubmit={actions.user.importLegacyServices} | ||
25 | isSubmitting={stores.user.isImportLegacyServicesExecuting} | ||
26 | inviteRoute={stores.user.inviteRoute} | ||
27 | /> | ||
28 | ); | ||
29 | } | ||
30 | } | ||
31 | |||
32 | ImportScreen.wrappedComponent.propTypes = { | ||
33 | actions: PropTypes.shape({ | ||
34 | user: PropTypes.shape({ | ||
35 | importLegacyServices: PropTypes.func.isRequired, | ||
36 | }).isRequired, | ||
37 | }).isRequired, | ||
38 | stores: PropTypes.shape({ | ||
39 | user: PropTypes.instanceOf(UserStore).isRequired, | ||
40 | }).isRequired, | ||
41 | }; | ||