/* eslint-disable react-hooks/exhaustive-deps */ import { BaseBox, Grid, LoaderCustom, OS_Wrapper, Spacing, StackCustom, TextCustom, } from "@/components"; import { MainColor } from "@/constants/color-palet"; import { PADDING_INLINE } from "@/constants/constans-value"; import { usePagination } from "@/hooks/use-pagination"; import { apiDonationListOfDonaturById } from "@/service/api-client/api-donation"; import { formatCurrencyDisplay } from "@/utils/formatCurrencyDisplay"; import { FontAwesome6 } from "@expo/vector-icons"; import dayjs from "dayjs"; import { RefreshControl } from "react-native"; import { createPaginationComponents } from "@/helpers/paginationHelpers"; import { PAGINATION_DEFAULT_TAKE } from "@/constants/constans-value"; interface Donation_ScreenListOfDonaturProps { donationId: string; } export default function Donation_ScreenListOfDonatur({ donationId, }: Donation_ScreenListOfDonaturProps) { const pagination = usePagination({ fetchFunction: async (page) => { return await apiDonationListOfDonaturById({ id: donationId, page: String(page), }); }, pageSize: PAGINATION_DEFAULT_TAKE, // Sesuaikan dengan jumlah item per halaman dari API dependencies: [donationId], }); const renderItem = ({ item, index }: { item: any; index: number }) => ( {item?.Author?.username || "-"} Berdonas sebesar Rp. {formatCurrencyDisplay(item?.nominal)} {dayjs(item?.createdAt).format("DD MMM YYYY, HH:mm")} ); const { ListEmptyComponent, ListFooterComponent } = createPaginationComponents({ loading: pagination.loading, refreshing: pagination.refreshing, listData: pagination.listData, isInitialLoad: pagination.isInitialLoad, emptyMessage: "Belum ada donatur", skeletonCount: PAGINATION_DEFAULT_TAKE, skeletonHeight: 120, }); return ( } /> ); }