diff --git a/web/src/fields/field-form.tsx b/web/src/fields/field-form.tsx index 7d16bc0..d7c77da 100644 --- a/web/src/fields/field-form.tsx +++ b/web/src/fields/field-form.tsx @@ -36,6 +36,7 @@ export function FieldForm() { setAuthorityKind(""); setGroup(""); setRequired(false); + setError(false); }; const onSubmit = (event: FormEvent) => { diff --git a/web/src/fields/field-list.tsx b/web/src/fields/field-list.tsx index 6bee9d1..341f846 100644 --- a/web/src/fields/field-list.tsx +++ b/web/src/fields/field-list.tsx @@ -2,19 +2,11 @@ import { useTranslation } from "react-i18next"; import type { components } from "../api/schema"; import { useFieldDefinitions } from "../api/queries"; +import { labelText } from "../lib/labels"; import { Skeleton } from "@/components/ui/skeleton"; type FieldDefinitionView = components["schemas"]["FieldDefinitionView"]; -function labelText(labels: FieldDefinitionView["labels"], lang: string): string { - return ( - labels.find((l) => l.lang === lang)?.label ?? - labels.find((l) => l.lang === "en")?.label ?? - labels[0]?.label ?? - "" - ); -} - export function FieldList() { const { t, i18n } = useTranslation(); const { data, isLoading, isError } = useFieldDefinitions(); @@ -44,9 +36,14 @@ export function FieldList() { groups.set(key, bucket); } + const otherLabel = t("fields.other"); + const entries = [...groups.entries()].sort((a, b) => + a[0] === otherLabel ? 1 : b[0] === otherLabel ? -1 : 0, + ); + return (