Pull Request branch dev-clone to main #1

Merged
gitea merged 429 commits from dev-clone into main 2024-12-23 09:31:34 +00:00
Showing only changes of commit 642554003b - Show all commits

View File

@ -23,6 +23,7 @@ import {
} from "@/shadcn/components/ui/pagination-assessment"; } from "@/shadcn/components/ui/pagination-assessment";
import { useQuery, useMutation } from "@tanstack/react-query"; import { useQuery, useMutation } from "@tanstack/react-query";
import { import {
getAnswersQueryOptions,
submitAssessmentMutationOptions, submitAssessmentMutationOptions,
uploadFileMutationOptions, uploadFileMutationOptions,
submitValidationMutationOptions, submitValidationMutationOptions,
@ -169,6 +170,34 @@ export default function AssessmentPage() {
} }
}, [aspectsQuery.data, selectedSubAspectId, data?.data]); }, [aspectsQuery.data, selectedSubAspectId, data?.data]);
// Fetching answers for the assessment
const { data: answersData } = useQuery(
getAnswersQueryOptions(assessmentId || "", page, limit) // Memanggil query untuk mengambil jawaban dengan argumen yang diperlukan
);
// Effect untuk mengatur answers dari data yang diambil
useEffect(() => {
const assessmentId = getQueryParam("id"); // Ambil assessmentId dari query params
if (!assessmentId) {
console.error("Assessment ID tidak ditemukan");
return;
}
// Ambil jawaban dari localStorage berdasarkan ID assessment
const savedAnswers = localStorage.getItem(`assessmentAnswers_${assessmentId}`);
if (savedAnswers) {
setAnswers(JSON.parse(savedAnswers)); // Set state answers dengan data dari local storage
}
}, []);
// Mengambil jawaban dari local storage saat komponen dimuat
useEffect(() => {
const storedAnswers = localStorage.getItem('assessmentAnswers');
if (storedAnswers) {
setAnswers(JSON.parse(storedAnswers)); // Set state answers dengan data dari local storage
}
}, []);
const handleConfirmFinish = async (assessmentId: string) => { const handleConfirmFinish = async (assessmentId: string) => {
try { try {
// Cek pertanyaan yang belum dijawab // Cek pertanyaan yang belum dijawab
@ -303,19 +332,19 @@ export default function AssessmentPage() {
const handleAnswerChange = (questionId: string, optionId: string) => { const handleAnswerChange = (questionId: string, optionId: string) => {
const assessmentId = getQueryParam("id"); const assessmentId = getQueryParam("id");
if (!assessmentId) { if (!assessmentId) {
console.error("Assessment ID tidak ditemukan"); console.error("Assessment ID tidak ditemukan");
return; return;
} }
// Simpan jawaban ke localStorage dengan ID assessment // Simpan jawaban ke localStorage dengan ID assessment
const updatedAnswers = { ...answers, [questionId]: optionId }; const updatedAnswers = { ...answers, [questionId]: optionId };
localStorage.setItem(`assessmentAnswers_${assessmentId}`, JSON.stringify(updatedAnswers)); localStorage.setItem(`assessmentAnswers_${assessmentId}`, JSON.stringify(updatedAnswers)); // Simpan berdasarkan ID assessment
// Update state // Update state
setAnswers(updatedAnswers); setAnswers(updatedAnswers);
// Call the mutation to submit the option // Call the mutation to submit the option
submitOptionMutation.mutate({ submitOptionMutation.mutate({
optionId, optionId,