mirror of
https://github.com/pocket-id/pocket-id.git
synced 2026-03-23 21:40:08 +00:00
feat: add support for translations (#349)
Co-authored-by: Kyle Mendell <kmendell@outlook.com> Co-authored-by: Elias Schneider <login@eliasschneider.com>
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import { m } from '$lib/paraglide/messages';
|
||||
import { WebAuthnError } from '@simplewebauthn/browser';
|
||||
import { AxiosError } from 'axios';
|
||||
import { toast } from 'svelte-sonner';
|
||||
|
||||
export function getAxiosErrorMessage(
|
||||
e: unknown,
|
||||
defaultMessage: string = 'An unknown error occurred'
|
||||
defaultMessage: string = m.an_unknown_error_occurred()
|
||||
) {
|
||||
let message = defaultMessage;
|
||||
if (e instanceof AxiosError) {
|
||||
@@ -13,29 +14,29 @@ export function getAxiosErrorMessage(
|
||||
return message;
|
||||
}
|
||||
|
||||
export function axiosErrorToast(e: unknown, defaultMessage: string = 'An unknown error occurred') {
|
||||
export function axiosErrorToast(e: unknown, defaultMessage: string = m.an_unknown_error_occurred()) {
|
||||
const message = getAxiosErrorMessage(e, defaultMessage);
|
||||
toast.error(message);
|
||||
}
|
||||
|
||||
export function getWebauthnErrorMessage(e: unknown) {
|
||||
const errors = {
|
||||
ERROR_CEREMONY_ABORTED: 'The authentication process was aborted',
|
||||
ERROR_AUTHENTICATOR_GENERAL_ERROR: 'An error occurred with the authenticator',
|
||||
ERROR_CEREMONY_ABORTED: m.authentication_process_was_aborted(),
|
||||
ERROR_AUTHENTICATOR_GENERAL_ERROR: m.error_occurred_with_authenticator(),
|
||||
ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT:
|
||||
'The authenticator does not support discoverable credentials',
|
||||
m.authenticator_does_not_support_discoverable_credentials(),
|
||||
ERROR_AUTHENTICATOR_MISSING_RESIDENT_KEY_SUPPORT:
|
||||
'The authenticator does not support resident keys',
|
||||
ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED: 'This passkey was previously registered',
|
||||
m.authenticator_does_not_support_resident_keys(),
|
||||
ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED: m.passkey_was_previously_registered(),
|
||||
ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG:
|
||||
'The authenticator does not support any of the requested algorithms'
|
||||
m.authenticator_does_not_support_any_of_the_requested_algorithms()
|
||||
};
|
||||
|
||||
let message = 'An unknown error occurred';
|
||||
let message = m.an_unknown_error_occurred();
|
||||
if (e instanceof WebAuthnError && e.code in errors) {
|
||||
message = errors[e.code as keyof typeof errors];
|
||||
} else if (e instanceof WebAuthnError && e?.message.includes('timed out')) {
|
||||
message = 'The authenticator timed out';
|
||||
message = m.authenticator_timed_out();
|
||||
} else if (e instanceof AxiosError && e.response?.data.error) {
|
||||
message = e.response?.data.error;
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user