All files / components/Leaderboard LeaderboardTable.jsx

100% Statements 63/63
100% Branches 8/8
100% Functions 8/8
100% Lines 63/63

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 691x 1x   1x 1x 13x 13x 13x 13x   13x 13x 13x 13x 18x 18x 18x 13x 13x 13x 13x 13x 24x 24x   24x 13x 13x 13x 13x 13x 24x 24x 13x 13x 13x 13x 13x 24x 24x 13x 13x 13x 13x 13x 24x 24x 13x 13x 13x 13x 13x 24x 24x 13x 13x 13x 13x 13x 24x 24x 13x 13x   13x   13x 13x  
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",
      accessor: "totalWealth",
      Cell: (props) => {
        return (
          <div style={{ textAlign: "right" }}>{USD.format(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} />;
}