Files
shop-ejs-expressjs/views/search.ejs
2022-03-30 10:15:29 +02:00

200 lines
5.1 KiB
Plaintext

<!DOCTYPE html>
<html lang="en">
<head>
<%- include('partials/head'); %>
</head>
<body>
<header>
<%- include('partials/header'); %>
</header>
<div class="filtersDIV">
<br/>
<h3 style="text-align: center;"> FILTER COMMING SOON </h3>
</div>
<% if (products.length == 0) { %>
<h2 class="noProductsH">Keine Produkte gefunden</h2>
<% } else { %>
<div class="productsResInfDIV">
<h2 class="productsResInfH">Suchergebnisse</h2>
</div>
<div class="allProductsDIV">
<% for(var i=0; i < products.length; i++) {
var prod = products[i];
if (!prod.img) { prod.img = "/images/examples.jpg"; }
//if (!prod.rating) { prod.rating = 0; } %>
<div class="productDIV">
<div class="productData">
<a href="/product/<%=prod.id %>"><h4 style="color: Navy;"><%=prod.name %></h4></a>
<h4><%=prod.price %>€</h4>
<h4><%
if (prod.rating) {
prod.rating = Math.round(prod.rating/2)
for (var i2=0; i2 < prod.rating; i2++) {
%>★<%
}
for (var i2=prod.rating; i2 < 5; i2++) {
%>☆<%
}
} else {
%>Keine Bewertungen<%
}
%></h4>
<%
var col;
if (prod.quantity > 5) {
col = "green";
} else if (prod.quantity > 0) {
col = "orange";
} else {
col = "red";
}
%>
<h4 style="color: <%=col %>">
<%=prod.quantity %> auf Lager
</h4>
</div>
<div class="productImage">
<img src="<%=prod.img %>">
</div>
<div class="productInfo"><%=prod.description %></div>
</div>
<% } %>
</div>
<% } %>
</body>
</html>
<script type="text/javascript">
function openProduct(id, newWindow) {
window.open('/product/'+id, newWindow ? '_blank' : '_self')
}
</script>
<style type="text/css">
a, a:hover, a:focus, a:active > .allProductsDIV {
text-decoration: none;
color: inherit;
}
/* SEARCH INFO */
.productsResInfDIV {
position: relative;
left: calc(10% + 10px);
width: calc(80% - 20px);
margin-top: 10px;
}
.noProductsH {
text-align: center;
}
/* PRODUCT COLUMN */
.productDIV {
font-size: 16px;
margin: 10px;
padding: 5px;
display: inline-block;
background-color: white;
border-style: solid;
border-width: 1px;
border-radius: 3px;
border-color: grey;
box-shadow: 1px 1px 10px grey;
position: relative;
height: 250px;
}
/* IMAGE */
.productImage > img {
position: absolute;
max-width: 100%;
max-height: 100%;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
.productDIV > .productImage {
width: calc(50% - 15px);
height: calc(100% - 120px);
position: absolute;
left: 10px;
bottom: 10px;
}
.productDIV > h4 {
padding: 0px;
margin: 0px;
}
/* DESCRIPTION */
.productDIV > .productInfo {
width: calc(50% - 15px);
height: calc(100% - 60px);
position: absolute;
overflow-y: hidden;
overflow-x: hidden;
right: 10px;
bottom: 10px;
}
/* PRICE ETC */
.productDIV > .productData {
width: calc(100% - 20px);
height: 90px;
position: absolute;
left: 10px;
top: 10px;
}
.productData > h4 {
margin: 0px;
color: LightSlateGray;
}
/* FILTERS */
.filtersDIV {
position: relative;
left: calc(10% + 10px);
width: calc(80% - 20px);
height: 100px;
background-color: grey;
}
/* PRODUCTS GRID */
.allProductsDIV {
font-size: 0;
margin: 0px;
width: calc(80% - 20px);
left: 10%;
position: absolute;
padding: 10px;
background-color: white;
display: grid;
}
@media (max-width: 400px) {
.allProductsDIV {
grid-template-columns: 1fr;
}
}
@media (min-width: 800px) {
.allProductsDIV {
grid-template-columns: 1fr 1fr;
}
}
@media (min-width: 1200px) {
.allProductsDIV {
grid-template-columns: 1fr 1fr 1fr;
}
}
</style>