diff --git a/app/javascript/mastodon/features/interaction_modal/index.jsx b/app/javascript/mastodon/features/interaction_modal/index.jsx
index 220719a94..84e430925 100644
--- a/app/javascript/mastodon/features/interaction_modal/index.jsx
+++ b/app/javascript/mastodon/features/interaction_modal/index.jsx
@@ -21,12 +21,16 @@ const messages = defineMessages({
const mapStateToProps = (state, { accountId }) => ({
displayNameHtml: state.getIn(['accounts', accountId, 'display_name_html']),
+ signupUrl: state.getIn(['server', 'server', 'registrations', 'url'], null) || '/auth/sign_up',
});
const mapDispatchToProps = (dispatch) => ({
onSignupClick() {
- dispatch(closeModal());
- dispatch(openModal('CLOSED_REGISTRATIONS'));
+ dispatch(closeModal({
+ modalType: undefined,
+ ignoreFocus: false,
+ }));
+ dispatch(openModal({ modalType: 'CLOSED_REGISTRATIONS' }));
},
});
@@ -294,6 +298,7 @@ class InteractionModal extends React.PureComponent {
url: PropTypes.string,
type: PropTypes.oneOf(['reply', 'reblog', 'favourite', 'follow']),
onSignupClick: PropTypes.func.isRequired,
+ signupUrl: PropTypes.string.isRequired,
};
handleSignupClick = () => {
@@ -301,7 +306,7 @@ class InteractionModal extends React.PureComponent {
};
render () {
- const { url, type, displayNameHtml } = this.props;
+ const { url, type, displayNameHtml, signupUrl } = this.props;
const name = ;
@@ -340,7 +345,7 @@ class InteractionModal extends React.PureComponent {
);
} else if (registrationsOpen) {
signupButton = (
-
+
);