Update
This commit is contained in:
parent
378d10884d
commit
9f73b6daee
23
server.js
23
server.js
@ -20,12 +20,10 @@ app.set('views', __dirname + '/views')
|
|||||||
|
|
||||||
|
|
||||||
app.get("/", function(request, responce) {
|
app.get("/", function(request, responce) {
|
||||||
dbRef = database.ref("/products")
|
var dbRef = database.ref("/products")
|
||||||
dbRef.limitToFirst(5).once('value', function(snapshot){
|
dbRef.limitToFirst(5).once('value', function(snapshot){
|
||||||
var data = snapshot.val()
|
var data = {}
|
||||||
if (!data) {
|
data = snapshot.val()
|
||||||
data = {}
|
|
||||||
}
|
|
||||||
var x = "none"
|
var x = "none"
|
||||||
if (request.query.itemAdded == "true") {
|
if (request.query.itemAdded == "true") {
|
||||||
x = 'block'
|
x = 'block'
|
||||||
@ -42,9 +40,20 @@ app.get('/additmpage', function(request, responce){
|
|||||||
|
|
||||||
app.get('/product', function(request, responce){
|
app.get('/product', function(request, responce){
|
||||||
if (request.query.productid) {
|
if (request.query.productid) {
|
||||||
console.log(request.query.productid)
|
var dbRef = database.ref("/products/"+request.query.productid)
|
||||||
|
dbRef.once('value', function(snapshot){
|
||||||
|
data = snapshot.val()
|
||||||
|
if (data){
|
||||||
|
responce.render('product.ejs', {item:data})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
responce.render('404.ejs')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
responce.render('404.ejs')
|
||||||
}
|
}
|
||||||
responce.render('product.ejs')
|
|
||||||
})
|
})
|
||||||
|
|
||||||
var port = 5000
|
var port = 5000
|
||||||
|
|||||||
94
views/404.ejs
Normal file
94
views/404.ejs
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
<!doctype html>
|
||||||
|
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="utf-8">
|
||||||
|
|
||||||
|
<title>404</title>
|
||||||
|
<meta name="description" content="GG Prototype Web">
|
||||||
|
<meta name="author" content="Max">
|
||||||
|
|
||||||
|
<link rel="stylesheet" href="css/style.css">
|
||||||
|
|
||||||
|
<script src="https://www.gstatic.com/firebasejs/7.14.1/firebase-app.js"></script>
|
||||||
|
<script src="https://www.gstatic.com/firebasejs/7.14.1/firebase-analytics.js"></script>
|
||||||
|
<script src="https://www.gstatic.com/firebasejs/7.14.1/firebase-auth.js"></script>
|
||||||
|
<script src="https://www.gstatic.com/firebasejs/7.14.1/firebase-storage.js"></script>
|
||||||
|
<script defer src="https://www.gstatic.com/firebasejs/7.14.1/firebase-database.js"></script>
|
||||||
|
<script src="js/fInit.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<main>
|
||||||
|
<div class="page">
|
||||||
|
<div class="navbar">
|
||||||
|
<div class="logon-crumbs">
|
||||||
|
<div id="uname-field" style="display: none;">
|
||||||
|
<a id="uname-dom" class="user-name" href="/">Unregistered user</a>
|
||||||
|
<div class="user-logout">
|
||||||
|
<a onclick={signout()}>Log out</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="login-field" style="display: block;">
|
||||||
|
<input id="fuid" type="text" placeholder="Username">
|
||||||
|
<input id="fpwd" type="password" placeholder="Password">
|
||||||
|
<button id="blogin" onclick={signinwithemail()} class="btn-login">➤</button>
|
||||||
|
<button id="blogin_g" onclick={signinwithgoogle()} class="btn-g-login"><img src="media/g_logon.png" class="img-g-login" alt="img"></button>
|
||||||
|
<button id="blogin_g" onclick={signinwithfb()} class="btn-fb-login"><img src="media/fb_logon.png" class="img-g-login" alt="img"></button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="user-info">
|
||||||
|
<div class="notifications">
|
||||||
|
🔔 | <%= 0%>
|
||||||
|
</div>
|
||||||
|
<div class="cart">
|
||||||
|
🛒 | <%= 0%>
|
||||||
|
</div>
|
||||||
|
<div class="add-item">
|
||||||
|
<a href="/additmpage">⊕</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="sbar">
|
||||||
|
<img src="media/gg_logo.png" alt="img">
|
||||||
|
<input id="sfield" type="text" placeholder="I Want...">
|
||||||
|
<button id="sbutton">Go!</button>
|
||||||
|
<a href="#">Extras</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="space"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="e-404">
|
||||||
|
<h1>It's a 404!</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="space"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<div class="links">
|
||||||
|
<a href="#">Help</a>
|
||||||
|
<a href="#">Contact</a>
|
||||||
|
<a href="#">Legal</a>
|
||||||
|
</div>
|
||||||
|
<div class="legal">
|
||||||
|
<a>© GG Sales 2019-2020. All Rights Reserved. </a>
|
||||||
|
<a class="link" href="#">User Agreement</a>
|
||||||
|
<a> ,</a>
|
||||||
|
<a class="link" href="#">Privacy</a>
|
||||||
|
<a> ,</a>
|
||||||
|
<a class="link" href="#">Cookies</a>
|
||||||
|
</div>
|
||||||
|
<div class="location">
|
||||||
|
GG Sales US 🇺🇸
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
<script src="js/fAuth.js"></script>
|
||||||
|
<script src="js/fStore.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
@ -103,7 +103,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="js/fAuth.js"></script>
|
<script src="js/fAuth.js"></script>
|
||||||
|
|
||||||
<script src="js/fdb.js"></script>
|
<script src="js/fdb.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -425,4 +425,70 @@ footer a {
|
|||||||
color: green;
|
color: green;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translate(-10%, 0);
|
transform: translate(-10%, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.product-page-container {
|
||||||
|
width: 100%;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.product-page-info-container {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
font-family: osl;
|
||||||
|
color: #5E5E5E;
|
||||||
|
display: inline-flex;
|
||||||
|
}
|
||||||
|
.product-page-img {
|
||||||
|
position: relative;
|
||||||
|
width: 42%;
|
||||||
|
padding-top: 5px;
|
||||||
|
}
|
||||||
|
.product-page-img img {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.product-page-info {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 20px;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-page-info button {
|
||||||
|
margin-top: 38px;
|
||||||
|
height: 40px;
|
||||||
|
width: 100px;
|
||||||
|
display: block;
|
||||||
|
font-size: 19px;
|
||||||
|
font-family: osl;
|
||||||
|
box-shadow: 0px 2px 3px #A5A5A5;
|
||||||
|
border-radius: 0;
|
||||||
|
border: none;
|
||||||
|
background-color: #30a8ff;
|
||||||
|
transition: 0.3s;
|
||||||
|
}
|
||||||
|
.product-page-info button:hover {
|
||||||
|
transition: 0.3s;
|
||||||
|
background-color: #ff7700;
|
||||||
|
}
|
||||||
|
.product-page-info button:active {
|
||||||
|
transition: 0.1s;
|
||||||
|
background-color: #ffaf69;
|
||||||
|
}
|
||||||
|
|
||||||
|
.product-page-info h2 {
|
||||||
|
font-size: 30px;
|
||||||
|
}
|
||||||
|
.product-page-info p {
|
||||||
|
font-size: 20px;
|
||||||
|
padding-top: 38px;
|
||||||
|
}
|
||||||
|
.product-page-description {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.product-page-description p {
|
||||||
|
font-family: osl;
|
||||||
|
font-size: 20px;
|
||||||
|
color: #5E5E5E;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -160,6 +160,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="js/fAuth.js"></script>
|
<script src="js/fAuth.js"></script>
|
||||||
<script src="js/fStore.js"></script>
|
<script src="js/fdb.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
@ -1,12 +0,0 @@
|
|||||||
function updateImgs() {
|
|
||||||
const storage = firebase.storage()
|
|
||||||
const rootReference = storage.ref('/product-img')
|
|
||||||
|
|
||||||
var images = document.getElementsByClassName('dyn-img')
|
|
||||||
// console.log(images)
|
|
||||||
Array.from(images).forEach((image) => {
|
|
||||||
var pathReference = rootReference.child(image.title)
|
|
||||||
pathReference.getDownloadURL().then(function(url) {image.src = url})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
updateImgs();
|
|
||||||
@ -52,3 +52,16 @@ function addItem(item){
|
|||||||
console.log(error)
|
console.log(error)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function updateImgs() {
|
||||||
|
const storage = firebase.storage()
|
||||||
|
const rootReference = storage.ref('/product-img')
|
||||||
|
|
||||||
|
var images = document.getElementsByClassName('dyn-img')
|
||||||
|
// console.log(images)
|
||||||
|
Array.from(images).forEach((image) => {
|
||||||
|
var pathReference = rootReference.child(image.title)
|
||||||
|
pathReference.getDownloadURL().then(function(url) {image.src = url})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
updateImgs();
|
||||||
BIN
views/media/noimage.png
Normal file
BIN
views/media/noimage.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
@ -60,6 +60,20 @@
|
|||||||
<div class="space"></div>
|
<div class="space"></div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="product-page-container">
|
||||||
|
<div class="product-page-info-container">
|
||||||
|
<div class="product-page-img"><img class="dyn-img" src="media/noimage.png" title="<%= item.img %>"></div>
|
||||||
|
<div class="product-page-info">
|
||||||
|
<h2><%= item.name %> </h2>
|
||||||
|
<p>Seller <%= item.owner %></p>
|
||||||
|
<p>Location: <%= item.location %></p>
|
||||||
|
<p>In stock: <%= item.stock %></p>
|
||||||
|
<p>Price: £<%= item.price %></p>
|
||||||
|
<button onclick={purchaseItem()} id="REMEMBER TO ADD AUTH VERIFICATION TO JS SCRIPT">Buy!</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="product-page-description"><p><%= "Description" %></p></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="space"></div>
|
<div class="space"></div>
|
||||||
@ -86,6 +100,6 @@
|
|||||||
</div>
|
</div>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="js/fAuth.js"></script>
|
<script src="js/fAuth.js"></script>
|
||||||
<script src="js/fStore.js"></script>
|
<script src="js/fdb.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
Loading…
Reference in New Issue
Block a user