diff --git a/app/soapbox/features/landing_page/index.tsx b/app/soapbox/features/landing_page/index.tsx
index 4f53e32df..a3e58c5b5 100644
--- a/app/soapbox/features/landing_page/index.tsx
+++ b/app/soapbox/features/landing_page/index.tsx
@@ -3,11 +3,12 @@ import { FormattedMessage } from 'react-intl';
import VerificationBadge from 'soapbox/components/verification_badge';
import RegistrationForm from 'soapbox/features/auth_login/components/registration_form';
-import { useAppSelector, useSoapboxConfig } from 'soapbox/hooks';
+import { useAppSelector, useFeatures, useSoapboxConfig } from 'soapbox/hooks';
import { Button, Card, CardBody, Stack, Text } from '../../components/ui';
const LandingPage = () => {
+ const features = useFeatures();
const soapboxConfig = useSoapboxConfig();
const pepeEnabled = soapboxConfig.getIn(['extensions', 'pepe', 'enabled']) === true;
@@ -28,7 +29,7 @@ const LandingPage = () => {
@@ -60,7 +61,7 @@ const LandingPage = () => {
const renderBody = () => {
if (pepeEnabled && pepeOpen) {
return renderPepe();
- } else if (instance.registrations) {
+ } else if (features.accountCreation && instance.registrations) {
return renderOpen();
} else {
return renderClosed();
diff --git a/app/soapbox/features/public_layout/components/header.tsx b/app/soapbox/features/public_layout/components/header.tsx
index 9ddb6eb31..39a98845a 100644
--- a/app/soapbox/features/public_layout/components/header.tsx
+++ b/app/soapbox/features/public_layout/components/header.tsx
@@ -5,7 +5,7 @@ import { Link, Redirect } from 'react-router-dom';
import { logIn, verifyCredentials } from 'soapbox/actions/auth';
import { fetchInstance } from 'soapbox/actions/instance';
-import { useAppSelector, useSoapboxConfig } from 'soapbox/hooks';
+import { useAppSelector, useFeatures, useSoapboxConfig } from 'soapbox/hooks';
import { openModal } from '../../../actions/modals';
import { Button, Form, HStack, IconButton, Input, Tooltip } from '../../../components/ui';
@@ -31,8 +31,9 @@ const Header = () => {
const pepeEnabled = soapboxConfig.getIn(['extensions', 'pepe', 'enabled']) === true;
const { logo } = soapboxConfig;
+ const features = useFeatures();
const instance = useAppSelector((state) => state.instance);
- const isOpen = instance.get('registrations', false) === true;
+ const isOpen = features.accountCreation && instance.registrations;
const pepeOpen = useAppSelector(state => state.verification.getIn(['instance', 'registrations'], false) === true);
const [isLoading, setLoading] = React.useState(false);
diff --git a/app/soapbox/features/ui/components/modals/landing-page-modal.tsx b/app/soapbox/features/ui/components/modals/landing-page-modal.tsx
index 10d9f729f..583a1a144 100644
--- a/app/soapbox/features/ui/components/modals/landing-page-modal.tsx
+++ b/app/soapbox/features/ui/components/modals/landing-page-modal.tsx
@@ -4,7 +4,7 @@ import { defineMessages, useIntl } from 'react-intl';
import { Button } from 'soapbox/components/ui';
import { Modal } from 'soapbox/components/ui';
-import { useAppSelector, useSoapboxConfig } from 'soapbox/hooks';
+import { useAppSelector, useFeatures, useSoapboxConfig } from 'soapbox/hooks';
const messages = defineMessages({
download: { id: 'landing_page_modal.download', defaultMessage: 'Download' },
@@ -25,8 +25,9 @@ const LandingPageModal: React.FC = ({ onClose }) => {
const { logo } = soapboxConfig;
const instance = useAppSelector((state) => state.instance);
+ const features = useFeatures();
- const isOpen = instance.get('registrations', false) === true;
+ const isOpen = features.accountCreation && instance.registrations;
const pepeOpen = useAppSelector(state => state.verification.getIn(['instance', 'registrations'], false) === true);
return (