From 12e5d98669af402e737fb4fcd62e7601dd0a62dd Mon Sep 17 00:00:00 2001 From: Mamadu Lamarana Bah <mamadulamarana.bah.etu@univ-lille.fr> Date: Mon, 19 Feb 2024 11:29:20 +0100 Subject: [PATCH] =?UTF-8?q?gestion=20de=20la=20pr=C3=A9sence=20d'un=20seul?= =?UTF-8?q?=20comissaire=20priseur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- encheres/client/src/scripts/auctioneer.js | 19 ++++++++++++++++--- encheres/client/src/scripts/bidder.js | 12 +++++++++--- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/encheres/client/src/scripts/auctioneer.js b/encheres/client/src/scripts/auctioneer.js index 0f9fb0a..b51e796 100644 --- a/encheres/client/src/scripts/auctioneer.js +++ b/encheres/client/src/scripts/auctioneer.js @@ -2,6 +2,8 @@ console.log('le bundle-auctioneer a été généré'); const socket = io(); +let winnerId; + const inputName = document.getElementById("name"); const inputValue = document.getElementById("value"); const buttonStart = document.getElementById("start"); @@ -9,7 +11,16 @@ const buttonStart = document.getElementById("start"); const buttonSale = document.getElementById("sale"); buttonSale.addEventListener("click", saleProduct); +const ident = document.getElementById("ident-auc"); + socket.emit("auctioneer"); +socket.on("alreadyAuct", () => alreadyAuctioneer()); + +function alreadyAuctioneer() { + const prod = document.getElementById("prod-auc"); + ident.textContent = "Connexion refusée, il y a déjà un comissaire-priseur"; + prod.style.display = "none"; +} const prixActuel = document.getElementById("prixactuel"); prixActuel.textContent = inputValue.value+"€"; @@ -26,20 +37,22 @@ function emptyInput() { inputName.addEventListener("input", emptyInput); buttonStart.addEventListener("click", startEnchere); -const ident = document.getElementById("ident-auc"); function startEnchere() { prixActuel.textContent = inputValue.value+"€"; buttonSale.disabled = false; ident.textContent = `Debut de l'enchère pour ${inputName.value} à ${inputValue.value}€`; socket.emit("infos", inputName.value, inputValue.value); - socket.on("changePrix", (nouveauPrix, sock) => updatePrix(nouveauPrix, sock)); + socket.on("changePrix", (nouveauPrix, sock) => { + updatePrix(nouveauPrix, sock); + winnerId = sock; + }); waitForNewEnchere(true); } function saleProduct() { ident.textContent = `Fin de l'enchère. Un ${inputName.value} à ${prixActuel.textContent}`; - socket.emit("adjuge"); + socket.emit("adjuge", winnerId); waitForNewEnchere(false); } diff --git a/encheres/client/src/scripts/bidder.js b/encheres/client/src/scripts/bidder.js index b4f8bc2..097d1e9 100644 --- a/encheres/client/src/scripts/bidder.js +++ b/encheres/client/src/scripts/bidder.js @@ -6,6 +6,8 @@ const ident = document.getElementById("ident-bid"); const description = document.getElementsByClassName("description"); const prix = document.getElementsByClassName("prix"); +let prixActuel = 0; + displayButton("none"); const buttons = document.querySelectorAll("button"); for(const button of buttons) { @@ -17,7 +19,6 @@ function displayButton(display) { divButtons.style.display = display; } -let prixActuel = 0; socket.on("infos", (name, value) => { ident.textContent = `Une nouvelle enchère commence`; enchereBegin(name, value); @@ -41,12 +42,17 @@ function selectPrice(event) { const selectedPrix = parseInt(event.target.textContent); prixActuel += selectedPrix; socket.emit("prixActuel", prixActuel); - socket.on("winner", () => win()); + socket.on("adjuge", () => finishEnchere()); ident.textContent = `Vous avez fait une enchère de +${selectedPrix}€`; } +function finishEnchere() { + ident.textContent = `Enchères terminé, l'enchère a été remporté par une autre personne`; + displayButton("none"); +} + function win() { - console.log("ici win"); + console.log("ici"); ident.textContent = `Enchères terminé, vous avez remporté l'enchère`; displayButton("none"); } -- GitLab