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 } from '@/components/ui/card'; import { Table, TableBody, TableCell, TableRow } from '@/components/ui/table'; import DashboardLayout from '@/layouts/dashboard/layout'; import { Head } from '@inertiajs/react'; import { SortingState, flexRender, getCoreRowModel, getFilteredRowModel, getSortedRowModel, useReactTable } from '@tanstack/react-table'; import { Plus } from 'lucide-react'; import * as React from 'react'; import CouponForm from './coupon-form'; import CouponTableColumns from './coupon-table-columns'; interface Props { exams: Exam[]; coupons: Pagination; } const CouponsIndex = ({ coupons, exams }: Props) => { const [sorting, setSorting] = React.useState([]); const table = useReactTable({ data: coupons.data, columns: CouponTableColumns({ exams }), onSortingChange: setSorting, getCoreRowModel: getCoreRowModel(), getSortedRowModel: getSortedRowModel(), getFilteredRowModel: getFilteredRowModel(), state: { sorting }, }); return ( <>

Exam Coupons

Manage discount coupons for your exams

Add Coupon } />
{table.getRowModel().rows?.length ? ( table.getRowModel().rows.map((row) => ( {row.getVisibleCells().map((cell) => ( {flexRender(cell.column.columnDef.cell, cell.getContext())} ))} )) ) : ( No coupons found. )}
); }; CouponsIndex.layout = (page: React.ReactNode) => {page}; export default CouponsIndex;