'use client'; import { FunctionComponent } from 'react'; import { useLocale, useTranslations } from 'next-intl'; import { Skeleton, Stack, Typography } from '@mui/material'; import { AppLink, EmptyState, ErrorState } from '@/components'; import RefundStatusCard from '@/components/RefundStatusCard'; import { bookingRefundStatusPath } from '@/constants'; import { useMyRefunds } from '@/services/refunds'; /** * The wallet «استردادها» section — every refund the customer owns (REQ-048), each rendered via the shared * `RefundStatusCard` (step timeline + amount + per-channel ETA) with a link back to its booking. */ const WalletRefunds: FunctionComponent = () => { const t = useTranslations('refunds'); const tw = useTranslations('bnpl'); const tc = useTranslations('common'); const locale = useLocale(); const { data: refunds, isLoading, isError, refetch } = useMyRefunds(); if (isLoading) { return ( ); } if (isError) { return refetch()} />; } if (!refunds || refunds.length === 0) { return ; } return ( {refunds.map((refund) => ( {t('wallet_booking_label', { id: refund.bookingId })} {t('view_refund_status')} ))} ); }; export default WalletRefunds;