Zmiana kluczy idmHotspotTextObject z literalow na zwykly string, poprawa price --convert

This commit is contained in:
2025-11-19 14:17:38 +01:00
parent a2ad55bbfa
commit acd1628832

138
klasa.js
View File

@@ -2,65 +2,77 @@
// TEXT
// LITERAŁY
const idmHotspotTextObject = {
[<iai:variable vid="Kod rabatowy"/>]: <iai:variable vid="Kod rabatowy"/>,
[<iai:variable vid="Okazja"/>]: <iai:variable vid="Okazja"/>,
[<iai:variable vid="Promocja"/>]: <iai:variable vid="Promocja"/>,
[<iai:variable vid="Bestseller"/>]: <iai:variable vid="Bestseller"/>,
[<iai:variable vid="Nowość"/>]: <iai:variable vid="Nowość"/>,
[<iai:variable vid="Ilość"/>]: <iai:variable vid="Ilość"/>,
[<iai:variable vid="Porównaj"/>]: <iai:variable vid="Porównaj"/>,
[<iai:variable vid="Dodaj do ulubionych"/>]: <iai:variable vid="Dodaj do ulubionych"/>,
[<iai:variable vid="Najniższa cena"/>]: <iai:variable vid="Najniższa cena"/>,
[<iai:variable vid="Najniższa cena z 30 dni przed obniżką"/>]: <iai:variable vid="Najniższa cena z 30 dni przed obniżką"/>,
[<iai:variable vid="Zwiększ ilość"/>]: <iai:variable vid="Zwiększ ilość"/>,
[<iai:variable vid="Zmniejsz ilość"/>]: <iai:variable vid="Zmniejsz ilość"/>,
[<iai:variable vid="Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki"/>]: <iai:variable vid="Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki"/>,
[<iai:variable vid="Cena regularna"/>]: <iai:variable vid="Cena regularna"/>,
[<iai:variable vid="Cena bez kodu"/>]: <iai:variable vid="Cena bez kodu"/>,
[<iai:variable vid="Cena nadchodząca od"/>]: <iai:variable vid="Cena nadchodząca od"/>,
[<iai:variable vid="Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę"/>]: <iai:variable vid="Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę"/>,
[<iai:variable vid="Nie znaleziono produktów"/>]: <iai:variable vid="Nie znaleziono produktów"/>,
[<iai:variable vid="Błąd przy pobieraniu danych"/>]: <iai:variable vid="Błąd przy pobieraniu danych"/>,
[<iai:variable vid="Kliknij, by przejść do formularza kontaktu"/>]: <iai:variable vid="Kliknij, by przejść do formularza kontaktu"/>,
[<iai:variable vid="Cena na telefon"/>]: <iai:variable vid="Cena na telefon"/>,
[<iai:variable vid="Dodany"/>]: <iai:variable vid="Dodany"/>,
[<iai:variable vid="Wystąpił błąd"/>]: <iai:variable vid="Wystąpił błąd"/>,
[<iai:variable vid="Do koszyka"/>]: <iai:variable vid="Do koszyka"/>,
[<iai:variable vid="Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:"/>]: <iai:variable vid="Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:"/>,
[<iai:variable vid="Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:"/>]: <iai:variable vid="Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:"/>,
[<iai:variable vid="Wystąpił błąd z inicjalizacją. Proszę odśwież stronę"/>]: <iai:variable vid="Wystąpił błąd z inicjalizacją. Proszę odśwież stronę"/>,
[<iai:variable vid="Nie znaleziono kontenera"/>]: <iai:variable vid="Nie znaleziono kontenera"/>,
[<iai:variable vid="Nie znaleziono metody graphql"/>]: <iai:variable vid="Nie znaleziono metody graphql"/>,
[<iai:variable vid="Drugie Zdjęcie"/>]: <iai:variable vid="Drugie Zdjęcie"/>,
["Kod rabatowy"]: <iai:variable vid="Kod rabatowy"/>,
["Okazja"]: <iai:variable vid="Okazja"/>,
["Promocja"]: <iai:variable vid="Promocja"/>,
["Bestseller"]: <iai:variable vid="Bestseller"/>,
["Nowość"]: <iai:variable vid="Nowość"/>,
["Ilość"]: <iai:variable vid="Ilość"/>,
["Porównaj"]: <iai:variable vid="Porównaj"/>,
["Dodaj do ulubionych"]: <iai:variable vid="Dodaj do ulubionych"/>,
["Najniższa cena"]: <iai:variable vid="Najniższa cena"/>,
["Najniższa cena z 30 dni przed obniżką"]: <iai:variable vid="Najniższa cena z 30 dni przed obniżką"/>,
["Zwiększ ilość"]: <iai:variable vid="Zwiększ ilość"/>,
["Zmniejsz ilość"]: <iai:variable vid="Zmniejsz ilość"/>,
["Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki"]: <iai:variable vid="Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki"/>,
["Cena regularna"]: <iai:variable vid="Cena regularna"/>,
["Cena bez kodu"]: <iai:variable vid="Cena bez kodu"/>,
["Cena nadchodząca od"]: <iai:variable vid="Cena nadchodząca od"/>,
["Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę"]: <iai:variable vid="Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę"/>,
["Nie znaleziono produktów"]: <iai:variable vid="Nie znaleziono produktów"/>,
["Błąd przy pobieraniu danych"]: <iai:variable vid="Błąd przy pobieraniu danych"/>,
["Kliknij, by przejść do formularza kontaktu"]: <iai:variable vid="Kliknij, by przejść do formularza kontaktu"/>,
["Cena na telefon"]: <iai:variable vid="Cena na telefon"/>,
["Dodany"]: <iai:variable vid="Dodany"/>,
["Wystąpił błąd"]: <iai:variable vid="Wystąpił błąd"/>,
["Do koszyka"]: <iai:variable vid="Do koszyka"/>,
["Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:"]: <iai:variable vid="Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:"/>,
["Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:"]: <iai:variable vid="Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:"/>,
["Wystąpił błąd z inicjalizacją. Proszę odśwież stronę"]: <iai:variable vid="Wystąpił błąd z inicjalizacją. Proszę odśwież stronę"/>,
["Nie znaleziono kontenera"]: <iai:variable vid="Nie znaleziono kontenera"/>,
["Nie znaleziono metody graphql"]: <iai:variable vid="Nie znaleziono metody graphql"/>,
["Drugie Zdjęcie"]: <iai:variable vid="Drugie Zdjęcie"/>,
};
// STRING
// const idmHotspotTextObject = {
// ["Kod rabatowy"]: "Kod rabatowy",
// ["Okazja"]: "Okazja",
// ["Promocja"]: "Promocja",
// ["Bestseller"]: "Bestseller",
// ["Nowość"]: "Nowość",
// ["Ilość"]: "Ilość",
// ["Zwiększ ilość"]: "Zwiększ ilość",
// ["Zmniejsz ilość"]: "Zmniejsz ilość",
// ["Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki"]: "Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki",
// ["Cena regularna"]: "Cena regularna",
// ["Cena bez kodu"]: "Cena bez kodu",
// ["Cena nadchodząca od"]: "Cena nadchodząca od",
// ["Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę"]: "Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę",
// ["Nie znaleziono produktów"]: "Nie znaleziono produktów",
// ["Błąd przy pobieraniu danych"]: "Błąd przy pobieraniu danych",
// ["Kliknij, by przejść do formularza kontaktu"]: "Kliknij, by przejść do formularza kontaktu",
// ["Cena na telefon"]: "Cena na telefon",
// ["Dodany"]: "Dodany",
// ["Wystąpił błąd"]: "Wystąpił błąd",
// ["Do koszyka"]: "Do koszyka",
// ["Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:"]: "Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:",
// ["Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:"]: "Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:",
// ["Wystąpił błąd z inicjalizacją. Proszę odśwież stronę"]: "Wystąpił błąd z inicjalizacją. Proszę odśwież stronę",
// ["Nie znaleziono kontenera"]: "Nie znaleziono kontenera",
// ["Nie znaleziono metody graphql"]: "Nie znaleziono metody graphql",
// }
// "Kod rabatowy": "Kod rabatowy",
// "Okazja": "Okazja",
// "Promocja": "Promocja",
// "Bestseller": "Bestseller",
// "Nowość": "Nowość",
// "Ilość": "Ilość",
// "Porównaj": "Porównaj",
// "Dodaj do ulubionych": "Dodaj do ulubionych",
// "Najniższa cena": "Najniższa cena",
// "Najniższa cena z 30 dni przed obniżką": "Najniższa cena z 30 dni przed obniżką",
// "Zwiększ ilość": "Zwiększ ilość",
// "Zmniejsz ilość": "Zmniejsz ilość",
// "Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki":
// "Najniższa cena produktu w okresie 30 dni przed wprowadzeniem obniżki",
// "Cena regularna": "Cena regularna",
// "Cena bez kodu": "Cena bez kodu",
// "Cena nadchodząca od": "Cena nadchodząca od",
// "Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę":
// "Coś poszło nie tak podczas dodawania do koszyka. Spróbuj ponownie lub odśwież stronę",
// "Nie znaleziono produktów": "Nie znaleziono produktów",
// "Błąd przy pobieraniu danych": "Błąd przy pobieraniu danych",
// "Kliknij, by przejść do formularza kontaktu":
// "Kliknij, by przejść do formularza kontaktu",
// "Cena na telefon": "Cena na telefon",
// "Dodany": "Dodany",
// "Wystąpił błąd": "Wystąpił błąd",
// "Do koszyka": "Do koszyka",
// "Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:":
// "Maksymalna liczba sztuk tego towaru które możesz dodać do koszyka to:",
// "Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:":
// "Minimalna liczba sztuk tego towaru które możesz dodać do koszyka to:",
// "Wystąpił błąd z inicjalizacją. Proszę odśwież stronę":
// "Wystąpił błąd z inicjalizacją. Proszę odśwież stronę",
// "Nie znaleziono kontenera": "Nie znaleziono kontenera",
// "Nie znaleziono metody graphql": "Nie znaleziono metody graphql",
// "Drugie Zdjęcie": "Drugie Zdjęcie",
// };
///////////////////////////////////////////////
// GraphQL
@@ -608,7 +620,7 @@ class IdmHotspot{
if(!this.options?.addToCompare) return "";
return `<div class="idm-products-banner__compare-btn" data-compare-id="${prod.id}">
<button class="idm-products-banner__compare-icon" aria-label="${idmHotspotTextObject[<iai:variable vid="Porównaj"/>]}">
<button class="idm-products-banner__compare-icon" aria-label="${idmHotspotTextObject["Porównaj"]}">
<svg xmlns="http://www.w3.org/2000/svg" width="26" height="26" viewBox="0 0 20 17" fill="none">
<path d="M19.3972 5.76602C19.3889 5.67435 19.3639 5.58268 19.3222 5.49102L16.5639 0.991016C16.5639 0.991016 16.5389 0.966016 16.5306 0.957682C16.4722 0.874349 16.3889 0.799349 16.2972 0.749349C16.1972 0.699349 16.0889 0.666016 16.0056 0.666016H15.9556C15.9556 0.666016 15.9139 0.666016 15.8889 0.666016C15.8472 0.666016 15.7972 0.666016 15.7472 0.682682L4.08056 4.10768C4.08056 4.10768 4.02223 4.13268 4.01389 4.14102C3.98056 4.15768 3.94723 4.17435 3.91389 4.19102C3.83889 4.24102 3.78056 4.29935 3.73889 4.35768L0.938894 8.87435C0.938894 8.87435 0.922228 8.91602 0.913894 8.93268C0.872228 9.01602 0.847228 9.10768 0.838894 9.19935V9.24935C0.788894 10.216 1.12223 11.1493 1.77223 11.866C2.42223 12.5827 3.31389 13.0077 4.29723 13.0577C5.26389 13.0077 6.15556 12.5827 6.81389 11.866C7.46389 11.1493 7.79723 10.216 7.75556 9.25768C7.75556 9.23268 7.75556 9.21602 7.74723 9.19935C7.73889 9.10768 7.71389 9.01602 7.67223 8.93268L5.40556 5.22435L9.39723 4.04935V15.5493H6.56389V16.991H13.6639V15.5493H10.8389V3.62435L14.3472 2.59102L12.5889 5.44102C12.5889 5.44102 12.5722 5.48268 12.5639 5.49935C12.5222 5.58268 12.4972 5.67435 12.4889 5.75768V5.81602C12.4306 6.78268 12.7722 7.71602 13.4222 8.43268C14.0722 9.14935 14.9639 9.57435 15.9472 9.62435C16.9139 9.57435 17.8056 9.14935 18.4639 8.43268C19.1139 7.71602 19.4472 6.78268 19.4056 5.82435V5.76602H19.3972ZM17.8806 6.54935C17.7889 6.96602 17.5639 7.35768 17.2389 7.64935C16.8806 7.97435 16.4222 8.16602 15.9472 8.19102C15.4722 8.15768 15.0139 7.96602 14.6556 7.64935C14.3389 7.35768 14.1139 6.97435 14.0139 6.54935H17.8806ZM14.4972 5.10768L15.9472 2.74935L17.3972 5.10768H14.4972ZM2.84723 8.53268L4.29723 6.17435L5.74723 8.53268H2.84723ZM6.23056 9.97435C6.13056 10.391 5.91389 10.7827 5.58889 11.0743C5.23056 11.3993 4.77223 11.591 4.29723 11.616C3.82223 11.5827 3.36389 11.391 3.00556 11.0743C2.68889 10.7827 2.46389 10.3993 2.36389 9.97435H6.23056Z" fill="#111111"/>
</svg>
@@ -623,7 +635,7 @@ class IdmHotspot{
data-href="#add_favorite"
class="product__favorite" role="button" tabindex="0"
data-product-id="${prod.id}"
data-product-size="${prod.sizes?.[0]?.id || 'uniw'}" aria-label="${idmHotspotTextObject[<iai:variable vid="Dodaj do ulubionych"/>]}">
data-product-size="${prod.sizes?.[0]?.id || 'uniw'}" aria-label="${idmHotspotTextObject["Dodaj do ulubionych"]}">
</span>`;
}
@@ -699,7 +711,7 @@ class IdmHotspot{
<span class="price_sellby__sellby" data-sellby="${unit?.sellBy}">${unit?.sellBy}</span>
<span class="price_sellby__unit">${unit?.sellBy > 1 ? unit?.plural : unit?.singular}</span>
</span>
${convertedPrice ? `<span class="price --convert">${convertedPrice}</span>` : ""}
${convertedPrice && prod.unit?.unitConvertedFormat ? `<span class="price --convert">(${convertedPrice} / ${prod.unit?.unitConvertedFormat})</span>` : ""}
</strong>
${pointsPrice ? `<span class="price --points">${pointsPrice} pkt.</span>` : ""}
${price.value === 0 ? `<a class="price --phone" href="/contact.php" tabindex="-1" title="${idmHotspotTextObject["Kliknij, by przejść do formularza kontaktu"]}">${idmHotspotTextObject["Cena na telefon"]}</a>` : ""}
@@ -727,12 +739,12 @@ class IdmHotspot{
if(!this.options.omnibusTooltip) return `<span class="price --omnibus omnibus_price">${omnibus?.html}</span>`;
else return `
<span class="price --omnibus omnibus_price">
<span class="omnibus_price__text">${idmHotspotTextObject[<iai:variable vid="Najniższa cena"/>]}:</span>
<span class="omnibus_price__text">${idmHotspotTextObject["Najniższa cena"]}:</span>
<del class="omnibus_price__value">${omnibus.price}</del>
<span class="price_percent">${omnibus.percent}</span>
<span class="idm_tooltip">
<span class="idm_tooltip__info_icon"></span>
<p class="idm_tooltip__content --one-line">${idmHotspotTextObject[<iai:variable vid="Najniższa cena z 30 dni przed obniżką"/>]}</p>
<p class="idm_tooltip__content --one-line">${idmHotspotTextObject["Najniższa cena z 30 dni przed obniżką"]}</p>
</span>
</span>
`;
@@ -894,7 +906,7 @@ class IdmHotspot{
const res = await fetch(compareUrl);
console.log(res);
if (!res.ok) throw new Error(`${<iai:variable vid="Wystąpił błąd"/>}`);
if (!res.ok) throw new Error(`${idmHotspotTextObject["Wystąpił błąd"]}`);
compareBtnEl.classList.add("--success");
@@ -913,7 +925,7 @@ class IdmHotspot{
}, 2000);
} catch (err) {
console.error(err);
Alertek.Error(`${<iai:variable vid="Coś poszło nie tak. Spróbuj ponownie później"/>}`);
Alertek.Error(`${idmHotspotTextObject["Coś poszło nie tak. Spróbuj ponownie później"]}`);
} finally {
compareBtnEl.classList.remove("--loading");
}