Correction ajout salle

This commit is contained in:
NouhailaAater 2025-02-21 22:51:42 -05:00
parent fd9f04d116
commit 5f87aa1b7a

View file

@ -88,9 +88,8 @@ const ManageRoom: React.FC = () => {
const updatedRooms = await ApiService.getUserRooms(); const updatedRooms = await ApiService.getUserRooms();
setRooms(updatedRooms as RoomType[]); setRooms(updatedRooms as RoomType[]);
if (createdRoom && createdRoom) { if (createdRoom) {
setSelectedRoomId(createdRoom); setSelectedRoomId(createdRoom);
setRoomName(createdRoom);
} }
setOpenDialog(false); setOpenDialog(false);
setNewRoomTitle(''); setNewRoomTitle('');
@ -171,35 +170,49 @@ const ManageRoom: React.FC = () => {
const createWebSocketRoom = () => { const createWebSocketRoom = () => {
console.log('Creating WebSocket room...'); console.log('Creating WebSocket room...');
setConnectingError(''); setConnectingError('');
const targetRoom = rooms.find((room) => room._id === selectedRoomId) || rooms[0]; const handleRoomCreation = (socket: Socket, roomToCreate?: string) => {
if (!targetRoom) { socket.on('connect', () => {
setConnectingError('Aucune salle disponible'); if (roomToCreate) {
return; webSocketService.createRoom(roomToCreate);
} else {
socket.emit("create-room");
}
});
socket.on('create-success', (createdRoomName: string) => {
console.log('Salle créée/jointe:', createdRoomName);
setRoomName(createdRoomName);
});
socket.on('create-failure', (errorMessage: string) => {
setConnectingError(errorMessage);
console.error('Erreur création salle:', errorMessage);
});
};
if (rooms.length === 0) {
console.log('Tentative de création de salle automatique...');
const newSocket = webSocketService.connect(ENV_VARIABLES.VITE_BACKEND_SOCKET_URL);
handleRoomCreation(newSocket);
setSocket(newSocket);
} else {
const targetRoom = rooms.find((room) => room._id === selectedRoomId) || rooms[0];
if (!targetRoom) {
setConnectingError('Aucune salle disponible');
return;
}
console.log('Utilisation de la salle:', targetRoom.title);
const newSocket = webSocketService.connect(ENV_VARIABLES.VITE_BACKEND_SOCKET_URL);
handleRoomCreation(newSocket, targetRoom.title);
setSocket(newSocket);
} }
console.log('Création WebSocket pour:', targetRoom.title); socket?.on('connect_error', (error) => {
const socket = webSocketService.connect(ENV_VARIABLES.VITE_BACKEND_SOCKET_URL); setConnectingError('Erreur de connexion au serveur...');
console.error('Connection error:', error);
socket.on('connect', () => {
webSocketService.createRoom(targetRoom.title);
setRoomName(targetRoom.title);
}); });
socket.on('connect_error', (error) => {
setConnectingError('Erreur lors de la connexion... Veuillez réessayer');
console.error('ManageRoom: WebSocket connection error:', error);
});
socket.on('create-success', (roomName: string) => {
console.log('create-success', roomName);
setRoomName(roomName);
});
socket.on('create-failure', () => {
console.log('Error creating room.');
});
setSocket(socket);
}; };
useEffect(() => { useEffect(() => {