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

@@ -18,7 +18,6 @@ const Contest = () => {
if (contestIdNumber === null) {
return <Navigate to="/home/contests" replace />;
}
const dispatch = useAppDispatch();
const contest = useAppSelector((state) => state.contests.selectedContest);

View File

@@ -1,6 +1,7 @@
import { cn } from '../../../lib/cn';
import { IconError, IconSuccess } from '../../../assets/icons/missions';
import { useNavigate } from 'react-router-dom';
import { useLocation } from 'react-router-dom';
export interface MissionItemProps {
id: number;
@@ -31,6 +32,8 @@ const MissionItem: React.FC<MissionItemProps> = ({
status,
}) => {
const navigate = useNavigate();
const location = useLocation();
const path = location.pathname + location.search;
return (
<div
@@ -45,7 +48,7 @@ const MissionItem: React.FC<MissionItemProps> = ({
'cursor-pointer brightness-100 hover:brightness-125 transition-all duration-300',
)}
onClick={() => {
navigate(`/mission/${id}`);
navigate(`/mission/${id}?back=${path}`);
}}
>
<div className="text-[18px] font-bold">#{id}</div>

View File

@@ -28,8 +28,10 @@ const ContestMissions: FC<ContestMissionsProps> = ({ contest }) => {
<div className="w-full">
{contest.missions.map((v, i) => (
<MissionItem
id={v.missionId}
id={v.id}
name={v.name}
timeLimit={v.timeLimitMilliseconds}
memoryLimit={v.memoryLimitBytes}
type={i % 2 ? 'second' : 'first'}
/>
))}