/* eslint-disable react-hooks/exhaustive-deps */ import { BaseBox, ButtonCenteredOnly, Grid, InformationBox, LoaderCustom, StackCustom, TextCustom, ViewWrapper, } from "@/components"; import { apiDonationDisbursementOfFundsListById, apiDonationGetOne, } from "@/service/api-client/api-donation"; import { formatCurrencyDisplay } from "@/utils/formatCurrencyDisplay"; import dayjs from "dayjs"; import { router, useFocusEffect, useLocalSearchParams } from "expo-router"; import _ from "lodash"; import React, { useState } from "react"; export default function DonationFundDisbursement() { const { id } = useLocalSearchParams(); const [data, setData] = useState({ totalPencairan: 0, akumulasiPencairan: 0, }); const [listData, setListData] = React.useState(null); const [loadData, setLoadData] = React.useState(false); useFocusEffect( React.useCallback(() => { onLoadData(); }, [id]) ); const onLoadData = async () => { try { setLoadData(true); const responseData = await apiDonationGetOne({ id: id as string, category: "permanent", }); if (responseData.success) { setData({ totalPencairan: responseData.data.totalPencairan, akumulasiPencairan: responseData.data.akumulasiPencairan, }); } const responseList = await apiDonationDisbursementOfFundsListById({ id: id as string, }); if (responseList.success) { setListData(responseList.data); } } catch (error) { console.log("[ERROR]", error); } finally { setLoadData(false); } }; return ( <> Rp. {formatCurrencyDisplay(data?.totalPencairan)} Total Pencairan Dana {data?.akumulasiPencairan} kali Akumulasi Pencairan {loadData ? ( ) : _.isEmpty(listData) ? ( Belum ada data ) : ( listData?.map((item, index) => ( {item?.title} {dayjs(item?.createdAt).format("DD MMM YYYY")} {item?.deskripsi} { router.navigate(`/(application)/(image)/preview-image/${item?.imageId}`); }} icon="file-text" > Bukti Transaksi )) )} ); }