{"version":3,"file":"CustomCode.Co7M-OGl.mjs","names":["useStore","useState"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js","https:/framer.com/m/framer/utils.js@^0.9.0","https:/framerusercontent.com/modules/KsrnrPMwxcvbnzMzOXoP/Zfu1ti69PdmUuHWZmFgm/CustomCode.js"],"sourcesContent":["import{useState,useEffect}from\"react\";import{Data,useObserveData}from\"framer\";export function createStore(state1){// Use Data so that a Preview reload resets the state\nconst dataStore=Data({state:Object.freeze({...state1})});// Create a set function that updates the state\nconst setDataStore=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(dataStore.state);}dataStore.state=Object.freeze({...dataStore.state,...newState});};// Store the initial state, copy the object if it's an object\nlet storeState=typeof state1===\"object\"?Object.freeze({...state1}):state1;// Keep a list of all the listeners, in the form of React hook setters\nconst storeSetters=new Set();// Create a set function that updates all the listeners / setters\nconst setStoreState=newState=>{// If the state is an object, make sure we copy it\nif(typeof newState===\"function\"){newState=newState(storeState);}storeState=typeof newState===\"object\"?Object.freeze({...storeState,...newState}):newState;// Update all the listeners / setters with the new value\nstoreSetters.forEach(setter=>setter(storeState));};// Create the actual hook based on everything above\nfunction useStore(){// Create the hook we are going to use as a listener\nconst[state,setState]=useState(storeState);// If we unmount the component using this hook, we need to remove the listener\n// @ts-ignore\nuseEffect(()=>{// But right now, we need to add the listener\nstoreSetters.add(setState);return()=>storeSetters.delete(setState);},[]);// If Data context exists, use Data, otherwise use vanilla React state\nif(useObserveData()===true){useObserveData();return[dataStore.state,setDataStore];}else{// Return the state and a function to update the central store\nreturn[state,setStoreState];}}return useStore;}\nexport const __FramerMetadata__ = {\"exports\":{\"createStore\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./createStore.map","/*\n * createStore (framer/store@1.0.1)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js\"\n","export const centerContent = {\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const autoSizingText = {\n    width: \"max-content\",\n    wordBreak: \"break-word\",\n    overflowWrap: \"break-word\",\n    overflow: \"hidden\",\n    whiteSpace: \"pre-wrap\",\n    flexShrink: 0\n};\nexport const defaultContainerStyles = {\n    ...centerContent,\n    overflow: \"hidden\"\n};\nexport const containerStyles = defaultContainerStyles;\nexport const randomColor = ()=>\"#\" + Math.floor(Math.random() * 16777215).toString(16)\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"centerContent\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"autoSizingText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultContainerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomColor\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils (framer/utils@0.9.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/28rXvpPsrum7FH6cMELS/1jCAazZw1EGHjrG5Nu5D/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";import{randomColor}from\"https://framer.com/m/framer/utils.js@^0.9.0\";const useStore=createStore({background:\"#0099FF\"});const GOOGLE_SHEETS_URL=\"https://script.google.com/macros/s/AKfycbypckI9wag0L_nkBXabe40QLLubNDQMGwKXiy6TuKhj9fTGiOvio6jl6NY_5DxxaS9bVw/exec\";export function withRotate(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{rotate:90},transition:{duration:2}});});}export function withHover(Component){return /*#__PURE__*/forwardRef((props,ref)=>{return /*#__PURE__*/_jsx(Component,{ref:ref,...props,whileHover:{scale:1.05}});});}export function withRandomColor(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[store,setStore]=useStore();return /*#__PURE__*/_jsx(Component,{ref:ref,...props,animate:{background:store.background},onClick:()=>{setStore({background:randomColor()});}});});}export function withCustomLink(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleClick=e=>{e.preventDefault();e.stopPropagation();window.location.href=\"/order\";};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleClick});});}// Loading overlay\nfunction showLoader(){const overlay=document.createElement(\"div\");overlay.id=\"order-loader\";overlay.innerHTML=`\n        <div style=\"\n            position: fixed;\n            top: 0;\n            left: 0;\n            width: 100%;\n            height: 100%;\n            background: rgba(0, 0, 0, 0.7);\n            display: flex;\n            flex-direction: column;\n            align-items: center;\n            justify-content: center;\n            z-index: 99999;\n        \">\n            <div style=\"\n                width: 48px;\n                height: 48px;\n                border: 4px solid rgba(255, 255, 255, 0.3);\n                border-top: 4px solid #ffffff;\n                border-radius: 50%;\n                animation: spin 0.8s linear infinite;\n            \"></div>\n            <p style=\"\n                color: white;\n                font-size: 18px;\n                font-weight: 600;\n                margin-top: 20px;\n                font-family: system-ui, -apple-system, sans-serif;\n            \">Processing your order...</p>\n        </div>\n        <style>\n            @keyframes spin {\n                0% { transform: rotate(0deg); }\n                100% { transform: rotate(360deg); }\n            }\n        </style>\n    `;document.body.appendChild(overlay);}function hideLoader(){const overlay=document.getElementById(\"order-loader\");if(overlay)overlay.remove();}// Validation toast\nfunction showValidationError(message){const toast=document.createElement(\"div\");toast.textContent=message;toast.style.cssText=`\n        position: fixed;\n        top: 20px;\n        left: 50%;\n        transform: translateX(-50%);\n        background: #e53e3e;\n        color: white;\n        padding: 12px 24px;\n        border-radius: 8px;\n        font-size: 14px;\n        font-weight: 600;\n        z-index: 99999;\n        box-shadow: 0 4px 12px rgba(0,0,0,0.3);\n    `;document.body.appendChild(toast);setTimeout(()=>toast.remove(),3e3);}// Find cart ID\nfunction findCartId(){const win=window;if(win.__FRAMER_COMMERCE_CART__?.id){return win.__FRAMER_COMMERCE_CART__.id;}for(let i=0;i<localStorage.length;i++){const key=localStorage.key(i);const value=localStorage.getItem(key)||\"\";if(value.includes(\"gid://shopify/Cart/\")){const match=value.match(/(gid:\\/\\/shopify\\/Cart\\/[a-zA-Z0-9]+)/);if(match)return match[1];}try{const parsed=JSON.parse(value);const possibleIds=[parsed?.cartId,parsed?.id,parsed?.cart?.id,parsed?.data?.cartId,parsed?.data?.id];for(const id of possibleIds){if(id&&typeof id===\"string\"&&id.includes(\"gid://shopify/Cart/\")){return id;}}}catch(err){}}for(let i=0;i<sessionStorage.length;i++){const key=sessionStorage.key(i);const value=sessionStorage.getItem(key)||\"\";if(value.includes(\"gid://shopify/Cart/\")){const match=value.match(/(gid:\\/\\/shopify\\/Cart\\/[a-zA-Z0-9]+)/);if(match)return match[1];}try{const parsed=JSON.parse(value);const possibleIds=[parsed?.cartId,parsed?.id,parsed?.cart?.id];for(const id of possibleIds){if(id&&typeof id===\"string\"&&id.includes(\"gid://shopify/Cart/\")){return id;}}}catch(err){}}return null;}// Build WhatsApp URL\nfunction buildWhatsAppUrl(message){return`https://wa.me/263789204373?text=${encodeURIComponent(message)}`;}// Fetch cart from Shopify\nasync function fetchCart(cartId){try{const response=await fetch(\"https://scrollsandco.myshopify.com/api/2024-01/graphql.json\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\",\"X-Shopify-Storefront-Access-Token\":\"7b3ae2292a7f3eed66b2ba7c20faa6ae\"},body:JSON.stringify({query:`\n                        query getCart($cartId: ID!) {\n                            cart(id: $cartId) {\n                                lines(first: 50) {\n                                    edges {\n                                        node {\n                                            quantity\n                                            merchandise {\n                                                ... on ProductVariant {\n                                                    title\n                                                    price { amount currencyCode }\n                                                    product { title }\n                                                }\n                                            }\n                                        }\n                                    }\n                                }\n                                cost { totalAmount { amount currencyCode } }\n                            }\n                        }\n                    `,variables:{cartId}})});const data=await response.json();const cart=data?.data?.cart;if(cart?.lines?.edges?.length>0){const currency=cart.cost.totalAmount.currencyCode||\"USD\";const cartText=cart.lines.edges.map(({node})=>{const productTitle=node.merchandise.product.title;const variantTitle=node.merchandise.title!==\"Default Title\"?` (${node.merchandise.title})`:\"\";const price=node.merchandise.price.amount;return`- ${productTitle}${variantTitle} x${node.quantity} - ${currency} ${price}`;}).join(\"\\n\");const total=parseFloat(cart.cost.totalAmount.amount);return{cartText,total,currency};}}catch(error){console.error(\"Cart fetch error:\",error);}return{cartText:\"No items in cart\",total:0,currency:\"USD\"};}// Save to Google Sheets\nasync function saveToGoogleSheets(leadData){try{await fetch(GOOGLE_SHEETS_URL,{method:\"POST\",mode:\"no-cors\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(leadData)});}catch(error){console.error(\"Google Sheets error:\",error);}}// Apply to Pickup Form Button\nexport function withWhatsAppSubmit(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleSubmit=async e=>{e.preventDefault();const form=document.querySelector(\"form\");const nameInput=form?.querySelector(\"input\");const selectedRadio=form?.querySelector('input[type=\"radio\"]:checked');const customerName=nameInput?.value?.trim()||\"\";if(!customerName){showValidationError(\"Please enter your name\");nameInput?.focus();return;}if(!selectedRadio){showValidationError(\"Please select a pickup location\");return;}let pickupLocation=selectedRadio?.closest(\"label\")?.textContent?.trim()||\"Not selected\";pickupLocation=pickupLocation.replace(/[^\\w\\s]/gi,\"\").trim();// Show loader\nshowLoader();try{// Submit form for email\nif(form){const formData=new FormData(form);const action=form.getAttribute(\"action\");if(action){try{await fetch(action,{method:\"POST\",body:formData});}catch(err){}}}// Fetch cart\nconst cartId=findCartId();const{cartText,total,currency}=cartId?await fetchCart(cartId):{cartText:\"No items in cart\",total:0,currency:\"USD\"};// Save to Google Sheets\nawait saveToGoogleSheets({type:\"Pickup\",name:customerName,pickupLocation:pickupLocation,items:cartText,total:total.toFixed(2),currency:currency});const message=`\nNew Pickup Order - Scrolls & Co\n\nCustomer: ${customerName}\n\nPickup Location: ${pickupLocation}\n\nItems:\n${cartText}\n\nTotal: ${currency} ${total.toFixed(2)}\n                `.trim();hideLoader();window.location.href=buildWhatsAppUrl(message);}catch(error){hideLoader();showValidationError(\"Something went wrong. Please try again.\");}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleSubmit});});}// Apply to Delivery Form Button\nexport function withWhatsAppDelivery(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const handleSubmit=async e=>{e.preventDefault();const form=document.querySelector(\"form\");const nameInput=form?.querySelector('input[name=\"Name\"]');const phoneInput=form?.querySelector('input[name=\"Phone Number\"]');const addressInput=form?.querySelector('input[name=\"Address\"]');const propertyInput=form?.querySelector('input[name=\"Property\"]');const customerName=nameInput?.value?.trim()||\"\";const phoneNumber=phoneInput?.value?.trim()||\"\";const address=addressInput?.value?.trim()||\"\";const property=propertyInput?.value?.trim()||\"\";if(!customerName){showValidationError(\"Please enter your name\");nameInput?.focus();return;}if(!phoneNumber){showValidationError(\"Please enter your phone number\");phoneInput?.focus();return;}if(!address){showValidationError(\"Please enter your delivery address\");addressInput?.focus();return;}// Show loader\nshowLoader();try{// Submit form for email\nif(form){const formData=new FormData(form);const action=form.getAttribute(\"action\");if(action){try{await fetch(action,{method:\"POST\",body:formData});}catch(err){}}}// Fetch cart\nconst cartId=findCartId();const{cartText,total,currency}=cartId?await fetchCart(cartId):{cartText:\"No items in cart\",total:0,currency:\"USD\"};// Save to Google Sheets\nawait saveToGoogleSheets({type:\"Delivery\",name:customerName,phone:phoneNumber,address:address,property:property,items:cartText,total:total.toFixed(2),currency:currency});const propertyLine=property?`Property/Flat/Cluster: ${property}`:\"\";const message=`\nNew Delivery Order - Scrolls & Co\n\nCustomer: ${customerName}\nPhone: ${phoneNumber}\n\nDelivery Address: ${address}\n${propertyLine}\n\nItems:\n${cartText}\n\nTotal: ${currency} ${total.toFixed(2)}\n                `.trim();hideLoader();window.location.href=buildWhatsAppUrl(message);}catch(error){hideLoader();showValidationError(\"Something went wrong. Please try again.\");}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,onClick:handleSubmit});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withHover\":{\"type\":\"reactHoc\",\"name\":\"withHover\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withWhatsAppDelivery\":{\"type\":\"reactHoc\",\"name\":\"withWhatsAppDelivery\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withCustomLink\":{\"type\":\"reactHoc\",\"name\":\"withCustomLink\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRandomColor\":{\"type\":\"reactHoc\",\"name\":\"withRandomColor\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withRotate\":{\"type\":\"reactHoc\",\"name\":\"withRotate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withWhatsAppSubmit\":{\"type\":\"reactHoc\",\"name\":\"withWhatsAppSubmit\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CustomCode.map"],"mappings":"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"}