var instafeedApp = (function instafeedLoad(){/*!
* Copyright (c) 2023 Mintt Studio
* All rights reserved.
*
* This code is proprietary and protected under international copyright laws.
* Redistribution, use, modification, or sublicensing without explicit written permission from
* Mintt Studio is prohibited.
*
* License inquiries or unauthorized use reports should be directed to:
* legal@minttstudio.com.
*/
const e="nfcube.com",t="instafeed.nfcube.com",i="cdn.nfcube.com",s="12.0.1",n="feed",o="insta-feed",a=".instafeed-lightbox",r="instafeed",d=!1,l=3;window.instafeedEvents=window.instafeedEvents||[];class p{constructor(){this.listeners=window.instafeedEvents=window.instafeedEvents||[],this.debugMode=!1}addListener(e,t,i,s={}){this.listeners.some((i=>i.element===e&&i.event===t&&"swiped"===t))?this.debugMode&&console.log(`Listener for ${t} on the specified element already exists.`):(e.addEventListener(t,i,s),this.listeners.push({element:e,event:t,handler:i}),this.debugMode&&(console.log(`Added listener for ${t}`),console.log("Listeners",this.listeners)))}removeListener(e,t,i){e.removeEventListener(t,i),this.listeners=this.listeners.filter((s=>!(s.element===e&&s.event===t&&s.handler===i))),this.debugMode&&(console.log(`Removed listener for ${t}`),console.log("Listeners",this.listeners))}clearAllListeners(){this.listeners.forEach((({element:e,event:t,handler:i})=>{e.removeEventListener(t,i)})),this.listeners=[],this.debugMode&&console.log("All listeners have been removed")}}const c=new p;var Instafeed=function(){function Instafeed(e){this.translations={en:{SHOP_NOW:"Shop now",TAG_PRODUCTS:"Tag products",TAGGED_BY:"Tagged by {username}",VIEW_ON_INSTAGRAM:"View on Instagram",REVIEWS:"{number} reviews",HANG_ON:"Please hang on while we process your feed. This may take a few minutes.",DELETE:"Delete"},"pt-PT":{SHOP_NOW:"Comprar agora",TAG_PRODUCTS:"Identificar produtos",TAGGED_BY:"Marcado por {username}",VIEW_ON_INSTAGRAM:"Ver no Instagram",REVIEWS:"{number} avaliações",HANG_ON:"Aguarde um momento, estamos a processar o seu feed, isto pode demorar alguns minutos ☕",DELETE:"Apagar"},"pt-BR":{SHOP_NOW:"Comprar agora",TAG_PRODUCTS:"Marcar produtos",TAGGED_BY:"Marcado por {username}",VIEW_ON_INSTAGRAM:"Ver no Instagram",REVIEWS:"{number} avaliações",HANG_ON:"Aguarde um momento, estamos processando seu feed, isso pode levar alguns minutos ☕",DELETE:"Delete"},es:{SHOP_NOW:"Comprar ahora",TAG_PRODUCTS:"Etiquetar productos",TAGGED_BY:"Etiquetado por {username}",VIEW_ON_INSTAGRAM:"Ver en Instagram",REVIEWS:"{number} reseñas",HANG_ON:"Espera un momento, estamos procesando tu feed, esto podría tardar unos minutos ☕",DELETE:"Eliminar"},"ja-JP":{SHOP_NOW:"今すぐ購入",TAG_PRODUCTS:"商品にタグを付ける",TAGGED_BY:"{username}によってタグ付けされました",VIEW_ON_INSTAGRAM:"Instagramで見る",REVIEWS:"{number} レビュー",HANG_ON:"少々お待ちください、フィードを処理中です。これには数分かかる場合があります ☕",DELETE:"削除"},fr:{SHOP_NOW:"Acheter",TAG_PRODUCTS:"Étiqueter les produits",TAGGED_BY:"Tagué par {username}",VIEW_ON_INSTAGRAM:"Afficher sur Instagram",REVIEWS:"{number} avis",HANG_ON:"Patientez, nous traitons votre flux, cela pourrait prendre quelques minutes ☕",DELETE:"Supprimer"},de:{SHOP_NOW:"Jetzt shoppen",TAG_PRODUCTS:"Produkte taggen",TAGGED_BY:"Getaggt von {username}",VIEW_ON_INSTAGRAM:"Auf Instagram ansehen",REVIEWS:"{number} Bewertungen",HANG_ON:"Einen Moment bitte, wir verarbeiten deinen Feed, das könnte einige Minuten dauern ☕",DELETE:"Löschen"},sv:{SHOP_NOW:"Handla nu",TAG_PRODUCTS:"Tagga produkter",TAGGED_BY:"Taggad av {username}",VIEW_ON_INSTAGRAM:"Visa på Instagram",REVIEWS:"{number} recensioner",HANG_ON:"Vänta, vi behandlar ditt flöde, detta kan ta några minuter ☕",DELETE:"Radera"},it:{SHOP_NOW:"Acquista ora",TAG_PRODUCTS:"Tagga prodotti",TAGGED_BY:"Taggato da {username}",VIEW_ON_INSTAGRAM:"Visualizza su Instagram",REVIEWS:"{number} recensioni",HANG_ON:"Aspetta, stiamo elaborando il tuo feed, potrebbe richiedere qualche minuto ☕",DELETE:"Elimina"},da:{SHOP_NOW:"Shop nu",TAG_PRODUCTS:"Tag produkter",TAGGED_BY:"Tagget af {username}",VIEW_ON_INSTAGRAM:"Se på Instagram",REVIEWS:"{number} anmeldelser",HANG_ON:"Vent venligst, vi behandler dit feed, det kan tage et par minutter ☕",DELETE:"Slet"},nb:{SHOP_NOW:"Handle nå",TAG_PRODUCTS:"Tagge produkter",TAGGED_BY:"Taggede av {username}",VIEW_ON_INSTAGRAM:"Vis på Instagram",REVIEWS:"{number} anmeldelser",HANG_ON:"Vent litt, vi behandler din feed, dette kan ta noen minutter ☕",DELETE:"Slett"},nl:{SHOP_NOW:"Nu winkelen",TAG_PRODUCTS:"Producten taggen",TAGGED_BY:"Getagd door {username}",VIEW_ON_INSTAGRAM:"Bekijk op Instagram",REVIEWS:"{number} beoordelingen",HANG_ON:"Even geduld alstublieft, we verwerken je feed, dit kan een paar minuten duren ☕",DELETE:"Verwijderen"}},this.availableLanguages=["en","es","de","fr","sv","da","it","nl","nb","ja-JP","pt-PT","pt-BR"],this.options={target:o,language:"en",locale:"en-US",showLoading:!0,forceUpdate:!1,viewsAndClicks:!1,key:"",overrides:"",picturesLoaded:0,picturesNeeded:0,admin:window.location.hostname===t},"undefined"!=typeof Shopify&&Shopify.locale&&(this.options.locale=Shopify.locale,this.availableLanguages.includes(Shopify.locale)&&(this.options.language=Shopify.locale)),Object.assign(this.options,e),this.options.admin||this._loadCss();document.querySelectorAll(a).forEach((e=>{e.parentNode.removeChild(e)}))}return Instafeed.prototype.translate=function(e){return this.translations[this.options.language]&&this.translations[this.options.language][e]?this.translations[this.options.language][e]:e},Instafeed.prototype.run=function(){var e=document.getElementById(this.options.target);if(0===e.clientWidth&&parseInt(this.options.autoLayout)>0)return this._checkClientWidth(this,e),!1;this.options.corners=4===parseInt(this.options.format)?"50%":this.options.corners+"px",instafeedSettings.analyticsViewsClicks=Boolean(this.options.viewsAndClicks),!this._validateCharge(this.options.charge)&&parseInt(this.options.rows)>parseInt(this.options.rowsLimit)&&(this.options.rows=this.options.rowsLimit),parseInt(this.options.autoLayout)>0?(this.options.picturesNeeded=this.options.rows*this._getAutoColumns(e.clientWidth),this._isMobileDevice()&&this._validateCharge(this.options.charge)&&(this.options.picturesNeeded=this.options.rowsMobile*this._getAutoColumns(e.clientWidth))):this._isMobileDevice()&&this._validateCharge(this.options.charge)?this.options.picturesNeeded=this.options.rowsMobile*this.options.columnsMobile:this.options.picturesNeeded=this.options.rows*this.options.columns,this.options.admin&&this.options.showLoading&&(e.innerHTML='
'+this.translate("HANG_ON")+"
"),!this.options.admin&&parseInt(this.options.loadingAnimation)>0&&(e.innerHTML='');const t=this;Date.now();return fetch(this._buildUrl()).then((e=>{if(!e.ok)throw new Error(`${e.status} ${e.statusText}`);return e.json()})).then((e=>{try{t.parse(e)}catch(e){console.error("Parse function error:",e.message)}})).catch((e=>{if(console.log("Fetch error:",e.message),this.options.admin){this.options.error.call(this,{meta:{code:204,username:"",error_message:"Taking a bit longer to fetch your feed, please refresh this page in a couple of minutes."}})}})).finally((()=>{Date.now()})),!0},Instafeed.prototype.parse=function(e){const i=document.getElementById(this.options.target);if(!i)return!1;if("object"!=typeof e)throw new Error("Invalid JSON response");const{meta:{code:s,error_message:n}}=e,o=parseInt(s,10);if(i.innerHTML="",200!==o)return this.options.admin&&"function"==typeof this.options.error&&this.options.error.call(this,e),!1;"function"==typeof this.options.success&&this.options.success.call(this,e);var a=e.data,d=0,l="";for(d=0,len=a.length;d1?"display:none;":"";var f="instafeed-simple-popup"===i?"instafeed-tagged-buy-button-simple-popup":"tagged-buy-button",m=this._geModalTemplate(i,s);if(this.options.picturesLoaded++,parseInt(this.options.openIg)>1){parseInt(this.options.showProducts)<2&&p.hasOwnProperty("tagged_products")&&p.tagged_products.length>0&&this._validateCharge(this.options.charge)&&p.tagged_products.forEach((e=>{let s="";parseInt(e.variant)>0&&(s="?variant="+parseInt(e.variant));let n="undefined"!=typeof Shopify&&Shopify.locale?Shopify.locale:this.options.language;var o,a;e.translations&&n in e.translations&&"title"in e.translations[n]&&""!==e.translations[n].title.trim()&&(e.title=e.translations[n].title);let d=parseInt(this.options.showPrices)>0?this._generatePriceHTML(e.price):"",l=parseInt(this.options.showReviews)>0&&e.rating_count>0?this._generateReviewsHTML(e.rating,e.rating_count):"";this.options.admin?(o="