1 2 3/* popup code start */ 4function drawerActivitycontrol() { 5 document.getElementById('cart-icon').addEventListener('click', function(event) { 6 event.preventDefault(); 7 document.querySelectorAll('.offcanvas-backdrop').forEach(backdrop => backdrop.remove()); 8 const cartOffCanvas = new bootstrap.Offcanvas(document.getElementById('cartOffCanvas')); 9 cartOffCanvas.show(); 10 }); 11 document.getElementById('cart-icon').click(); 12} 13 14function showSuccessPopup(product, price, cmpprice, unit_price) { 15 if (!product || Object.keys(product).length === 0) { 16 return; 17 } 18 var unit_price = unit_price | 0; 19 var formattedPrice = (price); 20 var formattedComparePrice = cmpprice ? (cmpprice) : ''; 21 22 23 var recipientEmail = product.properties?.["Recipient email"] ? `<p class="mb-1">${window.translations?.recipient_email || 'Recipient email'}: ${product.properties["Recipient email"]}</p>` : ''; 24 var recipientName = product.properties?.["Recipient name"] ? `<p class="mb-1">${window.translations?.recipient_name || 'Recipient name'}: ${product.properties["Recipient name"]}</p>` : ''; 25 var giftMessage = product.properties?.["Message"] ? `<p class="mb-1">${window.translations?.message || 'Message'}: ${product.properties["Message"]}</p>` : ''; 26 var sendOnDate = product.properties?.["Send on"] ? `<p class="mb-1">${window.translations?.send_on || 'Send on'}: ${product.properties["Send on"]}</p>` : ''; 27 28 let variantOptionsHTML = ''; 29
30 if (product.options_with_values && product.options_with_values.length > 0) { 31 const optionValues = product.options_with_values.map(option => option.value).join(' / '); 32 variantOptionsHTML = ` 33 <div class="variant-options mt-1"> 34 <span class="fw-normal">${optionValues}</span> 35 </div> 36 `; 37 } else if (product.option1 || product.option2 || product.option3) { 38 const options = [product.option1, product.option2, product.option3].filter(Boolean).join(' / '); 39 if (options) { 40 variantOptionsHTML = ` 41 <div class="variant-options mt-1"> 42 <span class="fw-normal">${options}</span> 43 </div> 44 `; 45 } 46 } 47 48 let unitPriceHTML = ''; 49 if (unit_price != 0 && unit_price) { 50 unitPriceHTML = ` 51 <div class="d-flex flex-wrap gap-2 unit-price"> 52 <p class="m-0 price">${unit_price}</p> 53 </div> 54 `; 55 } 56 currency_symbol = window.routes.cart_currency 57 let popup = ` 58 <div class="cart-popup card_product_detail" id="popup" tabindex="0"> 59 <div class="cart_message"> 60 <div class="d-flex justify-content-center flex-wrap gap-1 align-items-baseline"> 61 <svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="currentColor" class="bi bi-check-circle-fill mt-1 mt-md-0 text-success" viewBox="0 0 16 16"> 62 <path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0m-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/> 63 </svg> 64 <span>{{ 'sections.cart.product-added' | t }}</span> 65 </div> 66 </div> 67 <div class="cart-popup-content mt-4"> 68 <div class="card_img card_product_detail"> 69 ${product.image 70 ? `<img src="${product.image}" alt="${product?.product_title || product.title}" />` 71 : `<svg class="placeholder-svg popup" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 525.5 525.5"><path d="M375.5 345.2c0-.1 0-.1 0 0 0-.1 0-.1 0 0-1.1-2.9-2.3-5.5-3.4-7.8-1.4-4.7-2.4-13.8-.5-19.8 3.4-10.6 3.6-40.6 1.2-54.5-2.3-14-12.3-29.8-18.5-36.9-5.3-6.2-12.8-14.9-15.4-17.9 8.6-5.6 13.3-13.3 14-23 0-.3 0-.6.1-.8.4-4.1-.6-9.9-3.9-13.5-2.1-2.3-4.8-3.5-8-3.5h-54.9c-.8-7.1-3-13-5.2-17.5-6.8-13.9-12.5-16.5-21.2-16.5h-.7c-8.7 0-14.4 2.5-21.2 16.5-2.2 4.5-4.4 10.4-5.2 17.5h-48.5c-3.2 0-5.9 1.2-8 3.5-3.2 3.6-4.3 9.3-3.9 13.5 0 .2 0 .5.1.8.7 9.8 5.4 17.4 14 23-2.6 3.1-10.1 11.7-15.4 17.9-6.1 7.2-16.1 22.9-18.5 36.9-2.2 13.3-1.2 47.4 1 54.9 1.1 3.8 1.4 14.5-.2 19.4-1.2 2.4-2.3 5-3.4 7.9-4.4 11.6-6.2 26.3-5 32.6 1.8 9.9 16.5 14.4 29.4 14.4h176.8c12.9 0 27.6-4.5 29.4-14.4 1.2-6.5-.5-21.1-5-32.7zm-97.7-178c.3-3.2.8-10.6-.2-18 2.4 4.3 5 10.5 5.9 18h-5.7zm-36.3-17.9c-1 7.4-.5 14.8-.2 18h-5.7c.9-7.5 3.5-13.7 5.9-18zm4.5-6.9c0-.1.1-.2.1-.4 4.4-5.3 8.4-5.8 13.1-5.8h.7c4.7 0 8.7.6 13.1 5.8 0 .1 0 .2.1.4 3.2 8.9 2.2 21.2 1.8 25h-30.7c-.4-3.8-1.3-16.1 1.8-25zm-70.7 42.5c0-.3 0-.6-.1-.9-.3-3.4.5-8.4 3.1-11.3 1-1.1 2.1-1.7 3.4-2.1l-.6.6c-2.8 3.1-3.7 8.1-3.3 11.6 0 .2 0 .5.1.8.3 3.5.9 11.7 10.6 18.8.3.2.8.2 1-.2.2-.3.2-.8-.2-1-9.2-6.7-9.8-14.4-10-17.7 0-.3 0-.6-.1-.8-.3-3.2.5-7.7 3-10.5.8-.8 1.7-1.5 2.6-1.9h155.7c1 .4 1.9 1.1 2.6 1.9 2.5 2.8 3.3 7.3 3 10.5 0 .2 0 .5-.1.8-.3 3.6-1 13.1-13.8 20.1-.3.2-.5.6-.3 1 .1.2.4.4.6.4.1 0 .2 0 .3-.1 13.5-7.5 14.3-17.5 14.6-21.3 0-.3 0-.5.1-.8.4-3.5-.5-8.5-3.3-11.6l-.6-.6c1.3.4 2.5 1.1 3.4 2.1 2.6 2.9 3.5 7.9 3.1 11.3 0 .3 0 .6-.1.9-1.5 20.9-23.6 31.4-65.5 31.4h-43.8c-41.8 0-63.9-10.5-65.4-31.4zm91 89.1h-7c0-1.5 0-3-.1-4.2-.2-12.5-2.2-31.1-2.7-35.1h3.6c.8 0 1.4-.6 1.4-1.4v-14.1h2.4v14.1c0 .8.6 1.4 1.4 1.4h3.7c-.4 3.9-2.4 22.6-2.7 35.1v4.2zm65.3 11.9h-16.8c-.4 0-.7.3-.7.7 0 .4.3.7.7.7h16.8v2.8h-62.2c0-.9-.1-1.9-.1-2.8h33.9c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-33.9c-.1-3.2-.1-6.3-.1-9h62.5v9zm-12.5 24.4h-6.3l.2-1.6h5.9l.2 1.6zm-5.8-4.5l1.6-12.3h2l1.6 12.3h-5.2zm-57-19.9h-62.4v-9h62.5c0 2.7 0 5.8-.1 9zm-62.4 1.4h62.4c0 .9-.1 1.8-.1 2.8H194v-2.8zm65.2 0h7.3c0 .9.1 1.8.1 2.8H259c.1-.9.1-1.8.1-2.8zm7.2-1.4h-7.2c.1-3.2.1-6.3.1-9h7c0 2.7 0 5.8.1 9zm-7.7-66.7v6.8h-9v-6.8h9zm-8.9 8.3h9v.7h-9v-.7zm0 2.1h9v2.3h-9v-2.3zm26-1.4h-9v-.7h9v.7zm-9 3.7v-2.3h9v2.3h-9zm9-5.9h-9v-6.8h9v6.8zm-119.3 91.1c-2.1-7.1-3-40.9-.9-53.6 2.2-13.5 11.9-28.6 17.8-35.6 5.6-6.5 13.5-15.7 15.7-18.3 11.4 6.4 28.7 9.6 51.8 9.6h6v14.1c0 .8.6 1.4 1.4 1.4h5.4c.3 3.1 2.4 22.4 2.7 35.1 0 1.2.1 2.6.1 4.2h-63.9c-.8 0-1.4.6-1.4 1.4v16.1c0 .8.6 1.4 1.4 1.4H256c-.8 11.8-2.8 24.7-8 33.3-2.6 4.4-4.9 8.5-6.9 12.2-.4.7-.1 1.6.6 1.9.2.1.4.2.6.2.5 0 1-.3 1.3-.8 1.9-3.7 4.2-7.7 6.8-12.1 5.4-9.1 7.6-22.5 8.4-34.7h7.8c.7 11.2 2.6 23.5 7.1 32.4.2.5.8.8 1.3.8.2 0 .4 0 .6-.2.7-.4 1-1.2.6-1.9-4.3-8.5-6.1-20.3-6.8-31.1H312l-2.4 18.6c-.1.4.1.8.3 1.1.3.3.7.5 1.1.5h9.6c.4 0 .8-.2 1.1-.5.3-.3.4-.7.3-1.
711l-2.4-18.6H333c.8 0 1.4-.6 1.4-1.4v-16.1c0-.8-.6-1.4-1.4-1.4h-63.9c0-1.5 0-2.9.1-4.2.2-12.7 2.3-32 2.7-35.1h5.2c.8 0 1.4-.6 1.4-1.4v-14.1h6.2c23.1 0 40.4-3.2 51.8-9.6 2.3 2.6 10.1 11.8 15.7 18.3 5.9 6.9 15.6 22.1 17.8 35.6 2.2 13.4 2 43.2-1.1 53.1-1.2 3.9-1.4 8.7-1 13-1.7-2.8-2.9-4.4-3-4.6-.2-.3-.6-.5-.9-.6h-.5c-.2 0-.4.1-.5.2-.6.5-.8 1.4-.3 2 0 0 .2.3.5.8 1.4 2.1 5.6 8.4 8.9 16.7h-42.9v-43.8c0-.8-.6-1.4-1.4-1.4s-1.4.6-1.4 1.4v44.9c0 .1-.1.2-.1.3 0 .1 0 .2.1.3v9c-1.1 2-3.9 3.7-10.5 3.7h-7.5c-.4 0-.7.3-.7.7 0 .4.3.7.7.7h7.5c5 0 8.5-.9 10.5-2.8-.1 3.1-1.5 6.5-10.5 6.5H210.4c-9 0-10.5-3.4-10.5-6.5 2 1.9 5.5 2.8 10.5 2.8h67.4c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-67.4c-6.7 0-9.4-1.7-10.5-3.7v-54.5c0-.8-.6-1.4-1.4-1.4s-1.4.6-1.4 1.4v43.8h-43.6c4.2-10.2 9.4-17.4 9.5-17.5.5-.6.3-1.5-.3-2s-1.5-.3-2 .3c-.1.2-1.4 2-3.2 5 .1-4.9-.4-10.2-1.1-12.8zm221.4 60.2c-1.5 8.3-14.9 12-26.6 12H174.4c-11.8 0-25.1-3.8-26.6-12-1-5.7.6-19.3 4.6-30.2H197v9.8c0 6.4 4.5 9.7 13.4 9.7h105.4c8.9 0 13.4-3.3 13.4-9.7v-9.8h44c4 10.9 5.6 24.5 4.6 30.2z"></path><path d="M286.1 359.3c0 .4.3.7.7.7h14.7c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7h-14.7c-.3 0-.7.3-.7.7zm5.3-145.6c13.5-.5 24.7-2.3 33.5-5.3.4-.1.6-.5.4-.9-.1-.4-.5-.6-.9-.4-8.6 3-19.7 4.7-33 5.2-.4 0-.7.3-.7.7 0 .4.3.7.7.7zm-11.3.1c.4 0 .7-.3.7-.7 0-.4-.3-.7-.7-.7H242c-19.9 0-35.3-2.5-45.9-7.4-.4-.2-.8 0-.9.3-.2.4 0 .8.3.9 10.8 5 26.4 7.5 46.5 7.5h38.1zm-7.2 116.9c.4.1.9.1 1.4.1 1.7 0 3.4-.7 4.7-1.9 1.4-1.4 1.9-3.2 1.5-5-.2-.8-.9-1.2-1.7-1.1-.8.2-1.2.9-1.1 1.7.3 1.2-.4 2-.7 2.4-.9.9-2.2 1.3-3.4 1-.8-.2-1.5.3-1.7 1.1s.2 1.5 1 1.7z"></path><path d="M275.5 331.6c-.8 0-1.4.6-1.5 1.4 0 .8.6 1.4 1.4 1.5h.3c3.6 0 7-2.8 7.7-6.3.2-.8-.4-1.5-1.1-1.7-.8-.2-1.5.4-1.7 1.1-.4 2.3-2.8 4.2-5.1 4zm5.4 1.6c-.6.5-.6 1.4-.1 2 1.1 1.3 2.5 2.2 4.2 2.8.2.1.3.1.5.1.6 0 1.1-.3 1.3-.9.3-.7-.1-1.6-.8-1.8-1.2-.5-2.2-1.2-3-2.1-.6-.6-1.5-.6-2.1-.1zm-38.2 12.7c.5 0 .9 0 1.4-.1.8-.2 1.3-.9 1.1-1.7-.2-.8-.9-1.3-1.7-1.1-1.2.3-2.5-.1-3.4-1-.4-.4-1-1.2-.8-2.4.2-.8-.3-1.5-1.1-1.7-.8-.2-1.5.3-1.7 1.1-.4 1.8.1 3.7 1.5 5 1.2 1.2 2.9 1.9 4.7 1.9z"></path><path d="M241.2 349.6h.3c.8 0 1.4-.7 1.4-1.5s-.7-1.4-1.5-1.4c-2.3.1-4.6-1.7-5.1-4-.2-.8-.9-1.3-1.7-1.1-.8.2-1.3.9-1.1 1.7.7 3.5 4.1 6.3 7.7 6.3zm-9.7 3.6c.2 0 .3 0 .5-.1 1.6-.6 3-1.6 4.2-2.8.5-.6.5-1.5-.1-2s-1.5-.5-2 .1c-.8.9-1.8 1.6-3 2.1-.7.3-1.1 1.1-.8 1.8 0 .6.6.9 1.2.9z"> 72 </path> 73 </svg>` 74 } 75 </div> 76 77 <div class="cart-popup-text"> 78 {% if settings.Show_vendor_cart %} 79 <p class="mb-2 vendor text-uppercase">${product.vendor}</p> 80 {% endif %} 81 <h6 class="mb-1">${product?.product_title || product.title}</h6> 82 <div class="mb-1">${variantOptionsHTML}</div> 83 <div class="d-flex flex-wrap gap-2 price"> 84 <p class="m-0 price">${(price)} ${currency_symbol}</p> 85 ${cmpprice ? `<p class="m-0 price text-decoration-line-through">${cmpprice} ${currency_symbol}</p>` : ''} 86 </div> 87 ${unitPriceHTML} 88 <span class="subscription_minicart mb-2"> 89 ${product.selling_plan_allocation ? product.selling_plan_allocation.selling_plan.name : ''} 90 </span> 91 ${product.gift_card ? ` 92 <div class="gift-card-details mt-2"> 93 ${recipientEmail} 94 ${recipientName} 95 ${giftMessage} 96 ${sendOnDate} 97 </div> 98 ` : ''} 99 <div class="discount"> 100 ${ 101 product.line_level_discount_allocations?.length > 0 ? ` 102 <span class="cart-product-discounts"> 103 <ul class="cart-product-discounts-list p-0" role="list" aria-label="{{ 'customer.order.discount' | t }}"> 104 ${product.line_level_discount_allocations.map(discount_allocation => ` 105 <li class="cart-product-discounts-list-item list-unstyled"> 106 <span class="cart-product-discounts-list-item__title"> 107 <span class="badges sale_badge fw-bold text-uppercase">${discount_allocation.discount_application.title}</span> 108 </span> 109 </li> 110 `).join('')} 111 </ul> 112 </span>` : '' 113 } 114 </div> 115 </div> 116 <div class="close m-3 my-md-4 position-absolute top-0 end-0 shadow-none"> 117 <button type="button" class="btn-close m-0 close_popup" aria-label="Close"></button> 118 </div> 119 </div> 120 <div class="d-grid mt-4 gap-3"> 121 <a class="btn btn-secondary popup_cart" href="/cart">{{ 'sections.cart.cart-page' | t }}</a> 122 <a class="btn btn-primary popup_checkout" href="/checkout">{{ 'sections.cart.checkout' | t }}</a> 123 </div> 124 </div> 125 `; 126 127 $('body').append(popup); 128 129 $('.close_popup').on('click', function() { 130 $('.cart-popup').fadeOut(100, function() { 131 $(this).remove(); 132 }); 133 }); 134 135 const scrollY = window.scrollY || window.pageYOffset;
136 const scrollvalue = scrollY + 20; 137 window.addEventListener("scroll", function () { 138 if (window.scrollY > scrollvalue) { 139 $('.cart-popup').fadeOut(100, function() { 140 $(this).remove(); 141 }); 142 } 143 }); 144} 145/* popup code end */
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.