Update HospitalLocation.tsx

This commit is contained in:
borisflagell 2022-10-14 13:59:56 +03:00
parent 6c84d64e67
commit 1b61ec0e12

@ -12,29 +12,18 @@ import { getHospitalizationCost } from "../../Hospital/Hospital";
import { Money } from "../../ui/React/Money";
import { dialogBoxCreate } from "../../ui/React/DialogBox";
import { useState } from "react";
type IState = {
currHp: number;
};
//Todo: Make this a functional component
export class HospitalLocation extends React.Component<Record<string, never>, IState> {
export function HospitalLocation(): React.ReactElement {
/** Stores button styling that sets them all to block display */
btnStyle = { display: "block" };
const btnStyle = { display: "block" };
constructor() {
super({});
this.state = {
currHp: Player.hp.current,
};
const setRerender = useState(false)[1];
function rerender(): void {
setRerender((old) => !old);
}
getCost(): number {
return getHospitalizationCost();
}
getHealed(e: React.MouseEvent<HTMLElement>): void {
function getHealed(e: React.MouseEvent<HTMLElement>): void {
if (!e.isTrusted) {
return;
}
@ -46,14 +35,12 @@ export class HospitalLocation extends React.Component<Record<string, never>, ISt
return;
}
const cost = this.getCost();
const cost = getHospitalizationCost();
Player.loseMoney(cost, "hospitalization");
Player.hp.current = Player.hp.max;
// This just forces a re-render to update the cost
this.setState({
currHp: Player.hp.current,
});
rerender();
dialogBoxCreate(
<>
@ -62,13 +49,9 @@ export class HospitalLocation extends React.Component<Record<string, never>, ISt
);
}
render(): React.ReactNode {
const cost = this.getCost();
return (
<Button onClick={this.getHealed} style={this.btnStyle}>
Get treatment for wounds - <Money money={cost} forPurchase={true} />
</Button>
);
}
return (
<Button onClick={getHealed} style={btnStyle}>
Get treatment for wounds - <Money money={getHospitalizationCost()} forPurchase={true} />
</Button>
);
}