can see player before joining game

This commit is contained in:
Djalim Simaila 2023-03-20 16:39:37 +01:00
parent 320b733bfd
commit cc3728b62f
4 changed files with 25 additions and 14 deletions

View File

@ -34,12 +34,13 @@ def create_game():
@routes_api.route("/getGameMembers", methods=["GET", "POST"]) @routes_api.route("/getGameMembers", methods=["GET", "POST"])
def get_members(): def get_members():
if not flask.session: game_id = flask.request.values.get("game_id")
return {"error": 1, "msg": "No session"} print(50 * "#")
game = game_logic.get_game(flask.session["game_id"]) print(game_id)
print(50*"_")
game = game_logic.get_game(game_id)
if game is None: if game is None:
return {"error": 1, "msg": "this game doesn't exist"} return {"error": 1, "msg": "this game doesn't exist"}
response = {"error" : 0} response = {"error" : 0}
player_list = [member.username for member in game.members] player_list = [member.username for member in game.members]
response["members"] = player_list response["members"] = player_list

View File

@ -34,7 +34,7 @@ async function makeAPIRequest(endpoint, body, options={}) {
response.json().then(jsonResponse => { response.json().then(jsonResponse => {
if (typeof(jsonResponse["error"]) === 'number' && jsonResponse["error"] !== 0) { if (typeof(jsonResponse["error"]) === 'number' && jsonResponse["error"] !== 0) {
const message = jsonResponse["msg"]; const message = jsonResponse["msg"];
alert("Erreur du serveur : " + message); alert("Erreur du serveur " + endpoint+ " : " + message);
reject(endpoint + ": " + message); reject(endpoint + ": " + message);
} else { } else {
resolve(jsonResponse); resolve(jsonResponse);

View File

@ -26,15 +26,6 @@ function displayRoomCode() {
* Display the players list element. * Display the players list element.
*/ */
function displayPlayerList() { function displayPlayerList() {
const response = makeAPIRequest("getGameMembers");
response.then(value => {
const playerList = document.querySelector(".player_names");
value["members"].forEach(username => {
playerList.appendChild(document.createTextNode(username + "\n"));
});
});
showFirstClassElement("players_list"); showFirstClassElement("players_list");
} }
@ -98,6 +89,20 @@ function startChallengeGame() {
alert("Ce mode de jeu n'est malheureusement pas disponible."); alert("Ce mode de jeu n'est malheureusement pas disponible.");
} }
function getMembers(){
let data = {};
data['game_id'] = getRoomCode();
const response = makeAPIRequest("getGameMembers",data);
response.then(value => {
let divs = document.getElementsByClassName("player_names");
for (let playerList of divs) {
value["members"].forEach(username => {
console.log(username);
playerList.appendChild(document.createTextNode(username + "\n"));
});
}
});
}
// Join room functions // Join room functions
function joinRoom() { function joinRoom() {
@ -350,6 +355,7 @@ function initSock() {
* </p> * </p>
*/ */
async function initLobby() { async function initLobby() {
getMembers()
if (await hasJoinedRoom()) { if (await hasJoinedRoom()) {
initSock(); initSock();
displayRoomView(); displayRoomView();

View File

@ -19,6 +19,10 @@
<input type="hidden" id="game_id" name="game_id" value={{gameid}} /> <input type="hidden" id="game_id" name="game_id" value={{gameid}} />
<div class="join_room_view hidden"> <div class="join_room_view hidden">
<h1 class="room_title">Salon</h1> <h1 class="room_title">Salon</h1>
<div class="unjoinded_players_list">
<h2 class="players_title">Joueurs</h2>
<div class="player_names"></div>
</div>
<input type="text" id="game_username" placeholder="Entrez un pseudo" value="" required="required" maxlength="20"> <input type="text" id="game_username" placeholder="Entrez un pseudo" value="" required="required" maxlength="20">
<button id="join_game_button" class="action_button">Rejoindre</button> <button id="join_game_button" class="action_button">Rejoindre</button>
<p class="game_start_failed hidden">Une erreur s'est produite. Réessayez ultérieurement.</p> <p class="game_start_failed hidden">Une erreur s'est produite. Réessayez ultérieurement.</p>