diff --git a/css/styles.css b/css/styles.css index 71b20de7e03a8657d30f6baad5f9cf8207618d49..2321c526e56d1e91ece1d72d7708c86a09356859 100644 --- a/css/styles.css +++ b/css/styles.css @@ -18,7 +18,7 @@ iframe { color: #005555; position: absolute; left: 828px; - bottom: 108px; + bottom: 17px; font-size: 30px; font-weight: bold; border: none; @@ -632,8 +632,13 @@ iframe { #accept-link { font-size: 15px; color: #8C8C8C; + text-decoration: none; +} +#accept-link:hover { + text-decoration: underline; } + #cancel-btn{ font-size: 18px; color: #008C8C; @@ -660,6 +665,7 @@ iframe { } #memberSectionTab{ + margin: 0px 40px; background-color: white; color: #008C8C; font-size: 20px; @@ -682,14 +688,12 @@ iframe { @keyframes gotAdded { 0% { - left: 828px; - bottom: 108px; } 50% { height: 55px; width: 55px; left: 821px; - bottom : 101px; + bottom : 10px; } 100% { } diff --git a/html/chercherUnRepas.html b/html/chercherUnRepas.html index 6f750325ce9a197dd25d089668592113b5ae7194..6ffc5c26d83b847dfe87327a37c3734d087dfdb8 100644 --- a/html/chercherUnRepas.html +++ b/html/chercherUnRepas.html @@ -16,135 +16,5 @@ </body> <script src="../scripts/readJson.js"></script> -<script> - var textbox = document.getElementById("form"); - textbox.addEventListener("focus", onTextBoxFocus, true); - textbox.addEventListener("blur", onTextBoxBlur, true); - - function onTextBoxFocus(){ - document.getElementsByName('textbox')[0].placeholder=''; - } - - function onTextBoxBlur(){ - document.getElementsByName('textbox')[0].placeholder='Écrire votre repas'; - } - - function buildHeader(frigo){ - var container = document.createElement("div"); - var title = document.createElement("p"); - var label = document.createElement("div"); - var nom = document.createElement("span"); - var addresse = document.createElement("span"); - var breakElement = document.createElement("br"); - - title.className= "titleSection"; - label.className = "selectedFridgeLabel"; - nom.className = "bold underlined"; - addresse.className = "bold"; - - title.appendChild(document.createTextNode("Chercher un repas")); - nom.appendChild(document.createTextNode(frigo.nom)); - addresse.appendChild(document.createTextNode(frigo.addresse)); - - label.appendChild(nom); - label.appendChild(breakElement.cloneNode(false)); - label.appendChild(addresse); - container.appendChild(breakElement.cloneNode(false)); - container.appendChild(title); - container.appendChild(breakElement.cloneNode(false)); - console.log(label); - container.appendChild(label); - - return container; - } - var i = 0; - function buildRepas(repas,indexFrigo){ - var indexRepas = i++; - var item = document.createElement("div"); - var nom = document.createElement("span"); - var add = document.createElement("button"); - var bb = document.createElement("div"); - var allergene = document.createElement("div") - var breakElement = document.createElement("br"); - - console.log(indexFrigo); - item.className= "mealOutline"; - nom.className = "bold"; - add.className = "addButton"; - add.onclick = (()=>{addToPanier(event,indexRepas, indexFrigo)}); - bb.className = "mealInfo"; - allergene.className = "mealInfo"; - - nom.appendChild(document.createTextNode(repas.nom)); - add.appendChild(document.createTextNode("+")); - bb.appendChild(document.createTextNode("BB : " + repas.bb)); - item.appendChild(nom); - item.appendChild(breakElement); - item.appendChild(document.createTextNode(repas.type)); - item.appendChild(breakElement.cloneNode(false)); - item.appendChild(document.createTextNode("Quantité : " + repas.qt + " disponibles")); - item.appendChild(breakElement.cloneNode(false)); - item.appendChild(bb); - - var listeAllergene = ""; - if(repas.allergenes.length == 0) { - listeAllergene = "Sans allergènes"; - } else { - listeAllergene += repas.allergenes[0]; - for (let a = 1; a < repas.allergenes.length; a++) { - listeAllergene += ', ' + repas.allergenes[a]; - } - } - allergene.appendChild(document.createTextNode(listeAllergene)); - item.appendChild(allergene); - - item.appendChild(add); - - return item; - } - - function retrieveRepas(){ - var index = sessionStorage.getItem('frigoIndex'); - console.log(index) - if(index != null){ - var obj = httpGetJson(); - var container = document.getElementById('listeRepas') - - container.innerHTML = ""; - container.appendChild(buildHeader(obj.array[index])); - - container.appendChild(document.createElement("div")); - container = container.lastChild; - container.className = "listeRepas"; - - obj.array[index].repas.forEach(repas => { - container.appendChild(buildRepas(repas,index)); - }) - sessionStorage.removeItem('frigoIndex'); - } - } - - function addToPanier(event, repas, frigoIndex) { - event.target.innerHTML = "<span class = 'thicc'>✓</span>"; - setTimeout(() => {event.target.innerHTML = "+"},750); - setTimeout(() => {document.activeElement.blur()},769); - if(sessionStorage.getItem("panier") != null){ - var prev = sessionStorage.getItem("panier"); - sessionStorage.setItem("panier", prev+" "+frigoIndex+"-"+repas); - } - else { - sessionStorage.setItem("panier", frigoIndex+"-"+repas); - } - parentPastille(); - } - - function parentPastille() { - if(sessionStorage.getItem("panier") != null){ - console.log("slt") - var event = new CustomEvent('pastilleChanged') - window.parent.document.dispatchEvent(event) - } - console.log("allo") - } -</script> +<script src="../scripts/chercherUnRepas.js"></script> </html> \ No newline at end of file diff --git a/html/inscription.html b/html/inscription.html index 3364fedd4d5e231922d36a6426245dac14f7253d..1553c3bc408bcbbf787b6feb137fa3ff29fab4d8 100644 --- a/html/inscription.html +++ b/html/inscription.html @@ -1,14 +1,5 @@ <!DOCTYPE html> <html lang="en"> -<style> - a{ - text-decoration: none; - color: black; - } - a:hover{ - text-decoration: underline; - } -</style> <head> <link rel="stylesheet" href="../css/styles.css"> <meta charset="UTF-8"> diff --git a/html/listeFrigos.html b/html/listeFrigos.html index c298421ab4e1d3385bbba38a6502f295822e32a7..1e696833d9f6ed8bd2a3f32e628353d35006631b 100644 --- a/html/listeFrigos.html +++ b/html/listeFrigos.html @@ -13,44 +13,5 @@ </button> </body> <script src="../scripts/readJson.js"></script> -<script> - var i = 0; - function buildFrigo(frigo){ - var index = i++; - var item = document.createElement("a"); - var nom = document.createElement("span"); - var breakElement = document.createElement("br"); - var imgDispo = document.createElement("img"); - - item.className = "fridgeOutline"; - item.onclick = (() => {saveFrigoIndex(index)}); - item.href = "chercherUnRepas.html"; - nom.className = "bold"; - imgDispo.className = "img-dispo"; - imgDispo.src = frigo.dispo ? "../dispo.png" : "../nondispo.png"; - - nom.appendChild(document.createTextNode(frigo.nom)); - item.appendChild(nom); - item.appendChild(breakElement); - item.appendChild(document.createTextNode(frigo.addresse)); - item.appendChild(breakElement.cloneNode(false)); - item.appendChild(document.createTextNode("Situé à " + frigo.distance + " mètres\n")); - item.appendChild(imgDispo); - - return item; - } - - function retrieveFrigos(){ - var obj = httpGetJson(); - - var liste = document.getElementById("listeFrigo"); - - obj.array.forEach(frigo => { - liste.appendChild(buildFrigo(frigo)); - }) - } - function saveFrigoIndex(index){ - sessionStorage.setItem('frigoIndex', index); - } -</script> +<script src="../scripts/listeFrigos.js"></script> </html> \ No newline at end of file diff --git a/html/membres.html b/html/membres.html index 5de4b470979c505f6215f79d020d88a96c35a185..1a529d4459663462dfa36a4fe5b1566c8e263a87 100644 --- a/html/membres.html +++ b/html/membres.html @@ -16,7 +16,7 @@ <div class = titleBar></div> </div> <div class="memberTab"> - <button id="memberSectionTab" >Section membres</button> + <span id="memberSectionTab" >Section membres</span> <button class="tablinks active" onclick="openTab(event, 'listeFrigos')"> <img src="../frigo.png" class="icone-frigo" > <span class="bold-btn">Liste des frigos</span> @@ -47,19 +47,4 @@ </body> </html> <script src="../scripts/tabsAndErrors.js"></script> -<script> - managePastille(); - window.document.addEventListener('pastilleChanged', handleEvent, false) - function handleEvent(e) { - managePastille(); - } - function managePastille() { - if(sessionStorage.getItem("panier") != null){ - var count = 0; - var items = sessionStorage.getItem("panier").split(" "); - for (count; count < items.length; count++){} - document.getElementById("pastilleRouge").classList.remove("hidden"); - document.getElementById("pastilleRouge").innerHTML = count; - } - } -</script> \ No newline at end of file +<script src="../scripts/membres.js"></script> \ No newline at end of file diff --git a/html/panier.html b/html/panier.html index 43908436d41535511aae34c7288593c7118dc5a4..1ed6044539ef9a35df1b0fa13e45926b772ac217 100644 --- a/html/panier.html +++ b/html/panier.html @@ -8,48 +8,6 @@ <body id="listePanier" onload="retrievePanier()"></body> <script src="../scripts/readJson.js"></script> -<script> - function buildReserve(indexes, frigo){ - var indexRepas = indexes.split('-')[1]; - var item = document.createElement("div"); - var nom = document.createElement("span"); - var breakElement = document.createElement("br"); - - item.className = "panierOutline"; - nom.className = "bold"; - - nom.appendChild(document.createTextNode(frigo.repas[indexRepas].nom)); - item.appendChild(nom); - item.appendChild(breakElement); - item.appendChild(document.createTextNode("Provenance: " + frigo.nom)); - item.appendChild(breakElement.cloneNode(false)); - - return item; - } - - function retrievePanier(){ - var panierElems = sessionStorage.getItem('panier'); - var container = document.getElementById('listePanier'); - var title = document.createElement("p"); - title.className = "titleSection"; - title.appendChild(document.createTextNode("Mon panier")); - container.appendChild(title); - container.appendChild(document.createElement("div")); - container = container.lastChild; - container.className = "listeRepas"; - - if(panierElems != null){ - var obj = httpGetJson(); - var items = panierElems.split(" "); - items.forEach(item =>{ - if(item.length!=0){ - container.appendChild(buildReserve(item,obj.array[item.split('-')[0]])); - } - }) - - sessionStorage.removeItem('frigoIndex'); - } - } -</script> +<script src="../scripts/panier.js"></script> </html> \ No newline at end of file diff --git a/scripts/chercherUnRepas.js b/scripts/chercherUnRepas.js new file mode 100644 index 0000000000000000000000000000000000000000..bc1d3ebc2109e9131ff3a8e55bebc0ccbbe865a4 --- /dev/null +++ b/scripts/chercherUnRepas.js @@ -0,0 +1,130 @@ + +var textbox = document.getElementById("form"); +textbox.addEventListener("focus", onTextBoxFocus, true); +textbox.addEventListener("blur", onTextBoxBlur, true); + +function onTextBoxFocus(){ + document.getElementsByName('textbox')[0].placeholder=''; +} + +function onTextBoxBlur(){ + document.getElementsByName('textbox')[0].placeholder='Écrire votre repas'; +} + +function buildHeader(frigo){ + var container = document.createElement("div"); + var title = document.createElement("p"); + var label = document.createElement("div"); + var nom = document.createElement("span"); + var addresse = document.createElement("span"); + var breakElement = document.createElement("br"); + + title.className= "titleSection"; + label.className = "selectedFridgeLabel"; + nom.className = "bold underlined"; + addresse.className = "bold"; + + title.appendChild(document.createTextNode("Chercher un repas")); + nom.appendChild(document.createTextNode(frigo.nom)); + addresse.appendChild(document.createTextNode(frigo.addresse)); + + label.appendChild(nom); + label.appendChild(breakElement.cloneNode(false)); + label.appendChild(addresse); + container.appendChild(breakElement.cloneNode(false)); + container.appendChild(title); + container.appendChild(breakElement.cloneNode(false)); + console.log(label); + container.appendChild(label); + + return container; +} +var i = 0; +function buildRepas(repas,indexFrigo){ + var indexRepas = i++; + var item = document.createElement("div"); + var nom = document.createElement("span"); + var add = document.createElement("button"); + var bb = document.createElement("div"); + var allergene = document.createElement("div") + var breakElement = document.createElement("br"); + + console.log(indexFrigo); + item.className= "mealOutline"; + nom.className = "bold"; + add.className = "addButton"; + add.onclick = (()=>{addToPanier(event,indexRepas, indexFrigo)}); + bb.className = "mealInfo"; + allergene.className = "mealInfo"; + + nom.appendChild(document.createTextNode(repas.nom)); + add.appendChild(document.createTextNode("+")); + bb.appendChild(document.createTextNode("BB : " + repas.bb)); + item.appendChild(nom); + item.appendChild(breakElement); + item.appendChild(document.createTextNode(repas.type)); + item.appendChild(breakElement.cloneNode(false)); + item.appendChild(document.createTextNode("Quantité : " + repas.qt + " disponibles")); + item.appendChild(breakElement.cloneNode(false)); + item.appendChild(bb); + + var listeAllergene = ""; + if(repas.allergenes.length == 0) { + listeAllergene = "Sans allergènes"; + } else { + listeAllergene += repas.allergenes[0]; + for (let a = 1; a < repas.allergenes.length; a++) { + listeAllergene += ', ' + repas.allergenes[a]; + } + } + allergene.appendChild(document.createTextNode(listeAllergene)); + item.appendChild(allergene); + + item.appendChild(add); + + return item; +} + +function retrieveRepas(){ + var index = sessionStorage.getItem('frigoIndex'); + console.log(index) + if(index != null){ + var obj = httpGetJson(); + var container = document.getElementById('listeRepas') + + container.innerHTML = ""; + container.appendChild(buildHeader(obj.array[index])); + + container.appendChild(document.createElement("div")); + container = container.lastChild; + container.className = "listeRepas"; + + obj.array[index].repas.forEach(repas => { + container.appendChild(buildRepas(repas,index)); + }) + sessionStorage.removeItem('frigoIndex'); + } +} + +function addToPanier(event, repas, frigoIndex) { + event.target.innerHTML = "<span class = 'thicc'>✓</span>"; + setTimeout(() => {event.target.innerHTML = "+"},750); + setTimeout(() => {document.activeElement.blur()},769); + if(sessionStorage.getItem("panier") != null){ + var prev = sessionStorage.getItem("panier"); + sessionStorage.setItem("panier", prev+" "+frigoIndex+"-"+repas); + } + else { + sessionStorage.setItem("panier", frigoIndex+"-"+repas); + } + parentPastille(); +} + +function parentPastille() { + if(sessionStorage.getItem("panier") != null){ + console.log("slt") + var event = new CustomEvent('pastilleChanged') + window.parent.document.dispatchEvent(event) + } + console.log("allo") +} \ No newline at end of file diff --git a/scripts/listeFrigos.js b/scripts/listeFrigos.js new file mode 100644 index 0000000000000000000000000000000000000000..a9306ecb0f5b34a19a00abf4608aca0af62e6b62 --- /dev/null +++ b/scripts/listeFrigos.js @@ -0,0 +1,42 @@ +var i = 0; + +function buildFrigo(frigo) { + var index = i++; + var item = document.createElement("a"); + var nom = document.createElement("span"); + var breakElement = document.createElement("br"); + var imgDispo = document.createElement("img"); + + item.className = "fridgeOutline"; + item.onclick = (() => { + saveFrigoIndex(index) + }); + item.href = "chercherUnRepas.html"; + nom.className = "bold"; + imgDispo.className = "img-dispo"; + imgDispo.src = frigo.dispo ? "../dispo.png" : "../nondispo.png"; + + nom.appendChild(document.createTextNode(frigo.nom)); + item.appendChild(nom); + item.appendChild(breakElement); + item.appendChild(document.createTextNode(frigo.addresse)); + item.appendChild(breakElement.cloneNode(false)); + item.appendChild(document.createTextNode("Situé à " + frigo.distance + " mètres\n")); + item.appendChild(imgDispo); + + return item; +} + +function retrieveFrigos() { + var obj = httpGetJson(); + + var liste = document.getElementById("listeFrigo"); + + obj.array.forEach(frigo => { + liste.appendChild(buildFrigo(frigo)); + }) +} + +function saveFrigoIndex(index) { + sessionStorage.setItem('frigoIndex', index); +} \ No newline at end of file diff --git a/scripts/membres.js b/scripts/membres.js new file mode 100644 index 0000000000000000000000000000000000000000..bd00f6ff23a26f1d9e339246f7251f86b9bd7ed8 --- /dev/null +++ b/scripts/membres.js @@ -0,0 +1,17 @@ +managePastille(); +window.document.addEventListener('pastilleChanged', handleEvent, false) + +function handleEvent(e) { + managePastille(); +} + +function managePastille() { + if (sessionStorage.getItem("panier") != null) { + var count = 0; + var items = sessionStorage.getItem("panier").split(" "); + for (count; count < items.length; count++) { + } + document.getElementById("pastilleRouge").classList.remove("hidden"); + document.getElementById("pastilleRouge").innerHTML = count; + } +} \ No newline at end of file diff --git a/scripts/panier.js b/scripts/panier.js new file mode 100644 index 0000000000000000000000000000000000000000..1cb0dd7c183b734f2991268f64b8e9ea685341a7 --- /dev/null +++ b/scripts/panier.js @@ -0,0 +1,41 @@ +function buildReserve(indexes, frigo) { + var indexRepas = indexes.split('-')[1]; + var item = document.createElement("div"); + var nom = document.createElement("span"); + var breakElement = document.createElement("br"); + + item.className = "panierOutline"; + nom.className = "bold"; + + nom.appendChild(document.createTextNode(frigo.repas[indexRepas].nom)); + item.appendChild(nom); + item.appendChild(breakElement); + item.appendChild(document.createTextNode("Provenance: " + frigo.nom)); + item.appendChild(breakElement.cloneNode(false)); + + return item; +} + +function retrievePanier() { + var panierElems = sessionStorage.getItem('panier'); + var container = document.getElementById('listePanier'); + var title = document.createElement("p"); + title.className = "titleSection"; + title.appendChild(document.createTextNode("Mon panier")); + container.appendChild(title); + container.appendChild(document.createElement("div")); + container = container.lastChild; + container.className = "listeRepas"; + + if (panierElems != null) { + var obj = httpGetJson(); + var items = panierElems.split(" "); + items.forEach(item => { + if (item.length != 0) { + container.appendChild(buildReserve(item, obj.array[item.split('-')[0]])); + } + }) + + sessionStorage.removeItem('frigoIndex'); + } +} \ No newline at end of file