contests
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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'}
|
||||
/>
|
||||
))}
|
||||
|
||||
Reference in New Issue
Block a user