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
|
|
|
);
|
|
|
|
};
|