contests update
This commit is contained in:
@@ -28,16 +28,6 @@ const Contests = () => {
|
||||
dispatch(fetchContests({}));
|
||||
}, []);
|
||||
|
||||
if (status == 'loading') {
|
||||
return (
|
||||
<div className="text-liquid-white p-4">Загрузка контестов...</div>
|
||||
);
|
||||
}
|
||||
|
||||
if (error) {
|
||||
return <div className="text-red-500 p-4">Ошибка: {error}</div>;
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="h-full w-[calc(100%+250px)] box-border p-[20px] pt-[20p]">
|
||||
<div className="h-full box-border">
|
||||
@@ -59,24 +49,29 @@ 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' &&
|
||||
<>
|
||||
<ContestsBlock
|
||||
className="mb-[20px]"
|
||||
title="Текущие"
|
||||
contests={contests.filter((contest) => {
|
||||
const endTime = new Date(contest.endsAt ?? new Date().toDateString()).getTime();
|
||||
return endTime >= now.getTime();
|
||||
})}
|
||||
/>
|
||||
|
||||
<ContestsBlock
|
||||
className="mb-[20px]"
|
||||
title="Текущие"
|
||||
contests={contests.filter((contest) => {
|
||||
const endTime = new Date(contest.endsAt).getTime();
|
||||
return endTime >= now.getTime();
|
||||
})}
|
||||
/>
|
||||
|
||||
<ContestsBlock
|
||||
className="mb-[20px]"
|
||||
title="Прошедшие"
|
||||
contests={contests.filter((contest) => {
|
||||
const endTime = new Date(contest.endsAt).getTime();
|
||||
return endTime < now.getTime();
|
||||
})}
|
||||
/>
|
||||
<ContestsBlock
|
||||
className="mb-[20px]"
|
||||
title="Прошедшие"
|
||||
contests={contests.filter((contest) => {
|
||||
const endTime = new Date(contest.endsAt ?? new Date().toDateString()).getTime();
|
||||
return endTime < now.getTime();
|
||||
})}
|
||||
/>
|
||||
</>
|
||||
}
|
||||
</div>
|
||||
|
||||
<ModalCreateContest
|
||||
|
||||
@@ -55,13 +55,13 @@ const ContestsBlock: FC<ContestsBlockProps> = ({
|
||||
key={i}
|
||||
id={v.id}
|
||||
name={v.name}
|
||||
startAt={v.startsAt}
|
||||
startAt={v.startsAt ?? new Date().toString()}
|
||||
statusRegister={'reg'}
|
||||
duration={
|
||||
new Date(v.endsAt).getTime() -
|
||||
new Date(v.startsAt).getTime()
|
||||
new Date(v.endsAt ?? new Date().toString()).getTime() -
|
||||
new Date(v.startsAt ?? new Date().toString()).getTime()
|
||||
}
|
||||
members={v.members.length}
|
||||
members={v.members?.length ?? 0}
|
||||
type={i % 2 ? 'second' : 'first'}
|
||||
/>
|
||||
))}
|
||||
|
||||
@@ -37,7 +37,7 @@ const ModalCreateContest: FC<ModalCreateContestProps> = ({
|
||||
attemptDurationMinutes: 0,
|
||||
maxAttempts: 0,
|
||||
allowEarlyFinish: false,
|
||||
groupId: 0,
|
||||
groupIds: [],
|
||||
missionIds: [],
|
||||
articleIds: [],
|
||||
});
|
||||
@@ -48,13 +48,12 @@ const ModalCreateContest: FC<ModalCreateContestProps> = ({
|
||||
|
||||
useEffect(() => {
|
||||
if (status === 'successful') {
|
||||
console.log('navigate');
|
||||
navigate(
|
||||
`/contest/create?back=/home/account/contests&contestId=${contest.id}`,
|
||||
);
|
||||
dispatch(
|
||||
setContestStatus({ key: 'createContest', status: 'idle' }),
|
||||
);
|
||||
navigate(
|
||||
`/contest/create?back=/home/account/contests&contestId=${contest.id}`,
|
||||
);
|
||||
}
|
||||
}, [status]);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user