diff --git a/encheres/.babelrc b/encheres/.babelrc new file mode 100644 index 0000000000000000000000000000000000000000..e94b0a62fc1d4810bd67de7be6602f3636baff5a --- /dev/null +++ b/encheres/.babelrc @@ -0,0 +1,4 @@ +{ + "presets": ["@babel/preset-env"], + "plugins": ["@babel/transform-runtime"] +} diff --git a/encheres/client/src/scripts/auctioneer.js b/encheres/client/src/scripts/auctioneer.js index b51e796a5073a1a648cf27c3b8f31a674f32a7ac..b51ccd29aef7134762e40a6334bbdba269e3bdf1 100644 --- a/encheres/client/src/scripts/auctioneer.js +++ b/encheres/client/src/scripts/auctioneer.js @@ -2,8 +2,6 @@ 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"); @@ -18,8 +16,8 @@ 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"; + ident.textContent = "Connexion refusée, il y a déjà un comissaire-priseur"; } const prixActuel = document.getElementById("prixactuel"); @@ -40,23 +38,22 @@ buttonStart.addEventListener("click", startEnchere); 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); - winnerId = sock; }); waitForNewEnchere(true); } function saleProduct() { ident.textContent = `Fin de l'enchère. Un ${inputName.value} à ${prixActuel.textContent}`; - socket.emit("adjuge", winnerId); + socket.emit("adjuge"); waitForNewEnchere(false); } function updatePrix(nouveauPrix, sock) { + buttonSale.disabled = false; prixActuel.textContent = nouveauPrix+"€"; ident.textContent = `Nouvelle enchère réçu de ${sock}`; } diff --git a/encheres/client/src/scripts/bidder.js b/encheres/client/src/scripts/bidder.js index 5a00f95639aa74cd3ce16d4816dafedee8aca65c..bbe8e6436a272ad563079d0644cdb90a8615f016 100644 --- a/encheres/client/src/scripts/bidder.js +++ b/encheres/client/src/scripts/bidder.js @@ -28,6 +28,8 @@ socket.on("infos", (name, value) => { socket.on("deconnexion", () => deconnexionAuctiooneer()); +socket.on("winner", () => {win()}); + function changePrix(nouveauPrix) { prix[0].textContent = nouveauPrix+"€"; prixActuel = nouveauPrix; @@ -46,6 +48,7 @@ function selectPrice(event) { socket.emit("prixActuel", prixActuel); socket.on("adjuge", () => finishEnchere()); ident.textContent = `Vous avez fait une enchère de +${selectedPrix}€`; + socket.emit("encherisseur"); } function finishEnchere() { diff --git a/encheres/server/controllers/ioController.js b/encheres/server/controllers/ioController.js index 75de8eee674fad505c2863d7c9776b282c07bf20..96a3cf97a425ae045307efc619b8725e62b0eea8 100644 --- a/encheres/server/controllers/ioController.js +++ b/encheres/server/controllers/ioController.js @@ -1,48 +1,62 @@ export default class IOController { #io; #clients; - #interval = 2000; - #maxRandomNumber = 8; constructor(io) { this.#io = io; - //this.#clients = new Map(); + this.#clients = new Map(); } registerSocket(socket) { console.log(`new connection with id ${socket.id}`); - socket.emit('ping', 'ping'); this.setupListeners(socket); } setupListeners(socket) { - socket.on( 'pong', () => this.greatings(socket) ); - //socket.on( 'disconnect' , () => this.leave(socket) ); + socket.on("auctioneer", ()=> this.registerAuctioneer(socket)); + socket.on( 'infos', (name, value) => this.transmitName(name, value) ); + socket.on("prixActuel", (prixActuel) => this.transmitPrixActuel(prixActuel, socket.id)); + socket.on( 'disconnect' , () => this.leave(socket) ); + socket.on("adjuge", ()=> { + this.saleProduct(); + }); + socket.on("encherisseur", () => {this.registerBidder(socket)}); + } + + registerAuctioneer(socket) { + if (this.#clients.has("auctioneer")) { + socket.emit("alreadyAuct"); + } + else { + this.#clients.set("auctioneer", socket); + } + } + + registerBidder(socket) { + this.#clients.set("bidder", socket); } - greatings(socket) { - console.log(`pong received from (id : ${socket.id}) at ${new Date().toLocaleTimeString()}`); - //this.#clients.set(socket.id); + transmitName(name, value) { + this.#io.emit("infos", name, value); + } + + transmitPrixActuel(prixActuel, sock) { + this.#io.emit("changePrix", prixActuel, sock); + } + + saleProduct() { + this.#io.emit("adjuge"); + this.#clients.get("bidder").emit("winner"); } leave(socket) { - const timerId = this.#clients.get(socket.id) || 'unknown' ; console.log(`disconnection from ${socket.id}`); - clearInterval(timerId); - this.#clients.delete(socket.id); + if (this.#clients.get("auctioneer") === socket){ + this.#clients.delete("auctioneer"); + this.#io.emit("deconnexion"); + } } - - randomNumber(socket=undefined) { - const number = randInt(this.#maxRandomNumber); - if (socket) { - socket.emit('change number', number); - } - else{ - this.#io.emit('change number', number); - } - console.log(`nombre envoyé ${number}`); - } - + } const randInt = max => Math.floor( Math.random() * max ); \ No newline at end of file diff --git a/encheres/server/public/html/about.html b/encheres/server/public/html/about.html index 1199e9dd14211193bfd5ba42d48659b1d4231382..1fb6f2d05f338aa0de306c0b8d10858fc1806d2b 100644 --- a/encheres/server/public/html/about.html +++ b/encheres/server/public/html/about.html @@ -9,4 +9,10 @@ <body> <h1>Infos</h1> + <div> + <p>Auteur de l'application : <strong>Mamadu BAH</strong></p> + <p>Numéro de version : <strong>V1.0</strong></p> + + <a href="./">accueil</a> + </div> </body> \ No newline at end of file diff --git a/encheres/server/public/html/auctioneer.html b/encheres/server/public/html/auctioneer.html index 74b7c4735bc721c74f1df33c947ffca8d54da174..02682b82470ae149e181a102c7050634b38c0150 100644 --- a/encheres/server/public/html/auctioneer.html +++ b/encheres/server/public/html/auctioneer.html @@ -6,10 +6,37 @@ <title>Server</title> <link href="./style/style.css" rel="stylesheet" type="text/css"/> <script src="/socket.io/socket.io.js"></script> - <script defer src="../scripts/auctioneer-bundle.js?8646d609246098631a96"></script></head> + <script defer src="../scripts/auctioneer-bundle.js?e95509bbcceaa6519514"></script></head> <body> <h1>Comissaire-priseur</h1> + + <div id="ident-auc">Vous êtes le commissaire priseur</div> + <div id="prod-auc"> + <div> + <label for="name">Objet aux enchères</label> + <input type="text" id="name" name="name" placeholder="Votre texte ici"/> + </div> + + <div> + <label for="name">Prix de départ</label> + <input type="number" id="value" min="10" max="100" value="10" name="value" placeholder="Votre prix ici"/> + </div> + <div>Montant actuel enchère : <span id="prixactuel"></span></div> + <div class="button"> + <button id="start" type="button" disabled> + <img src="../image/start.jpg" alt="start"/> + </button> + + <button id="sale" type="button" disabled> + <img src="blabla" alt="sale"/> + </button> + + </div> + </div> + + <a href="./">accueil</a> + </body> </html> \ No newline at end of file diff --git a/encheres/server/public/html/bidder.html b/encheres/server/public/html/bidder.html index f053e67c279777efae1b356850a6f48bc1fa3e13..789b77eeac03274b1d5190f1ca300d7e71ea3d95 100644 --- a/encheres/server/public/html/bidder.html +++ b/encheres/server/public/html/bidder.html @@ -6,10 +6,26 @@ <title>Server</title> <link href="./style/style.css" rel="stylesheet" type="text/css"/> <script src="/socket.io/socket.io.js"></script> - <script defer src="../scripts/bidder-bundle.js?8646d609246098631a96"></script></head> + <script defer src="../scripts/bidder-bundle.js?e95509bbcceaa6519514"></script></head> <body> <h1>Enchérisseur</h1> + <div class="bidder"> + <div id="ident-bid">Bienvenue</div> + <div class="item">Objet en enchères : <span class="description"></span> + <div class="item">Prix actuel : <span class="prix"></span> </div> + </div> + + <div id="buttons" class="price-options"> + <p>Enchères possibles :</p> + <button class="price-button">20€</button> + <button class="price-button">50€</button> + <button class="price-button">100€</button> + + </div> + + <a href="./">accueil</a> + </body> </html> \ No newline at end of file diff --git a/encheres/server/public/images/start.jpg b/encheres/server/public/images/start.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ecbaf45095acdc7a7b2d9f690bb5029e858df868 Binary files /dev/null and b/encheres/server/public/images/start.jpg differ diff --git a/encheres/server/public/index.html b/encheres/server/public/index.html index f1f72bba793e1724075e192fb4be20bf769e5dc0..2d041c62bf2ad834b389b44f5ad77f639cb4fdad 100644 --- a/encheres/server/public/index.html +++ b/encheres/server/public/index.html @@ -7,7 +7,7 @@ <title>server</title> <link href="./style/style.css" rel="stylesheet" type="text/css"/> - <script defer src="scripts/main-bundle.js?8646d609246098631a96"></script></head> + <script defer src="scripts/main-bundle.js?e95509bbcceaa6519514"></script></head> <body> <h1>Enchères</h1> diff --git a/encheres/server/public/scripts/auctioneer-bundle.js b/encheres/server/public/scripts/auctioneer-bundle.js index f857f6d69b8c280b37c23e09c0484491f15cd953..1bed8575aa5e73c60b4221a1831b229221d8c12c 100644 --- a/encheres/server/public/scripts/auctioneer-bundle.js +++ b/encheres/server/public/scripts/auctioneer-bundle.js @@ -1,2 +1,2 @@ /*! For license information please see auctioneer-bundle.js.LICENSE.txt */ -(()=>{var __webpack_modules__={"./src/scripts/auctioneer.js":()=>{eval("console.log('le bundle-auctioneer a été généré');\nconst socket = io();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2NyaXB0cy9hdWN0aW9uZWVyLmpzIiwibmFtZXMiOlsiY29uc29sZSIsImxvZyIsInNvY2tldCIsImlvIl0sInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9hcHAvLi9zcmMvc2NyaXB0cy9hdWN0aW9uZWVyLmpzP2U2NjIiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc29sZS5sb2coJ2xlIGJ1bmRsZS1hdWN0aW9uZWVyIGEgw6l0w6kgZ8OpbsOpcsOpJyk7XHJcblxyXG5jb25zdCBzb2NrZXQgPSBpbygpO1xyXG4iXSwibWFwcGluZ3MiOiJBQUFBQSxPQUFPLENBQUNDLEdBQUcsQ0FBQyxtQ0FBbUMsQ0FBQztBQUVoRCxNQUFNQyxNQUFNLEdBQUdDLEVBQUUsQ0FBQyxDQUFDIn0=\n//# sourceURL=webpack-internal:///./src/scripts/auctioneer.js\n")}},__webpack_exports__={};__webpack_modules__["./src/scripts/auctioneer.js"]()})(); \ No newline at end of file +(()=>{var __webpack_modules__={"./src/scripts/auctioneer.js":()=>{eval('console.log(\'le bundle-auctioneer a été généré\');\nconst socket = io();\nconst inputName = document.getElementById("name");\nconst inputValue = document.getElementById("value");\nconst buttonStart = document.getElementById("start");\nconst buttonSale = document.getElementById("sale");\nbuttonSale.addEventListener("click", saleProduct);\nconst ident = document.getElementById("ident-auc");\nsocket.emit("auctioneer");\nsocket.on("alreadyAuct", () => alreadyAuctioneer());\nfunction alreadyAuctioneer() {\n const prod = document.getElementById("prod-auc");\n prod.style.display = "none";\n ident.textContent = "Connexion refusée, il y a déjà un comissaire-priseur";\n}\nconst prixActuel = document.getElementById("prixactuel");\nprixActuel.textContent = inputValue.value + "€";\nfunction emptyInput() {\n if (inputName.value.trim() === "") {\n buttonStart.disabled = true;\n } else {\n buttonStart.disabled = false;\n }\n}\ninputName.addEventListener("input", emptyInput);\nbuttonStart.addEventListener("click", startEnchere);\nfunction startEnchere() {\n prixActuel.textContent = inputValue.value + "€";\n ident.textContent = `Debut de l\'enchère pour ${inputName.value} à ${inputValue.value}€`;\n socket.emit("infos", inputName.value, inputValue.value);\n socket.on("changePrix", (nouveauPrix, sock) => {\n updatePrix(nouveauPrix, sock);\n });\n waitForNewEnchere(true);\n}\nfunction saleProduct() {\n ident.textContent = `Fin de l\'enchère. Un ${inputName.value} à ${prixActuel.textContent}`;\n socket.emit("adjuge");\n waitForNewEnchere(false);\n}\nfunction updatePrix(nouveauPrix, sock) {\n buttonSale.disabled = false;\n prixActuel.textContent = nouveauPrix + "€";\n ident.textContent = `Nouvelle enchère réçu de ${sock}`;\n}\nfunction waitForNewEnchere(disabled) {\n inputName.disabled = disabled;\n inputValue.disabled = disabled;\n buttonStart.disabled = disabled;\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2NyaXB0cy9hdWN0aW9uZWVyLmpzIiwibmFtZXMiOlsiY29uc29sZSIsImxvZyIsInNvY2tldCIsImlvIiwiaW5wdXROYW1lIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImlucHV0VmFsdWUiLCJidXR0b25TdGFydCIsImJ1dHRvblNhbGUiLCJhZGRFdmVudExpc3RlbmVyIiwic2FsZVByb2R1Y3QiLCJpZGVudCIsImVtaXQiLCJvbiIsImFscmVhZHlBdWN0aW9uZWVyIiwicHJvZCIsInN0eWxlIiwiZGlzcGxheSIsInRleHRDb250ZW50IiwicHJpeEFjdHVlbCIsInZhbHVlIiwiZW1wdHlJbnB1dCIsInRyaW0iLCJkaXNhYmxlZCIsInN0YXJ0RW5jaGVyZSIsIm5vdXZlYXVQcml4Iiwic29jayIsInVwZGF0ZVByaXgiLCJ3YWl0Rm9yTmV3RW5jaGVyZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXBwLy4vc3JjL3NjcmlwdHMvYXVjdGlvbmVlci5qcz9lNjYyIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnNvbGUubG9nKCdsZSBidW5kbGUtYXVjdGlvbmVlciBhIMOpdMOpIGfDqW7DqXLDqScpO1xyXG5cclxuY29uc3Qgc29ja2V0ID0gaW8oKTtcclxuXHJcbmNvbnN0IGlucHV0TmFtZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwibmFtZVwiKTtcclxuY29uc3QgaW5wdXRWYWx1ZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwidmFsdWVcIik7XHJcbmNvbnN0IGJ1dHRvblN0YXJ0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJzdGFydFwiKTtcclxuXHJcbmNvbnN0IGJ1dHRvblNhbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcInNhbGVcIik7XHJcbmJ1dHRvblNhbGUuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHNhbGVQcm9kdWN0KTtcclxuXHJcbmNvbnN0IGlkZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJpZGVudC1hdWNcIik7XHJcblxyXG5zb2NrZXQuZW1pdChcImF1Y3Rpb25lZXJcIik7XHJcbnNvY2tldC5vbihcImFscmVhZHlBdWN0XCIsICgpID0+IGFscmVhZHlBdWN0aW9uZWVyKCkpO1xyXG5cclxuZnVuY3Rpb24gYWxyZWFkeUF1Y3Rpb25lZXIoKSB7XHJcbiAgICBjb25zdCBwcm9kID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCJwcm9kLWF1Y1wiKTtcclxuICAgIHByb2Quc3R5bGUuZGlzcGxheSA9IFwibm9uZVwiO1xyXG4gICAgaWRlbnQudGV4dENvbnRlbnQgPSBcIkNvbm5leGlvbiByZWZ1c8OpZSwgaWwgeSBhIGTDqWrDoCB1biBjb21pc3NhaXJlLXByaXNldXJcIjtcclxufVxyXG5cclxuY29uc3QgcHJpeEFjdHVlbCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwicHJpeGFjdHVlbFwiKTtcclxucHJpeEFjdHVlbC50ZXh0Q29udGVudCA9IGlucHV0VmFsdWUudmFsdWUrXCLigqxcIjtcclxuXHJcbmZ1bmN0aW9uIGVtcHR5SW5wdXQoKSB7XHJcbiAgICBpZihpbnB1dE5hbWUudmFsdWUudHJpbSgpID09PSBcIlwiKSB7XHJcbiAgICAgICAgYnV0dG9uU3RhcnQuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgICAgYnV0dG9uU3RhcnQuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIH1cclxufVxyXG5cclxuaW5wdXROYW1lLmFkZEV2ZW50TGlzdGVuZXIoXCJpbnB1dFwiLCBlbXB0eUlucHV0KTtcclxuXHJcbmJ1dHRvblN0YXJ0LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCBzdGFydEVuY2hlcmUpO1xyXG5cclxuZnVuY3Rpb24gc3RhcnRFbmNoZXJlKCkge1xyXG4gICAgcHJpeEFjdHVlbC50ZXh0Q29udGVudCA9IGlucHV0VmFsdWUudmFsdWUrXCLigqxcIjtcclxuICAgIGlkZW50LnRleHRDb250ZW50ID0gYERlYnV0IGRlIGwnZW5jaMOocmUgcG91ciAke2lucHV0TmFtZS52YWx1ZX0gw6AgJHtpbnB1dFZhbHVlLnZhbHVlfeKCrGA7XHJcbiAgICBzb2NrZXQuZW1pdChcImluZm9zXCIsIGlucHV0TmFtZS52YWx1ZSwgaW5wdXRWYWx1ZS52YWx1ZSk7XHJcbiAgICBzb2NrZXQub24oXCJjaGFuZ2VQcml4XCIsIChub3V2ZWF1UHJpeCwgc29jaykgPT4ge1xyXG4gICAgICAgIHVwZGF0ZVByaXgobm91dmVhdVByaXgsIHNvY2spO1xyXG4gICAgfSk7XHJcbiAgICB3YWl0Rm9yTmV3RW5jaGVyZSh0cnVlKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2FsZVByb2R1Y3QoKSB7XHJcbiAgICBpZGVudC50ZXh0Q29udGVudCA9IGBGaW4gZGUgbCdlbmNow6hyZS4gVW4gJHtpbnB1dE5hbWUudmFsdWV9IMOgICR7cHJpeEFjdHVlbC50ZXh0Q29udGVudH1gO1xyXG4gICAgc29ja2V0LmVtaXQoXCJhZGp1Z2VcIik7XHJcbiAgICB3YWl0Rm9yTmV3RW5jaGVyZShmYWxzZSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZVByaXgobm91dmVhdVByaXgsIHNvY2spIHtcclxuICAgIGJ1dHRvblNhbGUuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgIHByaXhBY3R1ZWwudGV4dENvbnRlbnQgPSBub3V2ZWF1UHJpeCtcIuKCrFwiO1xyXG4gICAgaWRlbnQudGV4dENvbnRlbnQgPSBgTm91dmVsbGUgZW5jaMOocmUgcsOpw6d1IGRlICR7c29ja31gO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3YWl0Rm9yTmV3RW5jaGVyZShkaXNhYmxlZCkge1xyXG4gICAgaW5wdXROYW1lLmRpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICBpbnB1dFZhbHVlLmRpc2FibGVkID0gZGlzYWJsZWQ7XHJcbiAgICBidXR0b25TdGFydC5kaXNhYmxlZCA9IGRpc2FibGVkO1xyXG59XHJcblxyXG5cclxuIl0sIm1hcHBpbmdz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\n//# sourceURL=webpack-internal:///./src/scripts/auctioneer.js\n')}},__webpack_exports__={};__webpack_modules__["./src/scripts/auctioneer.js"]()})(); \ No newline at end of file diff --git a/encheres/server/public/scripts/bidder-bundle.js b/encheres/server/public/scripts/bidder-bundle.js index 36081fbec2cfc9cfb3b7df492f318040f967349f..775530fafaff0513f73f1c3d96c7d1e174fb5dbe 100644 --- a/encheres/server/public/scripts/bidder-bundle.js +++ b/encheres/server/public/scripts/bidder-bundle.js @@ -1,2 +1,2 @@ /*! For license information please see bidder-bundle.js.LICENSE.txt */ -(()=>{var __webpack_modules__={"./src/scripts/bidder.js":()=>{eval("console.log('le bundle-bidder a été généré');\nconst socket = io();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2NyaXB0cy9iaWRkZXIuanMiLCJuYW1lcyI6WyJjb25zb2xlIiwibG9nIiwic29ja2V0IiwiaW8iXSwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsid2VicGFjazovL2FwcC8uL3NyYy9zY3JpcHRzL2JpZGRlci5qcz9hNjJhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnNvbGUubG9nKCdsZSBidW5kbGUtYmlkZGVyIGEgw6l0w6kgZ8OpbsOpcsOpJyk7XHJcblxyXG5jb25zdCBzb2NrZXQgPSBpbygpOyJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLCtCQUErQixDQUFDO0FBRTVDLE1BQU1DLE1BQU0sR0FBR0MsRUFBRSxDQUFDLENBQUMifQ==\n//# sourceURL=webpack-internal:///./src/scripts/bidder.js\n")}},__webpack_exports__={};__webpack_modules__["./src/scripts/bidder.js"]()})(); \ No newline at end of file +(()=>{var __webpack_modules__={"./src/scripts/bidder.js":()=>{eval('console.log(\'le bundle-bidder a été généré\');\nconst socket = io();\nconst ident = document.getElementById("ident-bid");\nconst description = document.getElementsByClassName("description");\nconst prix = document.getElementsByClassName("prix");\nlet prixActuel = 0;\ndisplayButton("none");\nconst buttons = document.querySelectorAll("button");\nfor (const button of buttons) {\n button.addEventListener("click", selectPrice);\n}\nfunction displayButton(display) {\n const divButtons = document.getElementById("buttons");\n divButtons.style.display = display;\n}\nsocket.on("infos", (name, value) => {\n ident.textContent = `Une nouvelle enchère commence`;\n enchereBegin(name, value);\n displayButton("block");\n socket.on("changePrix", nouveauPrix => {\n changePrix(nouveauPrix);\n });\n});\nsocket.on("deconnexion", () => deconnexionAuctiooneer());\nsocket.on("winner", () => {\n win();\n});\nfunction changePrix(nouveauPrix) {\n prix[0].textContent = nouveauPrix + "€";\n prixActuel = nouveauPrix;\n}\nfunction enchereBegin(name, value) {\n description[0].textContent = name;\n prix[0].textContent = value + "€";\n prixActuel = parseInt(prix[0].textContent);\n}\nfunction selectPrice(event) {\n const selectedPrix = parseInt(event.target.textContent);\n prixActuel += selectedPrix;\n socket.emit("prixActuel", prixActuel);\n socket.on("adjuge", () => finishEnchere());\n ident.textContent = `Vous avez fait une enchère de +${selectedPrix}€`;\n socket.emit("encherisseur");\n}\nfunction finishEnchere() {\n ident.textContent = `Enchères terminé, l\'enchère a été remporté par une autre personne`;\n displayButton("none");\n}\nfunction win() {\n console.log("ici");\n ident.textContent = `Enchères terminé, vous avez remporté l\'enchère`;\n displayButton("none");\n}\nfunction deconnexionAuctiooneer() {\n ident.textContent = "le comissaire priseur s\'est déconnecté, fin de l\'nchère";\n prix[0].textContent = "-€";\n description[0].textContent = "";\n displayButton("none");\n}//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9zcmMvc2NyaXB0cy9iaWRkZXIuanMiLCJuYW1lcyI6WyJjb25zb2xlIiwibG9nIiwic29ja2V0IiwiaW8iLCJpZGVudCIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJkZXNjcmlwdGlvbiIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJwcml4IiwicHJpeEFjdHVlbCIsImRpc3BsYXlCdXR0b24iLCJidXR0b25zIiwicXVlcnlTZWxlY3RvckFsbCIsImJ1dHRvbiIsImFkZEV2ZW50TGlzdGVuZXIiLCJzZWxlY3RQcmljZSIsImRpc3BsYXkiLCJkaXZCdXR0b25zIiwic3R5bGUiLCJvbiIsIm5hbWUiLCJ2YWx1ZSIsInRleHRDb250ZW50IiwiZW5jaGVyZUJlZ2luIiwibm91dmVhdVByaXgiLCJjaGFuZ2VQcml4IiwiZGVjb25uZXhpb25BdWN0aW9vbmVlciIsIndpbiIsInBhcnNlSW50IiwiZXZlbnQiLCJzZWxlY3RlZFByaXgiLCJ0YXJnZXQiLCJlbWl0IiwiZmluaXNoRW5jaGVyZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vYXBwLy4vc3JjL3NjcmlwdHMvYmlkZGVyLmpzP2E2MmEiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc29sZS5sb2coJ2xlIGJ1bmRsZS1iaWRkZXIgYSDDqXTDqSBnw6luw6lyw6knKTtcclxuXHJcbmNvbnN0IHNvY2tldCA9IGlvKCk7XHJcblxyXG5jb25zdCBpZGVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiaWRlbnQtYmlkXCIpO1xyXG5jb25zdCBkZXNjcmlwdGlvbiA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJkZXNjcmlwdGlvblwiKTtcclxuY29uc3QgcHJpeCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJwcml4XCIpO1xyXG5cclxubGV0IHByaXhBY3R1ZWwgPSAwO1xyXG5cclxuZGlzcGxheUJ1dHRvbihcIm5vbmVcIik7XHJcbmNvbnN0IGJ1dHRvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKFwiYnV0dG9uXCIpO1xyXG5mb3IoY29uc3QgYnV0dG9uIG9mIGJ1dHRvbnMpIHtcclxuICAgIGJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgc2VsZWN0UHJpY2UpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkaXNwbGF5QnV0dG9uKGRpc3BsYXkpIHtcclxuICAgIGNvbnN0IGRpdkJ1dHRvbnMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImJ1dHRvbnNcIik7XHJcbiAgICBkaXZCdXR0b25zLnN0eWxlLmRpc3BsYXkgPSBkaXNwbGF5O1xyXG59XHJcblxyXG5zb2NrZXQub24oXCJpbmZvc1wiLCAobmFtZSwgdmFsdWUpID0+IHtcclxuICAgIGlkZW50LnRleHRDb250ZW50ID0gYFVuZSBub3V2ZWxsZSBlbmNow6hyZSBjb21tZW5jZWA7XHJcbiAgICBlbmNoZXJlQmVnaW4obmFtZSwgdmFsdWUpO1xyXG4gICAgZGlzcGxheUJ1dHRvbihcImJsb2NrXCIpO1xyXG4gICAgc29ja2V0Lm9uKFwiY2hhbmdlUHJpeFwiLCAobm91dmVhdVByaXgpID0+IHtjaGFuZ2VQcml4KG5vdXZlYXVQcml4KX0pO1xyXG59KTtcclxuXHJcbnNvY2tldC5vbihcImRlY29ubmV4aW9uXCIsICgpID0+IGRlY29ubmV4aW9uQXVjdGlvb25lZXIoKSk7XHJcblxyXG5zb2NrZXQub24oXCJ3aW5uZXJcIiwgKCkgPT4ge3dpbigpfSk7XHJcblxyXG5mdW5jdGlvbiBjaGFuZ2VQcml4KG5vdXZlYXVQcml4KSB7XHJcbiAgICBwcml4WzBdLnRleHRDb250ZW50ID0gbm91dmVhdVByaXgrXCLigqxcIjtcclxuICAgIHByaXhBY3R1ZWwgPSBub3V2ZWF1UHJpeDtcclxufVxyXG5cclxuZnVuY3Rpb24gZW5jaGVyZUJlZ2luKG5hbWUsIHZhbHVlKSB7XHJcbiAgICBkZXNjcmlwdGlvblswXS50ZXh0Q29udGVudCA9IG5hbWU7XHJcbiAgICBwcml4WzBdLnRleHRDb250ZW50ID0gdmFsdWUrXCLigqxcIjtcclxuICAgIHByaXhBY3R1ZWwgPSBwYXJzZUludChwcml4WzBdLnRleHRDb250ZW50KTtcclxufVxyXG5cclxuXHJcbmZ1bmN0aW9uIHNlbGVjdFByaWNlKGV2ZW50KSB7XHJcbiAgICBjb25zdCBzZWxlY3RlZFByaXggPSBwYXJzZUludChldmVudC50YXJnZXQudGV4dENvbnRlbnQpO1xyXG4gICAgcHJpeEFjdHVlbCArPSBzZWxlY3RlZFByaXg7XHJcbiAgICBzb2NrZXQuZW1pdChcInByaXhBY3R1ZWxcIiwgcHJpeEFjdHVlbCk7XHJcbiAgICBzb2NrZXQub24oXCJhZGp1Z2VcIiwgKCkgPT4gZmluaXNoRW5jaGVyZSgpKTtcclxuICAgIGlkZW50LnRleHRDb250ZW50ID0gYFZvdXMgYXZleiBmYWl0IHVuZSBlbmNow6hyZSBkZSArJHtzZWxlY3RlZFByaXh94oKsYDtcclxuICAgIHNvY2tldC5lbWl0KFwiZW5jaGVyaXNzZXVyXCIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaW5pc2hFbmNoZXJlKCkge1xyXG4gICAgaWRlbnQudGV4dENvbnRlbnQgPSBgRW5jaMOocmVzIHRlcm1pbsOpLCAgbCdlbmNow6hyZSBhIMOpdMOpIHJlbXBvcnTDqSBwYXIgdW5lIGF1dHJlIHBlcnNvbm5lYDtcclxuICAgIGRpc3BsYXlCdXR0b24oXCJub25lXCIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiB3aW4oKSB7XHJcbiAgICBjb25zb2xlLmxvZyhcImljaVwiKTtcclxuICAgIGlkZW50LnRleHRDb250ZW50ID0gYEVuY2jDqHJlcyB0ZXJtaW7DqSwgdm91cyBhdmV6IHJlbXBvcnTDqSBsJ2VuY2jDqHJlYDtcclxuICAgIGRpc3BsYXlCdXR0b24oXCJub25lXCIpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBkZWNvbm5leGlvbkF1Y3Rpb29uZWVyKCkge1xyXG4gICAgaWRlbnQudGV4dENvbnRlbnQgPSBcImxlIGNvbWlzc2FpcmUgcHJpc2V1ciBzJ2VzdCBkw6ljb25uZWN0w6ksIGZpbiBkZSBsJ25jaMOocmVcIjtcclxuICAgIHByaXhbMF0udGV4dENvbnRlbnQgPSBcIi3igqxcIjtcclxuICAgIGRlc2NyaXB0aW9uWzBdLnRleHRDb250ZW50ID0gXCJcIjtcclxuICAgIGRpc3BsYXlCdXR0b24oXCJub25lXCIpO1xyXG59XHJcblxyXG5cclxuXHJcbiJdLCJtYXBwaW5ncyI6IkFBQUFBLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLCtCQUErQixDQUFDO0FBRTVDLE1BQU1DLE1BQU0sR0FBR0MsRUFBRSxDQUFDLENBQUM7QUFFbkIsTUFBTUMsS0FBSyxHQUFHQyxRQUFRLENBQUNDLGNBQWMsQ0FBQyxXQUFXLENBQUM7QUFDbEQsTUFBTUMsV0FBVyxHQUFHRixRQUFRLENBQUNHLHNCQUFzQixDQUFDLGFBQWEsQ0FBQztBQUNsRSxNQUFNQyxJQUFJLEdBQUdKLFFBQVEsQ0FBQ0csc0JBQXNCLENBQUMsTUFBTSxDQUFDO0FBRXBELElBQUlFLFVBQVUsR0FBRyxDQUFDO0FBRWxCQyxhQUFhLENBQUMsTUFBTSxDQUFDO0FBQ3JCLE1BQU1DLE9BQU8sR0FBR1AsUUFBUSxDQUFDUSxnQkFBZ0IsQ0FBQyxRQUFRLENBQUM7QUFDbkQsS0FBSSxNQUFNQyxNQUFNLElBQUlGLE9BQU8sRUFBRTtFQUN6QkUsTUFBTSxDQUFDQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUVDLFdBQVcsQ0FBQztBQUNqRDtBQUVBLFNBQVNMLGFBQWFBLENBQUNNLE9BQU8sRUFBRTtFQUM1QixNQUFNQyxVQUFVLEdBQUdiLFFBQVEsQ0FBQ0MsY0FBYyxDQUFDLFNBQVMsQ0FBQztFQUNyRFksVUFBVSxDQUFDQyxLQUFLLENBQUNGLE9BQU8sR0FBR0EsT0FBTztBQUN0QztBQUVBZixNQUFNLENBQUNrQixFQUFFLENBQUMsT0FBTyxFQUFFLENBQUNDLElBQUksRUFBRUMsS0FBSyxLQUFLO0VBQ2hDbEIsS0FBSyxDQUFDbUIsV0FBVyxHQUFJLCtCQUE4QjtFQUNuREMsWUFBWSxDQUFDSCxJQUFJLEVBQUVDLEtBQUssQ0FBQztFQUN6QlgsYUFBYSxDQUFDLE9BQU8sQ0FBQztFQUN0QlQsTUFBTSxDQUFDa0IsRUFBRSxDQUFDLFlBQVksRUFBR0ssV0FBVyxJQUFLO0lBQUNDLFVBQVUsQ0FBQ0QsV0FBVyxDQUFDO0VBQUEsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQztBQUVGdkIsTUFBTSxDQUFDa0IsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNTyxzQkFBc0IsQ0FBQyxDQUFDLENBQUM7QUFFeER6QixNQUFNLENBQUNrQixFQUFFLENBQUMsUUFBUSxFQUFFLE1BQU07RUFBQ1EsR0FBRyxDQUFDLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFbEMsU0FBU0YsVUFBVUEsQ0FBQ0QsV0FBVyxFQUFFO0VBQzdCaEIsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDYyxXQUFXLEdBQUdFLFdBQVcsR0FBQyxHQUFHO0VBQ3JDZixVQUFVLEdBQUdlLFdBQVc7QUFDNUI7QUFFQSxTQUFTRCxZQUFZQSxDQUFDSCxJQUFJLEVBQUVDLEtBQUssRUFBRTtFQUMvQmYsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDZ0IsV0FBVyxHQUFHRixJQUFJO0VBQ2pDWixJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNjLFdBQVcsR0FBR0QsS0FBSyxHQUFDLEdBQUc7RUFDL0JaLFVBQVUsR0FBR21CLFFBQVEsQ0FBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ2MsV0FBVyxDQUFDO0FBQzlDO0FBR0EsU0FBU1AsV0FBV0EsQ0FBQ2MsS0FBSyxFQUFFO0VBQ3hCLE1BQU1DLFlBQVksR0FBR0YsUUFBUSxDQUFDQyxLQUFLLENBQUNFLE1BQU0sQ0FBQ1QsV0FBVyxDQUFDO0VBQ3ZEYixVQUFVLElBQUlxQixZQUFZO0VBQzFCN0IsTUFBTSxDQUFDK0IsSUFBSSxDQUFDLFlBQVksRUFBRXZCLFVBQVUsQ0FBQztFQUNyQ1IsTUFBTSxDQUFDa0IsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNYyxhQUFhLENBQUMsQ0FBQyxDQUFDO0VBQzFDOUIsS0FBSyxDQUFDbUIsV0FBVyxHQUFJLGtDQUFpQ1EsWUFBYSxHQUFFO0VBQ3JFN0IsTUFBTSxDQUFDK0IsSUFBSSxDQUFDLGNBQWMsQ0FBQztBQUMvQjtBQUVBLFNBQVNDLGFBQWFBLENBQUEsRUFBRztFQUNyQjlCLEtBQUssQ0FBQ21CLFdBQVcsR0FBSSxvRUFBbUU7RUFDeEZaLGFBQWEsQ0FBQyxNQUFNLENBQUM7QUFDekI7QUFFQSxTQUFTaUIsR0FBR0EsQ0FBQSxFQUFHO0VBQ1g1QixPQUFPLENBQUNDLEdBQUcsQ0FBQyxLQUFLLENBQUM7RUFDbEJHLEtBQUssQ0FBQ21CLFdBQVcsR0FBSSxnREFBK0M7RUFDcEVaLGFBQWEsQ0FBQyxNQUFNLENBQUM7QUFDekI7QUFFQSxTQUFTZ0Isc0JBQXNCQSxDQUFBLEVBQUc7RUFDOUJ2QixLQUFLLENBQUNtQixXQUFXLEdBQUcseURBQXlEO0VBQzdFZCxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUNjLFdBQVcsR0FBRyxJQUFJO0VBQzFCaEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDZ0IsV0FBVyxHQUFHLEVBQUU7RUFDL0JaLGFBQWEsQ0FBQyxNQUFNLENBQUM7QUFDekIifQ==\n//# sourceURL=webpack-internal:///./src/scripts/bidder.js\n')}},__webpack_exports__={};__webpack_modules__["./src/scripts/bidder.js"]()})(); \ No newline at end of file diff --git a/encheres/server/public/style/style.css b/encheres/server/public/style/style.css index 993a797e063f4289a763f60d5cd2238659305b8f..b2a3bd6165de05266ac18d6e5d9499cf86f02d9f 100644 --- a/encheres/server/public/style/style.css +++ b/encheres/server/public/style/style.css @@ -4,12 +4,66 @@ body { font-family : Verdana, Helvetica, Arial, sans-serif; background-color: white; margin : 0% 2%; + padding: 50px; + font: 14px "Lucida Grande", Helvetica, Arial, sans-serif; } -kbd { +div { padding : 0px 2px; font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; color : rgb(60,60,60); font-style : bold; font-size : large; } + +input { + padding: 5px 10px; /* Ajoute un peu de padding pour l'esthétique */ + width: 150px; /* Réduit la largeur de l'input */ +} + +#ident-auc { + border: 2px solid #000; /* Ajoute une bordure noire solide autour du conteneur */ + padding: 10px; /* Ajoute du padding à l'intérieur du conteneur pour ne pas coller au contenu */ + margin: 10px; /* Ajoute un peu d'espace autour du conteneur */ +} + +h1 { + color: #00B7FF; +} +.bidder, #prod-auc{ + display: flex; /* Active Flexbox */ + flex-direction: column; /* Dispose les éléments enfants en colonne */ + gap: 10px; /* Ajoute un espace entre les éléments enfants */ + border: 2px solid #000; /* Ajoute une bordure noire solide autour du conteneur */ + padding: 10px; /* Ajoute du padding à l'intérieur du conteneur pour ne pas coller au contenu */ + margin: 10px; /* Ajoute un peu d'espace autour du conteneur */ +} + +.price-options { + display: flex; + align-items: center; /* Centre les éléments horizontalement */ + gap: 10px; /* Espace entre les éléments */ + border: 2px solid #000; /* Ajoute une bordure noire solide autour du conteneur */ + padding: 10px; /* Ajoute du padding à l'intérieur du conteneur pour ne pas coller au contenu */ + margin: 10px; /* Ajoute un peu d'espace autour du conteneur */ +} + +.price-options p { + margin: 0; /* Supprime la marge par défaut pour aligner correctement le texte */ + font-size: 18px; /* Taille du texte */ + color: #333; /* Couleur du texte */ +} + +.price-button { + padding: 10px 20px; /* Padding autour du texte */ + font-size: 16px; /* Taille du texte */ + color: white; /* Couleur du texte */ + background-color: #007bff; /* Couleur de fond du bouton */ + border: none; /* Pas de bordure */ + border-radius: 5px; /* Bordures arrondies */ + cursor: pointer; /* Change le curseur en main au survol */ +} + +.price-button:hover { + background-color: #0056b3; /* Couleur de fond du bouton au survol */ +}