import TableFilter from '@/components/table/table-filter'; import TableFooter from '@/components/table/table-footer'; import TableHeader from '@/components/table/table-header'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardTitle } from '@/components/ui/card'; import { Table, TableBody, TableCell, TableRow } from '@/components/ui/table'; import DashboardLayout from '@/layouts/dashboard/layout'; import { SharedData } from '@/types/global'; import { flexRender, getCoreRowModel, getFilteredRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table'; import { CircleDollarSign, DollarSign, Plus, Wallet } from 'lucide-react'; import { ReactNode } from 'react'; import TableColumn from './partials/payouts-table-columns'; import WithdrawForm from './partials/withdraw-form'; interface Props extends SharedData { payouts: Pagination; totalEarnings: number; totalPayouts: number; pendingPayouts: number; availableForWithdrawal: number; } const Index = (props: Props) => { const { payouts, totalEarnings, totalPayouts, pendingPayouts, availableForWithdrawal, translate } = props; const { dashboard, button, common } = translate; const table = useReactTable({ data: payouts.data, columns: TableColumn(props.translate), getCoreRowModel: getCoreRowModel(), getSortedRowModel: getSortedRowModel(), getFilteredRowModel: getFilteredRowModel(), }); return ( <>
{dashboard.total_earnings}

{totalEarnings} $

{dashboard.available}

{availableForWithdrawal} $

{dashboard.total_payout}

{totalPayouts} $

{dashboard.requested}

{pendingPayouts} $

{button.payout_request} } />
{table.getRowModel().rows?.length ? ( table.getRowModel().rows.map((row) => ( {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} )) ) : ( {common.no_results_found} )}
); }; Index.layout = (children: ReactNode) => {children}; export default Index;