From 9f73b6daeea5f50b0849b5036a9e508a13a9ded4 Mon Sep 17 00:00:00 2001 From: Max Hunt Date: Thu, 23 Apr 2020 10:47:12 +0100 Subject: [PATCH] Update --- server.js | 23 +++++++--- views/404.ejs | 94 ++++++++++++++++++++++++++++++++++++++++ views/add-item.ejs | 1 - views/css/style.css | 68 ++++++++++++++++++++++++++++- views/home.ejs | 2 +- views/js/fStore.js | 12 ----- views/js/fdb.js | 13 ++++++ views/media/noimage.png | Bin 0 -> 28087 bytes views/product.ejs | 16 ++++++- 9 files changed, 206 insertions(+), 23 deletions(-) create mode 100644 views/404.ejs delete mode 100644 views/js/fStore.js create mode 100644 views/media/noimage.png diff --git a/server.js b/server.js index c98cd83..ec997a0 100644 --- a/server.js +++ b/server.js @@ -20,12 +20,10 @@ app.set('views', __dirname + '/views') app.get("/", function(request, responce) { - dbRef = database.ref("/products") + var dbRef = database.ref("/products") dbRef.limitToFirst(5).once('value', function(snapshot){ - var data = snapshot.val() - if (!data) { - data = {} - } + var data = {} + data = snapshot.val() var x = "none" if (request.query.itemAdded == "true") { x = 'block' @@ -42,9 +40,20 @@ app.get('/additmpage', function(request, responce){ app.get('/product', function(request, responce){ 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 diff --git a/views/404.ejs b/views/404.ejs new file mode 100644 index 0000000..414037b --- /dev/null +++ b/views/404.ejs @@ -0,0 +1,94 @@ + + + + + + + 404 + + + + + + + + + + + + + + +
+
+ + +
+ img + + + Extras +
+ +
+ + +
+

It's a 404!

+
+ + +
+
+ +
+ + + + + + \ No newline at end of file diff --git a/views/add-item.ejs b/views/add-item.ejs index e2d0982..2571bbb 100644 --- a/views/add-item.ejs +++ b/views/add-item.ejs @@ -103,7 +103,6 @@ - \ No newline at end of file diff --git a/views/css/style.css b/views/css/style.css index 0479789..f87e3d4 100644 --- a/views/css/style.css +++ b/views/css/style.css @@ -425,4 +425,70 @@ footer a { color: green; left: 50%; transform: translate(-10%, 0); -} \ No newline at end of file +} + +.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; +} + + + diff --git a/views/home.ejs b/views/home.ejs index b0221c0..236b92e 100644 --- a/views/home.ejs +++ b/views/home.ejs @@ -160,6 +160,6 @@ - + \ No newline at end of file diff --git a/views/js/fStore.js b/views/js/fStore.js deleted file mode 100644 index 3a8dd08..0000000 --- a/views/js/fStore.js +++ /dev/null @@ -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(); \ No newline at end of file diff --git a/views/js/fdb.js b/views/js/fdb.js index 0ae357d..abb0ba6 100644 --- a/views/js/fdb.js +++ b/views/js/fdb.js @@ -52,3 +52,16 @@ function addItem(item){ 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(); \ No newline at end of file diff --git a/views/media/noimage.png b/views/media/noimage.png new file mode 100644 index 0000000000000000000000000000000000000000..e78160b441028c639013eb662433e08681447373 GIT binary patch literal 28087 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 +
+
+
+
+

<%= item.name %>

+

Seller <%= item.owner %>

+

Location: <%= item.location %>

+

In stock: <%= item.stock %>

+

Price: £<%= item.price %>

+ +
+
+

<%= "Description" %>

+
@@ -86,6 +100,6 @@ - + \ No newline at end of file