diff --git a/shop-list-left-sidebar.php b/shop-list-left-sidebar.php
index f689f18..e20f580 100644
--- a/shop-list-left-sidebar.php
+++ b/shop-list-left-sidebar.php
@@ -360,147 +360,111 @@ $filteredProducts = [];
}
function loadVendors(page, isFilter) {
- document.querySelector(".vendor-list").innerHTML = "";
+ document.querySelector(".vendor-list").innerHTML = "";
- // Create a new XMLHttpRequest object for fetching vendors
- let xhrVendors = new XMLHttpRequest();
+ // Create a new XMLHttpRequest object for fetching vendors
+ let xhrVendors = new XMLHttpRequest();
- // Define the endpoint URL for fetching vendors
- let vendorsEndpointURL =
- `https:///api/v1/vendors/search?q=`;
+ // Define the endpoint URL for fetching vendors
+ let vendorsEndpointURL = `https:///api/v1/vendors/search?q=`;
- // Open a GET request to fetch vendors
- xhrVendors.open("GET", vendorsEndpointURL, true);
+ // Open a GET request to fetch vendors
+ xhrVendors.open("GET", vendorsEndpointURL, true);
- // Set up a callback function to handle the vendors response
- xhrVendors.onreadystatechange = function() {
- if (xhrVendors.readyState === 4 && xhrVendors.status === 200) {
- // Parse the response JSON for vendors
- let vendorsResponse = JSON.parse(xhrVendors.responseText);
+ // Set up a callback function to handle the vendors response
+ xhrVendors.onreadystatechange = function() {
+ if (xhrVendors.readyState === 4 && xhrVendors.status === 200) {
+ // Parse the response JSON for vendors
+ let vendorsResponse = JSON.parse(xhrVendors.responseText);
- // Create an array to store vendor IDs
- let vendorIds = vendorsResponse.results.map(vendor => vendor._id);
+ // Create an array to store vendor IDs
+ let vendorIds = vendorsResponse.results.map(vendor => vendor._id);
- // Create a new XMLHttpRequest object for fetching products
- let xhrProducts = new XMLHttpRequest();
+ // Create a new XMLHttpRequest object for fetching products
+ let xhrProducts = new XMLHttpRequest();
- // Define the endpoint URL for fetching products
- let productsEndpointURL =
- `https:///api/v1/products`;
+ // Define the endpoint URL for fetching products
+ let productsEndpointURL = `https:///api/v1/products`;
- // Open a GET request to fetch products
- xhrProducts.open("GET", productsEndpointURL, true);
+ // Open a GET request to fetch products
+ xhrProducts.open("GET", productsEndpointURL, true);
- // Set up a callback function to handle the products response
- xhrProducts.onreadystatechange = function() {
- if (xhrProducts.readyState === 4 && xhrProducts.status === 200) {
- // Parse the response JSON for products
- let productsResponse = JSON.parse(xhrProducts.responseText);
- console.log(productsResponse)
- // Create an object to store vendor-wise product counts
- let vendorProductCounts = {};
+ // Set up a callback function to handle the products response
+ xhrProducts.onreadystatechange = function() {
+ if (xhrProducts.readyState === 4 && xhrProducts.status === 200) {
+ // Parse the response JSON for products
+ let productsResponse = JSON.parse(xhrProducts.responseText);
+ console.log(productsResponse);
- // Iterate through each product and count the products associated with each vendor
- productsResponse.forEach(function(product) {
- // Increment product count for the vendor
- if (!vendorProductCounts[product.vendor_api_id]) {
- vendorProductCounts[product.vendor_api_id] = 1;
- } else {
- vendorProductCounts[product.vendor_api_id]++;
- }
- });
+ // Create an object to store vendor-wise product counts
+ let vendorProductCounts = {};
- // Now, we have vendor-wise product counts, we can use it to display the counts for each vendor
- if (vendorsResponse.results.length > 0) {
+ // Iterate through each product and count the products associated with each vendor
+ productsResponse.forEach(function(product) {
+ // Increment product count for the vendor
+ if (!vendorProductCounts[product.vendor_api_id]) {
+ vendorProductCounts[product.vendor_api_id] = 1;
+ } else {
+ vendorProductCounts[product.vendor_api_id]++;
+ }
+ });
- vendorsResponse.results.slice(0, 6).forEach(function(
- vendor) {
- let vendorId = vendor._id;
- let productCount = vendorProductCounts[
- vendorId] || 0;
- let vendorDateRegistered = new Date(vendor
- .date_registered);
- vendorsResponse.results.slice(0, 6).forEach(
- function(vendor) {
- let vendorDateRegistered = "";
- let vendorId = vendor._id;
- let productCount =
- vendorProductCounts[vendorId] ||
- 0;
- if (vendor.date_registered) {
- vendorDateRegistered = new Date(
- vendor.date_registered);
- } else {
- vendorDateRegistered =
- "Not yet registered";
- }
+ // Now, we have vendor-wise product counts, we can use it to display the counts for each vendor
+ if (vendorsResponse.results.length > 0) {
+ vendorsResponse.results.slice(0, 6).forEach(function(vendor) {
+ let vendorId = vendor._id;
+ let productCount = vendorProductCounts[vendorId] || 0;
+ let vendorDateRegistered = vendor.date_registered ? new Date(vendor.date_registered) : "Not yet registered";
- // Format the date as "Month DD, YYYY"
- let options = {
- month: 'long',
- day: '2-digit',
- year: 'numeric'
- };
- let formattedDate = "";
- if (vendorDateRegistered !==
- "Not yet registered") {
- formattedDate =
- vendorDateRegistered
- .toLocaleDateString('en-US',
- options);
- } else {
- formattedDate =
- "Not yet registered";
- }
- // Create a product card element
- let card = document.createElement(
- "div");
- card.classList.add("col-md-12");
- card.innerHTML = `
-
-
-
-
-
-
-
-
Seller Products
-
${productCount}
-
-
-
-
-
Seller since
-
${formattedDate}
-
-
-
-
-
`;
- // Append the product card to the container
- document.querySelector(
- ".vendor-list")
- .appendChild(card);
- });
+ // Create a product card element
+ let card = document.createElement("div");
+ card.classList.add("col-md-12");
+ card.innerHTML = `
+
+
+
+
+
+
+
+
Seller Products
+
${productCount}
+
+
+
+
+
Seller since
+
${formattedDate}
+
+
+
+
+
`;
+ // Append the product card to the container
+ document.querySelector(".vendor-list").appendChild(card);
+ });
} else {
- document.querySelector(".vendor-list")
- .innerHTML = `
-
No vendors available
-
- `;
-
+ document.querySelector(".vendor-list").innerHTML = `
+
No vendors available
+ `;
}
}
};
@@ -512,9 +476,9 @@ $filteredProducts = [];
// Send the request to fetch vendors
xhrVendors.send();
-
}
+
function loadProducts(page, isFilter) {
// Make AJAX request to fetch products for given page
let xhr = new XMLHttpRequest();