diff --git a/src/pages/exam.tsx b/src/pages/exam.tsx
index b44c7465..6b8503e4 100644
--- a/src/pages/exam.tsx
+++ b/src/pages/exam.tsx
@@ -57,13 +57,13 @@ export default function Page() {
const [sessionId, setSessionId] = useState("");
const [exam, setExam] = useState();
const [isEvaluationLoading, setIsEvaluationLoading] = useState(false);
+ const [showAbandonPopup, setShowAbandonPopup] = useState(false);
const [exams, setExams] = useExamStore((state) => [state.exams, state.setExams]);
const [userSolutions, setUserSolutions] = useExamStore((state) => [state.userSolutions, state.setUserSolutions]);
const [showSolutions, setShowSolutions] = useExamStore((state) => [state.showSolutions, state.setShowSolutions]);
const [selectedModules, setSelectedModules] = useExamStore((state) => [state.selectedModules, state.setSelectedModules]);
- const [showAbandonPopup, setShowAbandonPopup] = useState(false);
- const setHasExamEnded = useExamStore((state) => state.setHasExamEnded);
+ const reset = useExamStore((state) => state.reset);
const {user} = useUser({redirectTo: "/login"});
@@ -330,8 +330,7 @@ export default function Page() {
abandonPopupDescription="Are you sure you want to leave the exercise? You will lose all your progress."
abandonConfirmButtonText="Confirm"
onAbandon={() => {
- setExam(undefined);
- setSelectedModules([]);
+ reset();
setShowAbandonPopup(false);
}}
onCancel={() => setShowAbandonPopup(false)}
diff --git a/src/pages/exercises.tsx b/src/pages/exercises.tsx
index 2dd0c862..214be631 100644
--- a/src/pages/exercises.tsx
+++ b/src/pages/exercises.tsx
@@ -60,12 +60,13 @@ export default function Page() {
const [sessionId, setSessionId] = useState("");
const [exam, setExam] = useState();
const [isEvaluationLoading, setIsEvaluationLoading] = useState(false);
+ const [showAbandonPopup, setShowAbandonPopup] = useState(false);
const [exams, setExams] = useExamStore((state) => [state.exams, state.setExams]);
const [userSolutions, setUserSolutions] = useExamStore((state) => [state.userSolutions, state.setUserSolutions]);
const [showSolutions, setShowSolutions] = useExamStore((state) => [state.showSolutions, state.setShowSolutions]);
const [selectedModules, setSelectedModules] = useExamStore((state) => [state.selectedModules, state.setSelectedModules]);
- const [showAbandonPopup, setShowAbandonPopup] = useState(false);
+ const reset = useExamStore((state) => state.reset);
const {user} = useUser({redirectTo: "/login"});
@@ -332,8 +333,7 @@ export default function Page() {
abandonPopupDescription="Are you sure you want to leave the exercise? You will lose all your progress."
abandonConfirmButtonText="Confirm"
onAbandon={() => {
- setExam(undefined);
- setSelectedModules([]);
+ reset();
setShowAbandonPopup(false);
}}
onCancel={() => setShowAbandonPopup(false)}