1(function(){var KEY="dbWishlist",WLPAGE="/pages/wunschliste";function read(){try{return JSON.parse(localStorage.getItem(KEY))||[]}catch(e){return[]}}function write(a){try{localStorage.setItem(KEY,JSON.stringify(a))}catch(e){}}function has(id){return read().some(function(x){return String(x.id)===String(id)})}function toggle(item){var a=read(),i=-1;return a.forEach(function(x,ix){String(x.id)===String(item.id)&&(i=ix)}),i>-1?(a.splice(i,1),write(a),!1):(a.unshift(item),write(a),!0)}function count(){return read().length}function esc(t2){return(t2||"").split("&").join("&").split("<").join("<").split(">").join(">")}var HEART="<svg viewBox='0 0 24 24' aria-hidden='true'><path d='M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41 0.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z'/></svg>";function injectCSS(){if(!document.getElementById("wl-css")){var s=document.createElement("style");s.id="wl-css",s.textContent=".wishlist-btn{--wl:#e0245e;background:rgba(255,255,255,.92);border:1px solid rgba(0,0,0,.08);border-radius:50%;width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0;color:#333;transition:transform .15s,color .15s} .wishlist-btn:hover{transform:scale(1.08)} .wishlist-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8} .wishlist-btn.is-active{color:var(--wl)} .wishlist-btn.is-active svg{fill:var(--wl);stroke:var(--wl)} .product-item__media-wrapper{overflow:visible} .wl-card-btn{position:absolute;top:10px;right:10px;z-index:4} .wishlist-count{display:inline-flex;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--wl,#e0245e);color:#fff;font-size:10px;font-weight:700;line-height:16px;align-items:center;justify-content:center} .wishlist-count[hidden]{display:none} .wl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:20px;margin:24px 0} .wl-item{position:relative;border:1px solid rgba(0,0,0,.08);border-radius:10px;overflow:hidden;background:#fff} .wl-item .wl-img{display:block;aspect-ratio:1;background:#f6f6f6} .wl-item .wl-img img{width:100%;height:100%;object-fit:cover;display:block} .wl-info{padding:12px 14px} .wl-t{font-size:14px;font-weight:600;margin:0 0 4px;line-height:1.3} .wl-t a{color:inherit;text-decoration:none} .wl-p{font-size:14px;color:#555} .wl-rm{position:absolute;top:8px;right:8px;background:rgba(255,255,255,.95);border:1px solid rgba(0,0,0,.1);border-radius:50%;width:30px;height:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:18px;line-height:1;color:#333} .wl-empty{text-align:center;
1color:#777;padding:48px 16px;font-size:15px} .social-icons li{zoom:1.2} .wl-disc{display:flex;gap:8px;margin:0 0 14px}.wl-disc input{flex:1;min-width:0;border:1px solid rgba(0,0,0,.18);border-radius:0;padding:11px 12px;font-size:14px;background:#fff;color:#222}.wl-disc button{border:0;border-radius:0;background:#121212;color:#fff;padding:0 18px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap}.wl-disc button:hover{opacity:.9}",document.head.appendChild(s)}}function injectCardButtons(){document.querySelectorAll(".product-item[data-id]").forEach(function(card){if(!card.querySelector(".wishlist-btn")){var media=card.querySelector(".product-item__media-wrapper")||card.querySelector(".product-item__media")||card;media&&getComputedStyle(media).position==="static"&&(media.style.position="relative");var img=card.querySelector(".product-item__image img")||card.querySelector("img"),priceEl=card.querySelector(".product-item__price"),b=document.createElement("button");b.type="button",b.className="wishlist-btn wl-card-btn",b.setAttribute("aria-label","Auf die Wunschliste"),b.setAttribute("data-wl-id",card.getAttribute("data-id")||""),b.setAttribute("data-wl-title",card.getAttribute("data-title")||""),b.setAttribute("data-wl-url",card.getAttribute("data-url")||"#"),b.setAttribute("data-wl-image",img&&(img.currentSrc||img.src)||""),b.setAttribute("data-wl-price",priceEl?priceEl.textContent.trim():""),(media||card).appendChild(b)}})}function makeWlLink(){var a=document.createElement("a");a.className="wl-header",a.href=WLPAGE,a.setAttribute("aria-label","Wunschliste"),a.innerHTML=HEART+"<span class='wishlist-count' hidden>0</span>",a.style.cssText="position:relative;display:inline-flex;align-items:center;justify-content:center;color:inherit;padding:6px;margin:0 2px";var svg=a.querySelector("svg");svg&&(svg.style.width="22px",svg.style.height="22px",svg.style.fill="none",svg.style.stroke="currentColor",svg.style.strokeWidth="1.7");var cnt=a.querySelector(".wishlist-count");return cnt&&(cnt.style.cssText="position:absolute;top:0;right:0"),a}function injectHeader(){var carts=document.querySelectorAll("a.header__cart-link"),acctSrc=document.querySelector(".header__icon-touch--account")||document.querySelector("a[data-account-link]");carts.forEach(function(cart){if(!(!cart||!cart.parentNode)){var isMobile=!!(cart.closest&&cart.closest(".header__content-mobile"));if(isMobile){if(acctSrc&&!cart.parentNode.querySelector(".wl-mobile-account")){var ac=acctSrc.cloneNode(!0);ac.classList.add("wl-mobile-account"),ac.removeAttribute("data-account-quick-view"),ac.removeAttribute("data-account-link");var lbl=ac.querySelector(".header__icon-with-label-touch-label");lbl&&lbl.remove(),cart.parentNode.insertBefore(ac,cart)}}else{var prev=cart.previousElementSibling;prev&&prev.classList&&prev.classList.contains("wl-header")||cart.parentNode.insertBefore(makeWlLink(),cart)}}}),document.querySelectorAll(".header__content-mobile [data-menu-button]").forEach(function(burger){if(!(!burger||!burger.parentNode)&&!burger.parentNode.querySelector(".wl-mobile-heart")){var a=makeWlLink();a.classList.add("wl-mobile-heart"),burger.nextSibling?burger.parentNode.insertBefore(a,burger.nextSibling):burger.parentNode.appendChild(a)}})}function markButtons(){document.querySelectorAll(".wishlist-btn").forEach(function(btn){btn.querySelector("svg")||(btn.innerHTML=HEART);var id=btn.getAttribute("data-wl-id"),active=has(id);btn.classList.toggle("is-active",active),btn.setAttribute("aria-pressed",active?"true":"false"),!btn.dataset.wlInit&&(btn.dataset.wlInit="1",btn.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var item={id:id,handle:btn.getAttribute("data-wl-handle"),title:btn.getAttribute("data-wl-title"),url:btn.getAttribute("data-wl-url"),image:btn.getAttribute("data-wl-image"),price:btn.getAttribute("data-wl-price")},added=toggle(item);btn.classList.toggle("is-active",added),btn.setAttribute("aria-pressed",added?"true":"false"),updateCount(),renderPage()}))})}function updateCount(){var c=count();document.querySelectorAll(".wishlist-count").forEach(function(el){el.textContent=c,c>0?el.removeAttribute("hidden"):el.setAttribute("hidden","")})}function renderPage(){var box=document.getElementById("wishlist-items");if(box){var a=read();if(!a.length){box.innerHTML="<div class='wl-empty'>Deine Wunschliste ist noch leer. Tippe auf das Herz bei einem Produkt, um es hier zu speichern.</div>";return}var h="<div class='wl-grid'>";a.forEach(function(x){h+="<div class='wl-item'><button class='wl-rm' aria-label='Entfernen' data-rm='"+x.id+"'>×</button><a class='wl-img' href='"+(x.url||"#")+"'>
1"+(x.image?"<img src='"+x.image+"' alt='"+esc(x.title)+"'>":"")+"</a><div class='wl-info'><p class='wl-t'><a href='"+(x.url||"#")+"'>"+esc(x.title)+"</a></p><div class='wl-p'>"+(x.price||"")+"</div></div></div>"}),h+="</div>",box.innerHTML=h,box.querySelectorAll("[data-rm]").forEach(function(b){b.addEventListener("click",function(){toggle({id:b.getAttribute("data-rm")}),markButtons(),updateCount(),renderPage()})})}}function injectDiscount(){var spots=[[".cart__footer-inner",".cart__input-buttons"],[".quick-cart__footer",".quick-cart__submit"]];spots.forEach(function(pair){document.querySelectorAll(pair[0]).forEach(function(box){var before=box.querySelector(pair[1]);if(!before)return;var ex=box.querySelector(".wl-disc");if(ex){if(ex.nextElementSibling===before)return;ex.parentNode.removeChild(ex)}var f=document.createElement("div");f.className="wl-disc",f.innerHTML="<input type='text' placeholder='Gutscheincode' aria-label='Gutscheincode' autocomplete='off'><button type='button'>Einl\xF6sen</button>";var inp=f.querySelector("input"),btn=f.querySelector("button");function go(){var c=(inp.value||"").trim();c&&(location.href="/discount/"+encodeURIComponent(c)+"?redirect=/cart")}btn.addEventListener("click",go),inp.addEventListener("keydown",function(e){e.key==="Enter"&&(e.preventDefault(),go())}),box.insertBefore(f,before)})})}function openCartDrawer(){var ts=document.querySelectorAll("[data-header-cart]"),t2=null;ts.forEach(function(x){!t2&&x.offsetParent!==null&&(t2=x)}),t2=t2||ts[0],t2&&t2.dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0}))}function hookAddToCart(){if(window.__dbCartHook)return;window.__dbCartHook=1;function isAdd(u){return typeof u=="string"&&u.indexOf("/cart/add")>-1}if(window.fetch){var of=window.fetch;window.fetch=function(){var a=arguments,u="";try{u=a[0]&&a[0].url?a[0].url:String(a[0]||"")}catch(e){}var pr=of.apply(this,a);try{isAdd(u)&&pr.then(function(r){setTimeout(openCartDrawer,140)}).catch(function(){})}catch(e){}return pr}}try{var oo=XMLHttpRequest.prototype.open,os=XMLHttpRequest.prototype.send;XMLHttpRequest.prototype.open=function(m,u){return this.__dbU=u,oo.apply(this,arguments)},XMLHttpRequest.prototype.send=function(){var self=this;return isAdd(String(self.__dbU||""))&&self.addEventListener("load",function(){self.status>=200&&self.status<300&&setTimeout(openCartDrawer,140)}),os.apply(this,arguments)}}catch(e){}}function init(){injectCSS(),injectHeader(),injectCardButtons(),markButtons(),updateCount(),renderPage(),injectDiscount(),hookAddToCart()}document.readyState==="loading"?document.addEventListener("DOMContentLoaded",init):init(),document.addEventListener("shopify:section:load",init);var t;try{var mo=new MutationObserver(function(){clearTimeout(t),t=setTimeout(function(){injectCardButtons(),markButtons(),updateCount(),injectDiscount()},150)});mo.observe(document.body,{childList:!0,subtree:!0})}catch(e){}window.DBWishlist={refresh:init,count:count}})(); 2//# sourceMappingURL=/cdn/shop/t/15/assets/wishlist.js.map?v=101852173158319901911784554773
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.