mirror of
https://github.com/opencloud-eu/opencloud.git
synced 2026-04-30 07:49:41 -05:00
62 lines
2.4 KiB
JavaScript
62 lines
2.4 KiB
JavaScript
import { withTranslation } from 'react-i18next';
|
|
|
|
export const ERROR_LOGIN_VALIDATE_MISSINGUSERNAME = 'konnect.error.login.validate.missingUsername';
|
|
export const ERROR_LOGIN_VALIDATE_MISSINGPASSWORD = 'konnect.error.login.validate.missingPassword';
|
|
export const ERROR_LOGIN_FAILED = 'konnect.error.login.failed';
|
|
export const ERROR_HTTP_NETWORK_ERROR = 'konnect.error.http.networkError';
|
|
export const ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS = 'konnect.error.http.unexpectedResponseStatus';
|
|
export const ERROR_HTTP_UNEXPECTED_RESPONSE_STATE = 'konnect.error.http.unexpectedResponseState';
|
|
|
|
// Error with values.
|
|
export class ExtendedError extends Error {
|
|
values = undefined;
|
|
|
|
constructor(message, values) {
|
|
super(message);
|
|
if (Error.captureStackTrace !== undefined) {
|
|
Error.captureStackTrace(this, ExtendedError);
|
|
}
|
|
this.values = values;
|
|
}
|
|
}
|
|
|
|
// Component to translate error text with values.
|
|
function ErrorMessageComponent(props) {
|
|
const { error, t, values } = props;
|
|
|
|
if (!error) {
|
|
return null;
|
|
}
|
|
|
|
const id = error.id ? error.id : error.message;
|
|
const messageDescriptor = Object.assign({}, {
|
|
id,
|
|
defaultMessage: error.id ? error.message : undefined,
|
|
values: {
|
|
...error.values,
|
|
...values,
|
|
},
|
|
});
|
|
|
|
switch (messageDescriptor.id) {
|
|
case ERROR_LOGIN_VALIDATE_MISSINGUSERNAME:
|
|
return t("konnect.error.login.validate.missingUsername", "Enter a valid value.", messageDescriptor.values);
|
|
case ERROR_LOGIN_VALIDATE_MISSINGPASSWORD:
|
|
return t("konnect.error.login.validate.missingPassword", "Enter your password.");
|
|
case ERROR_LOGIN_FAILED:
|
|
return t("konnect.error.login.failed", "Logon failed. Please verify your credentials and try again.");
|
|
case ERROR_HTTP_NETWORK_ERROR:
|
|
return t("konnect.error.http.networkError", "Network error. Please check your connection and try again.");
|
|
case ERROR_HTTP_UNEXPECTED_RESPONSE_STATUS:
|
|
return t("konnect.error.http.unexpectedResponseStatus", "Unexpected HTTP response: {{status}}. Please check your connection and try again.", messageDescriptor.values);
|
|
case ERROR_HTTP_UNEXPECTED_RESPONSE_STATE:
|
|
return t("konnect.error.http.unexpectedResponseState", "Unexpected response state: {{state}}", messageDescriptor.values);
|
|
default:
|
|
}
|
|
|
|
const f = t;
|
|
return f(messageDescriptor.defaultMessage, messageDescriptor.values);
|
|
}
|
|
|
|
export const ErrorMessage = withTranslation()(ErrorMessageComponent);
|