Add closed registrations modal (#19437)
This commit is contained in:
		@@ -1,13 +1,40 @@
 | 
			
		||||
import React from 'react';
 | 
			
		||||
import React, { useCallback } from 'react';
 | 
			
		||||
import { FormattedMessage } from 'react-intl';
 | 
			
		||||
import { useDispatch } from 'react-redux';
 | 
			
		||||
import { registrationsOpen } from 'mastodon/initial_state';
 | 
			
		||||
import { openModal } from 'mastodon/actions/modal';
 | 
			
		||||
 | 
			
		||||
const SignInBanner = () => (
 | 
			
		||||
  <div className='sign-in-banner'>
 | 
			
		||||
    <p><FormattedMessage id='sign_in_banner.text' defaultMessage='Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.' /></p>
 | 
			
		||||
    <a href='/auth/sign_in' className='button button--block'><FormattedMessage id='sign_in_banner.sign_in' defaultMessage='Sign in' /></a>
 | 
			
		||||
    <a href={registrationsOpen ? '/auth/sign_up' : 'https://joinmastodon.org/servers'} className='button button--block button-tertiary'><FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' /></a>
 | 
			
		||||
  </div>
 | 
			
		||||
);
 | 
			
		||||
const SignInBanner = () => {
 | 
			
		||||
  const dispatch = useDispatch();
 | 
			
		||||
 | 
			
		||||
  const openClosedRegistrationsModal = useCallback(
 | 
			
		||||
    () => dispatch(openModal('CLOSED_REGISTRATIONS')),
 | 
			
		||||
    [dispatch],
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  let signupButton;
 | 
			
		||||
 | 
			
		||||
  if (registrationsOpen) {
 | 
			
		||||
    signupButton = (
 | 
			
		||||
      <a href='/auth/sign_up' className='button button--block button-tertiary'>
 | 
			
		||||
        <FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' />
 | 
			
		||||
      </a>
 | 
			
		||||
    );
 | 
			
		||||
  } else {
 | 
			
		||||
    signupButton = (
 | 
			
		||||
      <button className='button button--block button-tertiary' onClick={openClosedRegistrationsModal}>
 | 
			
		||||
        <FormattedMessage id='sign_in_banner.create_account' defaultMessage='Create account' />
 | 
			
		||||
      </button>
 | 
			
		||||
    );
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return (
 | 
			
		||||
    <div className='sign-in-banner'>
 | 
			
		||||
      <p><FormattedMessage id='sign_in_banner.text' defaultMessage='Sign in to follow profiles or hashtags, favourite, share and reply to posts, or interact from your account on a different server.' /></p>
 | 
			
		||||
      <a href='/auth/sign_in' className='button button--block'><FormattedMessage id='sign_in_banner.sign_in' defaultMessage='Sign in' /></a>
 | 
			
		||||
      {signupButton}
 | 
			
		||||
    </div>
 | 
			
		||||
  );
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
export default SignInBanner;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user