Магазин | Miss Fashion
Исполни свою мечту!
Косметика Miss Fashion + Конкурс красоты = Твоя история успеха.
Все товары
По любым вопросам и для заказа свяжитесь с нами
по телефону, почте и в соцсетях.
+7 964 715 08 85
zaкaz@missfashion.pro
(function() { 'use strict'; const MIN_AMOUNT = 3000; function cleanPromoFromLocalStorage() { try { // Получаем данные корзины const cartData = JSON.parse(localStorage.getItem('tcart') || '{}'); if (Object.keys(cartData).length > 0) { console.log('[DEBUG] Исходные данные корзины:', cartData); // Удаляем ВСЕ поля, связанные со скидкой delete cartData.promocode; delete cartData.prodamount_discountsum; delete cartData.prodamount_withdiscount; delete cartData.discountsum; // Восстанавливаем исходную сумму cartData.amount = cartData.prodamount; // Сохраняем очищенные данные localStorage.setItem('tcart', JSON.stringify(cartData)); console.log('[DEBUG] Промокод очищен из localStorage'); return true; } } catch(e) { console.error('[DEBUG] Ошибка очистки localStorage:', e); } return false; } function removePromoUIElements() { // Удаляем сообщение об активации document.querySelectorAll('*').forEach(el => { if (el.textContent.includes('Промокод') && el.textContent.includes('активирован')) { const parent = el.closest('.t-inputpromocode__wrapper, .t-section, .t-cell, .t-row'); if (parent) { parent.remove(); console.log('[DEBUG] Удалено сообщение об активации'); } } }); // Удаляем блок со скидкой document.querySelectorAll('.t706__cartwin-totalamount-info').forEach(block => { if (block.textContent.includes('Скидка:') || block.textContent.includes('скидка')) { block.remove(); console.log('[DEBUG] Удален блок со скидкой'); } }); // Очищаем поле ввода промокода const promoInput = document.querySelector('input[placeholder*="промокод" i]'); if (promoInput) { promoInput.value = ''; ['input', 'change', 'blur'].forEach(eventType => { promoInput.dispatchEvent(new Event(eventType, { bubbles: true })); }); console.log('[DEBUG] Поле промокода очищено'); } } function forceUpdateCartUI() { try { // Получаем исходную сумму из localStorage const cartData = JSON.parse(localStorage.getItem('tcart') || '{}'); const originalAmount = cartData.prodamount || 0; if (originalAmount > 0) { // Обновляем итоговую сумму document.querySelectorAll('.t706__cartwin-totalamount, .t706__sidebar-totalamount').forEach(el => { el.textContent = `${originalAmount.toLocaleString('ru-RU')}р.`; console.log(`[DEBUG] Сумма обновлена на: ${originalAmount}р.`); }); // Обновляем сумму в детализации const firstValue = document.querySelector('.t706__cartwin-totalamount-info_value:first-child'); if (firstValue) { firstValue.innerHTML = `
${originalAmount.toLocaleString('ru-RU')}
р.
`; } } } catch(e) { console.error('[DEBUG] Ошибка обновления UI:', e); } } function resetCart() { console.log('[DEBUG] Начинаем сброс корзины...'); // 1. Очищаем localStorage const localStorageCleaned = cleanPromoFromLocalStorage(); // 2. Удаляем UI элементы removePromoUIElements(); // 3. Обновляем интерфейс forceUpdateCartUI(); // 4. Принудительно обновляем страницу если ничего не помогло if (localStorageCleaned) { console.log('[DEBUG] Корзина успешно сброшена!'); } else { console.log('[DEBUG] Принудительная перезагрузка страницы'); setTimeout(() => { location.reload(); }, 1000); } } function checkAndReset() { try { // Получаем исходную сумму из localStorage const cartData = JSON.parse(localStorage.getItem('tcart') || '{}'); const originalAmount = cartData.prodamount || 0; console.log(`[DEBUG] Текущая сумма: ${originalAmount}р., Минимальная для промокода: ${MIN_AMOUNT}р.`); if (originalAmount < MIN_AMOUNT && originalAmount > 0) { console.log('[DEBUG] Сумма меньше минимальной, сбрасываем промокод'); resetCart(); } } catch(e) { console.error('[DEBUG] Ошибка проверки суммы:', e); } } // Основная инициализация function init() { console.log('[DEBUG] Запуск скрипта сброса промокода'); // Проверяем каждые 300мс setInterval(checkAndReset, 300); // Проверяем при загрузке if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', checkAndReset); } else { checkAndReset(); } // Проверяем при полной загрузке window.addEventListener('load', () => { setTimeout(checkAndReset, 500); }); } // Запускаем init(); })();
Made on
Tilda