opinie, dodaj do koszyka, labelki
This commit is contained in:
@@ -34,7 +34,7 @@ function idmObserveEachOncePM(elements, callback, options = {}) {
|
||||
{
|
||||
threshold: 0.1,
|
||||
...options,
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
elements.forEach((el) => observer.observe(el));
|
||||
@@ -45,7 +45,7 @@ idmObserveEachOncePM(
|
||||
document.querySelectorAll(".idm_picture__module"),
|
||||
(entry) => {
|
||||
idmPictureModuleProductsPM(entry.target);
|
||||
}
|
||||
},
|
||||
);
|
||||
|
||||
// GRAPHQL QUERY
|
||||
@@ -239,7 +239,7 @@ async function idmHandleAddToBasketPM(e) {
|
||||
Alertek.Error(
|
||||
idmPhotoModuleLiteralsPM[
|
||||
"Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę"
|
||||
]
|
||||
],
|
||||
);
|
||||
buttonEl.innerHTML = `<span>${buttonEl.dataset.error}</span>`;
|
||||
buttonEl.classList.add("--error");
|
||||
@@ -267,20 +267,10 @@ function idmMarkupAddToBasketPM(prodData) {
|
||||
|
||||
return `<form class="add_to_basket" action="/basketchange.php" type="post">
|
||||
<input class="product__add_mode" type="hidden" value="1" name="mode">
|
||||
<input class="product__add_id" type="hidden" value="${
|
||||
prodData.id
|
||||
}" name="mode">
|
||||
<input class="product__add_size" type="hidden" value="${
|
||||
prodData.sizes?.[0]?.id || "uniw"
|
||||
}" name="mode">
|
||||
<input class="product__add_number" type="hidden" value="${
|
||||
prodData.unit?.sellBy || 1
|
||||
}" name="mode">
|
||||
<button class="btn --solid --medium add_to_basket__button" tabindex="0" data-success="${
|
||||
idmPhotoModuleLiteralsPM["Dodany"]
|
||||
}" data-error="${idmPhotoModuleLiteralsPM["Wystąpił błąd"]}" data-text="${
|
||||
idmPhotoModuleLiteralsPM["Do koszyka"]
|
||||
}">
|
||||
<input class="product__add_id" type="hidden" value="${prodData.id}" name="mode">
|
||||
<input class="product__add_size" type="hidden" value="${prodData.sizes?.[0]?.id || "uniw"}" name="mode">
|
||||
<input class="product__add_number" type="hidden" value="${prodData.unit?.sellBy || 1}" name="mode">
|
||||
<button class="btn --solid --medium add_to_basket__button" tabindex="0" data-success="${idmPhotoModuleLiteralsPM["Dodany"]}" data-error="${idmPhotoModuleLiteralsPM["Wystąpił błąd"]}" data-text="${idmPhotoModuleLiteralsPM["Do koszyka"]}">
|
||||
<span>${idmPhotoModuleLiteralsPM["Do koszyka"]}</span>
|
||||
</button>
|
||||
</form>`;
|
||||
@@ -291,9 +281,7 @@ function idmMarkupPricePM({ prodData, addToBasket }) {
|
||||
|
||||
let priceMarkup;
|
||||
if (!addToBasket)
|
||||
priceMarkup = `<div class="product_prices"><span class="price --normal --main">${
|
||||
prodData.price?.price?.[app_shop.vars.priceType]?.formatted
|
||||
}</span></div>`;
|
||||
priceMarkup = `<div class="product_prices"><span class="price --normal --main">${prodData.price?.price?.[app_shop.vars.priceType]?.formatted}</span></div>`;
|
||||
else {
|
||||
const currentSize = prodData?.sizes?.[0] || prodData;
|
||||
|
||||
@@ -313,9 +301,7 @@ function idmMarkupPricePM({ prodData, addToBasket }) {
|
||||
const maxPercent = currentSize?.price?.youSavePercent;
|
||||
|
||||
priceMarkup = `
|
||||
<div class="product_prices ${omnibusPrice ? `--omnibus` : ""} ${
|
||||
isOmnibusHigher ? `--omnibus-higher` : ""
|
||||
} ${omnibusPrice === maxPrice ? "--omnibus-short" : ""}">
|
||||
<div class="product_prices ${omnibusPrice ? `--omnibus` : ""} ${isOmnibusHigher ? `--omnibus-higher` : ""} ${omnibusPrice === maxPrice ? "--omnibus-short" : ""}">
|
||||
<span class="price --normal --main">${price}</span>
|
||||
${
|
||||
omnibusPrice && typeof omnibusPercent === "number"
|
||||
@@ -382,7 +368,7 @@ async function idmPictureModuleProductsPM(containerEL) {
|
||||
opinions: isOpinions,
|
||||
addToBasket: isAddToBasket,
|
||||
})}`,
|
||||
""
|
||||
"",
|
||||
)}}`,
|
||||
}),
|
||||
});
|
||||
@@ -423,35 +409,19 @@ async function idmPictureModuleProductsPM(containerEL) {
|
||||
if (isOpinions) {
|
||||
opinionsHTML = `
|
||||
<div class="product_opinions__stars">
|
||||
<i class="icon-star ${
|
||||
prodData.opinion?.rating > 0.5 ? "--active" : ""
|
||||
}"></i>
|
||||
<i class="icon-star ${
|
||||
prodData.opinion?.rating > 1.5 ? "--active" : ""
|
||||
}"></i>
|
||||
<i class="icon-star ${
|
||||
prodData.opinion?.rating > 2.5 ? "--active" : ""
|
||||
}"></i>
|
||||
<i class="icon-star ${
|
||||
prodData.opinion?.rating > 3.5 ? "--active" : ""
|
||||
}"></i>
|
||||
<i class="icon-star ${
|
||||
prodData.opinion?.rating > 4.5 ? "--active" : ""
|
||||
}"></i>
|
||||
<i class="icon-star ${prodData.opinion?.rating > 0.5 ? "--active" : ""}"></i>
|
||||
<i class="icon-star ${prodData.opinion?.rating > 1.5 ? "--active" : ""}"></i>
|
||||
<i class="icon-star ${prodData.opinion?.rating > 2.5 ? "--active" : ""}"></i>
|
||||
<i class="icon-star ${prodData.opinion?.rating > 3.5 ? "--active" : ""}"></i>
|
||||
<i class="icon-star ${prodData.opinion?.rating > 4.5 ? "--active" : ""}"></i>
|
||||
</div>
|
||||
<span class="product_opinions__score">${
|
||||
prodData.opinion.rating
|
||||
} / 5.00 </span>
|
||||
<span class="product_opinions__score">${prodData.opinion.rating} / 5.00 </span>
|
||||
<span class="product_opinions__count">${prodData.opinion.count}</span>
|
||||
`;
|
||||
}
|
||||
prodEl.innerHTML = `
|
||||
${isLabels ? `<strong class="label_icons">${labelsHTML}</strong>` : ""}
|
||||
${
|
||||
isOpinions
|
||||
? `<div class="product_opinions">${opinionsHTML}</div>`
|
||||
: ""
|
||||
}
|
||||
${isOpinions ? `<div class="product_opinions">${opinionsHTML}</div>` : ""}
|
||||
<a class="product_name" href="${prodData.link}">${prodData.name}</a>
|
||||
${idmMarkupPricePM({ prodData, addToBasket: isAddToBasket })}
|
||||
${isAddToBasket ? idmMarkupAddToBasketPM(prodData) : ""}
|
||||
@@ -464,7 +434,7 @@ async function idmPictureModuleProductsPM(containerEL) {
|
||||
});
|
||||
} catch (err) {
|
||||
allProdEl?.forEach((prodEl) =>
|
||||
prodEl.closest(".idm_picture__product")?.remove()
|
||||
prodEl.closest(".idm_picture__product")?.remove(),
|
||||
);
|
||||
console.error(err);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user