Merge branch 'main' of http://91.189.216.43:3000/jacek.pyziak/drmaterac.pl
This commit is contained in:
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
@@ -1100,100 +1100,49 @@ prestashop.on('updateCart', function (event) {
|
|||||||
// })
|
// })
|
||||||
// })
|
// })
|
||||||
|
|
||||||
// document.addEventListener('DOMContentLoaded', function () {
|
$(document).ready(function () {
|
||||||
// // Działa na /zamówienie lub /order
|
var $widget = $('.box-ekomi-widget')
|
||||||
// var onOrder = document.body && (document.body.id === 'checkout' || /\/zam/i.test(location.pathname) || /\/order/i.test(location.pathname));
|
|
||||||
// if (!onOrder) return;
|
|
||||||
|
|
||||||
// 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() {
|
function watchSlickTrack() {
|
||||||
// return location.origin + location.pathname; // bez query i bez hash
|
var $slickTrack = $widget.find('.slick-track')
|
||||||
// }
|
|
||||||
|
|
||||||
// function openDeliveryStepInPlace() {
|
if ($slickTrack.length) {
|
||||||
// var step = document.querySelector('#checkout-delivery-step');
|
var observer = new MutationObserver(function (mutationsList) {
|
||||||
// if (!step) return false;
|
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
|
observer.observe($slickTrack[0], {
|
||||||
// document.querySelectorAll('.checkout-step').forEach(function(s){
|
attributes: true,
|
||||||
// s.classList.remove('-current');
|
attributeFilter: ['style'],
|
||||||
// s.setAttribute('aria-expanded','false');
|
})
|
||||||
// var col = s.querySelector('.collapse');
|
} else {
|
||||||
// if (col) col.classList.remove('show');
|
setTimeout(watchSlickTrack, 200)
|
||||||
// });
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// // pokaż krok 3
|
watchSlickTrack()
|
||||||
// step.classList.add('-current');
|
|
||||||
// step.setAttribute('aria-expanded','true');
|
|
||||||
// var col3 = step.querySelector('.collapse');
|
|
||||||
// if (col3) col3.classList.add('show');
|
|
||||||
|
|
||||||
// var headerBtn = document.querySelector('[data-target="#checkout-delivery-step"], [href="#checkout-delivery-step"]');
|
setTimeout(function () {
|
||||||
// if (headerBtn) headerBtn.setAttribute('aria-expanded','true');
|
$widget.find('.preloader').fadeOut(500)
|
||||||
|
}, 10000)
|
||||||
// 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.
|
|
||||||
// });
|
|
||||||
|
|||||||
Reference in New Issue
Block a user