Strongly type form components

Strongly type form components
This commit is contained in:
Timothy Armes
2023-10-10 15:19:01 +02:00
committed by Owen Rees
parent 3203c8af58
commit f2a245ba6d
14 changed files with 260 additions and 88 deletions
+4
View File
@@ -107,6 +107,7 @@ export const ManualEloForm = () => {
<div className="grid w-full grid-cols-1 gap-4 sm:grid-cols-2">
<TextField
name="currentElo"
control={form.control}
label={t("currentEloLabel")}
placeholder={t("currentEloPlaceholder")}
type="number"
@@ -115,6 +116,7 @@ export const ManualEloForm = () => {
<SelectField
name="kFactor"
control={form.control}
label={t("yourKFactorLabel")}
options={["40", "20", "10"].map((k) => ({
value: k,
@@ -139,6 +141,7 @@ export const ManualEloForm = () => {
<div className="grid w-full grid-cols-1 gap-4 sm:grid-cols-2">
<TextField
name={`games.${i}.opponentElo`}
control={form.control}
placeholder={t("opponentEloPlaceholder")}
type="number"
required
@@ -147,6 +150,7 @@ export const ManualEloForm = () => {
<div className="flex items-center space-x-2">
<RadioGroupField
name={`games.${i}.result`}
control={form.control}
options={["win", "draw", "loss"].map((result) => ({
value: result,
label: t("gameResult", { result }),
+3
View File
@@ -185,6 +185,7 @@ export default function Elo() {
<div className="flex items-end gap-4">
<TextField
name="url"
control={form.control}
label={t("resultsUrlLabel")}
placeholder={t("resultsUrlLabel")}
/>
@@ -222,6 +223,7 @@ export default function Elo() {
<div className="grid w-full grid-cols-1 gap-2 sm:grid-cols-2">
<SelectField
name="player"
control={form.control}
required
label={t("choosePlayerLabel")}
placeholder={t("choosePlayerPlaceholder")}
@@ -231,6 +233,7 @@ export default function Elo() {
<SelectField
name="kFactor"
control={form.control}
label={t("kFactorLabel")}
options={["40", "20", "10"].map((k) => ({
value: k,