diff --git a/app/soapbox/features/auth_login/components/registration_form.js b/app/soapbox/features/auth_login/components/registration_form.js
index c0021d3df..704ce4840 100644
--- a/app/soapbox/features/auth_login/components/registration_form.js
+++ b/app/soapbox/features/auth_login/components/registration_form.js
@@ -45,9 +45,13 @@ export default @connect(mapStateToProps)
class RegistrationForm extends ImmutablePureComponent {
static propTypes = {
+ intl: PropTypes.object.isRequired,
instance: ImmutablePropTypes.map,
locale: PropTypes.string,
- intl: PropTypes.object.isRequired,
+ needsConfirmation: PropTypes.bool,
+ needsApproval: PropTypes.bool,
+ supportsEmailList: PropTypes.bool,
+ inviteToken: PropTypes.string,
}
state = {
@@ -103,8 +107,17 @@ class RegistrationForm extends ImmutablePureComponent {
}
onSubmit = e => {
- const { dispatch } = this.props;
- const params = this.state.params.set('locale', this.props.locale);
+ const { dispatch, inviteToken } = this.props;
+
+ const params = this.state.params.withMutations(params => {
+ // Locale for confirmation email
+ params.set('locale', this.props.locale);
+
+ // Pleroma invites
+ if (inviteToken) {
+ params.set('token', inviteToken);
+ }
+ });
this.setState({ submissionLoading: true });
diff --git a/app/soapbox/features/register_invite/index.js b/app/soapbox/features/register_invite/index.js
index 82e366938..f9d0bf1e0 100644
--- a/app/soapbox/features/register_invite/index.js
+++ b/app/soapbox/features/register_invite/index.js
@@ -1,10 +1,48 @@
import React from 'react';
+import { connect } from 'react-redux';
+import PropTypes from 'prop-types';
+import { FormattedMessage } from 'react-intl';
import RegistrationForm from 'soapbox/features/auth_login/components/registration_form';
-export default class RegisterInvite extends React.PureComponent {
+const mapStateToProps = state => {
+ return {
+ siteTitle: state.getIn(['instance', 'title']),
+ };
+};
+
+export default @connect(mapStateToProps)
+class RegisterInvite extends React.Component {
+
+ static propTypes = {
+ params: PropTypes.object.isRequired,
+ siteTitle: PropTypes.string.isRequired,
+ }
render() {
- return
+