mirror of
https://github.com/TheRealOwenRees/echecsfrance.git
synced 2026-07-23 12:36:57 +00:00
Change display of manual results
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
"use client";
|
"use client";
|
||||||
|
|
||||||
import { zodResolver } from "@hookform/resolvers/zod";
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
|
import { last } from "lodash";
|
||||||
import { useTranslations } from "next-intl";
|
import { useTranslations } from "next-intl";
|
||||||
import { FormProvider, useFieldArray, useForm } from "react-hook-form";
|
import { FormProvider, useFieldArray, useForm } from "react-hook-form";
|
||||||
import { IoAdd, IoCloseOutline } from "react-icons/io5";
|
import { IoAdd, IoCloseOutline } from "react-icons/io5";
|
||||||
@@ -92,6 +93,10 @@ export const ManualEloForm = () => {
|
|||||||
: { rating: currentElo!, deltas: [] };
|
: { rating: currentElo!, deltas: [] };
|
||||||
|
|
||||||
const deltas = calculations.deltas;
|
const deltas = calculations.deltas;
|
||||||
|
const hasDeltas = deltas.some((d) => d.delta !== undefined);
|
||||||
|
const totalDelta = Math.round(
|
||||||
|
deltas.reduce((acc, delta) => acc + (delta.delta ?? 0), 0),
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<FormProvider {...form}>
|
<FormProvider {...form}>
|
||||||
@@ -176,7 +181,6 @@ export const ManualEloForm = () => {
|
|||||||
i === deltas.length - 1 && "font-bold",
|
i === deltas.length - 1 && "font-bold",
|
||||||
)}
|
)}
|
||||||
>
|
>
|
||||||
{Math.round(deltas[i]!.rating)} (
|
|
||||||
<span
|
<span
|
||||||
className={twMerge(
|
className={twMerge(
|
||||||
deltas[i].delta! > 0 && "text-success",
|
deltas[i].delta! > 0 && "text-success",
|
||||||
@@ -186,7 +190,6 @@ export const ManualEloForm = () => {
|
|||||||
{deltas[i]!.delta! >= 0 ? "+" : ""}
|
{deltas[i]!.delta! >= 0 ? "+" : ""}
|
||||||
{deltas[i].delta!}
|
{deltas[i].delta!}
|
||||||
</span>
|
</span>
|
||||||
)
|
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
@@ -194,6 +197,25 @@ export const ManualEloForm = () => {
|
|||||||
})}
|
})}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{hasDeltas && (
|
||||||
|
<div className="mt-8 text-right text-lg font-bold text-gray-900 dark:text-neutral-400">
|
||||||
|
{t.rich("finalRating", {
|
||||||
|
rating: Math.round(last(deltas)!.rating),
|
||||||
|
delta: () => (
|
||||||
|
<span
|
||||||
|
className={twMerge(
|
||||||
|
totalDelta! > 0 && "text-success",
|
||||||
|
totalDelta! < 0 && "text-error",
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
{totalDelta >= 0 ? "+" : ""}
|
||||||
|
{totalDelta}
|
||||||
|
</span>
|
||||||
|
),
|
||||||
|
})}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
|
||||||
<div className="mt-8 flex justify-end">
|
<div className="mt-8 flex justify-end">
|
||||||
<button
|
<button
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user