dont work

This commit is contained in:
Виталий Лавшонок
2025-11-06 15:09:10 +03:00
parent dc6df1480e
commit 1b39b8c77f
6 changed files with 546 additions and 42 deletions

View File

@@ -4,9 +4,13 @@ import { PrimaryButton } from '../../../components/button/PrimaryButton';
import { SecondaryButton } from '../../../components/button/SecondaryButton';
import { Input } from '../../../components/input/Input';
import { useAppDispatch, useAppSelector } from '../../../redux/hooks';
import { createContest } from '../../../redux/slices/contests';
import {
createContest,
setContestStatus,
} from '../../../redux/slices/contests';
import { CreateContestBody } from '../../../redux/slices/contests';
import DateRangeInput from '../../../components/input/DateRangeInput';
import { useNavigate } from 'react-router-dom';
interface ModalCreateContestProps {
active: boolean;
@@ -18,6 +22,7 @@ const ModalCreateContest: FC<ModalCreateContestProps> = ({
setActive,
}) => {
const dispatch = useAppDispatch();
const navigate = useNavigate();
const status = useAppSelector(
(state) => state.contests.createContest.status,
);
@@ -27,21 +32,29 @@ const ModalCreateContest: FC<ModalCreateContestProps> = ({
description: '',
scheduleType: 'AlwaysOpen',
visibility: 'Public',
startsAt: null,
endsAt: null,
attemptDurationMinutes: null,
maxAttempts: null,
startsAt: '',
endsAt: '',
attemptDurationMinutes: 0,
maxAttempts: 0,
allowEarlyFinish: false,
groupId: null,
missionIds: null,
articleIds: null,
participantIds: null,
organizerIds: null,
groupId: 0,
missionIds: [],
articleIds: [],
});
const contest = useAppSelector(
(state) => state.contests.createContest.contest,
);
useEffect(() => {
if (status === 'successful') {
setActive(false);
console.log('navigate');
navigate(
`/contest/create?back=/home/account/contests&contestId=${contest.id}`,
);
dispatch(
setContestStatus({ key: 'createContest', status: 'idle' }),
);
}
}, [status]);
@@ -176,7 +189,9 @@ const ModalCreateContest: FC<ModalCreateContestProps> = ({
{/* Кнопки */}
<div className="flex flex-row w-full items-center justify-end mt-[20px] gap-[20px]">
<PrimaryButton
onClick={handleSubmit}
onClick={() => {
handleSubmit();
}}
text="Создать"
disabled={status === 'loading'}
/>