From d47979a56830df93835bd36dbe104102ed8b1187 Mon Sep 17 00:00:00 2001 From: Tim Adams <zfac125@live.rhul.ac.uk> Date: Sat, 2 Mar 2024 22:01:23 +0000 Subject: [PATCH] kids page now fetching products from the DB --- public/shopping-basket.js | 9 +++++++++ server.js | 12 ++++++++++++ views/kids.hbs | 6 +++--- views/men.hbs | 2 +- views/women.hbs | 6 +++--- 5 files changed, 28 insertions(+), 7 deletions(-) diff --git a/public/shopping-basket.js b/public/shopping-basket.js index 7d55ca5..71b3964 100644 --- a/public/shopping-basket.js +++ b/public/shopping-basket.js @@ -70,6 +70,7 @@ async function populateProducts(endpoint) { document.addEventListener('DOMContentLoaded', (event) => { const menProductsLink = document.getElementById('men-products'); const womenProductsLink = document.getElementById('women-products'); + const kidsProductsLink = document.getElementById('kids-products'); if (menProductsLink) { menProductsLink.addEventListener('click', (e) => { @@ -88,6 +89,14 @@ document.addEventListener('DOMContentLoaded', (event) => { } else { console.error("Women's products link not found."); } + if (kidsProductsLink) { + kidsProductsLink.addEventListener('click', (e) => { + e.preventDefault(); // Prevent the default link behavior + populateProducts('/kids-products'); + }); + } else { + console.error("Kids' products link not found."); + } }); diff --git a/server.js b/server.js index a40f42f..d0a8490 100644 --- a/server.js +++ b/server.js @@ -57,6 +57,18 @@ app.get('/women-products', async (req, res) => { } }); +app.get('/kids-products', async (req, res) => { + try{ + const client = await pool.connect(); + const { rows } = await client.query("SELECT * FROM products WHERE category = 'kids'"); + res.json(rows); + client.release(); + }catch(err){ + res.status(500).send('Server error'); + console.error('Error exucting query', err.stack); + } +}); + app.listen(port, () => { console.log(`Server is listening on port ${port}`); }); diff --git a/views/kids.hbs b/views/kids.hbs index 7b2051a..8a9b3b8 100644 --- a/views/kids.hbs +++ b/views/kids.hbs @@ -37,13 +37,13 @@ <div class="collapse navbar-collapse" id="collapsibleNavbar"> <ul class="navbar-nav"> <li class="nav-item"> - <a class="nav-link" href="/men">Men</a> + <a class="nav-link" id="men-products" href="/men">Men</a> </li> <li class="nav-item"> - <a class="nav-link" href="/women">Women</a> + <a class="nav-link" id="women-products" href="/women">Women</a> </li> <li class="nav-item"> - <a class="nav-link" href="/kids">Kids</a> + <a class="nav-link" id="kids-products" href="/kids">Kids</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">Footwear</a> diff --git a/views/men.hbs b/views/men.hbs index 683610e..0a3384f 100644 --- a/views/men.hbs +++ b/views/men.hbs @@ -44,7 +44,7 @@ <a class="nav-link" id="women-products" href="/women">Women</a> </li> <li class="nav-item"> - <a class="nav-link" href="/kids">Kids</a> + <a class="nav-link" id="kids-products" href="/kids">Kids</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">Footwear</a> diff --git a/views/women.hbs b/views/women.hbs index 3b0e6c4..6e99fd9 100644 --- a/views/women.hbs +++ b/views/women.hbs @@ -36,13 +36,13 @@ <div class="collapse navbar-collapse" id="collapsibleNavbar"> <ul class="navbar-nav"> <li class="nav-item"> - <a class="nav-link" href="/men">Men</a> + <a class="nav-link" id="men-products" href="/men">Men</a> </li> <li class="nav-item"> - <a class="nav-link" href="/women">Women</a> + <a class="nav-link" id="women-products" href="/women">Women</a> </li> <li class="nav-item"> - <a class="nav-link" href="/kids">Kids</a> + <a class="nav-link" id="kids-products" href="/kids">Kids</a> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown">Footwear</a> -- GitLab