diff --git a/app/javascript/flavours/glitch/features/ui/components/header.js b/app/javascript/flavours/glitch/features/ui/components/header.js
index 891f7fc07..d9ad94961 100644
--- a/app/javascript/flavours/glitch/features/ui/components/header.js
+++ b/app/javascript/flavours/glitch/features/ui/components/header.js
@@ -7,6 +7,7 @@ import Avatar from 'flavours/glitch/components/avatar';
import Permalink from 'flavours/glitch/components/permalink';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
+import { openModal } from 'flavours/glitch/actions/modal';
const Account = connect(state => ({
account: state.getIn(['accounts', me]),
@@ -16,7 +17,14 @@ const Account = connect(state => ({
));
-export default @withRouter
+const mapDispatchToProps = (dispatch) => ({
+ openClosedRegistrationsModal() {
+ dispatch(openModal('CLOSED_REGISTRATIONS'));
+ },
+});
+
+export default @connect(null, mapDispatchToProps)
+@withRouter
class Header extends React.PureComponent {
static contextTypes = {
@@ -24,12 +32,13 @@ class Header extends React.PureComponent {
};
static propTypes = {
+ openClosedRegistrationsModal: PropTypes.func,
location: PropTypes.object,
};
render () {
const { signedIn } = this.context.identity;
- const { location } = this.props;
+ const { location, openClosedRegistrationsModal } = this.props;
let content;
@@ -41,10 +50,26 @@ class Header extends React.PureComponent {
>
);
} else {
+ let signupButton;
+
+ if (registrationsOpen) {
+ signupButton = (
+
+
+
+ );
+ } else {
+ signupButton = (
+
+ );
+ }
+
content = (
<>
-
+ {signupButton}
>
);
}