import React from "react"; import { useTable, HeaderGroup, Row, Cell } from "react-table"; import { TransactionDetails } from "src/typings/api"; import { DsBlockObj, TxBlockObj, TransactionStatus, } from "@zilliqa-js/core/src/types"; import "./DisplayTable.css"; interface IDisplayTableParams { // TODO: Work out the correct type to put here columns: any; // Column[]; data: T[]; } // React Table for DSBlocks, TxBlocks and TransactionDetails on Dashboard const DisplayTable: React.FC< IDisplayTableParams< DsBlockObj | TxBlockObj | TransactionDetails | TransactionStatus > > = ({ columns, data }) => { const { getTableProps, headerGroups, rows, prepareRow } = useTable< DsBlockObj | TxBlockObj | TransactionDetails | TransactionStatus >({ columns, data, }); return (
{headerGroups.map( ( headerGroup: HeaderGroup< DsBlockObj | TxBlockObj | TransactionDetails | TransactionStatus > ) => ( {headerGroup.headers.map((column) => ( ))} ) )} {rows.map( ( row: Row< DsBlockObj | TxBlockObj | TransactionDetails | TransactionStatus > ) => { prepareRow(row); return ( {row.cells.map( ( cell: Cell< | DsBlockObj | TxBlockObj | TransactionDetails | TransactionStatus > ) => { return ( ); } )} ); } )}
{column.render("Header")}
{cell.render("Cell")}
); }; export default DisplayTable;