diff --git a/public/locales/en-US/signup.json b/public/locales/en-US/signup.json index e7486e7..1c5a0d7 100644 --- a/public/locales/en-US/signup.json +++ b/public/locales/en-US/signup.json @@ -14,5 +14,10 @@ "continueActionLabel": "Yes, edit email" } } + }, + "registrationsDisabled": { + "title": "Registrations are disabled", + "description": "We are sorry, but registrations on this instance are disabled.", + "login": "Login" } } diff --git a/src/route-widgets/SignupRoute/RegistrationsDisabled.tsx b/src/route-widgets/SignupRoute/RegistrationsDisabled.tsx new file mode 100644 index 0000000..61c4446 --- /dev/null +++ b/src/route-widgets/SignupRoute/RegistrationsDisabled.tsx @@ -0,0 +1,40 @@ +import {ReactElement} from "react" +import {Link} from "react-router-dom" +import {useTranslation} from "react-i18next" + +import {Box, Button, Grid, Paper, Typography} from "@mui/material" + +export default function RegistrationsDisabled(): ReactElement { + const {t} = useTranslation("signup") + + return ( + + + + + + {t("registrationsDisabled.title")} + + + + + {t("registrationsDisabled.description")} + + + + + + + + + ) +} diff --git a/src/routes/SignupRoute.tsx b/src/routes/SignupRoute.tsx index 7297570..da4afc4 100644 --- a/src/routes/SignupRoute.tsx +++ b/src/routes/SignupRoute.tsx @@ -5,6 +5,7 @@ import {useLoaderData} from "react-router-dom" import {MultiStepForm} from "~/components" import {ServerSettings} from "~/server-types" import EmailForm from "~/route-widgets/SignupRoute/EmailForm" +import RegistrationsDisabled from "~/route-widgets/SignupRoute/RegistrationsDisabled" import YouGotMail from "~/route-widgets/SignupRoute/YouGotMail" export default function SignupRoute(): ReactElement { @@ -13,6 +14,10 @@ export default function SignupRoute(): ReactElement { const index = email ? 1 : 0 + if (!serverSettings.allowRegistrations) { + return + } + return (