import "./styles.sass"; import {useEffect, useState} from "react"; import Code from "@/pages/Join/states/Code"; import {socket} from "@/common/utils/socket.js"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import {faHourglassHalf} from "@fortawesome/free-solid-svg-icons"; import Input from "@/pages/Join/states/Input"; const localeOptions = { style: "decimal", minimumFractionDigits: 2, maximumFractionDigits: 2, signDisplay: "never" } export const Join = () => { const [state, setState] = useState("join"); const [capital, setCapital] = useState(25000); const handleEnd = () => { setState("end"); } const onCapitalChange = (data) => { setCapital(data.capital); } const onSubmissionReady = () => { setState("input"); } useEffect(() => { socket.on("disconnect", handleEnd); socket.on("SUBMISSION_READY", onSubmissionReady); socket.on("CAPITAL", onCapitalChange); return () => { socket.off("disconnect", handleEnd); socket.off("SUBMISSION_READY", onSubmissionReady); socket.off("CAPITAL", onCapitalChange); } }, []); return (

Firmenkapital: {capital.toLocaleString("de-DE", localeOptions)} €

{state === "join" && } {state === "waiting" && } {state === "input" && } {state === "end" &&

Ende

Das Spiel ist vorbei!

}
); }