diff --git a/src/components/ModalSurat.tsx b/src/components/ModalSurat.tsx index d64d4b9..ce4a5be 100644 --- a/src/components/ModalSurat.tsx +++ b/src/components/ModalSurat.tsx @@ -23,7 +23,7 @@ export default function ModalSurat({ surat, }: { open: boolean; - onClose: (val: any) => void; + onClose: (val: { success: boolean, data: string }) => void; surat: string; }) { const A4Style = { @@ -35,7 +35,7 @@ export default function ModalSurat({ fontSize: "14px", fontFamily: "Times New Roman", }; - const [uploading, setUploading] = useState<{ text: "Menyiapkan" | "Mengupload" | "Selesai", value: number }>({ text: "Menyiapkan", value: 10 }) + const [uploading, setUploading] = useState<{ text: "Menyiapkan" | "Mengupload" | "Selesai" | "Gagal", value: number }>({ text: "Menyiapkan", value: 10 }) const hiddenRef = useRef(null); const { data, mutate, isLoading } = useSWR("surat", () => apiFetch.api.surat.detail.get({ @@ -45,13 +45,17 @@ export default function ModalSurat({ }), ); + console.log('surat', surat) + useShallowEffect(() => { mutate(); }, []); const uploadPdf = async () => { try { + console.log('upload function' + data) if (data && data.data && data.data.surat && (data.data.surat.file == "" || data.data.surat.file == null)) { + console.log('upload if') setUploading({ text: "Mengupload", value: 75 }); const element = hiddenRef.current; const canvas = await html2canvas(element, { @@ -95,10 +99,20 @@ export default function ModalSurat({ filename: resImg.data?.filename!, }); - setUploading({ text: "Selesai", value: 100 }); - setTimeout(() => { - onClose(resUpdate.data?.link); - }, 1000) + if (resUpdate?.data?.success) { + setUploading({ text: "Selesai", value: 100 }); + setTimeout(() => { + onClose({ success: true, data: resUpdate.data?.link }); + }, 1000) + } else { + setUploading({ text: "Gagal", value: 100 }); + setTimeout(() => { + onClose({ success: false, data: "" }); + }, 1000) + } + + + console.log('upload else') } } catch (error) { @@ -107,8 +121,11 @@ export default function ModalSurat({ } useShallowEffect(() => { + console.log('jalan') if (open) { + console.log('open') setTimeout(() => { + console.log('upload-timeout') uploadPdf(); }, 5000); } diff --git a/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx b/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx index f2ba04a..c3debc0 100644 --- a/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx +++ b/src/pages/scr/dashboard/pelayanan-surat/detail_pelayanan_page.tsx @@ -128,6 +128,8 @@ function DetailDataPengajuan({ const [loadingUpdate, setLoadingUpdate] = useState(false) const [loadingFS, setLoadingFS] = useState({ value: false, text: "" }) + console.log('data nya', data) + useEffect(() => { async function fetchHost() { const { data } = await apiFetch.api.user.find.get(); @@ -460,12 +462,14 @@ function DetailDataPengajuan({ )} + + {/* MODAL PREVIEW SURAT */} {data?.status == "selesai" && !data?.fileSurat && ( { setOpenedPreview(false) - setUploading({ ok: true, file: val }) + setUploading({ ok: val.success, file: val.data }) }} surat={data?.idSurat} /> @@ -637,18 +641,31 @@ function DetailDataPengajuan({ Setujui - ) : data?.status === "selesai" ? ( - - - - ) : ( - <> - )} + ) : data?.status === "selesai" ? + !data?.fileSurat ? + ( + + + + ) + : + ( + + + + ) : ( + <> + )} diff --git a/src/server/routes/pelayanan_surat_route.ts b/src/server/routes/pelayanan_surat_route.ts index b90c280..ffa05e7 100644 --- a/src/server/routes/pelayanan_surat_route.ts +++ b/src/server/routes/pelayanan_surat_route.ts @@ -269,6 +269,8 @@ const PelayananRoute = new Elysia({ } }) + console.log('data surat', dataSurat, data.id) + const dataSyarat = await prisma.syaratDokumenPelayanan.findMany({ where: { idPengajuanLayanan: data?.id, @@ -400,6 +402,8 @@ const PelayananRoute = new Elysia({ dataText: dataTextFix, } + console.log('data fix', datafix) + return datafix }, { query: t.Object({