import React, {MouseEvent, useState} from 'react'; import {Input, Button, Card, Col, InputNumber, Row, Space, Divider} from "antd" import { red } from '@ant-design/colors'; import connection, {useIsConnected, useRoom} from "../lib/Connection"; import "../css/lobby.sass"; import beer from "../img/beer.png" const Lobby = (props: any) => { const [seekTime, setSeekTime] = useState(0); const [selectedRoomId, setSelectedRoomId] = useState(1); const [joiningLobby, setJoiningLobby] = useState(false); const [joinLobbyError, setJoinLobbyError] = useState(false); const isConnected = useIsConnected(); const room = useRoom(); let isLeader = room?.isLeader || false; let userCount = room?.userCount || 0; function handleRequestStartClicked(e: MouseEvent) { e.preventDefault(); connection.requestStart(); } function handleJoin(e: MouseEvent) { // connection.requestStart(); } function applyRoomId(v: number) { connection.requestJoin(v).then(v => { setJoiningLobby(false); setJoinLobbyError(!v); }) setJoiningLobby(true) } function joinRandomLobby() { connection.requestJoinRandom() setJoinLobbyError(false); } // const {socket} = useSocket("welcome", async (obj: any) => { // if (lobbyQueryId) { // // lobbyId is already defined, this means we have a queryparam set. // await onChangeLobbyInput(lobbyQueryId); // return; // } // console.log("Got welcome", lobbyQueryId); // // setLobbyId(obj.room.name); // setIsLeader(socket.id === obj.room.leaderId); // setUserCount(obj.room.users?.length || 0); // }); // const socketRef = useRef(socket); async function onChangeRoomInput(i: any) { // setLobbyId(i); // const result: any = await emit(connection.socket, 'join_room', i); // setIsLeader(connection.socket.id === result.room.leaderId); // setUserCount(result.room.users?.length || 0); // connection.requestJoin(i); } // useEffect(() => { // async function wrapper() { // const result: any = await emit(connection.current, 'room_info'); // setIsLeader(connection.current.id === result.room.leaderId); // setUserCount(result.room.users?.length || 0); // } // // wrapper(); // }, []); return (
beer
Centurion! beer
Honderd minuten...
Honderd shots...
Kun jij het aan?

{!isConnected &&

Verbinden...

} {isConnected &&

Huidige lobby: {room?.id || 'Geen lobby'}

{userCount === 1 ?

Er is één gebruiker aanwezig.

:

Er zijn {userCount} gebruikers aanwezig.

}

{isLeader ? 'Jij bent de baas van deze lobby.' : 'Wachten tot de baas de mix start.'}

{isLeader && Start de mix op setSeekTime(parseInt(v.target.value) || 0)}/> } {isLeader ? : } setSelectedRoomId(v || 0)}/> {joinLobbyError && Die lobby bestaat niet } of
}
); }; export default Lobby;