add filter

This commit is contained in:
Виталий Лавшонок
2025-11-08 15:54:49 +03:00
parent f7924cd564
commit 1cbd2dc0b3
14 changed files with 373 additions and 134 deletions

View File

@@ -6,6 +6,7 @@ import ContestsBlock from './ContestsBlock';
import { setMenuActivePage } from '../../../redux/slices/store';
import { fetchContests } from '../../../redux/slices/contests';
import ModalCreateContest from './ModalCreate';
import Filters from './Filter';
const Contests = () => {
const dispatch = useAppDispatch();
@@ -48,16 +49,24 @@ const Contests = () => {
/>
</div>
<div className="bg-liquid-lighter h-[50px] mb-[20px]" />
{status == 'loading' && <div className="text-liquid-white p-4">Загрузка контестов...</div>}
{status == 'failed' && <div className="text-red-500 p-4">Ошибка: {error}</div>}
{status == 'successful' &&
<Filters />
{status == 'loading' && (
<div className="text-liquid-white p-4">
Загрузка контестов...
</div>
)}
{status == 'failed' && (
<div className="text-red-500 p-4">Ошибка: {error}</div>
)}
{status == 'successful' && (
<>
<ContestsBlock
className="mb-[20px]"
title="Текущие"
contests={contests.filter((contest) => {
const endTime = new Date(contest.endsAt ?? new Date().toDateString()).getTime();
const endTime = new Date(
contest.endsAt ?? new Date().toDateString(),
).getTime();
return endTime >= now.getTime();
})}
/>
@@ -66,12 +75,14 @@ const Contests = () => {
className="mb-[20px]"
title="Прошедшие"
contests={contests.filter((contest) => {
const endTime = new Date(contest.endsAt ?? new Date().toDateString()).getTime();
const endTime = new Date(
contest.endsAt ?? new Date().toDateString(),
).getTime();
return endTime < now.getTime();
})}
/>
</>
}
)}
</div>
<ModalCreateContest