import "./styles.sass"; import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; import {faHourglassHalf} from "@fortawesome/free-solid-svg-icons"; import {GroupContext} from "@/common/contexts/GroupContext.jsx"; import {useContext, useEffect, useState} from "react"; import {socket} from "@/common/utils/socket.js"; import {Navigate} from "react-router"; import Sound from "react-sound"; import BackgroundMusic from "@/common/sounds/background.mp3"; import {MusicContext} from "@/common/contexts/MusicContext.jsx"; export const Waiting = ({setState}) => { const {groups, handleRound} = useContext(GroupContext); if (groups.length <= 1) return ; const [readyGroups, setReadyGroups] = useState([]); const [firstHint, setFirstHint] = useState(true); const {musicEnabled} = useContext(MusicContext); useEffect(() => { socket.on("RECEIVED", (submission) => { handleRound(submission); setReadyGroups(groups => [...groups, submission.id]); }); const interval = setInterval(() => { setFirstHint(current => !current); }, 15000); socket.emit("SUBMISSION_READY"); return () => { socket.off("RECEIVED"); clearInterval(interval); } }, []); useEffect(() => { if (readyGroups.length === groups.length) { setState("calculate"); } }, [readyGroups]); const getFriendlyNames = () => { let notReady = groups.filter(group => !readyGroups.includes(group.id)); let names = notReady.map(group => group.name); if (names.length === 0) { setState("calculate"); return; } if (names.length === 1) return {names[0]}; let last = names.pop(); return <>{names.join(", ")} und {last}; } return (

Warten auf {getFriendlyNames()}

{firstHint && <>

Deine Firma

Wie auch im echten Leben fallen deiner Firma Produktionskosten an.

Hier fallen pro Runde Fixkosten von 4000€ an.

Jede Kuchenkiste kostet dich zusätzlich 1000€ in der Produktion.

Verkaufe also niemals zu günstig, sonst machst du Verluste.

} {!firstHint && <>

Die Nachfrage

Die Nachfrage berechnet sich aus dem Durchschnittspreis.

Bei weniger als 1800€ liegt die Nachfrage bei 50.

Ist er über 1800€ liegt die Nachfrage bei 40.

Bei mehr als 2200€ liegt die Nachfrage bei 30.

}
); }