This commit is contained in:
2025-09-17 00:17:02 +02:00
4 changed files with 3797 additions and 3770 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

View File

@@ -1100,100 +1100,49 @@ prestashop.on('updateCart', function (event) {
// })
// })
// document.addEventListener('DOMContentLoaded', function () {
// // Działa na /zamówienie lub /order
// var onOrder = document.body && (document.body.id === 'checkout' || /\/zam/i.test(location.pathname) || /\/order/i.test(location.pathname));
// if (!onOrder) return;
$(document).ready(function () {
var $widget = $('.box-ekomi-widget')
// var STORAGE_KEY = 'redirectToDeliveryOnce';
$widget.css('position', 'relative').prepend(`
<div class="preloader">
<div class="spinner owl-carousel owl-loading"></div>
<div class="preloader-text">Ładowanie recenzji, prosimy o chwilę cierpliwości…</div>
</div>
`)
// function cleanOrderUrl() {
// return location.origin + location.pathname; // bez query i bez hash
// }
function watchSlickTrack() {
var $slickTrack = $widget.find('.slick-track')
// function openDeliveryStepInPlace() {
// var step = document.querySelector('#checkout-delivery-step');
// if (!step) return false;
if ($slickTrack.length) {
var observer = new MutationObserver(function (mutationsList) {
mutationsList.forEach(function (mutation) {
if (
mutation.type === 'attributes' &&
mutation.attributeName === 'style'
) {
var transform = $slickTrack.css('transform')
if (transform && transform !== 'none') {
setTimeout(function () {
$widget.find('.preloader').fadeOut(500)
observer.disconnect()
}, 500)
}
}
})
})
// // zamknij inne kroki
// document.querySelectorAll('.checkout-step').forEach(function(s){
// s.classList.remove('-current');
// s.setAttribute('aria-expanded','false');
// var col = s.querySelector('.collapse');
// if (col) col.classList.remove('show');
// });
observer.observe($slickTrack[0], {
attributes: true,
attributeFilter: ['style'],
})
} else {
setTimeout(watchSlickTrack, 200)
}
}
// // pokaż krok 3
// step.classList.add('-current');
// step.setAttribute('aria-expanded','true');
// var col3 = step.querySelector('.collapse');
// if (col3) col3.classList.add('show');
watchSlickTrack()
// var headerBtn = document.querySelector('[data-target="#checkout-delivery-step"], [href="#checkout-delivery-step"]');
// if (headerBtn) headerBtn.setAttribute('aria-expanded','true');
// try { step.scrollIntoView({behavior:'smooth', block:'start'}); } catch(e){}
// return true;
// }
// // --- 1) Jeśli poprzednio dodaliśmy/wyczyściliśmy kupon, to po RELOAD otwórz krok 3 i wyczyść flagę
// if (sessionStorage.getItem(STORAGE_KEY) === '1') {
// sessionStorage.removeItem(STORAGE_KEY);
// // ustaw hash tylko informacyjnie; nie będzie on użyty do „pchania” użytkownika
// if (location.hash !== '#checkout-delivery-step') {
// history.replaceState(null, '', cleanOrderUrl() + '#checkout-delivery-step');
// }
// // DOM w checkout często doskakuje dynamicznie — podejdźmy z kilkoma próbami
// var tries = 0;
// var iv = setInterval(function () {
// if (openDeliveryStepInPlace() || ++tries > 30) clearInterval(iv);
// }, 100);
// }
// // --- 2) Jednorazowe oznaczenie intencji i RELOAD po akcji kuponu
// function markAndReload() {
// // Jeśli już zaznaczone, nie rób nic (eliminuje podwójny reload)
// if (sessionStorage.getItem(STORAGE_KEY) === '1') return;
// sessionStorage.setItem(STORAGE_KEY, '1');
// // twardy reload na czysty URL (bez ?updatedTransaction i bez hash)
// window.location.href = cleanOrderUrl();
// }
// // 2a) Eventy PS (różne motywy wysyłają różne nazwy)
// function onPsCartEvent(evt) {
// var la = evt && evt.reason && evt.reason.linkAction ? String(evt.reason.linkAction) : '';
// if (la === 'add-voucher' || la === 'remove-voucher') {
// markAndReload();
// }
// }
// if (window.prestashop && typeof prestashop.on === 'function') {
// prestashop.on('updateCart', onPsCartEvent);
// prestashop.on('updatedCart', onPsCartEvent);
// }
// // 2b) Fallback: klik w przycisk dodawania/ usuwania kuponu (różne motywy)
// document.addEventListener('click', function (e) {
// var addBtn = e.target && e.target.closest('[data-link-action="add-voucher"], button[name="actionAddVoucher"], .js-add-voucher, #promo-code button, .cart-rule-add button');
// var removeBtn = e.target && e.target.closest('[data-link-action="remove-voucher"], .js-remove-voucher, .cart-rule-remove button');
// if (addBtn || removeBtn) {
// // odrocz minimalnie, by nie zrywać natychmiast ajaxa/submitu (niektóre motywy i tak zrobią swój reload)
// setTimeout(markAndReload, 50);
// }
// }, true);
// // 2c) Fallback: submit formularza kuponu (Enter w input)
// document.addEventListener('submit', function (e) {
// var form = e.target;
// if (!form) return;
// var isVoucherForm =
// (form.action && (form.action.indexOf('/cart') !== -1 || form.action.indexOf('/order') !== -1)) &&
// (form.querySelector('input[name="discount_name"], input[name="voucher_name"]') ||
// form.querySelector('[data-link-action="add-voucher"]'));
// if (isVoucherForm) {
// setTimeout(markAndReload, 50);
// }
// }, true);
// // --- 3) ZERO wymuszania cofania przy normalnym przejściu do kroku 4.
// // Celowo NIE ma tu hashchange ani ciągłego „pilnowania” kroku — po otwarciu kroku 3 flaga jest kasowana.
// });
setTimeout(function () {
$widget.find('.preloader').fadeOut(500)
}, 10000)
})