|
|
|
@ -7,22 +7,31 @@ import { useTheme } from '../Style/ThemeContext';
|
|
|
|
|
import LobbyContainer from '../Components/LobbyContainer';
|
|
|
|
|
import Player from '../model/Player';
|
|
|
|
|
import User from '../model/User';
|
|
|
|
|
import { socket } from '../SocketConfig';
|
|
|
|
|
import JSONParser from '../JSONParser';
|
|
|
|
|
import Person from '../model/Person';
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class LobbyDataProps {
|
|
|
|
|
roomNum : string
|
|
|
|
|
headPlayer: Player
|
|
|
|
|
nbPlayer: number
|
|
|
|
|
|
|
|
|
|
constructor(roomNum: string, player: Player, nbPlayer: number){
|
|
|
|
|
this.roomNum = roomNum
|
|
|
|
|
this.headPlayer = player
|
|
|
|
|
this.nbPlayer = nbPlayer
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function Lobbies() {
|
|
|
|
|
const theme=useTheme();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const lobbyData = [
|
|
|
|
|
{ roomNum: '63194', headPlayer: new User('1', 'Emma', '', null, null), nbPlayer: 6 },
|
|
|
|
|
{ roomNum: '81194', headPlayer: new User('2', 'Ray', '', null, null), nbPlayer: 1 },
|
|
|
|
|
{ roomNum: '22194', headPlayer: new User('3', 'Norman', '', null, null), nbPlayer: 4 },
|
|
|
|
|
{ roomNum: 'null', headPlayer: new User('null', 'tnull', '', null, null), nbPlayer: 1 },
|
|
|
|
|
{ roomNum: '111111', headPlayer: new User('11', '1111111', '', null, null), nbPlayer: 1 },
|
|
|
|
|
{ roomNum: '741852963', headPlayer: new User('3', 'Guest_741852963', '', null, null), nbPlayer: 6 },
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const [lobbyData, setLobbyData] = useState<LobbyDataProps[]>([])
|
|
|
|
|
|
|
|
|
|
const [searchTerm, setSearchTerm] = useState('');
|
|
|
|
|
|
|
|
|
|
const filteredLobbies = lobbyData.filter((lobby) =>
|
|
|
|
@ -30,7 +39,19 @@ function Lobbies() {
|
|
|
|
|
lobby.headPlayer.pseudo.toLowerCase().includes(searchTerm.toLowerCase())
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
socket.emit("request lobbies")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
socket.on("request lobbies", (map) => {
|
|
|
|
|
const jsonMap = JSON.parse(map)
|
|
|
|
|
const tmpTab: LobbyDataProps[]=[]
|
|
|
|
|
for(const item of jsonMap){
|
|
|
|
|
tmpTab.push(new LobbyDataProps(item.key, JSONParser.JSONToPlayer(item.value[0]), item.value.length))
|
|
|
|
|
}
|
|
|
|
|
setLobbyData(tmpTab )
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
return(
|
|
|
|
|
<div style={{display:'flex', flexDirection:'column', alignItems:'center'}}>
|
|
|
|
|