mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-09 13:51:57 -04:00

Some checks are pending
Docker / build-and-push (frontend) (push) Waiting to run
Docker / build-and-push (backend) (push) Waiting to run
Deploy HD2 docs to Netlify / Deploys to netlify (push) Waiting to run
E2E Tests / backend-sqlite (push) Waiting to run
E2E Tests / backend-mariadb (push) Waiting to run
E2E Tests / backend-postgres (push) Waiting to run
E2E Tests / Build test build of frontend (push) Waiting to run
E2E Tests / frontend-cypress (1) (push) Blocked by required conditions
E2E Tests / frontend-cypress (2) (push) Blocked by required conditions
E2E Tests / frontend-cypress (3) (push) Blocked by required conditions
Lint and check format / Lint files and check formatting (push) Waiting to run
REUSE Compliance Check / reuse (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
Static Analysis / Njsscan code scanning (push) Waiting to run
Static Analysis / CodeQL analysis (push) Waiting to run
Run tests & build / Test and build with NodeJS 20 (push) Waiting to run
Thanks to all HedgeDoc team members for the time discussing, helping with weird Nest issues, providing feedback and suggestions! Co-authored-by: Philip Molares <philip.molares@udo.edu> Signed-off-by: Philip Molares <philip.molares@udo.edu> Signed-off-by: Erik Michelson <github@erik.michelson.eu>
34 lines
1 KiB
TypeScript
34 lines
1 KiB
TypeScript
/*
|
|
* SPDX-FileCopyrightText: 2024 The HedgeDoc developers (see AUTHORS file)
|
|
*
|
|
* SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
import { ErrorToI18nKeyMapper } from '../../../../api/common/error-to-i18n-key-mapper'
|
|
import React, { useMemo } from 'react'
|
|
import { Alert } from 'react-bootstrap'
|
|
import { Trans, useTranslation } from 'react-i18next'
|
|
|
|
interface RegisterErrorProps {
|
|
error?: Error
|
|
}
|
|
|
|
export const RegisterError: React.FC<RegisterErrorProps> = ({ error }) => {
|
|
useTranslation()
|
|
|
|
const errorI18nKey = useMemo(() => {
|
|
if (!error) {
|
|
return null
|
|
}
|
|
return new ErrorToI18nKeyMapper(error, 'login.register.error')
|
|
.withHttpCode(409, 'usernameExisting')
|
|
.withBackendErrorName('FeatureDisabledError', 'registrationDisabled')
|
|
.withBackendErrorName('PasswordTooWeakError', 'passwordTooWeak')
|
|
.orFallbackI18nKey('other')
|
|
}, [error])
|
|
|
|
return (
|
|
<Alert className='small' show={!!errorI18nKey} variant='danger'>
|
|
<Trans i18nKey={errorI18nKey ?? ''} />
|
|
</Alert>
|
|
)
|
|
}
|