1
0

Added the company capital to the Join.jsx

This commit is contained in:
Mathias Wagner 2023-11-19 01:34:02 +01:00
parent 242b336ac5
commit 3c4a3fe9ec
Signed by: Mathias
GPG Key ID: B8DC354B0A1F5B44

View File

@ -4,15 +4,28 @@ import Code from "@/pages/Join/states/Code";
import {socket} from "@/common/utils/socket.js"; import {socket} from "@/common/utils/socket.js";
import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome";
import {faHourglassHalf} from "@fortawesome/free-solid-svg-icons"; import {faHourglassHalf} from "@fortawesome/free-solid-svg-icons";
import Input from "@/pages/Join/states/Input/index.js"; import Input from "@/pages/Join/states/Input";
const localeOptions = {
style: "decimal",
minimumFractionDigits: 2,
maximumFractionDigits: 2,
signDisplay: "never"
}
export const Join = () => { export const Join = () => {
const [state, setState] = useState("join"); const [state, setState] = useState("join");
const [capital, setCapital] = useState(25000);
const handleEnd = () => { const handleEnd = () => {
setState("end"); setState("end");
} }
const onCapitalChange = (data) => {
setCapital(data.capital);
}
const onSubmissionReady = () => { const onSubmissionReady = () => {
setState("input"); setState("input");
} }
@ -20,15 +33,20 @@ export const Join = () => {
useEffect(() => { useEffect(() => {
socket.on("disconnect", handleEnd); socket.on("disconnect", handleEnd);
socket.on("SUBMISSION_READY", onSubmissionReady); socket.on("SUBMISSION_READY", onSubmissionReady);
socket.on("CAPITAL", onCapitalChange);
return () => { return () => {
socket.off("disconnect", handleEnd); socket.off("disconnect", handleEnd);
socket.off("SUBMISSION_READY", onSubmissionReady); socket.off("SUBMISSION_READY", onSubmissionReady);
socket.off("CAPITAL", onCapitalChange);
} }
}, []); }, []);
return ( return (
<div className="join-page"> <div className="join-page">
<div className="glassy capital">
<h2>Firmenkapital: {capital.toLocaleString("de-DE", localeOptions)} </h2>
</div>
{state === "join" && <Code setState={setState}/>} {state === "join" && <Code setState={setState}/>}
{state === "waiting" && <FontAwesomeIcon icon={faHourglassHalf} bounce className="waiting-icon" /> } {state === "waiting" && <FontAwesomeIcon icon={faHourglassHalf} bounce className="waiting-icon" /> }
{state === "input" && <Input setState={setState}/>} {state === "input" && <Input setState={setState}/>}