bitburner-src/src/ui/React/StatsRow.tsx

44 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-03-12 22:49:07 +01:00
import React from "react";
2022-04-07 01:30:08 +02:00
import { Typography, TableCell, TableRow } from "@mui/material";
2022-03-12 22:49:07 +01:00
import { numeralWrapper } from "../numeralFormat";
import { formatNumber } from "../../utils/StringHelperFunctions";
import { characterOverviewStyles as useStyles } from "./CharacterOverview";
interface ITableRowData {
content?: string;
level?: number;
exp?: number;
}
interface IProps {
name: string;
color: string;
classes?: any;
data: ITableRowData;
}
export const StatsRow = ({ name, color, classes = useStyles(), data }: IProps): React.ReactElement => {
let content;
if (data.content !== undefined) {
content = data.content;
} else if (data.level !== undefined && data.exp !== undefined) {
content = `${formatNumber(data.level, 0)} (${numeralWrapper.formatExp(data.exp)} exp)`;
} else if (data.level !== undefined && data.exp === undefined) {
content = `${formatNumber(data.level, 0)}`;
}
return (
<TableRow>
<TableCell classes={{ root: classes.cellNone }}>
<Typography style={{ color: color }}>{name}</Typography>
</TableCell>
<TableCell align="right" classes={{ root: classes.cellNone }}>
2022-04-07 01:30:08 +02:00
<Typography style={{ color: color }}>{content}</Typography>
2022-03-12 22:49:07 +01:00
</TableCell>
</TableRow>
2022-04-07 01:30:08 +02:00
);
};