PageSourceSearch

https://home-cooks.co.uk/cdn/shop/t/326/assets/referral-flow.js?v=15206059213468692671786698117

js home-cooks.co.uk collected 2026-10-07 00:55:25 UTC 8,026 bytes, 2 lines download raw bytes

1import{animate,timeline as timeline2,stagger}from"{{ 'vendor.min.js' | asset_url }}";(function(window2,k){$(document).ready(async function(){var pathname=window2.location.pathname,referralAccountEmail,createAccountId;if(pathname.includes("/pages/referral-landing")){let getQueryParam=function(name){const results=new RegExp("[?&]"+name+"=([^&#]*)").exec(window2.location.href);return results==null?null:decodeURIComponent(results[1])||0},makeRequestAPI=function(endpoint,method,data=null){const url=`https://dev.escolhadigital.com/Homecooks/shopify-api.php?endpoint=${endpoint}&method=${method}`;var options={method:"GET",headers:{"Content-Type":"application/json"}};return method==="POST"&&data&&(options.method="POST",options.body=JSON.stringify(data)),fetch(url,options).then(response=>{if(!response.ok)throw new Error("Erro ao fazer requisi\xE7\xE3o para a API");return response.json()}).then(data2=>data2).catch(error=>(console.error("Erro:",error),null))},makeEnvoyApiRequest=function(endpoint,method,data=null){const url=`https://dev.escolhadigital.com/Homecooks/envoy-api.php?endpoint=${endpoint}&method=${method}`;var options={method:"GET",headers:{"Content-Type":"application/json"}};return method==="POST"&&data&&(options.method="POST",options.body=JSON.stringify(data)),fetch(url,options).then(response=>{if(!response.ok)throw new Error("Erro ao fazer requisi\xE7\xE3o para a API");return response.json()}).then(data2=>data2).catch(error=>(console.error("Erro:",error),null))};var userId=getQueryParam("user_id"),variantId=getQueryParam("variant_id");if($("#check_if_customer").on("click",async function(){var $form=$(".customer-verify");if(await createPixelEvent("Claim Free Dish"),!$form[0].checkValidity()){$form[0].reportValidity();return}var $button=$(this),$contentElement=$button.find("div"),$animationElement=$button.find(".button__loader");timeline2([[$contentElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[$animationElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),animate($animationElement.children().get(),{opacity:[1,.1]},{duration:.35,delay:stagger(.35/3),direction:"alternate",repeat:1/0});var inputEmail=$("#email_verification").val(),isCustomer=await checkIfCustomerExists(inputEmail);isCustomer!=0?($(".customer-referral-error").show(),timeline2([[$animationElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[$contentElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),$contentElement.html("\u2716"),setTimeout(function(){$contentElement.html("Claim FREE Dish"),$(".customer-referral-error").hide()},5e3)):(timeline2([[$animationElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[$contentElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),$contentElement.html("\u2714"),setTimeout(function(){$(".customer-verify").hide(),$("#referral_customer_email").val(inputEmail),$(".referral-order").show()},2e3))}),$("#referral_create_account").on("click",async function(){var $form=$(".referral-order");if(!$form[0].checkValidity()){$form[0].reportValidity();return}var $button=$(this),$contentElement=$button.find("div"),$animationElement=$button.find(".button__loader");timeline2([[$contentElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[$animationElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),animate($animationElement.children().get(),{opacity:[1,.1]},{duration:.35,delay:stagger(.35/3),direction:"alternate",repeat:1/0}),referralAccountEmail=$("#referral_customer_email").val();var referralAccountPassword=$("#referral_customer_password").val();createAccountId=await createCustomerAccount(referralAccountEmail,referralAccountPassword),createAccountId!=0&&(timeline2([[$animationElement,{transform:["translateY(0)","translateY(-10px)"],opacity:0},{duration:.15}],[$contentElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),$contentElement.html("Account Created \u2714"),setTimeout(function(){$(".referral-content").hide(),$(".referral_order_completion").show(),$("html, body").animate({scrollTop:0},"slow")},2e3))}),$("#order_referral").on("click",async function(){var $form=$("#create_referral_order_form");if(await createPixelEvent("Order Now"),!$form[0].checkValidity()){$form[0].reportValidity();return}var $button=$(this),$contentElement=$button.find("div"),$animationElement=$button.find(".button__loader");timeline2([[$contentElement,{transform:["translateY(0)","translateY(-10px)"],op
1acity:0},{duration:.15}],[$animationElement,{transform:["translateY(10px)","translateY(0)"],opacity:1},{duration:.15}]]),animate($animationElement.children().get(),{opacity:[1,.1]},{duration:.35,delay:stagger(.35/3),direction:"alternate",repeat:1/0});var orderData={firstName:$("#first_name_referral").val(),lastName:$("#last_name_referral").val(),address:$("#address_referral").val(),city:$("#city_referral").val(),postCode:$("#post_code_referral").val(),phone:$("#phone_referral").val()},orderComplete=await createOrder(referralAccountEmail,createAccountId,variantId,orderData,userId);orderComplete!=0&&setTimeout(function(){$(".referral_order_completion").hide(),$(".success_referral_order").show(),$("html, body").animate({scrollTop:0},"slow")},2e3)}),userId&&variantId){await getGifterName(userId);var productId=await getProductId(variantId);productId&&await getProductInformation(productId)}async function getGifterName(id){makeRequestAPI(`admin/api/2024-04/customers/${id}.json`,"GET").then(data=>{$("#gifter_name").text(data.customer.first_name)}).catch(error=>{console.error("Erro ao obter informa\xE7\xF5es do cliente:",error)})}async function getProductId(id){return makeRequestAPI(`admin/api/2024-01/variants/${id}.json`,"GET").then(data=>data.variant.product_id).catch(error=>{console.error("Erro ao obter informa\xE7\xF5es do cliente:",error)})}async function getProductInformation(id){makeRequestAPI(`admin/api/2024-01/products/${id}.json`,"GET").then(data=>{$(".product_name").text(data.product.title),$("#vendor_name").text(data.product.vendor),$(".referral_product_image").attr("src",data.product.image.src),$(".product_price").text(shopCurrencySymbolReferral+data.product.variants[0].price),$("#referral_template .swiper-loader").hide(),$("#referral_template .referral-content").show()}).catch(error=>{console.error("Erro ao obter informa\xE7\xF5es do cliente:",error)})}async function checkIfCustomerExists(email){try{return(await makeRequestAPI(`admin/api/2024-04/customers/search.json?query=email:${email}`,"GET")).customers.length}catch(error){return console.error("Erro ao obter informa\xE7\xF5es do cliente:",error),0}}async function createCustomerAccount(email,password){try{return(await makeRequestAPI("admin/api/2024-01/customers.json","POST",{customer:{email,verified_email:!0,password,password_confirmation:password,send_email_welcome:!1}})).customer.id}catch(error){return console.error("Error creating customer:",error),0}}async function createOrder(email,customerId,variantId2,orderData,referrerId){try{const bodyData={order:{email,fulfillment_status:null,send_receipt:!1,send_fulfillment_receipt:!1,line_items:[{variant_id:variantId2,quantity:1,price:0}],customer:{id:customerId},shipping_address:{first_name:orderData.firstName,last_name:orderData.lastName,address1:orderData.address,phone:orderData.phone,city:orderData.city,country:"United Kingdom",zip:orderData.postCode},note:referrerId}};return(await makeRequestAPI("admin/api/2024-01/orders.json","POST",bodyData)).order.length}catch(error){return console.error("Error creating order:",error),0}}async function createPixelEvent(eventName){try{return await makeEnvoyApiRequest("pixel-event","POST",{event_name:eventName})}catch(error){return console.error("Error in Pixel Event",error),0}}}})})(window);
2//# sourceMappingURL=/cdn/shop/t/326/assets/referral-flow.js.map?v=15206059213468692671786698117

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.