aboutsummaryrefslogtreecommitdiffstats
path: root/src/containers
diff options
context:
space:
mode:
authorLibravatar Stefan Malzner <stefan@adlk.io>2018-02-12 14:16:33 +0100
committerLibravatar GitHub <noreply@github.com>2018-02-12 14:16:33 +0100
commit7a1872e64262a76f17ac231a47fd8f57cd5a13ac (patch)
tree29ed8aa4dfcb9b179f4fe47c30fb33cf78c2e2ce /src/containers
parentMerge pull request #668 from meetfranz/fix/import-screen-toggles (diff)
parentfeat(App) Feature Invite Friends in Settings (diff)
downloadferdium-app-7a1872e64262a76f17ac231a47fd8f57cd5a13ac.tar.gz
ferdium-app-7a1872e64262a76f17ac231a47fd8f57cd5a13ac.tar.zst
ferdium-app-7a1872e64262a76f17ac231a47fd8f57cd5a13ac.zip
Merge pull request #654 from meetfranz/feature/invite-button
Invite Button in Settings
Diffstat (limited to 'src/containers')
-rw-r--r--src/containers/auth/InviteScreen.js2
-rw-r--r--src/containers/settings/InviteScreen.js44
2 files changed, 46 insertions, 0 deletions
diff --git a/src/containers/auth/InviteScreen.js b/src/containers/auth/InviteScreen.js
index 51971f436..059888c99 100644
--- a/src/containers/auth/InviteScreen.js
+++ b/src/containers/auth/InviteScreen.js
@@ -12,9 +12,11 @@ export default class InviteScreen extends Component {
12 12
13 render() { 13 render() {
14 const { actions } = this.props; 14 const { actions } = this.props;
15
15 return ( 16 return (
16 <Invite 17 <Invite
17 onSubmit={actions.user.invite} 18 onSubmit={actions.user.invite}
19 embed={false}
18 /> 20 />
19 ); 21 );
20 } 22 }
diff --git a/src/containers/settings/InviteScreen.js b/src/containers/settings/InviteScreen.js
new file mode 100644
index 000000000..5f341b1b3
--- /dev/null
+++ b/src/containers/settings/InviteScreen.js
@@ -0,0 +1,44 @@
1import React, { Component } from 'react';
2import PropTypes from 'prop-types';
3import { inject, observer } from 'mobx-react';
4
5import Invite from '../../components/auth/Invite';
6import { gaPage } from '../../lib/analytics';
7
8@inject('stores', 'actions') @observer
9export default class InviteScreen extends Component {
10 componentDidMount() {
11 gaPage('Settings/Invite');
12 }
13
14 componentWillUnmount() {
15 this.props.stores.user.inviteRequest.reset();
16 }
17
18 render() {
19 const { actions } = this.props;
20 const { user } = this.props.stores;
21
22 return (
23 <Invite
24 onSubmit={actions.user.invite}
25 isLoadingInvite={user.inviteRequest.isExecuting}
26 isInviteSuccessful={user.inviteRequest.wasExecuted && !user.inviteRequest.isError}
27 embed
28 />
29 );
30 }
31}
32
33InviteScreen.wrappedComponent.propTypes = {
34 actions: PropTypes.shape({
35 user: PropTypes.shape({
36 invite: PropTypes.func.isRequired,
37 }).isRequired,
38 }).isRequired,
39 stores: PropTypes.shape({
40 user: PropTypes.shape({
41 inviteRequest: PropTypes.object,
42 }).isRequired,
43 }).isRequired,
44};