{"version":3,"file":"template.product.js","sources":["../../src/scripts/builders/builderPrintShopHeader.js","../../src/scripts/builders/builderPrintShopFooter.js","../../src/scripts/templates/product.js"],"sourcesContent":["export default (cart) => {\n const partnerID = localStorage.partner;\n const cartCount = cart.item_count;\n const partnerLogosArray = window.parnterLogos;\n const body = document.body;\n const MainContent = document.getElementById('MainContent');\n\n body.classList.add('print-shop');\n\n const partnerLogos = Array.from(partnerLogosArray);\n\n let partnerLogo = '';\n\n partnerLogos.forEach((logo) => {\n if (logo.includes('' + partnerID + '')) {\n partnerLogo = logo;\n }\n });\n\n MainContent.style.removeProperty('margin-top');\n\n return `\n
\n\n
\n\n
\n\n \n\n \n
\n\n \n \n Print shop\n \n\n
\n\n \n\n
\n\n
\n\n \n
\n `;\n};\n","export default () => {\n const d = new Date();\n let year = d.getFullYear();\n\n return `\n \n `;\n};\n","/**\n * React product page\n * =============================================================================\n *\n *\n * Imports\n * ------------------------------------------------------------------------------\n */\n\n//import { addToCart, changeCart, updateCartContainer } from './../cartFunctions'\n//import { formatMoney } from '@shopify/theme-currency';\nimport builderPrintShopHeader from '../builders/builderPrintShopHeader';\nimport builderPrintShopFooter from '../builders/builderPrintShopFooter';\n\n/**\n * Get Print Shop Partner Header\n * ------------------------------------------------------------------------------\n */\n\n//const partnerID = window.partner\nconst queryString = window.location.search;\nconst urlParams = new URLSearchParams(queryString);\nvar partnerUTM = urlParams.get('partner');\n\nconst partner = localStorage.getItem('partner');\nconst frameologyHeader = document.getElementById('shopify-section-header');\nconst MainContent = document.getElementById('MainContent');\nconst FooterSection = document.getElementById('shopify-section-footer');\nconst FOMFooter = FooterSection.querySelector('.main-footer');\nconst body = document.body;\n\nframeologyHeader.style.display = 'none';\n\nif (partner && partner == partnerUTM) {\n let lastUrl = location.href;\n new MutationObserver(() => {\n const url = location.href;\n\n if (url.includes('partner')) {\n } else {\n if (url !== lastUrl) {\n lastUrl = url;\n onUrlChange(lastUrl);\n }\n }\n }).observe(document, { subtree: true, childList: true });\n\n function onUrlChange(lastUrl) {\n const newURL = lastUrl;\n const newURLUTM = '&partner=' + partner + '';\n const partnerURL = newURL + newURLUTM;\n console.log(partnerURL);\n window.history.replaceState('', '', partnerURL);\n }\n\n frameologyHeader.remove();\n\n window.buildPrintShopHeader = buildPrintShopHeader;\n\n async function buildPrintShopHeader() {\n let header = null;\n\n await fetch(`/cart.js`, {\n headers: {\n 'Content-Type': 'application/json',\n 'X-Requested-With': 'xmlhttprequest' /* XMLHttpRequest is ok too, it's case insensitive */,\n },\n method: 'GET',\n })\n .then((response) => {\n return response.json();\n })\n .then((data) => {\n header = builderPrintShopHeader(data);\n });\n\n return header;\n }\n\n buildPrintShopHeader().then((html) => {\n MainContent.insertAdjacentHTML('beforebegin', html);\n reattachEvents(body);\n builderNavLinks();\n updateCartShopBTN();\n });\n\n const builderNavLinks = () => {\n const desktopLinkContainer = document.getElementById('desktop-about-link');\n const mobileLinkContainer = document.getElementById('mobile-about-link');\n const partnerCollectionID = partner.replace(/\\-/g, '');\n const partnerCollectionsArray = window[partnerCollectionID + 'Collections'];\n const partnerCollections = Array.from(partnerCollectionsArray);\n\n let collectionHandle = '';\n let collectionTitle = '';\n let collectionLink = '';\n\n partnerCollections.forEach((collection) => {\n var collections = collection.split(':');\n var collectionHandle = collections[0];\n var collectionTitle = collections[1];\n\n var collectionLinkDesktop = `\n \n `;\n var collectionLinkMobile = `\n
  • \n ${\n collectionTitle == 'Your photos'\n ? 'Frame your photos'\n : collectionTitle == 'Mets art'\n ? 'Shop Mets wall art'\n : collectionTitle\n }\n
  • \n `;\n desktopLinkContainer.insertAdjacentHTML('beforebegin', collectionLinkDesktop);\n mobileLinkContainer.insertAdjacentHTML('beforebegin', collectionLinkMobile);\n });\n };\n\n const updateCartShopBTN = () => {\n const printShopURL = document.querySelector('.main-header__logo');\n const contShopBTN = document.querySelector('.cart-ovrl__continue-shopping');\n\n contShopBTN.setAttribute('href', printShopURL);\n };\n\n /**\n * ReEnable Header Events\n * ------------------------------------------------------------------------------\n */\n const reattachEvents = () => {\n const cartToggler = document.getElementById('fn-cart-toggler');\n const burger = document.getElementById('fn-burger');\n\n cartToggler &&\n cartToggler.addEventListener('click', (e) => {\n const getCartCount = Number(window.getCartCount);\n\n if (getCartCount >= 1) {\n body.classList.toggle('cart-opened');\n\n const discountBar = document.querySelector('.cart-ovrl__discount-bar');\n\n if (discountBar) {\n setTimeout(function () {\n discountBar.classList.toggle('cart-opened');\n }, 500);\n }\n }\n });\n\n const closeCartBtns = Array.from(document.querySelectorAll('.fn-cart-close'));\n\n if (closeCartBtns && closeCartBtns.length > 0) {\n closeCartBtns.forEach((btn) => {\n btn.addEventListener('click', (e) => {\n e.preventDefault();\n document.body.classList.remove('cart-opened');\n const discountBar = document.querySelector('.cart-ovrl__discount-bar');\n\n if (discountBar) {\n discountBar.classList.remove('cart-opened');\n }\n });\n });\n }\n\n burger &&\n burger.addEventListener('click', () => {\n document.body.classList.toggle('show-menu');\n });\n };\n\n const footer = builderPrintShopFooter();\n FOMFooter.remove();\n FooterSection.insertAdjacentHTML('beforeend', footer);\n} else {\n frameologyHeader.style.display = 'block';\n body.classList.remove('print-shop');\n}\n\n/**\n * Recently viewed\n * ------------------------------------------------------------------------------\n */\n\nconst handle = document.getElementById('MainContent').getAttribute('data-handle');\n\nconst setCookie = (key, value) => {\n const expires = new Date();\n expires.setTime(expires.getTime() + 30 * 24 * 60 * 60 * 1000); // 30 days\n document.cookie = key + '=' + value + ';expires=' + expires.toUTCString() + '; path=/';\n};\n\nconst getCookie = (key) => {\n const keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\n return keyValue ? keyValue[2] : null;\n};\n\n// Get recently viewed from cookies (unless it is gift card prod page)\n\nlet rvHandles = getCookie('fr_rv') ? getCookie('fr_rv').split('|') : [];\n\n// Prepare new array\n\nconst elIndex = rvHandles.indexOf(handle);\nif (elIndex > -1) {\n rvHandles.splice(elIndex, 1);\n}\n\nrvHandles.splice(0, 0, handle);\n\n// maximum recently viewed items = 6\nconst maxItemsNumber = 6;\nif (rvHandles.length > maxItemsNumber) {\n rvHandles.pop();\n}\n\nsetCookie('fr_rv', rvHandles.join('|'));\n"],"names":["builderPrintShopHeader","cart","partnerID","cartCount","partnerLogosArray","body","MainContent","partnerLogos","partnerLogo","logo","builderPrintShopFooter","queryString","urlParams","partnerUTM","partner","frameologyHeader","FooterSection","FOMFooter","onUrlChange","lastUrl","newURL","newURLUTM","partnerURL","url","buildPrintShopHeader","__async","header","response","data","html","reattachEvents","builderNavLinks","updateCartShopBTN","desktopLinkContainer","mobileLinkContainer","partnerCollectionID","partnerCollectionsArray","collection","collections","collectionHandle","collectionTitle","collectionLinkDesktop","collectionLinkMobile","printShopURL","cartToggler","burger","e","discountBar","closeCartBtns","btn","footer","handle","setCookie","key","value","expires","getCookie","keyValue","rvHandles","elIndex","maxItemsNumber"],"mappings":"6MAAA,MAAeA,EAACC,GAAS,CACvB,MAAMC,EAAY,aAAa,QACzBC,EAAYF,EAAK,WACjBG,EAAoB,OAAO,aAC3BC,EAAO,SAAS,KAChBC,EAAc,SAAS,eAAe,aAAa,EAEzDD,EAAK,UAAU,IAAI,YAAY,EAE/B,MAAME,EAAe,MAAM,KAAKH,CAAiB,EAEjD,IAAII,EAAc,GAElB,OAAAD,EAAa,QAASE,GAAS,CACzBA,EAAK,SAAS,GAAKP,CAAc,IACnCM,EAAcC,EAEpB,CAAG,EAEDH,EAAY,MAAM,eAAe,YAAY,EAEtC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAcsBJ,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAMdA,CAAS;AAAA,gDACaM,CAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAMnCL,GAAa,EAAI,iBAAqC,8BAC1EA,GAAa,EAAI,2BAA6B,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA,kEAK+DA,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oIAeyDD,CAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAW7I,ECjFAQ,EAAe,IAIN;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sDAHG,IAAI,OACD,aAmH2C;AAAA;AAAA;AAAA;AAAA,ICjGpDC,EAAc,OAAO,SAAS,OAC9BC,EAAY,IAAI,gBAAgBD,CAAW,EACjD,IAAIE,EAAaD,EAAU,IAAI,SAAS,EAExC,MAAME,EAAU,aAAa,QAAQ,SAAS,EACxCC,EAAmB,SAAS,eAAe,wBAAwB,EACnET,EAAc,SAAS,eAAe,aAAa,EACnDU,EAAgB,SAAS,eAAe,wBAAwB,EAChEC,EAAYD,EAAc,cAAc,cAAc,EACtDX,EAAO,SAAS,KAEtBU,EAAiB,MAAM,QAAU,OAEjC,GAAID,GAAWA,GAAWD,EAAY,CAcpC,IAASK,EAAT,SAAqBC,EAAS,CAC5B,MAAMC,EAASD,EACTE,EAAY,YAAcP,EAC1BQ,EAAaF,EAASC,EAC5B,QAAQ,IAAIC,CAAU,EACtB,OAAO,QAAQ,aAAa,GAAI,GAAIA,CAAU,CAC/C,EANQ,IAAAJ,IAbT,IAAIC,EAAU,SAAS,KACvB,IAAI,iBAAiB,IAAM,CACzB,MAAMI,EAAM,SAAS,KAEjBA,EAAI,SAAS,SAAS,GAEpBA,IAAQJ,IACVA,EAAUI,EACVL,EAAYC,CAAO,EAG3B,CAAG,EAAE,QAAQ,SAAU,CAAE,QAAS,GAAM,UAAW,EAAI,CAAE,EAUvDJ,EAAiB,OAAM,EAEvB,OAAO,qBAAuBS,EAE9B,SAAeA,GAAuB,QAAAC,EAAA,sBACpC,IAAIC,EAAS,KAEb,aAAM,MAAM,WAAY,CACtB,QAAS,CACP,eAAgB,mBAChB,mBAAoB,gBACrB,EACD,OAAQ,KACd,CAAK,EACE,KAAMC,GACEA,EAAS,MACjB,EACA,KAAMC,GAAS,CACdF,EAAS1B,EAAuB4B,CAAI,CAC5C,CAAO,EAEIF,CACR,GAEDF,EAAsB,EAAC,KAAMK,GAAS,CACpCvB,EAAY,mBAAmB,cAAeuB,CAAI,EAClDC,EAAmB,EACnBC,IACAC,GACJ,CAAG,EAED,MAAMD,EAAkB,IAAM,CAC5B,MAAME,EAAuB,SAAS,eAAe,oBAAoB,EACnEC,EAAsB,SAAS,eAAe,mBAAmB,EACjEC,EAAsBrB,EAAQ,QAAQ,MAAO,EAAE,EAC/CsB,EAA0B,OAAOD,EAAsB,aAAa,EAC/C,MAAM,KAAKC,CAAuB,EAM1C,QAASC,GAAe,CACzC,IAAIC,EAAcD,EAAW,MAAM,GAAG,EAClCE,EAAmBD,EAAY,CAAC,EAChCE,EAAkBF,EAAY,CAAC,EAE/BG,EAAwB;AAAA;AAAA;AAAA;AAAA,mCAICF,CAAgB;AAAA,gBACnCC,CAAe;AAAA;AAAA;AAAA,QAIrBE,EAAuB;AAAA;AAAA,6GAE4EH,CAAgB,MACrHC,GAAmB,cACf,oBACAA,GAAmB,WACnB,qBACAA,CACL;AAAA;AAAA,QAGDP,EAAqB,mBAAmB,cAAeQ,CAAqB,EAC5EP,EAAoB,mBAAmB,cAAeQ,CAAoB,CAChF,CAAK,CACL,EAEQV,EAAoB,IAAM,CAC9B,MAAMW,EAAe,SAAS,cAAc,oBAAoB,EAC5C,SAAS,cAAc,+BAA+B,EAE9D,aAAa,OAAQA,CAAY,CACjD,EAMQb,EAAiB,IAAM,CAC3B,MAAMc,EAAc,SAAS,eAAe,iBAAiB,EACvDC,EAAS,SAAS,eAAe,WAAW,EAElDD,GACEA,EAAY,iBAAiB,QAAUE,GAAM,CAG3C,GAFqB,OAAO,OAAO,YAAY,GAE3B,EAAG,CACrBzC,EAAK,UAAU,OAAO,aAAa,EAEnC,MAAM0C,EAAc,SAAS,cAAc,0BAA0B,EAEjEA,GACF,WAAW,UAAY,CACrBA,EAAY,UAAU,OAAO,aAAa,CAC3C,EAAE,GAAG,CAET,CACT,CAAO,EAEH,MAAMC,EAAgB,MAAM,KAAK,SAAS,iBAAiB,gBAAgB,CAAC,EAExEA,GAAiBA,EAAc,OAAS,GAC1CA,EAAc,QAASC,GAAQ,CAC7BA,EAAI,iBAAiB,QAAUH,GAAM,CACnCA,EAAE,eAAc,EAChB,SAAS,KAAK,UAAU,OAAO,aAAa,EAC5C,MAAMC,EAAc,SAAS,cAAc,0BAA0B,EAEjEA,GACFA,EAAY,UAAU,OAAO,aAAa,CAEtD,CAAS,CACT,CAAO,EAGHF,GACEA,EAAO,iBAAiB,QAAS,IAAM,CACrC,SAAS,KAAK,UAAU,OAAO,WAAW,CAClD,CAAO,CACP,EAEQK,EAASxC,IACfO,EAAU,OAAM,EAChBD,EAAc,mBAAmB,YAAakC,CAAM,CACtD,MACEnC,EAAiB,MAAM,QAAU,QACjCV,EAAK,UAAU,OAAO,YAAY,EAQpC,MAAM8C,EAAS,SAAS,eAAe,aAAa,EAAE,aAAa,aAAa,EAE1EC,EAAY,CAACC,EAAKC,IAAU,CAChC,MAAMC,EAAU,IAAI,KACpBA,EAAQ,QAAQA,EAAQ,QAAS,EAAG,GAAK,GAAK,GAAK,GAAK,GAAI,EAC5D,SAAS,OAASF,EAAM,IAAMC,EAAQ,YAAcC,EAAQ,YAAa,EAAG,UAC9E,EAEMC,EAAaH,GAAQ,CACzB,MAAMI,EAAW,SAAS,OAAO,MAAM,UAAYJ,EAAM,eAAe,EACxE,OAAOI,EAAWA,EAAS,CAAC,EAAI,IAClC,EAIA,IAAIC,EAAYF,EAAU,OAAO,EAAIA,EAAU,OAAO,EAAE,MAAM,GAAG,EAAI,GAIrE,MAAMG,EAAUD,EAAU,QAAQP,CAAM,EACpCQ,EAAU,IACZD,EAAU,OAAOC,EAAS,CAAC,EAG7BD,EAAU,OAAO,EAAG,EAAGP,CAAM,EAG7B,MAAMS,EAAiB,EACnBF,EAAU,OAASE,GACrBF,EAAU,IAAG,EAGfN,EAAU,QAASM,EAAU,KAAK,GAAG,CAAC"}