All files / components/Leaderboard LeaderboardTable.js

100% Statements 13/13
100% Branches 0/0
100% Functions 9/9
100% Lines 13/13

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72          18x         18x       15x 15x             15x     15x             15x             15x             15x             15x             15x         18x   18x        
import OurTable from "main/components/OurTable";
import { Link } from "react-router-dom";
 
// should take in a players list from a commons
export default function LeaderboardTable({ leaderboardUsers }) {
    const USD = new Intl.NumberFormat("en-US", {
        style: "currency",
        currency: "USD",
    });
 
    const columns = [
        {
            Header: "Farmer",
            accessor: (row, _rowIndex) => {
                const url = `/admin/play/${row.commonsId}/user/${row.userId}`;
                return <Link to={url}>{row.username}</Link>;
            },
        },
        {
            Header: "Total Wealth",
            id: "totalWealth",
            accessor: (row, _rowIndex) => {
                return USD.format(row.totalWealth);
            },
            Cell: (props) => {
                return <div style={{ textAlign: "right" }}>{props.value}</div>;
            },
        },
        {
            Header: "Cows Owned",
            accessor: "numOfCows",
            Cell: (props) => {
                return <div style={{ textAlign: "right" }}>{props.value}</div>;
            },
        },
        {
            Header: "Cow Health",
            accessor: "cowHealth",
            Cell: (props) => {
                return <div style={{ textAlign: "right" }}>{props.value}</div>;
            },
        },
        {
            Header: "Cows Bought",
            accessor: "cowsBought",
            Cell: (props) => {
                return <div style={{ textAlign: "right" }}>{props.value}</div>;
            },
        },
        {
            Header: "Cows Sold",
            accessor: "cowsSold",
            Cell: (props) => {
                return <div style={{ textAlign: "right" }}>{props.value}</div>;
            },
        },
        {
            Header: "Cow Deaths",
            accessor: "cowDeaths",
            Cell: (props) => {
                return <div style={{ textAlign: "right" }}>{props.value}</div>;
            },
        },
    ];
 
    const testid = "LeaderboardTable";
 
    return (
        <OurTable data={leaderboardUsers} columns={columns} testid={testid} />
    );
}