fix frontend calendar race states
Some checks failed
CI / build-and-test (pull_request) Has been cancelled

This commit is contained in:
Anton
2026-04-27 12:31:29 +03:00
parent 0b7ad23252
commit dffbb48d99
5 changed files with 186 additions and 34 deletions

View File

@@ -10,7 +10,8 @@ import {
getRaceStatusClassName,
getRaceStatusLabel,
parseRaceDate,
splitRacesByDate,
sortByDateAsc,
sortByDateDesc,
} from "../lib";
const MONTH_OPTIONS: { value: string; label: string }[] = [
@@ -220,7 +221,13 @@ export function RacesPage(): JSX.Element {
};
}, [listQuery]);
const { upcoming, past } = useMemo(() => splitRacesByDate(races), [races]);
const { upcoming, completed } = useMemo(
() => ({
upcoming: sortByDateAsc(races.filter((race) => race.status !== "completed")),
completed: sortByDateDesc(races.filter((race) => race.status === "completed")),
}),
[races],
);
if (errorMessage && races.length === 0 && !isLoading) {
return (
@@ -313,7 +320,7 @@ export function RacesPage(): JSX.Element {
{viewMode === "list" ? (
<div className="race-lists">
<RaceList title="Будущие" races={upcoming} />
<RaceList title="Прошедшие" races={past} />
<RaceList title="Завершенные" races={completed} />
</div>
) : (
<div className="races-cal-wrap">