(
donatur.data
@@ -323,7 +368,7 @@ function TampilanListDonatur({
|
-
+
|
@@ -345,12 +390,13 @@ function TampilanListDonatur({
{e?.donasiMaster_StatusInvoiceId === "1" ||
e?.donasiMaster_StatusInvoiceId === "2" ? (
@@ -496,6 +542,7 @@ function ButtonAccept({
onSuccessDonatur: (val: any) => void;
}) {
const [opened, { open, close }] = useDisclosure(false);
+ const [isLoading, setIsLoading] = useState(false);
async function onAccept() {
let nominalDonasi = nominal;
@@ -510,6 +557,7 @@ function ButtonAccept({
target: target,
});
if (updateStatus.status == 200) {
+ setIsLoading(true);
const dataNotif = {
appId: updateStatus.data?.id,
userId: updateStatus.data?.authorId,
@@ -569,10 +617,11 @@ function ButtonAccept({
});
onSuccessDonatur(updatelistDonatur);
ComponentAdminGlobal_NotifikasiBerhasil(updateStatus.message);
+ setIsLoading(false);
} else {
ComponentAdminGlobal_NotifikasiGagal(updateStatus.message);
+ setIsLoading(false);
}
-
close();
}
@@ -592,13 +641,17 @@ function ButtonAccept({
{`${"Anda yakin sudah melihat bukti transfer ?"}`}
+ >{`${"Anda sudah melihat bukti transfer dan yakin menerima donasi ini ?"}`}
@@ -120,14 +122,82 @@ function FormView({
});
const [nilaiNominal, setNilaiNominal] = useState(0);
const [isOver, setIsOver] = useState(false);
+ const [isLoading, setIsLoading] = useState(false);
const terkumpul = toNumber(danaTerkumpul);
const sisaDana = terkumpul - totalPencairan;
+ async function onSave() {
+ const body = {
+ donasiId: donasiId,
+ nominalCair: nilaiNominal,
+ title: value.title,
+ deskripsi: value.deskripsi,
+ };
+
+ if (_.values(body).includes(""))
+ return ComponentAdminGlobal_NotifikasiPeringatan("Lengkapi Data");
+
+ const uploadImage = await funGlobal_UploadToStorage({
+ file: file as File,
+ dirId: DIRECTORY_ID.donasi_bukti_trf_pencairan_dana,
+ });
+ if (!uploadImage.success)
+ return ComponentAdminGlobal_NotifikasiPeringatan(
+ "Gagal upload file gambar"
+ );
+
+ const res = await AdminDonasi_funCreatePencairanDana({
+ data: body as any,
+ fileId: uploadImage.data.id,
+ });
+ if (res.status === 200) {
+ setIsLoading(true);
+ const res2 = await AdminDonasi_AkumulasiPencairanById(
+ body.donasiId as any,
+ body.nominalCair as any
+ );
+ if (res2.status === 200) {
+ const loadData = await AdminDonasi_getOneById(donasiId);
+ onSuccess(loadData);
+
+ const dataNotif = {
+ appId: loadData?.id,
+ userId: loadData?.authorId,
+ pesan: loadData?.title as any,
+ status: "Pencairan Dana",
+ kategoriApp: "DONASI",
+ title: "Dana donasi berhasil dicairkan",
+ };
+
+ const notif = await adminNotifikasi_funCreateToUser({
+ data: dataNotif as any,
+ });
+
+ if (notif.status === 201) {
+ mqtt_client.publish(
+ "USER",
+ JSON.stringify({ userId: loadData?.authorId, count: 1 })
+ );
+ }
+
+ ComponentAdminGlobal_NotifikasiBerhasil(res2.message);
+ router.back();
+ setIsLoading(false);
+ } else {
+ ComponentAdminGlobal_NotifikasiGagal(res2.message);
+ setIsLoading(false);
+ }
+ } else {
+ ComponentAdminGlobal_NotifikasiGagal(res.message);
+ setIsLoading(false);
+ }
+ }
+
return (
<>
-
+
Form Pencairan Dana
@@ -186,18 +256,28 @@ function FormView({
});
}}
/>
- |