diff --git a/app.js b/app.js index c61e7ddde450a67244db015c5d8393b04a2da5d2..b005c1fe188789b526067dc8e171636d19b9b397 100644 --- a/app.js +++ b/app.js @@ -166,13 +166,12 @@ app.get('/api/products', async (req, res) => { }); app.get('/api/getUser', (req, res) => { - if (req.session.user) { - res.json({ - email: req.session.user.email // ส่งข้อมูล email จาก session - }); - } else { - res.status(401).send('User not logged in'); + if (!req.session.user) { // ตรวจสอบว่า user ได้ล็อกอินหรือยัง + return res.status(401).send('User not logged in'); } + + const user = req.session.user; // สมมติว่าใช้ session ในการจัดการการล็อกอิน + res.json({ email: user.email }); // ส่งกลับอีเมลของผู้ใช้ }); // Fetch products of logged-in user diff --git a/public/index.html b/public/index.html index 6177253b233992bb338817b6d92ddf35db29dd84..e851911bac9181b63868ed24f420aa4e87a4fbbe 100644 --- a/public/index.html +++ b/public/index.html @@ -40,24 +40,23 @@ </footer> <script> - // Fetch and display products + // ฟังก์ชันสำหรับดึงสินค้า async function fetchProducts(searchQuery = '') { try { const response = await fetch(`/api/products?search=${searchQuery}`); const products = await response.json(); console.log('Fetched Products:', products); // เพิ่มการตรวจสอบข้อมูล - renderProducts(products); // เรียกฟังก์ชัน renderProducts เพื่อนำข้อมูลไปแสดง + renderProducts(products); } catch (error) { console.error('Error fetching products:', error); } } - // ฟังก์ชันที่ใช้ในการแสดงสินค้าบนหน้าเว็บ + // ฟังก์ชันในการแสดงสินค้าบนหน้าเว็บ function renderProducts(products) { const productContainer = document.querySelector('.products'); - productContainer.innerHTML = ''; // เคลียร์รายการสินค้าก่อน + productContainer.innerHTML = ''; - // วนลูปแสดงข้อมูลสินค้า products.forEach(product => { const productDiv = document.createElement('div'); productDiv.classList.add('product'); @@ -77,7 +76,7 @@ fetchProducts(searchQuery); } - // ฟังก์ชันที่เพิ่มสินค้าไปยังตะกร้า + // ฟังก์ชันในการเพิ่มสินค้าไปยังตะกร้า function addToCart(productId, productName, productPrice, productImg) { let cart = JSON.parse(localStorage.getItem('cart')) || []; const existingItem = cart.find(item => item.id === productId); @@ -99,24 +98,6 @@ alert(`${productName} added to cart!`); } - async function displayUsername() { - try { - const response = await fetch('/api/getUser'); // Endpoint to get the user's email - if (response.status === 401) { - console.log('User not logged in'); - document.getElementById('welcome-message').innerText = 'Please log in'; - } else { - const user = await response.json(); - document.getElementById('welcome-message').innerText = `Welcome, ${user.email}`; // Display email here - } - } catch (error) { - console.log('Error fetching user info:', error); - } - } - - // เรียกใช้ฟังก์ชันเมื่อหน้าเว็บโหลดเสร็จ - window.onload = displayUsername; - // ฟังก์ชันอัปเดตจำนวนสินค้าที่อยู่ในตะกร้า function updateCart() { let cart = JSON.parse(localStorage.getItem('cart')) || []; @@ -125,10 +106,27 @@ cartItemCount.textContent = totalQuantity; } + // ฟังก์ชันแสดงข้อมูลผู้ใช้ (อีเมล) + async function displayUsername() { + try { + const response = await fetch('/api/getUser'); // Endpoint ที่จะดึงข้อมูลอีเมลของผู้ใช้ + if (response.status === 401) { + console.log('User not logged in'); + document.getElementById('welcome-message').innerText = 'Please log in'; + } else { + const user = await response.json(); + document.getElementById('welcome-message').innerText = `Welcome, ${user.email}`; // แสดงอีเมลของผู้ใช้ + } + } catch (error) { + console.log('Error fetching user info:', error); + } + } + // เรียกใช้ฟังก์ชันเมื่อหน้าเว็บโหลดเสร็จ window.onload = function() { - fetchProducts(); // ดึงข้อมูลสินค้าทั้งหมด - updateCart(); // อัปเดตจำนวนสินค้าในตะกร้า + displayUsername(); + fetchProducts(); // Fetch all products initially + updateCart(); // Update cart count when page loads }; </script> </body>