2023-09-20 17:59:55 +00:00
|
|
|
import React from 'react';
|
|
|
|
import { FormattedMessage } from 'react-intl';
|
2024-03-18 18:44:34 +00:00
|
|
|
import { Redirect } from 'react-router-dom';
|
2023-09-20 17:59:55 +00:00
|
|
|
|
2024-03-18 18:44:34 +00:00
|
|
|
import { openModal } from 'soapbox/actions/modals';
|
2023-09-20 19:10:54 +00:00
|
|
|
import { BigCard } from 'soapbox/components/big-card';
|
2023-09-23 20:48:44 +00:00
|
|
|
import { Text } from 'soapbox/components/ui';
|
2024-03-18 18:44:34 +00:00
|
|
|
import { useAppDispatch, useFeatures, useInstance, useRegistrationStatus } from 'soapbox/hooks';
|
2023-09-20 17:59:55 +00:00
|
|
|
|
|
|
|
import RegistrationForm from './registration-form';
|
|
|
|
|
|
|
|
const RegistrationPage: React.FC = () => {
|
2023-09-23 20:48:44 +00:00
|
|
|
const instance = useInstance();
|
|
|
|
const { isOpen } = useRegistrationStatus();
|
2024-03-18 18:44:34 +00:00
|
|
|
const { nostrSignup } = useFeatures();
|
|
|
|
const dispatch = useAppDispatch();
|
|
|
|
|
|
|
|
if (nostrSignup) {
|
|
|
|
setTimeout(() => dispatch(openModal('NOSTR_SIGNUP')), 100);
|
|
|
|
return <Redirect to='/' />;
|
|
|
|
}
|
2023-09-23 20:48:44 +00:00
|
|
|
|
|
|
|
if (!isOpen) {
|
|
|
|
return (
|
|
|
|
<BigCard title={<FormattedMessage id='registration.closed_title' defaultMessage='Registrations Closed' />}>
|
|
|
|
<Text theme='muted' align='center'>
|
|
|
|
<FormattedMessage
|
|
|
|
id='registration.closed_message'
|
2023-10-11 20:15:50 +00:00
|
|
|
defaultMessage='{instance} is not accepting new members'
|
2023-09-23 20:48:44 +00:00
|
|
|
values={{ instance: instance.title }}
|
|
|
|
/>
|
|
|
|
</Text>
|
|
|
|
</BigCard>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2023-09-20 17:59:55 +00:00
|
|
|
return (
|
2023-09-20 19:10:54 +00:00
|
|
|
<BigCard title={<FormattedMessage id='column.registration' defaultMessage='Sign Up' />}>
|
|
|
|
<RegistrationForm />
|
|
|
|
</BigCard>
|
2023-09-20 17:59:55 +00:00
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export default RegistrationPage;
|