'use client'; import { format, subMonths } from 'date-fns'; import { ru } from 'date-fns/locale'; import { CalendarIcon } from 'lucide-react'; import { useEffect, useState } from 'react'; import { useFetchBonusTransactionsQuery } from '@/entities/bonus/api/bonus.api'; import { useTextController } from '@/shared/language/hooks/use-text-controller'; import { Button } from '@/shared/shadcn-ui/button'; import { Calendar } from '@/shared/shadcn-ui/calendar'; import { Label } from '@/shared/shadcn-ui/label'; import { Popover, PopoverContent, PopoverTrigger, } from '@/shared/shadcn-ui/popover'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow, } from '@/shared/shadcn-ui/table'; export const TransactionsTable = () => { const [startDate, setStartDate] = useState(subMonths(new Date(), 1)); const [endDate, setEndDate] = useState(new Date()); const { data, refetch } = useFetchBonusTransactionsQuery({ limit: 100, page: 1, start_date: format(startDate, 'yyyy-MM-dd'), end_date: format(endDate, 'yyyy-MM-dd'), }); // Filter transactions by date range const filterTransactions = () => { if (!startDate || !endDate) return; refetch(); }; const { t } = useTextController(); useEffect(() => {}, [startDate, endDate]); if (!data) return null; return (

{t('corporate.transactions.title')}

{t('corporate.transactions.tableHeaders.date')} {t('corporate.transactions.tableHeaders.station')} {t('corporate.transactions.tableHeaders.product')} {t('corporate.transactions.tableHeaders.quantity')} {t('corporate.transactions.tableHeaders.price')} {t('corporate.transactions.tableHeaders.total')} {data.transactions.length > 0 ? ( data.transactions.map((transaction) => ( {format(new Date(transaction.date_create), 'dd.MM.yyyy')} {transaction.station} {transaction.product_name} {transaction.price_real} {transaction.amount} {t('corporate.currency')} {transaction.sum_real} {t('corporate.currency')} )) ) : ( {t('corporate.transactions.noTransactions')} )}
); };