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

30 lines
820 B
TypeScript
Raw Normal View History

import * as React from "react";
import { numeralWrapper } from "../../ui/numeralFormat";
import { IPlayer } from "../../PersonObjects/IPlayer";
interface IProps {
2021-09-05 01:09:30 +02:00
money: number | string;
player?: IPlayer;
}
export function Money(props: IProps): JSX.Element {
2021-09-05 01:09:30 +02:00
if (props.player !== undefined) {
if (typeof props.money !== "number")
throw new Error(
"if player if provided, money should be number, contact dev",
);
if (!props.player.canAfford(props.money))
return (
<span className={"unbuyable samefont"}>
{numeralWrapper.formatMoney(props.money)}
</span>
);
}
return (
<span className={"money-gold samefont"}>
{typeof props.money === "number"
? numeralWrapper.formatMoney(props.money)
: props.money}
</span>
);
}