'use client'; import { FunctionComponent } from 'react'; import { useLocale, useTranslations } from 'next-intl'; import { Skeleton, Stack, Typography } from '@mui/material'; import { AppButton, EmptyState, ErrorState, Money, SurfaceCard } from '@/components'; import { bookingInvoicePath } from '@/constants'; import { formatShamsiDateTime } from '@/utils'; import { useWalletHistoryRows } from './useWalletHistoryRows'; /** * The wallet «رسیدها» section — no receipts endpoint exists; every succeeded, booking-linked payment * (card or BNPL down-payment) derives its invoice deep-link client-side (a UI join over the same rows the * «پرداخت‌ها» tab renders, filtered to `succeeded` + a known `bookingId` — no money math). */ const WalletReceipts: FunctionComponent = () => { const t = useTranslations('bnpl'); const tp = useTranslations('payment'); const tc = useTranslations('common'); const locale = useLocale(); const { rows, isLoading, bothErrored, refetch } = useWalletHistoryRows(); if (isLoading) { return ( ); } if (bothErrored) { return ; } const receipts = rows.filter((row) => row.status === 'succeeded' && row.bookingId != null); if (receipts.length === 0) { return ; } return ( {receipts.map((row) => ( {formatShamsiDateTime(row.createdAt, locale)} {tp('view_invoice_cta')} ))} ); }; export default WalletReceipts;