44 lines
1.2 KiB
JavaScript
44 lines
1.2 KiB
JavaScript
import React, { useState, useEffect } from "react";
|
||
import "../../assets/styles/room-list.css";
|
||
import { RoomBox } from "../../components/rooms/roomBox";
|
||
import { formatRoomStats } from "../../api/room";
|
||
|
||
// Fonction pour diviser le tableau d'items en rang<6E>es
|
||
const chunkArray = (arr, size) => {
|
||
const chunkedArr = [];
|
||
for (let i = 0; i < arr.length; i += size) {
|
||
chunkedArr.push(arr.slice(i, i + size));
|
||
}
|
||
return chunkedArr;
|
||
};
|
||
|
||
// Composant d'affichage de la page
|
||
export const RoomList = ({ statsParam, onRoomClick }) => {
|
||
const [rooms, setRooms] = useState([]);
|
||
const [selectedRoom, setSelectedRoom] = useState("all");
|
||
|
||
useEffect(() => {
|
||
if (statsParam.rooms) {
|
||
console.log(statsParam.rooms);
|
||
let formatedStats = formatRoomStats(statsParam);
|
||
setRooms(formatedStats.rooms);
|
||
}
|
||
}, [statsParam]);
|
||
|
||
const handleRoomClick = (roomId) => {
|
||
onRoomClick(roomId);
|
||
};
|
||
|
||
return (
|
||
<div>
|
||
<h2>Liste des chambres</h2>
|
||
<div className="list-container">
|
||
{rooms &&
|
||
rooms.map((room) => (
|
||
<RoomBox room={room} key={room._id} onRoomClick={handleRoomClick} />
|
||
))}
|
||
</div>
|
||
</div>
|
||
);
|
||
};
|