diff --git a/css/styles.css b/css/styles.css index acc5b72f8a360c5f790850ce4f23c348bf23ffd7..a417af859d22b3c6671aabee8655f825d78da4c2 100644 --- a/css/styles.css +++ b/css/styles.css @@ -161,6 +161,37 @@ iframe { margin: 3px 0px -3px -10px; } +.filter-button{ + width: 46px; + height: 43px; + border-radius: 5px; + background-color: #53bdbd; + border: none; + position: absolute; + top: 12px; + left: 145px; + outline:none; + cursor: pointer; +} + +.filter-button img{ + width: 19px; + height: 19px; + position: absolute; + top: 3px; + left: 14px; +} + +.filter-button span{ + position: absolute; + color: white; + font-weight: bold; + text-align: center; + font-size: 13px; + top: 25px; + left: 4px; +} + .fridgeOutline { border-radius: 25px; background-color: #F2F2F2; @@ -175,6 +206,7 @@ iframe { text-decoration: none; color:black; margin-top:1em; + position: relative; } .grey-label{ @@ -221,6 +253,14 @@ iframe { top: 12px; } +.img-dispo{ + position: absolute; + width: 40px; + height: 39px; + top: 29px; + left: 842px; +} + .insc { width: 418px; display: block; @@ -374,6 +414,18 @@ iframe { margin-top:1em; } +.pastille { + height: 15px; + width: 15px; + background-color: red; + border-radius: 50%; + position: absolute; + left: 210px; + bottom: 35px; + color: white; + font-size: 12.5px; +} + .search-button{ border-radius: 5px; border-width: 0px; @@ -535,6 +587,7 @@ iframe { padding-top: 22px; margin: auto; width: 292px; + margin-top: 30px; } .top-content { @@ -599,6 +652,10 @@ iframe { font-size: 12px; } +#listeFrigo{ + position: relative; +} + #memberSectionTab{ background-color: white; color: #008C8C; diff --git a/html/chercherUnRepas.html b/html/chercherUnRepas.html index b0ffefd46a69c09c4024f3d8e7ee31f9e1310f06..c84b77b88f8812f091e52baa9070378ca97bde88 100644 --- a/html/chercherUnRepas.html +++ b/html/chercherUnRepas.html @@ -75,7 +75,16 @@ 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> </html> \ No newline at end of file diff --git a/html/listeFrigos.html b/html/listeFrigos.html index 5ac8c461ed67f76e9f59604a54447a20a669c522..2f0ac687dd335ef238f72382ee8d096128cf37f4 100644 --- a/html/listeFrigos.html +++ b/html/listeFrigos.html @@ -6,25 +6,50 @@ <title>Liste des frigos</title> </head> <body id="listeFrigo" onload="retrieveFrigos()"> - <p class="titleSection">Mon profil</p> + <p class="titleSection">Liste des frigos</p> + <button class="filter-button"> + <img src="../filtre.png"><br> + <span>Filtres</span> + </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 builtUpHTML = ""; - for(let i = 0; i<obj.array.length; i++) { - builtUpHTML += '<a class="fridgeOutline" onclick="saveFrigoIndex(event,'+i+')" href="chercherUnRepas.html" >' + - ' <span class="bold">' + - obj.array[i].nom + - ' </span><br>' + - obj.array[i].addresse + - ' <br>Situé à '+obj.array[i].distance+' mètres\n' + - ' </a>' - } - document.getElementById("listeFrigo").innerHTML+= builtUpHTML; + + var liste = document.getElementById("listeFrigo"); + + obj.array.forEach(x => { + liste.appendChild(buildFrigo(x)); + }) } - function saveFrigoIndex(event, index){ + function saveFrigoIndex(index){ sessionStorage.setItem('frigoIndex', index); } </script> diff --git a/html/membres.html b/html/membres.html index 2ff52a1033264a73fae9dad0e0f3136ab33b4c35..8836112aee702c8d35a0c2cee14d17cc5f028e1b 100644 --- a/html/membres.html +++ b/html/membres.html @@ -32,6 +32,7 @@ <span class="bold-btn">Mon profil</span> </button> <button class="tablinks" onclick="openTab(event, 'panier')"> + <div id="pastilleRouge" class="pastille hidden">0</div> <img src="../panier.png" class="icone-panier"> <span class="bold-btn">Mon panier</span> </button> @@ -47,10 +48,18 @@ </html> <script src="../scripts/tabsAndErrors.js"></script> <script> - /*var test = document.getElementById('test'); - - - for (var i = 1; i < 15 ; i++) { - test.innerHTML += "<div id=\"button_"+i+"\">" + i + "</div>"; - };*/ + 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 diff --git a/html/panier.html b/html/panier.html index bae0f061c4c3ac6d02cf10b2ae1e7aeba6585b4a..d1e22b4b4fcd881b3d289f2255c8430d4f36a598 100644 --- a/html/panier.html +++ b/html/panier.html @@ -5,16 +5,14 @@ <meta charset="UTF-8"> <title>Mon Panier</title> </head> -<body id="listePanier" onload="retrievePanier()"> -<br> -<p class="titleSection">Mon panier</p> -</body> +<body id="listePanier" onload="retrievePanier()"></body> <script src="../scripts/readJson.js"></script> <script> function retrievePanier(){ var panierElems = sessionStorage.getItem('panier'); - var builtUpHTML=""; + var builtUpHTML="<br>" + + "<p class=\"titleSection\">Mon panier</p><div class='listeRepas'>"; if(panierElems != null){ var obj = httpGetJson(); var items = panierElems.split(" "); @@ -28,7 +26,7 @@ } } - document.getElementById('listePanier').innerHTML = builtUpHTML; + document.getElementById('listePanier').innerHTML = builtUpHTML + '</div>'; sessionStorage.removeItem('frigoIndex'); } }