diff --git a/apps/frontend/src/routes/_dashboardLayout/assessment/index.lazy.tsx b/apps/frontend/src/routes/_dashboardLayout/assessment/index.lazy.tsx index 20ce65b..a902f32 100644 --- a/apps/frontend/src/routes/_dashboardLayout/assessment/index.lazy.tsx +++ b/apps/frontend/src/routes/_dashboardLayout/assessment/index.lazy.tsx @@ -150,11 +150,35 @@ export default function AssessmentPage() { // Inside the AssessmentPage function: const submitAnswerMutation = useMutation(submitAnswerMutationOptions()); - const handleAnswerChange = (optionId: string) => { + useEffect(() => { + const savedAnswers = localStorage.getItem("assessmentAnswers"); + if (savedAnswers) { + setAnswers(JSON.parse(savedAnswers)); + } + }, []); + + const handleAnswerChange = (questionId: string, optionId: string) => { + const assessmentId = getQueryParam("id"); // Mengambil assessmentId otomatis dari URL + + if (!assessmentId) { + console.error("Assessment ID tidak ditemukan"); + return; + } + + // Simpan jawaban ke localStorage + const updatedAnswers = { ...answers, [questionId]: optionId }; + localStorage.setItem("assessmentAnswers", JSON.stringify(updatedAnswers)); + + // Update state + setAnswers(updatedAnswers); + + // Kirim jawaban ke backend submitAnswerMutation.mutate({ - optionId: optionId, - assessmentId: assessmentId || "", - validationInformation: "someValidationInfo", // Sesuaikan validasi yang relevan + optionId, + assessmentId, // Menggunakan assessmentId dari URL + validationInformation: JSON.stringify({ + questionId, + }), }); }; @@ -364,7 +388,7 @@ export default function AssessmentPage() { {question.options?.length > 0 ? ( - +
{question.options.map((option: any) => ( ))}