sendou.ink/app/components/FormErrors.tsx
hfcRed 0f0babcbb9 Merge remote-tracking branch 'origin/main' into css-rework
# Conflicts:
#	app/components/SubNav.tsx
#	app/components/layout/UserItem.tsx
#	app/features/build-analyzer/routes/analyzer.tsx
#	app/features/map-planner/components/Planner.tsx
#	app/features/object-damage-calculator/routes/object-damage-calculator.tsx
#	app/features/plus-voting/routes/plus.voting.tsx
#	app/root.tsx
#	knip.json
2025-12-30 20:25:30 +01:00

25 lines
708 B
TypeScript

import { useTranslation } from "react-i18next";
import { useActionData } from "react-router";
import type { Namespace } from "~/modules/i18n/resources.server";
import styles from "./FormErrors.module.css";
export function FormErrors({ namespace }: { namespace: Namespace }) {
const { t } = useTranslation(["common", namespace]);
const actionData = useActionData<{ errors?: string[] }>();
if (!actionData?.errors || actionData.errors.length === 0) {
return null;
}
return (
<div className={styles.container}>
<h4>{t("common:forms.errors.title")}:</h4>
<ol>
{actionData.errors.map((error) => (
<li key={error}>{t(`${namespace}:${error}` as any)}</li>
))}
</ol>
</div>
);
}