import { type FC, useState } from 'react' import PageTitle from '../../components/PageTitle' import { useGetPayments } from './hooks/usePaymentData' import { type Payment } from './types/Types' import PageLoading from '../../components/PageLoading' import Error from '../../components/Error' import PaginationUi from '../../components/PaginationUi' import Td from '../../components/Td' import StatusWithText from '../../components/StatusWithText' import { Calendar, User as UserIcon, Card } from 'iconsax-react' const PaymentList: FC = () => { const [currentPage, setCurrentPage] = useState(1); const { data: paymentsData, isLoading, error } = useGetPayments(currentPage); if (isLoading) { return (
); } if (error) { return (
); } const payments = paymentsData?.results?.payments || []; const pager = paymentsData?.results?.pager; const getStatusVariant = (status: string) => { switch (status.toLowerCase()) { case 'success': case 'successful': return 'success'; case 'failed': case 'failure': return 'error'; case 'pending': return 'warning'; case 'processing': return 'warning'; default: return 'warning'; } }; const getStatusText = (status: string) => { switch (status.toLowerCase()) { case 'success': case 'successful': return 'موفق'; case 'failed': case 'failure': return 'ناموفق'; case 'pending': return 'در انتظار'; case 'processing': return 'در حال پردازش'; default: return status; } }; const formatPrice = (price: number) => { return `${price.toLocaleString('fa-IR')} تومان`; }; return (
{payments.length === 0 ? ( ) : ( payments.map((payment: Payment) => ( )) )}
هیچ پرداختی یافت نشد
{payment.user?.fullName || '-'}
{payment.transaction_id || '-'}
{payment.createdAt}
{ setCurrentPage(page); }} />
) } export default PaymentList