"use client"; import { useState } from "react"; import { useSearchParams, useRouter } from "next/navigation"; import { Button, Dialog, DialogTitle, DialogContent, DialogActions, FormControl, Select, MenuItem, FormControlLabel, Checkbox, Stack, Paper, TextField, } from "@mui/material"; import FileUploadIcon from "@mui/icons-material/FileUpload"; import { DataGrid } from "@mui/x-data-grid"; import AdvancedSearch from "../../AdvancedSearch/AdvancedSearch"; import SearchFilters from "@/app/components/searchFilter/SearchFilters"; import { exportData } from "@/app/utils/exportData"; import { ITransaction } from "./types"; const paginationModel = { page: 0, pageSize: 50 }; interface IDepositProps { res: ITransaction } const TransactionsTable = ({ res }: IDepositProps) => { const {filteredTransactions, transactionsColumns, transactionsSearchLabels} = res; const router = useRouter() const searchParams = useSearchParams() const [open, setOpen] = useState(false); const [fileType, setFileType] = useState<"csv" | "xls" | "xlsx">("csv"); const [onlyCurrentTable, setOnlyCurrentTable] = useState(false); const filters = Object.fromEntries(searchParams.entries()); const handleClickField = (field: string, value: string) => { const params = new URLSearchParams(searchParams.toString()) params.set(field, value) router.push(`?${params.toString()}`) router.refresh() }; return ( console.log(`setSearchQuery(${e.target.value})`)} sx={{ width: 300 }} /> { handleClickField(params.field, params.value as string) }} /> {/* Export Dialog */} setOpen(false)}> Export Transactions setOnlyCurrentTable(e.target.checked)} /> } label="Only export the results in the current table" sx={{ mt: 2 }} /> ); } export default TransactionsTable