import { useRouter } from "next/router"; import { useContext, useEffect, useState } from "react"; import { useQuery } from "react-query"; import { delRoom, getRoom } from "../../requests/requests.room.js"; import CreateParcours from "./CreateParcours.jsx"; import Parcours from "./Parcours.jsx"; import ParcoursView from "./ParcoursView.jsx"; import RoomView from "./RoomView.jsx"; import { isBrowser, isEmpty } from "../../utils/utils.js"; import useReconnecting from "../../hooks/useReconnecting.jsx"; import useWebsocketConsumer from "../../hooks/useWebsocketConsumer.jsx"; import ParcoursEdit from "./ParcoursEdit.jsx"; import { useWebsocketContext } from "../../context/websocket.context.js"; import Correction from "./Correction.jsx"; import RoomEdit from "./roomEdit.jsx"; import Layout from "../Layout.js"; export default function RoomPage({ id_code, user }) { const [joined, setJoined] = useState(false); const router = useRouter(); const { ws, send, connect, addMessageHandler, removeMessageHandler, isConnected, } = useWebsocketContext(); useEffect(() => { if (isConnected == false && isBrowser) { connect("ws://192.168.1.18:8000/ws/room/" + id_code); send({ data: { type: "reconnect", clientId: sessionStorage.getItem("clientId"), }, }); } }, [isConnected]); return ( <> {ws == null && user == undefined && (
)} {isConnected == true&& user != undefined && ( <> {router.query.mode.length == 1 && ( )} {router.query.mode[1] == "new_parcours" && ( )} {router.query.mode.length == 3 && router.query.mode[2] == "challenge" && ( )} {router.query.mode.length == 3 && router.query.mode[2] == "correct" && router.query.c && ( )} {router.query.mode[2] == "edit" && router.query.mode.length == 3 && ( )} {router.query.mode[1] == "edit" && router.query.mode.length == 2 && ( )} {router.query.mode.length == 2 && router.query.mode[1] != "new_parcours" && router.query.mode[1] != "edit" && ( )} )} ); }