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 (