This commit is contained in:
Max Hunt 2020-04-23 10:47:12 +01:00
parent 378d10884d
commit 9f73b6daee
9 changed files with 206 additions and 23 deletions

View File

@ -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
View 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">&#x27a4;</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">
&#x1F514; | <%= 0%>
</div>
<div class="cart">
&#x1F6d2; | <%= 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>

View File

@ -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>

View File

@ -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;
}

View File

@ -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>

View File

@ -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();

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -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>