import React, { useMemo } from 'react'; import { useTable, useSortBy } from 'react-table'; import { DelegStakingPortfolioStats } from '../util/interface'; import { getAddressLink, convertQaToCommaStr, convertQaToZilFull } from '../util/utils'; import ReactTooltip from 'react-tooltip'; import Spinner from './spinner'; import { PromiseArea } from '../util/enum'; import { useAppSelector } from '../store/hooks'; function Table({ columns, data }: any) { const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, } = useTable( { columns, data, initialState : { pageIndex: 0, sortBy: [ { id: 'delegAmt', desc: true } ] } }, useSortBy); return ( {headerGroups.map(headerGroup => ( {headerGroup.headers.map(column => ( ))} ))} {rows.map((row, i) => { prepareRow(row) return ( {row.cells.map(cell => { return })} ) })}
{column.render('Header')}
{cell.render('Cell')}
); } function ExplorerStakingPortfolio(props: any) { const data: DelegStakingPortfolioStats[] = props.data; const networkURL = useAppSelector(state => state.blockchain.blockchain); const columns = useMemo( () => [ { Header: 'name', accessor: 'ssnName', }, { Header: 'address', accessor: 'ssnAddress', Cell: ({ row }: any) => {row.original.ssnAddress} }, { Header: 'deposit (ZIL)', accessor: 'delegAmt', Cell: ({ row }: any) => {convertQaToCommaStr(row.original.delegAmt)} }, { Header: 'rewards (ZIL)', accessor: 'rewards', Cell: ({ row }: any) => <> {convertQaToCommaStr(row.original.rewards)} }, ], [networkURL] ); return ( <> { data.length === 0 &&
No information found.
} { data.length > 0 && } ); } export default ExplorerStakingPortfolio;