diff --git a/app.js b/app.js index f29b1fb..0819f02 100644 --- a/app.js +++ b/app.js @@ -16,6 +16,9 @@ const session = require("express-session"); const loginRoutes = require("./routes/login"); const launcherRoutes = require("./routes/launcher"); const buildingRoutes = require("./routes/buildings"); +const inventory = require("./routes/inventory"); +const avatar = require("./routes/avatar"); +const equip = require("./routes/equip"); const app = express(); app.set("trust proxy", 1); @@ -172,6 +175,9 @@ app.use("/create-character", characterRoutes); app.use("/login", loginRoutes); app.use("/launcher", launcherRoutes); app.use("/", buildingRoutes); +app.use("/api/inventory", inventory); +app.use("/api/avatar", avatar); +app.use("/api/equip", equip); /* ======================== 404 Handler diff --git a/public/js/buildings/wohnhaus.js b/public/js/buildings/wohnhaus.js new file mode 100644 index 0000000..fea0119 --- /dev/null +++ b/public/js/buildings/wohnhaus.js @@ -0,0 +1,51 @@ +export async function loadWohnhaus(data) { + const container = document.querySelector(".building-ui"); + + container.innerHTML = ` +
${item.name}
+Kosten: ${data.upgradeCost}
- - `; +Kosten: ${data.upgradeCost}
+ + `; document.getElementById("tab-history").innerHTML = `${data.history}
diff --git a/routes/equip.js b/routes/equip.js new file mode 100644 index 0000000..7462d41 --- /dev/null +++ b/routes/equip.js @@ -0,0 +1,21 @@ +const express = require("express"); +const router = express.Router(); +const db = require("../db"); + +router.post("/", async (req, res) => { + const userId = 1; + const { itemId, itemLevelId } = req.body; + + await db.query( + ` +REPLACE INTO avatar_equipment +(user_id,slot,item_id,item_level_id) +VALUES (?,?,?,?) +`, + [userId, "weapon", itemId, itemLevelId], + ); + + res.json({ success: true }); +}); + +module.exports = router; diff --git a/routes/inventory.js b/routes/inventory.js new file mode 100644 index 0000000..a8594ba --- /dev/null +++ b/routes/inventory.js @@ -0,0 +1,27 @@ +const express = require("express"); +const router = express.Router(); +const db = require("../db"); + +router.get("/", async (req, res) => { + const userId = 1; + + const items = await db.query( + ` +SELECT +items.id, +items.name, +items.icon, +item_levels.level, +user_inventory.amount +FROM user_inventory +JOIN items ON items.id=user_inventory.item_id +LEFT JOIN item_levels ON item_levels.id=user_inventory.item_level_id +WHERE user_inventory.user_id=? +`, + [userId], + ); + + res.json(items); +}); + +module.exports = router; diff --git a/routes/routes/avatar.js b/routes/routes/avatar.js new file mode 100644 index 0000000..3293df2 --- /dev/null +++ b/routes/routes/avatar.js @@ -0,0 +1,23 @@ +const express = require("express"); +const router = express.Router(); +const db = require("../db"); + +router.get("/", async (req, res) => { + const userId = 1; + + const avatar = await db.query( + ` +SELECT +avatar_equipment.slot, +items.icon +FROM avatar_equipment +JOIN items ON items.id=avatar_equipment.item_id +WHERE avatar_equipment.user_id=? +`, + [userId], + ); + + res.json(avatar); +}); + +module.exports = router; diff --git a/views/launcher.ejs b/views/launcher.ejs index 0e107d5..03ad903 100644 --- a/views/launcher.ejs +++ b/views/launcher.ejs @@ -203,7 +203,7 @@ - +