sendou.ink/app/form/fields/TeamSearchFormField.tsx
Kalle 6e987d506f
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
Tournament layout refresh, improve admin experience (#3152)
2026-06-11 18:31:10 +03:00

44 lines
1.0 KiB
TypeScript

import { TeamSearch } from "~/components/elements/TeamSearch";
import type { FormFieldProps, TeamSearchFieldOptions } from "../types";
import { FormFieldMessages, useTranslatedTexts } from "./FormFieldWrapper";
import styles from "./UserSearchFormField.module.css";
type TeamSearchFormFieldProps = FormFieldProps<"team-search"> &
TeamSearchFieldOptions & {
onChange: (value: number | null) => void;
};
export function TeamSearchFormField({
name,
label,
bottomText,
error,
required,
onChange,
onBlur,
onTeamSelected,
initialTeam,
}: TeamSearchFormFieldProps) {
const { translatedLabel } = useTranslatedTexts({
label,
});
return (
<div className={styles.root}>
<div className="stack xs">
<TeamSearch
initialTeam={initialTeam}
onChange={(team) => {
onChange(team?.id ?? null);
onTeamSelected?.(team);
}}
onBlur={() => onBlur?.()}
label={translatedLabel}
isRequired={required}
/>
<FormFieldMessages name={name} error={error} bottomText={bottomText} />
</div>
</div>
);
}