feat: Show RegistrationsDisabled on login page

This commit is contained in:
Myzel394 2023-03-16 10:54:43 +01:00
parent 7a2df877b7
commit 4049117a01
No known key found for this signature in database
GPG Key ID: 79CC92F37B3E1A2B
4 changed files with 51 additions and 0 deletions

View File

@ -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"
}
}

View File

@ -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 (
<Paper>
<Box maxWidth="sm">
<Grid
container
spacing={4}
padding={4}
alignItems="center"
justifyContent="center"
flexDirection="column"
>
<Grid item>
<Typography variant="h4" align="center">
{t("registrationsDisabled.title")}
</Typography>
</Grid>
<Grid item>
<Typography variant="body1" align="center">
{t("registrationsDisabled.description")}
</Typography>
</Grid>
<Grid item>
<Button component={Link} to="/auth/login" variant="contained">
{t("registrationsDisabled.login")}
</Button>
</Grid>
</Grid>
</Box>
</Paper>
)
}

View File

@ -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 <RegistrationsDisabled />
}
return (
<MultiStepForm
steps={[

View File

@ -85,6 +85,7 @@ export interface ServerSettings {
publicKey: string
allowAliasDeletion: boolean
apiKeyMaxDays: number
allowRegistrations: boolean
}
export interface Alias {