import wixData from 'wix-data'; let skip = 0; const limit = 9; let isLoading = false; $w.onReady(() => { loadMoreProducts(); // OPTIONAL: If using button for load more // $w("#loadMore").onClick(() => { // loadMoreProducts(); // }); // Auto scroll trigger $w("#repeater1").onViewportEnter(() => { loadMoreProducts(); }); }); function loadMoreProducts() { if (isLoading) return; isLoading = true; wixData.query("Products") .skip(skip) .limit(limit) .find() .then((results) => { if (results.items.length > 0) { const newItems = results.items; const currentItems = $w("#repeater1").data || []; $w("#repeater1").data = [...currentItems, ...newItems]; skip += limit; } else { // No more products $w("#loadMore").hide(); // if using button } isLoading = false; }); }
top of page

MetroNeeds is committed to ensuring that its ecommerce platform is accessible to people with disabilities. We are constantly working to make the website easy to navigate and enjoyable for all visitors, including those with disabilities.

Web Accessibility at MetroNeeds

At MetroNeeds, we strive to ensure that our platform is accessible to everyone, including individuals with disabilities. We are currently working on making our site fully compliant with the Web Content Accessibility Guidelines (WCAG) to the level of [A / AA / AAA]. Our efforts include:

What We're Doing for Web Accessibility

We are implementing features to make our site compatible with assistive technologies such as screen readers and keyboard navigation. Our initiatives include:

Our Commitment to Accessibility

We have appointed an accessibility coordinator to address any accessibility issues and assist users in navigating our platform. If you encounter any accessibility barriers on our site, please contact:

    [Name of the accessibility coordinator]
    [Telephone number of the accessibility coordinator]
    [Email address of the accessibility coordinator]

Declaration of partial compliance with the standard due to third-party content [only add if relevant]

The accessibility of certain pages on the site depend on contents that do not belong to the organization, and instead belong to [enter relevant third-party name]. The following pages are affected by this: [list the URLs of the pages]. We therefore declare partial compliance with the standard for these pages.

Accessibility arrangements in the organization [only add if relevant]

[Enter a description of the accessibility arrangements in the physical offices / branches of your site's organization or business. The description can include all current accessibility arrangements  - starting from the beginning of the service (e.g., the parking lot and / or  public transportation stations) to the end (such as the service desk, restaurant table, classroom etc.). It is also required to specify any additional accessibility arrangements, such as disabled services and their location, and accessibility accessories (e.g. in audio inductions and elevators) available for use]

Requests, issues, and suggestions

If you find an accessibility issue on the site, or if you require further assistance, you are welcome to contact us through the organization's accessibility coordinator:

  • [Name of the accessibility coordinator]

  • [Telephone number of the accessibility coordinator]

  • [Email address of the accessibility coordinator]

  • [Enter any additional contact details if relevant / available]

bottom of page
// ======================================= // MetroNeeds.in – Final Unified Deploy Snippet // ======================================= import { getSecrets } from 'backend/secureKeys.jsw'; import { oneClickDeploy, scheduledDeploy } from 'backend/autoDeploy.jsw'; import { deployMetroNeeds } from 'backend/liveDeployMetro.jsw'; $w.onReady(async function () { console.log("🚀 MetroNeeds Unified Deploy Loaded"); // ====== 1. GLOBAL CALIBRATIONS ====== const SCROLL_BATCH = 4; // Products per scroll const AUTO_DEPLOY_INTERVAL = 21600000; // 6 hours let skipCount = 0; // ====== 2. SECRETS (affiliate ID, API keys etc.) ====== let secrets = {}; try { secrets = await getSecrets("metrneeds"); console.log("Secrets loaded ✅"); } catch (err) { console.error("Secrets fetch failed:", err); } // ====== 3. POPULATE FRONTEND ====== async function populateMetroNeeds(skip = 0) { try { const data = await deployMetroNeeds(); // Products batch const batch = data.products.slice(skip, skip + SCROLL_BATCH); $w("#repeaterProducts").data = batch; // Banners (rotate on reload) $w("#bannerRepeater").data = rotateArray(data.banners); // Video Blogs $w("#videoRepeater").data = rotateArray(data.videos); $w("#videoRepeater").onItemReady(($item, itemData) => { $item("#youtubeFrame").src = itemData.url; $item("#videoTitle").text = itemData.title; $item("#ctaButton").link = `${secrets.affiliateBase}?nipid=${Date.now()}-${itemData.title}`; }); // Map integration (if available) if (data.map) { $w("#mapWidget").location = data.map.location; $w("#mapWidget").marker = data.map.marker; } } catch (err) { console.error("Error populating MetroNeeds:", err); } } function rotateArray(arr) { if (!arr || arr.length <= 1) return arr; const first = arr.shift(); arr.push(first); return arr; } // ====== 4. INITIAL LOAD ====== await populateMetroNeeds(); // ====== 5. INFINITE SCROLL ====== $w("#repeaterProducts").onViewportEnter(async () => { skipCount += SCROLL_BATCH; await populateMetroNeeds(skipCount); }); // ====== 6. ADMIN CONTROLS ====== if ($w("#deployButton")) { $w("#deployButton").onClick(async () => { $w("#deployStatus").text = "Deploying updates..."; try { const res = await oneClickDeploy(); $w("#deployStatus").text = res.message; skipCount = 0; await populateMetroNeeds(); } catch (err) { console.error(err); $w("#deployStatus").text = "❌ Deployment failed"; } }); } if ($w("#previewButton")) { $w("#previewButton").onClick(async () => { try { const preview = await deployMetroNeeds(); $w("#previewRepeater").data = preview.products; $w("#previewStatus").text = "Preview loaded ✅"; } catch (err) { console.error(err); $w("#previewStatus").text = "❌ Preview failed"; } }); } // ====== 7. AUTO DEPLOY SCHEDULE ====== setInterval(async () => { try { const res = await scheduledDeploy(); console.log("Auto-deploy:", res); skipCount = 0; await populateMetroNeeds(); } catch (err) { console.error("Scheduled deploy failed:", err); } }, AUTO_DEPLOY_INTERVAL); }); // ================================ // Master Endless Scroll Integration // Works for MetroNeeds.in, ModuLyfe.in, PalmSpringsLakeResort.in // ================================ let productIndex = 0; const productsPerLoad = 20; const maxProducts = 1000; function loadProducts() { const container = document.getElementById("product-container"); if (!container) return; for (let i = 0; i < productsPerLoad && productIndex < maxProducts; i++) { productIndex++; const card = document.createElement("div"); card.className = "product-card"; card.innerHTML = `

Product #${productIndex}

Auto-loaded via Endless Scroll

`; container.appendChild(card); if (productIndex % 10 === 0) { const adBlock = document.createElement("div"); adBlock.className = "adsense-slot my-4"; adBlock.innerHTML = ``; container.appendChild(adBlock); if (window.adsbygoogle) window.adsbygoogle.push({}); } } } window.addEventListener("scroll", () => { if (window.innerHeight + window.scrollY >= document.body.offsetHeight - 500) { loadProducts(); } }); document.addEventListener("DOMContentLoaded", () => { loadProducts(); });

3SC Review Integrations

🏖️
Palm Springs
Lake Resort Airoli
Post Review →
🛒
MetroNeeds
E-comm Essentials
Post Review →
🏠
ModuLyfe
Modular Living
Post Review →
✅ All 3 Sites Linked | Updated Jan 2026
👆 Tap icons for site-specific actions

3SC AI Reels

https://www.amazon.in/Ganpati-Sheesham-Storage-Furniture-Bedroom/dp/B09T3LV7NW?crid=FY3L9RYYJ0SY&dib=eyJ2IjoiMSJ9.HfJeVthsC4LwL10ngebWkW4xDh1uji3jfGHgbaT2O90T8lqp7-_6m3siSglx0PcT_s6q342bQTM5MA2tt9niZmH-cNdqwhNbUFqjqjKxo9fzMnpGEfcmooHer_8ey5JaKyWh8z5lp0EPnUJFbDYvxN-l0DJkWTSaPDxi6n4WqLePwBIpK8LWGTnuISI7Q7ynQZXUIyz2Xgbdk5w3jrOQq5OuFoDqn-lJkCixJsXHfwdBdI1Hjzh29JHKrXv2LF6XDg0eQNmg2WjUoWKMjrBUz0AIjwuokTGqlYcCjuppYPY.YXbhthAI4ZnP0Aj7uZf1tlxrSyfhTonmS9TN1-irJfM&dib_tag=se&keywords=6%27%2B%C3%97%2B7%27bed&qid=1770775653&s=kitchen&sprefix=6%27%2B7%27bed%2B%2Ckitchen%2C426&sr=1-10&th=1&linkCode=ll2&tag=metroneeds0f-21&linkId=831a268c895b8b69ce372a9063da78ef&ref_=as_li_ss_tl