Skip to content
This repository has been archived by the owner on Nov 27, 2022. It is now read-only.

Commit

Permalink
finsh screen
Browse files Browse the repository at this point in the history
  • Loading branch information
ion05 committed Jul 31, 2022
1 parent fd3070f commit 354545d
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 5 deletions.
32 changes: 32 additions & 0 deletions public/js/model.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
var notyf = new Notyf();
var modelBuyBtn = document.querySelector("#modelBuyBtn");

modelBuyBtn.addEventListener("click", (e) => {
e.preventDefault();
let credits = document.querySelector("#credits").value;
let name = document.querySelector("#name").value;
let link = document.querySelector("#link").value;

fetch("/market/model/buy", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
credits,
name,
link,
}),
})
.then((res) => res.json())
.then((data) => {
if (data.status == 400) {
notyf.error(data.msg);
} else {
notyf.success(data.msg);
setTimeout(() => {
window.location.href = "/market/finish";
}, 3000);
}
});
});
24 changes: 24 additions & 0 deletions routes/marketRoute.js
Original file line number Diff line number Diff line change
Expand Up @@ -188,4 +188,28 @@ router.get("/pref/end", checkUser, async (req, res, next) => {
console.log(recommendedModel);
res.render("market/pref/end", { recommendedModel });
});
router.post("/model/buy", checkUser, async (req, res, next) => {
try {
const { link, name, credits } = req.body;
const userId = req.user["_id"];
let modelId = req.cookies.modelId;
const newUser = await user.findByIdAndUpdate(userId, {
$inc: { credits: -credits },
});
const newModel = await template.findByIdAndUpdate(modelId, {
$set: { model: link, description: name },
});
return res.status(200).json({
msg: "Model Purchased",
});
} catch (e) {
console.log(e);
return res.status(400).json({
msg: "Some Error Occurred",
});
}
});
router.get("/finish", checkUser, async (req, res) => {
res.render("market/finish");
});
module.exports = router;
12 changes: 8 additions & 4 deletions services/preferences.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,17 @@ module.exports = {
if (preferences[i].includes("modern")) {
pref += 3;
}
if (preferences[i].includes("large")) {
pref += 3;
}
}
console.log(pref);
if (pref < 3) {
const modelId = req.cookies.modelId;

let modelLink =
"https://drive.google.com/file/d/1R6ypLV0LcQln-8nDV-XXqJYJo7QQaXYh/view?usp=sharing";
let modelName = "";
let modelName = "Old is Gold";
const model = await template.findByIdAndUpdate(modelId, {
$set: { model: modelLink },
$inc: { credits: 30 },
Expand All @@ -54,7 +58,7 @@ module.exports = {
const modelId = req.cookies.modelId;
let modelLink =
"https://drive.google.com/file/d/1SL3tvIJpAj69qrG91V0HXfo4bH2puSh2/view?usp=sharing";
let modelName = "";
let modelName = "Blast from the West";
const model = await template.findByIdAndUpdate(modelId, {
$set: { model: modelLink },
$inc: { credits: 40 },
Expand All @@ -64,7 +68,7 @@ module.exports = {
}
return { modelLink, modelName, model, credits: model.credits };
} else if (pref > 4 && pref <= 6) {
let modelName = "";
let modelName = "White Picket Fence House";
const modelId = req.cookies.modelId;
let modelLink =
"https://drive.google.com/file/d/1aX8J8bVTmqXIXJTfaj8BCWNEjl5KYKgc/view?usp=sharing";
Expand All @@ -77,7 +81,7 @@ module.exports = {
}
return { modelLink, modelName, model, credits: model.credits };
} else if (pref > 6) {
let modelName = "";
let modelName = "2050 House";
const modelId = req.cookies.modelId;
let modelLink =
"https://drive.google.com/file/d/15eMiCNO982Osvyo2QVwHI8HE654keq7u/view?usp=sharing";
Expand Down
8 changes: 8 additions & 0 deletions views/market/finish.ejs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<h1>Thank You for Shopping With us !</h1>
<script>
window.addEventListener('load', (e) => {
setTimeout(() => {
window.location.href = '/dashboard';
}, 3000);
})
</script>
14 changes: 13 additions & 1 deletion views/market/pref/end.ejs
Original file line number Diff line number Diff line change
@@ -1 +1,13 @@
<h1>Recommendation</h1>
<h1>Recommendation</h1>
Model: <%= recommendedModel["modelName"] %> <br><br>
2D Image: <a href="<%= recommendedModel["modelLink"] %>">Here</a> <br><br>
Cost: <%= recommendedModel["credits"] %> Credits <br><br>
<form id="modelBuyForm">

<input type="hidden" name="modelName" value="<%= recommendedModel.modelName %>" id="name">
<input type="hidden" name="modelLink" value="<%= recommendedModel.modelLink %>" id="link">
<input type="hidden" name="credits" value="<%= recommendedModel.credits %>" id="credits">
<button id="modelBuyBtn">Buy</button>
</form>
<script src="https://cdn.jsdelivr.net/npm/notyf@3/notyf.min.js"></script>
<script src="/js/model.js"></script>

0 comments on commit 354545d

Please sign in to comment.