import React, { useState } from "react";
import AdminLayout from "./Layout/AdminLayout";
import { MdOutlineFileUpload } from "react-icons/md";
import { Link } from "@inertiajs/react";
import HitApi from "../../Utils/HitApi";
import Swal from "sweetalert2";
const Kuis = (props) => {
const { materi, soal } = props;
const [form, setForm] = useState({
soal: soal.pertanyaan,
gambar_soal: soal.gambar_soal,
jawaban: soal.jawaban,
});
const handleSave = () => {
// buatkan datanya ke formdata
Swal.fire({
title: "Konfirmasi",
text: "Apakah anda yakin ingin menyimpan data?",
icon: "warning",
showCancelButton: true,
confirmButtonColor: "#3085d6",
cancelButtonColor: "#d33",
confirmButtonText: "Ya",
}).then((result) => {
if (result.isConfirmed) {
const formData = new FormData();
formData.append("id", soal.id);
formData.append("soal", form.soal);
formData.append("gambar_soal", form.gambar_soal);
form.jawaban.forEach((item, i) => {
formData.append("id_jawaban[]", item.id);
formData.append("jawaban[]", item.jawaban);
formData.append(
`gambar_jawaban[${i}]`,
item.gambar_jawaban
);
formData.append("benar[]", item.benar);
});
Swal.fire({
title: "Loading",
html: '
', // add html attribute if you want or remove
allowOutsideClick: false,
showConfirmButton: false,
});
HitApi({
url: "/api/v1/quiz/save",
method: "POST",
body: formData,
isFormData: true,
onSuccess: () => {
Swal.fire(
"Berhasil",
"Data berhasil disimpan",
"success"
);
},
onError: () => {
// Swal.fire("Gagal", "Data gagal ditambahkan", "error");
Swal.close();
},
});
}
});
};
const state = {
form,
setForm,
};
const [previewImage, setPreviewImage] = useState();
return (
Input Soal

{
e.target.style.display = "block";
}}
onError={(e) => {
e.target.style.display = "none";
}}
/>
{
setPreviewImage(e.target.files[0]);
setForm({
...form,
gambar_soal: e.target.files[0],
});
}}
className="flex w-full h-full opacity-0 absolute"
type="file"
name=""
id=""
/>
Upload Gambar
Jawaban
{form.jawaban.map((item, index) => (
))}
{/* */}
No Soal
{materi.kuis.map((item, index) => {
return (
);
})}
);
};
const CardNoSoal = ({ no = 1, isBaru = false }) => {
return (
{no}
);
};
const CardJawaban = ({ id, jawaban, gambar, isTrue = false, state }) => {
const { form, setForm } = state;
const [preview, setPreview] = useState();
return (
);
};
export default Kuis;