import React, { useState } from "react";
import UserLayout from "./Layout/UserLayout";
import Swal from "sweetalert2";
const Quiz = (props) => {
const [data, setData] = useState(props.data);
const [page, setPage] = useState(1);
const limit = 5;
const totalPage = Math.ceil(data.length / limit);
const [selectedAnswer, setSelectedAnswer] = useState({});
const state = {
selectedAnswer,
setSelectedAnswer,
};
const handleSubmit = async () => {
let nilai = 0;
let totalBenar = 0;
let totalSalah = 0;
data.forEach((item) => {
item.jawaban.forEach((jawaban) => {
if (jawaban.benar === 1) {
if (selectedAnswer[item.id] === jawaban.id) {
nilai += 1;
totalBenar += 1;
} else {
totalSalah += 1;
}
}
});
});
nilai = (nilai / data.length) * 100;
const jawaban = Object.entries(selectedAnswer).map(([key, value]) => ({
kuis_id: key,
jawaban_id: value,
}));
try {
const response = await fetch(`/api/v1/quiz/submit`, {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
materi_id: props.materi_id,
user_id: props.auth.id,
jawaban: jawaban,
nilai: nilai,
total_benar: totalBenar,
total_salah: totalSalah,
}),
});
const responseData = await response.json();
Swal.fire({
title: "Nilai Anda",
text: `Nilai anda adalah ${nilai}`,
imageUrl: "/assets/images/overlay3.png",
imageWidth: 400,
customClass: {
image: "object-cover",
},
imageHeight: 200,
imageAlt: "Custom image",
confirmButtonText: "Ok",
}).then(() => {
location.href = "/user/";
});
} catch (error) {
console.error("Error submitting quiz:", error);
// Handle error condition, if needed
}
};
return (
{pertanyaan}
{gambar && gambar !== "" && gambar !== null && gambar !== "undefined" && (