Hey,
I am using Velo to populate repeaters so my client customers can buy directly for the product page without being redirect to the cart page (mobile).
We just updated the site so it changes the menu automatically each 2 weeks, but now the repeaters won't show on desktop. Works fine on mobile.
Anyone has an idea the issue might. ALso, if some idea on how to load it faster would be awesome
www.manutrition.ca/zone-1
import wixData from 'wix-data';
import wixLocation from 'wix-location';
import wixWindow from 'wix-window';
import { local } from 'wix-storage';
let i = 2;
let semaineId = local.getItem('Semaine_Id1');
let semaineLivraison = local.getItem('Semaine_livraison1');
let semaineDeadline = local.getItem('Semaine_deadline1');
let semaineLegumes = local.getItem('Semaine_legumes1');
let semaineTitle = local.getItem('Semaine_title1');
console.log('Zone 1Page = ' + '--' + semaineTitle + '--' + semaineId + '--' + semaineDeadline + '--' + semaineLivraison + '--' + semaineLegumes);
$w.onReady(async function () {
filtre_datasets();
setTimeout(function () {
$w("#columnStrip47").collapse();
}, 8500);
setTimeout(function () {
if (wixWindow.formFactor === 'Desktop') {
$w('#StripMenumob').collapse();
$w('#StripMenu').expand();
}
if (wixWindow.formFactor === 'Tablet') {
$w('#StripMenumob').collapse();
$w('#StripMenu').expand();
}
if (wixWindow.formFactor === 'Mobile') {
$w('#StripMenumob').expand();
$w('#StripMenu').collapse();
}
}, 6000);
await plats_exclusifs_dejeuner_mob();
await plats_sans_mob();
await plats_avec_mob();
await collations_mob();
$w('#menusemainemob').text = semaineDeadline;
$w('#datelivraisonmob').text = semaineLivraison;
$w('#legumesDuMomentmob').text = semaineLegumes;
$w('#menusemaine').text = semaineDeadline;
$w('#datelivraison').text = semaineLivraison;
$w('#legumesDuMomentmob').text = semaineLegumes;
});
function filtre_datasets() {
let exclusifData = $w("#excrepeatermob").data;
console.log(exclusifData);
$w("#excdataset").setFilter(wixData.filter()
.hasSome('menuSemaine', semaineId)
.ne('collation', Boolean(true))
)
let sansData = $w("#sansrepeatermob").data;
console.log(sansData);
$w("#sansdataset").setFilter(wixData.filter()
.hasSome('menuSemaine', semaineId)
)
let avecData = $w("#avecrepeatermob").data;
console.log(avecData);
$w("#avecdataset").setFilter(wixData.filter()
.hasSome('menuSemaine', semaineId)
)
let collData = $w("#collrepeatermob").data;
console.log(collData);
$w("#colldataset").setFilter(wixData.filter()
.hasSome('menuSemaine', semaineId)
.eq('collation', Boolean(true))
)
}
function plats_exclusifs_dejeuner_mob() {
$w('#exccontainermob').hide();
$w('#excrepeatermob').onItemReady(($item, itemData, index) => {
$item('#exccontainermob').show();
$item('#excmainMediamob').src = itemData.products.mainMedia;
$item('#exctitlemob').text = itemData.products.name;
$item('#excportionmob').text = itemData.dimensionDesPortions;
$item('#excpreparationmob').text = itemData.preparation;
$item('#excpricemob').text = itemData.products.discountedPrice + '$ ';
$item('#excprice2mob').text = itemData.products.price + '$ ';
$item('#excicon1mob').src = itemData.icon1;
$item('#excicon2mob').src = itemData.icon2;
$item('#excicon3mob').src = itemData.icon3;
$item('#excicon1mobtext').text = itemData.texticon1;
$item('#excicon2mobtext').text = itemData.texticon2;
$item('#excicon3mobtext').text = itemData.texticon3;
$item('#excbuttonplusmob').link = itemData.products.productPageUrl;
if (!itemData.nouveaute) {
$item('#excribbonmob').hide()
} else {
$item('#excribbonmob').show();
$item('#excnouveautemob').text = itemData.nouveaute;
}
if (itemData.products.discountedPrice !== itemData.products.price) {
$item('#excgroupmob').show();
} else {
$item('#excgroupmob').hide()
}
const repeatedbutton = $item('#exccartbuttonmob');
repeatedbutton.onClick((event) => {
let excquantitemob = $item('#excquantitemob').value;
console.log(excquantitemob);
let excradioportionmob = $item('#excradioportionmob').value;
console.log(excradioportionmob);
let excproduitmob = itemData.products._id;
console.log(excproduitmob);
$w('#shoppingCartIcon').addToCart(excproduitmob, excquantitemob, {
'choices': {
'Portion': excradioportionmob
}
})
.then(() => {
console.log("Product added");
})
.catch((error) => {
console.log(error);
})
})
})
}
function plats_sans_mob() {
$w('#sanscontainermob').hide();
$w('#sansrepeatermob').onItemReady(($item, itemData, index) => {
$item('#sanscontainermob').show();
$item('#sansmainMediamob').src = itemData.products.mainMedia;
$item('#sanstitlemob').text = itemData.products.name;
$item('#sanspricemob').text = itemData.products.discountedPrice + '$ ';
$item('#sansprice2mob').text = itemData.products.price + '$ ';
$item('#sansicon1mob').src = itemData.icon1;
$item('#sansicon2mob').src = itemData.icon2;
$item('#sansicon3mob').src = itemData.icon3;
$item('#sanstexticon1mob').text = itemData.texticon1;
$item('#sanstexticon2mob').text = itemData.texticon2;
$item('#sanstexticon3mob').text = itemData.texticon3;
$item('#sansbuttonplusmob').link = itemData.products.productPageUrl;
if (!itemData.nouveaute) {
$item('#boxribbonsansmob').hide()
} else {
$item('#boxribbonsansmob').show();
$item('#sansnouveautemob').text = itemData.nouveaute;
}
if (itemData.products.discountedPrice !== itemData.products.price) {
$item('#sansgroupmob').show();
} else {
$item('#sansgroupmob').hide()
}
let smallPrice = itemData.products.discountedPrice - i;
$item('#sansportionmob').onChange((event) => {
if ($item('#sansportionmob').value === 'Modérée') {
$item('#sanspricemob').text = smallPrice + '$ ';
} else {
$item('#sanspricemob').text = itemData.products.discountedPrice + '$ '
}
})
const repeatedbutton = $item('#sanscartbuttonmob');
repeatedbutton.onClick((event) => {
let sansquantitemob = $item('#sansquantitemob').value;
console.log(sansquantitemob);
let sansportionmob = $item('#sansportionmob').value;
console.log(sansportionmob);
let sansproduitmob = itemData.products._id;
console.log(sansproduitmob);
$w('#shoppingCartIcon').addToCart(sansproduitmob, sansquantitemob, {
'choices': {
'Portion': sansportionmob
}
})
.then(() => {
console.log("Product added");
})
.catch((error) => {
console.log(error);
})
})
})
}
function plats_avec_mob() {
$w('#aveccontainermob').hide();
$w('#avecrepeatermob').onItemReady(($item, itemData, index) => {
$item('#aveccontainermob').show();
$item('#avecmainMediamob').src = itemData.products.mainMedia;
$item('#avectitlemob').text = itemData.products.name;
$item('#avecpricemob').text = itemData.products.discountedPrice + '$ ';
$item('#avecprice2mob').text = itemData.products.price + '$ ';
$item('#avecicon1mob').src = itemData.icon1;
$item('#avecicon2mob').src = itemData.icon2;
$item('#avecicon3mob').src = itemData.icon3;
$item('#avectexticon1mob').text = itemData.texticon1;
$item('#avectexticon2mob').text = itemData.texticon2;
$item('#avectexticon3mob').text = itemData.texticon3;
$item('#avecbuttonplusmob').link = itemData.products.productPageUrl;
if (!itemData.nouveaute) {
$item('#boxribbonavecmob').hide()
} else {
$item('#boxribbonavecmob').show();
$item('#avecnouveautemob').text = itemData.nouveaute;
}
if (itemData.products.discountedPrice !== itemData.products.price) {
$item('#avecgroupmob').show();
} else {
$item('#avecgroupmob').hide()
}
let smallPrice = itemData.products.discountedPrice - i;
$item('#avecportionmob').onChange((event) => {
$item('#avecaccompagnementmob').enable();
if ($item('#avecportionmob').value === 'Modérée') {
$item('#avecpricemob').text = smallPrice + '$ ';
} else {
$item('#avecpricemob').text = itemData.products.discountedPrice + '$ '
}
})
$item('#avecaccompagnementmob').onChange((event) => {
$item('#aveccartbuttonmob').enable();
})
const repeatedbutton = $item('#aveccartbuttonmob');
repeatedbutton.onClick((event) => {
let avecquantitemob = $item('#avecquantitemob').value;
console.log(avecquantitemob);
let avecportionmob = $item('#avecportionmob').value;
console.log(avecportionmob);
let avecaccompagnementmob = $item('#avecaccompagnementmob').value;
console.log(avecaccompagnementmob);
let avecproduitmob = itemData.products._id;
console.log(avecproduitmob);
$w('#shoppingCartIcon').addToCart(avecproduitmob, avecquantitemob, {
'choices': {
'Portion': avecportionmob,
'Accompagnement': avecaccompagnementmob
}
})
.then(() => {
console.log("Product added");
})
.catch((error) => {
console.log(error);
})
})
})
}
function collations_mob() {
$w('#collcontainermob').hide();
$w('#collrepeatermob').onItemReady(($item, itemData, index) => {
$item('#collcontainermob').show();
$item('#collmainMediamob').src = itemData.products.mainMedia;
$item('#colltitlemob').text = itemData.title;
$item('#collingredientsmob').text = itemData.ingredients;
$item('#collbuttonplusmob').link = itemData.products.productPageUrl;
$item('#collpricemob').text = itemData.products.discountedPrice + '$ '
const buttoncoll = $item('#collcartbuttonmon');
buttoncoll.onClick((event) => {
let collquantitemob = $item('#collquantitemob').value;
console.log(collquantitemob);
let collproduitmob = itemData.products._id;
console.log(collproduitmob);
$w('#shoppingCartIcon').addToCart(collproduitmob, collquantitemob)
.then(() => {
console.log("Product added");
})
.catch((error) => {
console.log(error);
})
})
})
}
Below is the site code
import wixData from 'wix-data';
import wixLocation from 'wix-location';
import wixWindow from 'wix-window';
import { local } from 'wix-storage';
$w.onReady(() => {
if (wixWindow.formFactor === "Desktop" || wixWindow.formFactor === "tablet") {
$w('#stripmenumobile1').collapse();
$w('#stripmenudesktop1').expand();
}
textDates()
});
function textDates() {
const today = new Date()
today.setHours(0);
today.setMinutes(0);
today.setSeconds(0);
console.log(today)
wixData.query("GestionHoraire")
.le('startDate', today)
.ge('endDate', today)
.contains('title', 'Z')
.ascending('title')
.find()
.then((results) => {
console.log(results.items)
//Zone1
let item0 = results.items[0];
let semaineZone1 = item0._id;
console.log(semaineZone1);
let semaineLivraison1 = item0.livraison;
let semaineDeadline1 = item0.deadlineCommande;
let semaineLegumes1 = item0.legumesDuMoment;
let semaineTitle1 = item0.title
local.setItem('Semaine_Id1', semaineZone1)
local.setItem('Semaine_livraison1', semaineLivraison1)
local.setItem('Semaine_deadline1', semaineDeadline1)
local.setItem('Semaine_legumes1', semaineLegumes1)
local.setItem('Semaine_title1', semaineTitle1)
console.log('Zone 1 = ' + '--' + semaineTitle1 + '--' + semaineZone1 + '--' + semaineDeadline1 + '--' + semaineLivraison1 + '--' + semaineLegumes1);
//Zone2
let item1 = results.items[1]
let semaineZone2 = item1._id;
console.log(semaineZone2);
let semaineLivraison2 = item1.livraison;
let semaineDeadline2 = item1.deadlineCommande;
let semaineLegumes2 = item1.legumesDuMoment;
let semaineTitle2 = item1.title
local.setItem('Semaine_Id2', semaineZone2)
local.setItem('Semaine_livraison2', semaineLivraison2)
local.setItem('Semaine_deadline2', semaineDeadline2)
local.setItem('Semaine_legumes2', semaineLegumes2)
local.setItem('Semaine_title2', semaineTitle2)
console.log('Zone 2 = ' + '--' + semaineTitle2 + '--' + semaineZone2 + '--' + semaineDeadline2 + '--' + semaineLivraison2 + '--' + semaineLegumes2);
if (!item0.promotion) {
$w('#texthorairerabais').text = item1.promotion;
$w('#texthorairerabaismobile').text = item1.promotion;
} else {
$w('#texthorairerabais').text = item0.promotion;
$w('#texthorairerabaismobile').text = item0.promotion;
}
if (!item0.promotion && !item1.promotion) {
$w('#containerrabais').collapse();
$w('#containerrabaismobile').collapse()
}
})
.catch((err) => {
let errorMsg = err;
});
}
Thanks a lot, learning a lot here