feat: disable creating account when server is not set

This commit is contained in:
qtchaos 2024-02-25 21:31:08 +02:00
parent fcf42a4e8a
commit 130b4f5cc3
No known key found for this signature in database
GPG Key ID: 7DA98B2B9EF06A90
2 changed files with 45 additions and 29 deletions

View File

@ -55,6 +55,8 @@
"text": "Did you configure it correctly?", "text": "Did you configure it correctly?",
"title": "Failed to reach server" "title": "Failed to reach server"
}, },
"noHostTitle": "Server not configured!",
"noHost": "The server has not been configured, therefore you cannot create an account",
"host": "You are connecting to <0>{{hostname}}</0> - please confirm you trust it before making an account", "host": "You are connecting to <0>{{hostname}}</0> - please confirm you trust it before making an account",
"no": "Go back", "no": "Go back",
"title": "Do you trust this server?", "title": "Do you trust this server?",

View File

@ -23,7 +23,7 @@ export function TrustBackendPart(props: TrustBackendPartProps) {
const navigate = useNavigate(); const navigate = useNavigate();
const backendUrl = useBackendUrl(); const backendUrl = useBackendUrl();
const hostname = useMemo( const hostname = useMemo(
() => (backendUrl ? new URL(backendUrl).hostname : ""), () => (backendUrl ? new URL(backendUrl).hostname : undefined),
[backendUrl], [backendUrl],
); );
const result = useAsync(() => { const result = useAsync(() => {
@ -54,9 +54,10 @@ export function TrustBackendPart(props: TrustBackendPartProps) {
return ( return (
<LargeCard> <LargeCard>
<LargeCardText <LargeCardText
title={t("auth.trust.title")} title={hostname ? t("auth.trust.title") : t("auth.trust.noHostTitle")}
icon={<Icon icon={Icons.CIRCLE_EXCLAMATION} />} icon={<Icon icon={Icons.CIRCLE_EXCLAMATION} />}
> >
{hostname ? (
<Trans <Trans
i18nKey="auth.trust.host" i18nKey="auth.trust.host"
values={{ values={{
@ -65,8 +66,13 @@ export function TrustBackendPart(props: TrustBackendPartProps) {
> >
<span className="text-white" /> <span className="text-white" />
</Trans> </Trans>
) : (
<p>{t("auth.trust.noHost")}</p>
)}
</LargeCardText> </LargeCardText>
{hostname ? (
<>
<div className="border border-authentication-border rounded-xl px-4 py-8 flex flex-col items-center space-y-2 my-8"> <div className="border border-authentication-border rounded-xl px-4 py-8 flex flex-col items-center space-y-2 my-8">
{cardContent} {cardContent}
</div> </div>
@ -86,6 +92,14 @@ export function TrustBackendPart(props: TrustBackendPartProps) {
<MwLink to="/login">.</MwLink> <MwLink to="/login">.</MwLink>
</Trans> </Trans>
</p> </p>
</>
) : (
<LargeCardButtons>
<Button theme="purple" onClick={() => navigate("/")}>
{t("auth.trust.no")}
</Button>
</LargeCardButtons>
)}
</LargeCard> </LargeCard>
); );
} }