update: add confirmation for button finish

This commit is contained in:
abiyasa05 2024-10-17 08:36:28 +07:00
parent fdc85d6072
commit 9b71ecbef3

View File

@ -23,6 +23,7 @@ import {
toggleFlagAnswer, toggleFlagAnswer,
} from "@/modules/assessmentManagement/queries/assessmentQueries"; } from "@/modules/assessmentManagement/queries/assessmentQueries";
import { TbFlagFilled, TbUpload, TbChevronRight, TbChevronUp } from "react-icons/tb"; import { TbFlagFilled, TbUpload, TbChevronRight, TbChevronUp } from "react-icons/tb";
import FinishAssessmentModal from "@/modules/assessmentManagement/modals/ConfirmModal";
import { useState, useRef, useEffect } from "react"; import { useState, useRef, useEffect } from "react";
const getQueryParam = (param: string) => { const getQueryParam = (param: string) => {
@ -58,7 +59,7 @@ export default function AssessmentPage() {
[key: string]: boolean; [key: string]: boolean;
}>({}); }>({});
const fileInputRef = useRef<HTMLInputElement>(null); const fileInputRef = useRef<HTMLInputElement>(null);
const [modalOpen, setModalOpen] = useState(false);
const [selectedSubAspectId, setSelectedSubAspectId] = useState<string | null>(null); const [selectedSubAspectId, setSelectedSubAspectId] = useState<string | null>(null);
const [assessmentId, setAssessmentId] = useState<string | null>(null); const [assessmentId, setAssessmentId] = useState<string | null>(null);
const [answers, setAnswers] = useState<{ [key: string]: string }>({}); const [answers, setAnswers] = useState<{ [key: string]: string }>({});
@ -74,6 +75,10 @@ export default function AssessmentPage() {
getQuestionsAllQueryOptions(page, limit) getQuestionsAllQueryOptions(page, limit)
); );
const handleFinishClick = () => {
setModalOpen(true);
};
useEffect(() => { useEffect(() => {
const id = getQueryParam("id"); const id = getQueryParam("id");
@ -99,7 +104,7 @@ export default function AssessmentPage() {
} }
}, [aspectsQuery.data, selectedSubAspectId, data?.data]); }, [aspectsQuery.data, selectedSubAspectId, data?.data]);
const handleFinishClick = () => { const handleConfirmFinish = () => {
if (assessmentId) { if (assessmentId) {
// Menggunakan history.pushState untuk mengubah URL tanpa reload // Menggunakan history.pushState untuk mengubah URL tanpa reload
const newUrl = `/assessmentResult?id=${assessmentId}`; const newUrl = `/assessmentResult?id=${assessmentId}`;
@ -558,6 +563,14 @@ export default function AssessmentPage() {
Selesai Selesai
</button> </button>
</div> </div>
{/* Modal untuk konfirmasi selesai asesmen */}
<FinishAssessmentModal
opened={modalOpen}
onClose={() => setModalOpen(false)}
onConfirm={handleConfirmFinish}
assessmentId={assessmentId}
/>
</Card> </Card>
</div> </div>
</Flex> </Flex>