diff options
Diffstat (limited to 'src/components')
-rw-r--r-- | src/components/auth/Invite.js | 8 | ||||
-rw-r--r-- | src/components/settings/account/AccountDashboard.js | 29 | ||||
-rw-r--r-- | src/components/ui/Link.js | 5 |
3 files changed, 36 insertions, 6 deletions
diff --git a/src/components/auth/Invite.js b/src/components/auth/Invite.js index c4c35d538..1fe594d73 100644 --- a/src/components/auth/Invite.js +++ b/src/components/auth/Invite.js | |||
@@ -69,6 +69,11 @@ export default class Invite extends Component { | |||
69 | this.form.submit({ | 69 | this.form.submit({ |
70 | onSuccess: (form) => { | 70 | onSuccess: (form) => { |
71 | 71 | ||
72 | this.props.onSubmit({ | ||
73 | invites: form.values().invite, | ||
74 | from: this.props.from | ||
75 | }); | ||
76 | |||
72 | const atLeastOneEmailAddress = form.$('invite') | 77 | const atLeastOneEmailAddress = form.$('invite') |
73 | .map(invite => {return invite.$('email').value}) | 78 | .map(invite => {return invite.$('email').value}) |
74 | .some(email => email.trim() !== '') | 79 | .some(email => email.trim() !== '') |
@@ -87,6 +92,7 @@ export default class Invite extends Component { | |||
87 | render() { | 92 | render() { |
88 | const { form } = this; | 93 | const { form } = this; |
89 | const { intl } = this.context; | 94 | const { intl } = this.context; |
95 | const { from } = this.props; | ||
90 | 96 | ||
91 | const atLeastOneEmailAddress = form.$('invite') | 97 | const atLeastOneEmailAddress = form.$('invite') |
92 | .map(invite => {return invite.$('email').value}) | 98 | .map(invite => {return invite.$('email').value}) |
@@ -123,7 +129,7 @@ export default class Invite extends Component { | |||
123 | label={intl.formatMessage(messages.submitButtonLabel)} | 129 | label={intl.formatMessage(messages.submitButtonLabel)} |
124 | /> | 130 | /> |
125 | <Link | 131 | <Link |
126 | to="/" | 132 | to={ !!from ? from : '/'} |
127 | className="franz-form__button franz-form__button--secondary auth__button auth__button--skip" | 133 | className="franz-form__button franz-form__button--secondary auth__button auth__button--skip" |
128 | > | 134 | > |
129 | {intl.formatMessage(messages.skipButtonLabel)} | 135 | {intl.formatMessage(messages.skipButtonLabel)} |
diff --git a/src/components/settings/account/AccountDashboard.js b/src/components/settings/account/AccountDashboard.js index 43272fe96..d5f2e238c 100644 --- a/src/components/settings/account/AccountDashboard.js +++ b/src/components/settings/account/AccountDashboard.js | |||
@@ -48,6 +48,11 @@ const messages = defineMessages({ | |||
48 | id: 'settings.account.account.editButton', | 48 | id: 'settings.account.account.editButton', |
49 | defaultMessage: '!!!Edit Account', | 49 | defaultMessage: '!!!Edit Account', |
50 | }, | 50 | }, |
51 | accountInviteButton: { | ||
52 | id: "settings.account.account.inviteButton", | ||
53 | defaultMessage: '!!!Invite Friends', | ||
54 | }, | ||
55 | |||
51 | invoiceDownload: { | 56 | invoiceDownload: { |
52 | id: 'settings.account.invoiceDownload', | 57 | id: 'settings.account.invoiceDownload', |
53 | defaultMessage: '!!!Download', | 58 | defaultMessage: '!!!Download', |
@@ -113,6 +118,7 @@ export default class AccountDashboard extends Component { | |||
113 | deleteAccount, | 118 | deleteAccount, |
114 | isLoadingDeleteAccount, | 119 | isLoadingDeleteAccount, |
115 | isDeleteAccountSuccessful, | 120 | isDeleteAccountSuccessful, |
121 | pathname, | ||
116 | } = this.props; | 122 | } = this.props; |
117 | const { intl } = this.context; | 123 | const { intl } = this.context; |
118 | 124 | ||
@@ -174,10 +180,25 @@ export default class AccountDashboard extends Component { | |||
174 | <span className="badge badge--premium">{intl.formatMessage(messages.accountTypePremium)}</span> | 180 | <span className="badge badge--premium">{intl.formatMessage(messages.accountTypePremium)}</span> |
175 | )} | 181 | )} |
176 | </div> | 182 | </div> |
177 | <Link to="/settings/user/edit" className="button"> | 183 | <div className="grid"> |
178 | {intl.formatMessage(messages.accountEditButton)} | 184 | <div className="grid__row"> |
179 | </Link> | 185 | <Link to="/settings/user/edit" className="button account__edit-button"> |
180 | 186 | {intl.formatMessage(messages.accountEditButton)} | |
187 | </Link> | ||
188 | </div> | ||
189 | <div className="grid__row"> | ||
190 | <Link | ||
191 | to={{ | ||
192 | pathname: '/auth/signup/invite', | ||
193 | query: { from: pathname }, | ||
194 | // state: { "from": 'hi' } // is not being passed to route | ||
195 | }} | ||
196 | className="button account__invite-button"> | ||
197 | {intl.formatMessage(messages.accountInviteButton)} | ||
198 | </Link> | ||
199 | </div> | ||
200 | </div> | ||
201 | |||
181 | {user.emailValidated} | 202 | {user.emailValidated} |
182 | </div> | 203 | </div> |
183 | </div> | 204 | </div> |
diff --git a/src/components/ui/Link.js b/src/components/ui/Link.js index f5da921fa..bc3c2d8aa 100644 --- a/src/components/ui/Link.js +++ b/src/components/ui/Link.js | |||
@@ -62,7 +62,10 @@ Link.wrappedComponent.propTypes = { | |||
62 | oneOrManyChildElements, | 62 | oneOrManyChildElements, |
63 | PropTypes.string, | 63 | PropTypes.string, |
64 | ]).isRequired, | 64 | ]).isRequired, |
65 | to: PropTypes.string.isRequired, | 65 | to: PropTypes.oneOfType([ |
66 | PropTypes.string, | ||
67 | PropTypes.object | ||
68 | ]).isRequired, | ||
66 | className: PropTypes.string, | 69 | className: PropTypes.string, |
67 | activeClassName: PropTypes.string, | 70 | activeClassName: PropTypes.string, |
68 | strictFilter: PropTypes.bool, | 71 | strictFilter: PropTypes.bool, |