This commit is contained in:
Виталий Лавшонок
2025-11-04 22:45:03 +03:00
parent 42da6684ba
commit 994954c817
11 changed files with 197 additions and 109 deletions

View File

@@ -8,6 +8,7 @@ import { fetchMySubmitsByMission, submitMission } from '../redux/slices/submit';
import { fetchMissionById } from '../redux/slices/missions';
import Header from '../views/mission/statement/Header';
import MissionSubmissions from '../views/mission/statement/MissionSubmissions';
import { useQuery } from '../hooks/useQuery';
const Mission = () => {
const dispatch = useAppDispatch();
@@ -16,6 +17,10 @@ const Mission = () => {
const { missionId } = useParams<{ missionId: string }>();
const mission = useAppSelector((state) => state.missions.currentMission);
const missionIdNumber = Number(missionId);
const query = useQuery();
const back = query.get('back') ?? undefined;
if (!missionId || isNaN(missionIdNumber)) {
return <Navigate to="/home" replace />;
}
@@ -38,7 +43,9 @@ const Mission = () => {
const hasWaiting = submissionsRef.current.some(
(s: any) =>
s.solution.status == 'Waiting' ||
s.solution.testerState === 'Waiting',
s.solution.testerState === 'Waiting' ||
s.solution.status === 'Compiling' ||
s.solution.testerState === 'Compiling',
);
if (!hasWaiting) {
// Всё проверено — стоп
@@ -73,7 +80,9 @@ const Mission = () => {
const hasWaiting = submissions.some(
(s) =>
s.solution.status === 'Waiting' ||
s.solution.testerState === 'Waiting',
s.solution.testerState === 'Waiting' ||
s.solution.status === 'Compiling' ||
s.solution.testerState === 'Compiling',
);
if (hasWaiting) {
@@ -145,7 +154,7 @@ const Mission = () => {
return (
<div className="h-screen grid grid-rows-[60px,1fr]">
<div className="">
<Header missionId={missionIdNumber} />
<Header missionId={missionIdNumber} back={back} />
</div>
<div className="grid grid-cols-2 h-full min-h-0 gap-[20px]">