Update
This commit is contained in:
parent
d7a6efbd49
commit
57b0b525ff
@ -35,9 +35,9 @@ app.get("/home", function(request, responce) {
|
||||
|
||||
function homePage(request, responce) {
|
||||
var dbRef = database.ref("/products")
|
||||
dbRef.limitToLast(5).once('value', function(snapshot){
|
||||
dbRef.orderByChild("status").equalTo("on-sale").limitToLast(5).once('value', function(snapshot){
|
||||
var data = {}
|
||||
data = snapshot.val()
|
||||
if (snapshot.val()) {data = snapshot.val()}
|
||||
var x = "none"
|
||||
if (request.query.itemAdded == "true") {
|
||||
x = 'block'
|
||||
@ -96,6 +96,27 @@ app.get('/my-products', function(request, responce){
|
||||
}
|
||||
})
|
||||
|
||||
app.get('/my-product', function(request, responce){
|
||||
if (request.query.uToken && request.query.productid) {
|
||||
admin.auth().verifyIdToken(request.query.uToken)
|
||||
.then(function(decodedToken) {
|
||||
let uid = decodedToken.uid;
|
||||
var dbRef = database.ref("/products/"+request.query.productid)
|
||||
dbRef.once('value', function(snapshot){
|
||||
data = snapshot.val()
|
||||
responce.render('my-product.ejs', {item:data, key:request.query.productid})
|
||||
})
|
||||
})
|
||||
.catch(function(error) {
|
||||
console.log(error)
|
||||
responce.send("<h1>Bad Auth Token</h1><a href='home'>Home</a>")
|
||||
});
|
||||
}
|
||||
else {
|
||||
responce.send("<h1>No Auth Token Provided</h1><a href='home'>Home</a>")
|
||||
}
|
||||
})
|
||||
|
||||
app.get('/product', function(request, responce){
|
||||
if (request.query.productid) {
|
||||
var dbRef = database.ref("/products/"+request.query.productid)
|
||||
@ -121,7 +142,7 @@ app.post('/purchase-api', function(request, responce){
|
||||
let uid = decodedToken.uid;
|
||||
let product = request.body.item
|
||||
var productRef = database.ref("/products/"+product)
|
||||
productRef.update({owner:uid})
|
||||
productRef.update({owner:uid, status:"sold"})
|
||||
responce.send({success:true, error:null})
|
||||
})
|
||||
.catch(function(error) {
|
||||
|
||||
@ -63,9 +63,6 @@
|
||||
<input required type="file" id="pImg" value="upload" accept="image/jpeg, image/png, image/gif">
|
||||
<input required type="text" id="pLoc" placeholder="Location (eg. London)">
|
||||
<input required type="text" id="pStock" placeholder="Quantity in stock (default: 1)">
|
||||
<div class="npf-long">
|
||||
<input type="text" id="pPublic" placeholder="Display: leave empty for public, type for private, CHECKBOXES ARE FUCKING HARD">
|
||||
</div>
|
||||
<div class="npf-short">
|
||||
<input required type="text" id="pPrice" placeholder="Price £">
|
||||
</div>
|
||||
|
||||
@ -511,18 +511,18 @@ footer a {
|
||||
.my-products-container {
|
||||
|
||||
}
|
||||
|
||||
.my-product-container {
|
||||
padding-top: 15px;
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
display: inline-flex;
|
||||
}
|
||||
.my-product-container a {
|
||||
width: 20%;
|
||||
max-height: 20%;
|
||||
}
|
||||
|
||||
|
||||
.my-product-container img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
width: 20%;
|
||||
max-height: 90%;
|
||||
cursor: pointer;
|
||||
}
|
||||
.my-product-details-container {
|
||||
@ -590,7 +590,7 @@ footer a {
|
||||
background-color: #CB0070;
|
||||
}
|
||||
.edit-btn button:hover {
|
||||
background-color: #20A0A0;
|
||||
background-color: #ea62ff;
|
||||
}
|
||||
.sell-btn button:hover {
|
||||
background-color: #AAFF00;
|
||||
|
||||
@ -12,10 +12,10 @@ function productSubmitEventHandler(){
|
||||
id: 1,
|
||||
name: "",
|
||||
desc: "",
|
||||
img: "",
|
||||
img: "default.png",
|
||||
location: "",
|
||||
stock: 0,
|
||||
public: true,
|
||||
stock: 1,
|
||||
status: "on-sale",
|
||||
price: 0,
|
||||
owner: "",
|
||||
holder: ""
|
||||
@ -25,7 +25,6 @@ function productSubmitEventHandler(){
|
||||
const descField = document.getElementById('pDesc')
|
||||
const locField = document.getElementById('pLoc')
|
||||
const stockField = document.getElementById('pStock')
|
||||
const publicField = document.getElementById('pPublic')
|
||||
const priceField = document.getElementById('pPrice')
|
||||
|
||||
const imgBtn = document.getElementById('pImg')
|
||||
@ -35,10 +34,10 @@ function productSubmitEventHandler(){
|
||||
data.id = 999
|
||||
data.name = nameField.value
|
||||
data.desc = descField.value
|
||||
data.img = "default.png"
|
||||
data.location = locField.value
|
||||
if (stockField.value) {
|
||||
data.stock = stockField.value
|
||||
data.public = publicField.value
|
||||
}
|
||||
data.price = priceField.value
|
||||
data.owner = sessUid
|
||||
data.holder = sessUid
|
||||
@ -119,12 +118,15 @@ function purchaseItem() {
|
||||
.then(function(result){
|
||||
console.log(result)
|
||||
if (result.success == true) {
|
||||
document.getElementById("api-response").setAttribute("style", "display: block")
|
||||
purchaseBtn.setAttribute("style", "background: #00DD00; width:500px;")
|
||||
purchaseBtn.innerHTML = "Item Purchased, Congratulations!"
|
||||
}
|
||||
else {
|
||||
purchaseBtn.setAttribute("style", "background: red;")
|
||||
purchaseBtn.disabled = true
|
||||
purchaseBtn.innerHTML = "ERROR"
|
||||
document.getElementById("api-response").innerHTML = "Error: " + result.error
|
||||
document.getElementById("api-response").setAttribute("style", "display: block")
|
||||
document.getElementById("api-response").setAttribute("style", "color: #DD0000")
|
||||
}
|
||||
//check return value
|
||||
//update element accordingly
|
||||
|
||||
@ -66,14 +66,10 @@
|
||||
<% var keys = Object.keys(products) %>
|
||||
<% keys.forEach(function(key){ %>
|
||||
<div class="my-product-container">
|
||||
<a>
|
||||
<img class="dyn-img" onclick={my_product("<%= key%>")} title="<%= products[key].img %>" alt="img" src="media/var.png">
|
||||
</a>
|
||||
<div class="my-product-details-container">
|
||||
<p class="top"><%= products[key].name%></p>
|
||||
<% var publicField %>
|
||||
<% if (products[key].public == "") {publicField = "On sale"} else {publicField = "Hidden"}%>
|
||||
<p class="middle-top"><%= publicField%></p>
|
||||
<p class="middle-top"><%= products[key].status%></p>
|
||||
<p class="middle-bottom"><%= products[key].location%></p>
|
||||
<p class="bottom">£ <%= products[key].price%></p>
|
||||
</div>
|
||||
|
||||
@ -58,8 +58,7 @@
|
||||
</div>
|
||||
|
||||
<div class="space"></div>
|
||||
<div id="api-response" class="purchase-message" style="display: none;">Congratulations, you own the item</div>
|
||||
|
||||
<div id="api-response" class="purchase-message" style="display: none;color: #DD0000"></div>
|
||||
<div id="productID" style="display: none;" product_id="<%= key%>"></div>
|
||||
<div class="product-page-container">
|
||||
<div class="product-page-info-container">
|
||||
|
||||
@ -32,9 +32,9 @@ app.get("/home", function(request, responce) {
|
||||
|
||||
function homePage(request, responce) {
|
||||
var dbRef = database.ref("/products")
|
||||
dbRef.orderByChild("public").equalTo("").limitToLast(5).once('value', function(snapshot){
|
||||
dbRef.orderByChild("status").equalTo("on-sale").limitToLast(5).once('value', function(snapshot){
|
||||
var data = {}
|
||||
data = snapshot.val()
|
||||
if (snapshot.val()) {data = snapshot.val()}
|
||||
var x = "none"
|
||||
if (request.query.itemAdded == "true") {
|
||||
x = 'block'
|
||||
@ -139,7 +139,7 @@ app.post('/purchase-api', function(request, responce){
|
||||
let uid = decodedToken.uid;
|
||||
let product = request.body.item
|
||||
var productRef = database.ref("/products/"+product)
|
||||
productRef.update({owner:uid, public:"no"})
|
||||
productRef.update({owner:uid, status:"sold"})
|
||||
responce.send({success:true, error:null})
|
||||
})
|
||||
.catch(function(error) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user