mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-22 11:37:08 -05:00
* Initial * CSS lint * Test CI * Add 1v1, 2v2, and 3v3 Tags (#1771) * Initial * CSS lint * Test CI * Rename step --------- Co-authored-by: xi <104683822+ximk@users.noreply.github.com>
28 lines
682 B
TypeScript
28 lines
682 B
TypeScript
import { useActionData } from "@remix-run/react";
|
|
import type { CustomTypeOptions } from "react-i18next";
|
|
import { useTranslation } from "react-i18next";
|
|
|
|
export function FormErrors({
|
|
namespace,
|
|
}: {
|
|
namespace: keyof CustomTypeOptions["resources"];
|
|
}) {
|
|
const { t } = useTranslation(["common", namespace]);
|
|
const actionData = useActionData<{ errors?: string[] }>();
|
|
|
|
if (!actionData?.errors || actionData.errors.length === 0) {
|
|
return null;
|
|
}
|
|
|
|
return (
|
|
<div className="form-errors">
|
|
<h4>{t("common:forms.errors.title")}:</h4>
|
|
<ol>
|
|
{actionData.errors.map((error) => (
|
|
<li key={error}>{t(`${namespace}:${error}` as any)}</li>
|
|
))}
|
|
</ol>
|
|
</div>
|
|
);
|
|
}
|