fix : error surat

This commit is contained in:
2026-01-15 11:53:10 +08:00
parent 57e4f34eb6
commit 3da163ea1d
3 changed files with 57 additions and 19 deletions

View File

@@ -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<any>(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);
}