-->
// Anna Faber Wishlist > Add to Cart Fix Script for Tilda (function () { function updateWishlistView() { const wishlistWindow = document.querySelector('.t1002__wishlistwin'); if (wishlistWindow) { wishlistWindow.style.position = 'fixed'; wishlistWindow.style.top = '0'; wishlistWindow.style.left = '0'; wishlistWindow.style.width = '100vw'; wishlistWindow.style.height = '100vh'; wishlistWindow.style.maxWidth = '100%'; wishlistWindow.style.maxHeight = '100%'; wishlistWindow.style.zIndex = '999999'; wishlistWindow.style.overflowY = 'auto'; wishlistWindow.style.backgroundColor = '#fff'; } } function removeFromWishlistByUID(uid) { if (!uid || !window.twishlist || !twishlist.products) return; const updated = twishlist.products.filter(p => (p.uid || p.lid) !== uid); twishlist.products = updated; twishlist.total = updated.length; localStorage.setItem('tilda_wishlist', JSON.stringify(twishlist.products)); if (typeof twishlist__reDrawWishlist === 'function') twishlist__reDrawWishlist(); } function addToCartFromWishlist(product) { if (!product) return; tcart__addProduct(product); tcart__reDrawProducts(); tcart__reDrawTotal(); } function attachButtons() { const wishlistItems = document.querySelectorAll('[data-wishlist-product-i]'); wishlistItems.forEach(item => { const index = item.getAttribute('data-wishlist-product-i'); const btn = item.querySelector('.t1002__product-amount'); if (btn && !btn.classList.contains('custom-wishlist-processed')) { btn.innerHTML = 'Add to Cart'; btn.classList.add('custom-wishlist-btn', 'custom-wishlist-processed'); btn.addEventListener('click', () => { const product = window.twishlist.products[index]; if (!product) return; const uid = product.uid || product.lid; addToCartFromWishlist(product); removeFromWishlistByUID(uid); }); } }); } function createCheckoutBtn() { if (document.querySelector('.nolim-checkout-btn')) return; const container = document.querySelector('.t1002__wishlistwin-products'); if (!container) return; const btnWrap = document.createElement('div'); btnWrap.innerHTML = ` `; btnWrap.querySelector('a').addEventListener('click', function (e) { e.preventDefault(); const cartBlock = document.getElementById('rec937927786'); if (cartBlock) cartBlock.scrollIntoView({ behavior: 'smooth' }); }); container.parentNode.appendChild(btnWrap); } function observeWishlist() { const target = document.querySelector('.t1002__wishlistwin-products'); if (!target) return; const observer = new MutationObserver(() => { setTimeout(() => { attachButtons(); createCheckoutBtn(); updateWishlistView(); }, 100); }); observer.observe(target, { childList: true, subtree: true }); } document.addEventListener('DOMContentLoaded', () => { setTimeout(() => { attachButtons(); createCheckoutBtn(); updateWishlistView(); observeWishlist(); }, 500); }); document.addEventListener('click', e => { if (e.target.closest('.t-store__wishlist-icon')) { setTimeout(() => { attachButtons(); createCheckoutBtn(); updateWishlistView(); }, 700); } }); })();