mirror of
https://github.com/Expand-sys/ccashfrontend
synced 2026-03-22 12:37:13 +11:00
got rid of god forsaken marketplace
This commit is contained in:
parent
df951c9136
commit
d4c1e9c106
12 changed files with 20 additions and 631 deletions
65
index.js
65
index.js
|
|
@ -80,59 +80,6 @@ app.use(
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
app.post("/setup", async function (req, res) {
|
|
||||||
console.log(req.body);
|
|
||||||
let { mongo, url, banksecure, marketplace } = req.body;
|
|
||||||
process.env.MONGO = mongo;
|
|
||||||
process.env.MARKETPLACE = false;
|
|
||||||
if (marketplace) {
|
|
||||||
process.env.MARKETPLACE = true;
|
|
||||||
}
|
|
||||||
if (!url.endsWith("/")) {
|
|
||||||
url = url + "/";
|
|
||||||
}
|
|
||||||
process.env.BANKAPIURL = url;
|
|
||||||
process.env.SECURE = false;
|
|
||||||
if (!banksecure) {
|
|
||||||
banksecure = false;
|
|
||||||
process.env.SECURE = false;
|
|
||||||
}
|
|
||||||
process.env.SETUP = true;
|
|
||||||
fs.writeFileSync(
|
|
||||||
".env",
|
|
||||||
"BANKAPIURL=" +
|
|
||||||
process.env.BANKAPIURL +
|
|
||||||
"\n" +
|
|
||||||
"SECURE=" +
|
|
||||||
process.env.SECURE +
|
|
||||||
"\n" +
|
|
||||||
"MARKETPLACE=" +
|
|
||||||
process.env.MARKETPLACE +
|
|
||||||
"\n" +
|
|
||||||
"MONGO=" +
|
|
||||||
process.env.MONGO +
|
|
||||||
"\nSETUP=true"
|
|
||||||
);
|
|
||||||
dotenv.config();
|
|
||||||
if (process.env.MARKETPLACE) {
|
|
||||||
mongoose.connect(process.env.MONGO, {
|
|
||||||
useNewUrlParser: true,
|
|
||||||
useUnifiedTopology: true,
|
|
||||||
useFindAndModify: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
let db = mongoose.connection;
|
|
||||||
db.once("open", function () {
|
|
||||||
console.log("Connected to MongoDB");
|
|
||||||
});
|
|
||||||
|
|
||||||
//check for DB errors
|
|
||||||
db.on("error", function (err) {
|
|
||||||
console.log(err);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
res.redirect("/");
|
|
||||||
});
|
|
||||||
|
|
||||||
function papy() {
|
function papy() {
|
||||||
const rndInt = Math.floor(Math.random() * 1337);
|
const rndInt = Math.floor(Math.random() * 1337);
|
||||||
|
|
@ -144,9 +91,6 @@ function papy() {
|
||||||
}
|
}
|
||||||
|
|
||||||
app.get("/", async function (req, res) {
|
app.get("/", async function (req, res) {
|
||||||
if (!process.env.SETUP) {
|
|
||||||
res.render("setup");
|
|
||||||
} else {
|
|
||||||
let checkalive;
|
let checkalive;
|
||||||
try {
|
try {
|
||||||
checkalive = await client.help();
|
checkalive = await client.help();
|
||||||
|
|
@ -166,10 +110,8 @@ app.get("/", async function (req, res) {
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
alive: alive,
|
alive: alive,
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
random: papy(),
|
||||||
});
|
});
|
||||||
}
|
|
||||||
});
|
});
|
||||||
app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
||||||
let successes = req.session.successes;
|
let successes = req.session.successes;
|
||||||
|
|
@ -259,7 +201,6 @@ app.get("/BankF", ensureAuthenticated, async function (req, res) {
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
sucesses: successes,
|
sucesses: successes,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
random: papy(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -375,13 +316,9 @@ app.use("/admin", admin);
|
||||||
let settings = require("./routes/settings");
|
let settings = require("./routes/settings");
|
||||||
app.use("/settings", settings);
|
app.use("/settings", settings);
|
||||||
|
|
||||||
let marketplace = require("./routes/marketplace");
|
|
||||||
app.use("/marketplace", marketplace);
|
|
||||||
|
|
||||||
app.get("/logout", function (req, res) {
|
app.get("/logout", function (req, res) {
|
||||||
req.session.regenerate(function (err) {
|
req.session.regenerate(function (err) {
|
||||||
res.render("login", {
|
res.render("login", {
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
random: papy(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -395,7 +332,6 @@ app.get("/login", function (req, res) {
|
||||||
successes: successes,
|
successes: successes,
|
||||||
errors: errors,
|
errors: errors,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
random: papy(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
@ -411,7 +347,6 @@ app.get("/register", function (req, res) {
|
||||||
successes: successes,
|
successes: successes,
|
||||||
user: req.session.user,
|
user: req.session.user,
|
||||||
admin: req.session.admin,
|
admin: req.session.admin,
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
random: papy(),
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -206,40 +206,7 @@ router.post("/changebackend", checkAdmin, async function (req, res) {
|
||||||
);
|
);
|
||||||
res.redirect("../");
|
res.redirect("../");
|
||||||
});
|
});
|
||||||
router.post("/mongodb", checkAdmin, async function (req, res) {
|
|
||||||
let { url } = req.body;
|
|
||||||
process.env.MONGO = url;
|
|
||||||
|
|
||||||
if (process.env.MONGO.length < 3) {
|
|
||||||
process.env.MARKETPLACE = false;
|
|
||||||
console.log("false");
|
|
||||||
} else {
|
|
||||||
process.env.MARKETPLACE = true;
|
|
||||||
console.log("true");
|
|
||||||
}
|
|
||||||
fs.writeFileSync(
|
|
||||||
".env",
|
|
||||||
"BANKAPIURL=" +
|
|
||||||
process.env.BANKAPIURL +
|
|
||||||
"\n" +
|
|
||||||
"SECURE=" +
|
|
||||||
process.env.SECURE +
|
|
||||||
"\n" +
|
|
||||||
"MARKETPLACE=" +
|
|
||||||
process.env.MARKETPLACE +
|
|
||||||
"\n" +
|
|
||||||
"MONGO=" +
|
|
||||||
process.env.MONGO +
|
|
||||||
"\nSETUP=true"
|
|
||||||
);
|
|
||||||
try {
|
|
||||||
mongo();
|
|
||||||
} catch (e) {
|
|
||||||
console.log(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
res.redirect("../");
|
|
||||||
});
|
|
||||||
router.post("/close", checkAdmin, async function (req, res) {
|
router.post("/close", checkAdmin, async function (req, res) {
|
||||||
let { attempt } = req.body;
|
let { attempt } = req.body;
|
||||||
let close;
|
let close;
|
||||||
|
|
|
||||||
|
|
@ -1,246 +0,0 @@
|
||||||
const express = require("express");
|
|
||||||
const router = express.Router();
|
|
||||||
const bodyParser = require("body-parser");
|
|
||||||
const session = require("express-session");
|
|
||||||
const mongoose = require("mongoose");
|
|
||||||
const dotenv = require("dotenv");
|
|
||||||
const got = require("got");
|
|
||||||
const { ensureAuthenticated } = require("../config/auth.js");
|
|
||||||
let db;
|
|
||||||
|
|
||||||
function mongo() {
|
|
||||||
if (process.env.MONGO) {
|
|
||||||
console.log(process.env.MONGO);
|
|
||||||
mongoose.connect(process.env.MONGO, {
|
|
||||||
useNewUrlParser: true,
|
|
||||||
useUnifiedTopology: true,
|
|
||||||
useFindAndModify: true,
|
|
||||||
});
|
|
||||||
|
|
||||||
let db = mongoose.connection;
|
|
||||||
db.once("open", function () {
|
|
||||||
console.log("Connected to MongoDB");
|
|
||||||
});
|
|
||||||
|
|
||||||
//check for DB errors
|
|
||||||
db.on("error", function (err) {
|
|
||||||
console.log(err);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
mongo();
|
|
||||||
|
|
||||||
let Item = require("../schemas/item");
|
|
||||||
let Listing = require("../schemas/listing");
|
|
||||||
let Inventory = require("../schemas/inventory");
|
|
||||||
|
|
||||||
router.all("*", function (req, res, next) {
|
|
||||||
console.log(req.method, req.url);
|
|
||||||
next();
|
|
||||||
});
|
|
||||||
|
|
||||||
router.get("/", function (req, res) {
|
|
||||||
let columns = [0, 1, 2, 3];
|
|
||||||
Item.find({}, function (err, items) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
} else {
|
|
||||||
res.render("marketplace", {
|
|
||||||
columns: columns,
|
|
||||||
items: items,
|
|
||||||
user: req.session.user,
|
|
||||||
admin: req.session.admin,
|
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
router.get("/marketdash", ensureAuthenticated, function (req, res) {
|
|
||||||
Inventory.findOne({ user: req.session.user }, async function (
|
|
||||||
err,
|
|
||||||
inventory
|
|
||||||
) {
|
|
||||||
if (!inventory) {
|
|
||||||
let newinv = new Inventory();
|
|
||||||
newinv.user = req.session.user;
|
|
||||||
newinv.save(function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
console.log("created new inventory for " + req.session.user);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
res.render("marketdash", {
|
|
||||||
user: req.session.user,
|
|
||||||
admin: req.session.admin,
|
|
||||||
inventory: inventory,
|
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
router.get("/:id", function (req, res) {
|
|
||||||
Item.findById(req.params.id, function (err, item) {
|
|
||||||
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
|
||||||
console.log(listings);
|
|
||||||
|
|
||||||
res.render("item", {
|
|
||||||
listings: listings,
|
|
||||||
user: req.session.user,
|
|
||||||
admin: req.session.admin,
|
|
||||||
item: item,
|
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
random: papy(),
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
router.get("/:id/list", ensureAuthenticated, function (req, res) {
|
|
||||||
Item.findById(req.params.id, function (err, item) {
|
|
||||||
res.render("itemlist", {
|
|
||||||
user: req.session.user,
|
|
||||||
admin: req.session.admin,
|
|
||||||
item: item,
|
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
router.get("/:id/buy", ensureAuthenticated, function (req, res) {
|
|
||||||
Listing.find({ foreignid: req.params.id }, function (err, listings) {
|
|
||||||
console.log(listings);
|
|
||||||
|
|
||||||
res.render("itembuy", {
|
|
||||||
listings: listings,
|
|
||||||
user: req.session.user,
|
|
||||||
admin: req.session.admin,
|
|
||||||
marketplace: process.env.MARKETPLACE,
|
|
||||||
});
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
router.post("/:id/list", ensureAuthenticated, async function (req, res) {
|
|
||||||
let body = req.body;
|
|
||||||
let item = JSON.parse(req.body.item);
|
|
||||||
console.log(item);
|
|
||||||
let listing = new Listing();
|
|
||||||
listing.itemId = item.itemId;
|
|
||||||
listing.meta = item.meta;
|
|
||||||
listing.name = item.name;
|
|
||||||
listing.foreignid = item._id;
|
|
||||||
listing.price = body.price;
|
|
||||||
listing.amount = body.amount;
|
|
||||||
listing.seller = req.session.user;
|
|
||||||
listing.save(function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
console.log("added " + listing.name + " from " + listing.seller);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
let inventory = await Inventory.findOne({ user: req.session.user }).exec();
|
|
||||||
if (inventory == null) {
|
|
||||||
let newinv = new Inventory();
|
|
||||||
newinv.user = req.session.user;
|
|
||||||
newinv.listings = listing;
|
|
||||||
newinv.save(function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
console.log("created new inventory for " + req.session.user);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
inventory.listings.push(listing);
|
|
||||||
inventory.save(function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
console.log("pushed new listing");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
res.redirect("/marketplace/marketdash");
|
|
||||||
});
|
|
||||||
router.post("/:id/buy", async function (req, res) {
|
|
||||||
Listing.findOne({ _id: req.params.id }, async function (err, listing) {
|
|
||||||
let inventory = await Inventory.findOne({ user: req.session.user }).exec();
|
|
||||||
if (inventory == null) {
|
|
||||||
let newinv = new Inventory();
|
|
||||||
newinv.user = req.session.user;
|
|
||||||
newinv.purchases = listing;
|
|
||||||
newinv.save(function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
console.log("created new inventory for " + req.session.user);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
inventory.purchases.push(listing);
|
|
||||||
inventory.save(function (err) {
|
|
||||||
if (err) {
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else {
|
|
||||||
console.log("pushed new purchase");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
Listing.findOneAndRemove({ _id: req.params.id }).exec();
|
|
||||||
transfer = got.post(process.env.BANKAPIURL + "BankF/sendfunds", {
|
|
||||||
json: {
|
|
||||||
a_name: req.session.user,
|
|
||||||
b_name: listing.seller,
|
|
||||||
amount: parseInt(listing.amount * listing.price),
|
|
||||||
attempt: req.session.password,
|
|
||||||
},
|
|
||||||
responseType: "json",
|
|
||||||
});
|
|
||||||
res.redirect("/marketplace/marketdash");
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
// this thingy here populates the database with minecraft items only use once otherwise you are gonna flood your database
|
|
||||||
/*router.get('/populatedb', async function(req,res){
|
|
||||||
let response = await got('http://minecraft-ids.grahamedgecombe.com/items.json')
|
|
||||||
let json = JSON.parse(response.body)
|
|
||||||
console.log(json[1].name)
|
|
||||||
for(i in json){
|
|
||||||
let item = new Item();
|
|
||||||
item.name = json[i].name
|
|
||||||
item.meta = json[i].meta
|
|
||||||
item.itemId = json[i].type
|
|
||||||
item.text_type = json[i].text_type
|
|
||||||
item.save(function(err){
|
|
||||||
if(err){
|
|
||||||
console.log(err);
|
|
||||||
return;
|
|
||||||
} else{
|
|
||||||
console.log("added "+ json[i].name)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
})*/
|
|
||||||
|
|
||||||
function papy() {
|
|
||||||
const rndInt = Math.floor(Math.random() * 1337);
|
|
||||||
let random = false;
|
|
||||||
if (rndInt == 420) {
|
|
||||||
random = true;
|
|
||||||
}
|
|
||||||
return random;
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = router;
|
|
||||||
|
|
@ -68,16 +68,6 @@ block content
|
||||||
br
|
br
|
||||||
input.btn.btn-warning(type='submit',value='Submit')
|
input.btn.btn-warning(type='submit',value='Submit')
|
||||||
br
|
br
|
||||||
.card.shadow-lg
|
|
||||||
h4 Change backend Mongodb URL
|
|
||||||
form(method='POST', action='/admin/mongodb')
|
|
||||||
#form-group
|
|
||||||
p WARNING DO NOT PUT WRONG URL IN YOU WILL BREAK AND HAVE TO DELETE .ENV FILE TO FIX
|
|
||||||
label Enter URL of new MongoDB or enter a space to turn off marketplace
|
|
||||||
input.form-control(name='url', type='text')
|
|
||||||
br
|
|
||||||
input.btn.btn-warning(type='submit',value='Submit')
|
|
||||||
br
|
|
||||||
.card.shadow-lg
|
.card.shadow-lg
|
||||||
h4 Destroy All Sessions
|
h4 Destroy All Sessions
|
||||||
form(method='POST', action='/admin/destroyallsessions')
|
form(method='POST', action='/admin/destroyallsessions')
|
||||||
|
|
|
||||||
|
|
@ -1,39 +0,0 @@
|
||||||
extends marketlayout
|
|
||||||
|
|
||||||
block content
|
|
||||||
.container
|
|
||||||
.card
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
.card
|
|
||||||
img(src="/blockimages/items/"+item.itemId+"-"+item.meta+".png")
|
|
||||||
.col
|
|
||||||
center
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
|
|
||||||
p Item:
|
|
||||||
p ID:
|
|
||||||
.col
|
|
||||||
p #{item.name}
|
|
||||||
p #{item.itemId}-#{item.meta}
|
|
||||||
.col
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
center
|
|
||||||
h4 Buy
|
|
||||||
.col
|
|
||||||
center
|
|
||||||
h4 Sell
|
|
||||||
.row
|
|
||||||
.col-xs
|
|
||||||
|
|
||||||
.col-xs
|
|
||||||
|
|
||||||
.col
|
|
||||||
center
|
|
||||||
a.btn.btn-primary(href="/marketplace/"+item._id+"/buy") Buy
|
|
||||||
.col
|
|
||||||
center
|
|
||||||
a.btn.btn-primary(href="/marketplace/"+item._id+"/list") List
|
|
||||||
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
extends marketlayout
|
|
||||||
|
|
||||||
block content
|
|
||||||
.container
|
|
||||||
.card
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
.card
|
|
||||||
img(src="/blockimages/items/"+listings[0].itemId+"-"+listings[0].meta+".png")
|
|
||||||
.col
|
|
||||||
.row
|
|
||||||
.col-sm-2
|
|
||||||
p Item:
|
|
||||||
p ID:
|
|
||||||
.col-sm-4
|
|
||||||
p #{listings[0].name}
|
|
||||||
p #{listings[0].itemId}-#{listings[0].meta}
|
|
||||||
.col
|
|
||||||
h4 Buy
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
p Seller
|
|
||||||
.col
|
|
||||||
p Price
|
|
||||||
.col
|
|
||||||
p Amount
|
|
||||||
.col
|
|
||||||
p Link
|
|
||||||
for i in listings
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
p #{i.seller}
|
|
||||||
.col
|
|
||||||
p #{i.price}
|
|
||||||
.col
|
|
||||||
p #{i.amount}
|
|
||||||
.col
|
|
||||||
form(method='POST', action='/marketplace/'+i._id+"/buy")
|
|
||||||
input(type="hidden" value=i name="listing")
|
|
||||||
input.btn.btn-primary.btn-sm(type='submit', value='Buy')
|
|
||||||
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
||||||
extends marketlayout
|
|
||||||
|
|
||||||
|
|
||||||
block content
|
|
||||||
.container
|
|
||||||
.card
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
.card
|
|
||||||
img(src="/blockimages/items/"+item.itemId+"-"+item.meta+".png")
|
|
||||||
.col
|
|
||||||
.row
|
|
||||||
.col-sm-2
|
|
||||||
p Item:
|
|
||||||
p ID:
|
|
||||||
.col-sm-2
|
|
||||||
p #{item.name}
|
|
||||||
p #{item.itemId}-#{item.meta}
|
|
||||||
.col
|
|
||||||
h4 Sell
|
|
||||||
form(method='POST', action='/marketplace/'+item._id+'/list')
|
|
||||||
label Selling Price:
|
|
||||||
br
|
|
||||||
input.form-control-lg.shadow(type="number" min="0" name="price")
|
|
||||||
br
|
|
||||||
br
|
|
||||||
label Amount:
|
|
||||||
br
|
|
||||||
input.form-control-lg.shadow(type="number" min="0" name="amount")
|
|
||||||
br
|
|
||||||
br
|
|
||||||
input(type="hidden" value=item name="item")
|
|
||||||
input.btn.btn-primary(type='submit', value='Submit')
|
|
||||||
|
|
@ -32,11 +32,6 @@ html
|
||||||
a.nav-link(href='/logout').text-white Log out
|
a.nav-link(href='/logout').text-white Log out
|
||||||
li.nav-item
|
li.nav-item
|
||||||
a.nav-link(href='/BankF').text-white Bank
|
a.nav-link(href='/BankF').text-white Bank
|
||||||
if marketplace
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/marketplace').text-white MarketPlace
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/marketplace/marketdash').text-white MarketPlace-Dashboard
|
|
||||||
li.nav-item
|
li.nav-item
|
||||||
a.nav-link(href='/settings').text-white Settings
|
a.nav-link(href='/settings').text-white Settings
|
||||||
if admin == true
|
if admin == true
|
||||||
|
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
extends marketlayout
|
|
||||||
|
|
||||||
block content
|
|
||||||
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
extends layout
|
|
||||||
|
|
||||||
block content
|
|
||||||
.container
|
|
||||||
h2 Welcome to the marketplace dashboard #{inventory.user}
|
|
||||||
.card
|
|
||||||
ul#market.nav.nav-tabs.card-header-tabs(role='tablist')
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link.active.text-black(href='#purchases', role='tab', aria-controls='purchases', aria-selected='true') Purchases
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link.text-black(href='#selling', role='tab', aria-controls='selling', aria-selected='false') Selling
|
|
||||||
.tab-content.mt-3
|
|
||||||
#purchases.tab-pane.active(role='tabpanel' aria-labelledby='purchases-tab')
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
p itemID
|
|
||||||
.col
|
|
||||||
p Item Name
|
|
||||||
.col
|
|
||||||
p Price
|
|
||||||
.col
|
|
||||||
p Amount
|
|
||||||
.col
|
|
||||||
p Seller
|
|
||||||
|
|
||||||
for i in inventory.purchases
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
p #{i.itemId}-#{i.meta}
|
|
||||||
.col
|
|
||||||
p #{i.name}
|
|
||||||
.col
|
|
||||||
p #{i.price}
|
|
||||||
.col
|
|
||||||
p #{i.amount}
|
|
||||||
.col
|
|
||||||
p #{i.seller}
|
|
||||||
#selling.tab-pane(role='tabpanel', aria-labelledby='selling-tab')
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
p itemID
|
|
||||||
.col
|
|
||||||
p Item Name
|
|
||||||
.col
|
|
||||||
p Price
|
|
||||||
.col
|
|
||||||
p Amount
|
|
||||||
.col
|
|
||||||
p Seller
|
|
||||||
|
|
||||||
for i in inventory.listings
|
|
||||||
.row
|
|
||||||
.col
|
|
||||||
p #{i.itemId}-#{i.meta}
|
|
||||||
.col
|
|
||||||
p #{i.name}
|
|
||||||
.col
|
|
||||||
p #{i.price}
|
|
||||||
.col
|
|
||||||
p #{i.amount}
|
|
||||||
.col
|
|
||||||
p #{i.seller}
|
|
||||||
|
|
||||||
|
|
@ -1,60 +0,0 @@
|
||||||
doctype html
|
|
||||||
html
|
|
||||||
head
|
|
||||||
title CCashBank
|
|
||||||
link(rel="stylesheet", href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css", integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z", crossorigin="anonymous")
|
|
||||||
link(rel="preconnect" href="https://fonts.gstatic.com")
|
|
||||||
link(href="https://fonts.googleapis.com/css2?family=Lato&family=Montserrat&display=swap" rel="stylesheet")
|
|
||||||
link(rel='stylesheet' href='/css/style.css')
|
|
||||||
meta(name='viewport', content='width=device-width, initial-scale=1.0')
|
|
||||||
body
|
|
||||||
nav.navbar.navbar-expand-lg.navbar-dark.navbarrr.shadow-lg
|
|
||||||
.container
|
|
||||||
a.navbar-brand(href='/')
|
|
||||||
img(src="/CCashLogo3.png" style="width:75px; height:74px")
|
|
||||||
button.navbar-toggler(type='button', data-toggle='collapse', data-target='#navbars', aria-controls='navbars', aria-expanded='false', aria-label='Toggle navigation')
|
|
||||||
span.navbar-toggler-icon
|
|
||||||
#navbars.collapse.navbar-collapse
|
|
||||||
ul.navbar-nav.mr-auto
|
|
||||||
|
|
||||||
ul.navbar-nav.mr-right.text-white
|
|
||||||
if user == undefined
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/login').text-white Login
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/register').text-white Register
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/marketplace').text-white MarketPlace
|
|
||||||
if user
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/logout').text-white Log out
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/BankF').text-white Bank
|
|
||||||
if marketplace == true
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/marketplace').text-white MarketPlace
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/marketplace/marketdash').text-white MarketPlace-Dashboard
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/settings').text-white Settings
|
|
||||||
if admin == true
|
|
||||||
li.nav-item
|
|
||||||
a.nav-link(href='/admin').text-white Admin
|
|
||||||
.container
|
|
||||||
!= messages('message', locals)
|
|
||||||
if errors
|
|
||||||
each error, i in errors
|
|
||||||
div(class="alert alert-danger") #{error.msg}
|
|
||||||
if successes
|
|
||||||
each success, i in successes
|
|
||||||
div(class="alert alert-success") #{success.msg}
|
|
||||||
br
|
|
||||||
br
|
|
||||||
block content
|
|
||||||
br
|
|
||||||
hr
|
|
||||||
|
|
||||||
script(src="https://code.jquery.com/jquery-3.6.0.slim.min.js" integrity="sha256-u7e5khyithlIdTpu22PHhENmPcRdFiHRjhAuHcs05RI="
|
|
||||||
crossorigin="anonymous")
|
|
||||||
script(src='/js/main.js')
|
|
||||||
script(src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js", integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV", crossorigin="anonymous")
|
|
||||||
|
|
@ -1,12 +0,0 @@
|
||||||
extends marketlayout
|
|
||||||
|
|
||||||
block content
|
|
||||||
.container
|
|
||||||
.row
|
|
||||||
each item in items
|
|
||||||
.col.col-xs-12
|
|
||||||
a(href="/marketplace/"+item._id)
|
|
||||||
.card(style="height: 130px;width:140px;margin:10px")
|
|
||||||
p #{item.name}
|
|
||||||
img(src="/blockimages/items/"+item.itemId+"-"+item.meta+".png")
|
|
||||||
br
|
|
||||||
Loading…
Reference in a new issue