24 lines
536 B
TypeScript
24 lines
536 B
TypeScript
import { useTranslation } from "react-i18next";
|
|
|
|
import { CatalogApiError } from "./catalog-api";
|
|
|
|
export function CatalogError({
|
|
error,
|
|
invalid = false,
|
|
}: {
|
|
error?: Error | null | undefined;
|
|
invalid?: boolean;
|
|
}) {
|
|
const { t } = useTranslation("assets");
|
|
if (!(error || invalid)) {
|
|
return null;
|
|
}
|
|
return (
|
|
<p className="text-sm text-destructive" role="alert">
|
|
{t(
|
|
`errors.${invalid ? "INVALID_REQUEST" : error instanceof CatalogApiError ? error.code : "INTERNAL_ERROR"}`
|
|
)}
|
|
</p>
|
|
);
|
|
}
|