{"version":3,"file":"WaitlisterComponent_1.CFPDGgCo.mjs","names":["useRef","useState","useCallback","_Fragment"],"sources":["https:/framerusercontent.com/modules/guW6aT2qqikz68f0VJwd/kOY2C33doNGIBo7EsD7M/WaitlisterComponent_1.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useRef,useState,useEffect,useCallback}from\"react\";import{addPropertyControls,ControlType}from\"framer\";export default function CombinedSignup({mailchimpURL=\"https://app.us18.list-manage.com/subscribe/post?u=d0d195a74cbfb32b5a92331d8&id=0913ec37af&f_id=0070b3e6f0\",waitlistKey=\"STPMiPC6u-nb\",workerURL=\"https://square-frost-c671.access-1fc.workers.dev\",redirectURL=\"https://livebag.app/thank-you\",buttonText=\"Join Waitlist\",placeholderText=\"Enter your email\",fontSize=14,fontWeight=500,buttonColor=\"#00ff9f\",buttonTextColor=\"#1a0b2e\",// New props with defaults\nshowButton=true,borderRadius=5,fieldWidth=\"100%\",containerMaxWidth=500}){const formRef=useRef(null);const[email,setEmail]=useState(\"\");const[loading,setLoading]=useState(false);const[success,setSuccess]=useState(false);const[error,setError]=useState(\"\");const[shake,setShake]=useState(false);const isValidEmail=email=>{const emailRegex=/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;if(!emailRegex.test(email))return false;if(email.includes(\"..\"))return false;if(email.startsWith(\".\"))return false;if(email.endsWith(\".\"))return false;if(email.includes(\" \"))return false;if(email.split(\"@\").length!==2)return false;const[localPart,domain]=email.split(\"@\");if(localPart.length===0)return false;if(domain.length<4)return false;if(!domain.includes(\".\"))return false;return true;};useEffect(()=>{const urlParams=new URLSearchParams(window.location.search);const ref=urlParams.get(\"ref\");if(ref){localStorage.setItem(\"mc_referred_by\",ref);console.log(\" Captured referral from URL:\",ref);}if(!localStorage.getItem(\"visitor_id\")){localStorage.setItem(\"visitor_id\",crypto.randomUUID());}},[]);const handleSubmit=useCallback(async e=>{try{e.preventDefault();}catch(_){}setError(\"\");const trimmedEmail=email.trim().toLowerCase();if(!trimmedEmail){setError(\"Email address is required\");setShake(true);setTimeout(()=>setShake(false),500);return;}if(!isValidEmail(trimmedEmail)){setError(\"Please enter a valid email address\");setShake(true);setTimeout(()=>setShake(false),500);return;}setLoading(true);try{localStorage.setItem(\"mc_email\",trimmedEmail);localStorage.setItem(\"mc_signed_up\",\"true\");localStorage.setItem(\"mc_signup_date\",new Date().toISOString());// Get referral from localStorage - DO NOT DELETE THIS!\nconst referredBy=localStorage.getItem(\"mc_referred_by\");// --- MAILCHIMP SUBMISSION ---\nif(formRef.current){formRef.current.submit();}console.log(\"Submitting to Waitlister via worker:\",{email:trimmedEmail,referred_by:referredBy});const response=await fetch(`${workerURL}/api/signup`,{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify({email:trimmedEmail,referred_by:referredBy||null})});const data=await response.json();console.log(\" Worker response:\",data);if(!response.ok){throw new Error(data.error||data.message||\"Failed to join waitlist.\");}// STORE POSITION\nif(data.position){localStorage.setItem(\"mc_position\",data.position.toString());localStorage.setItem(\"mc_friends\",\"0\");localStorage.setItem(\"mc_waitlist_joined\",\"true\");console.log(` Position saved: #${data.position}`);}// STORE REFERRAL LINK IMMEDIATELY\nif(data.referral_code){const shareableLink=`https://livebag.app/sign-up?ref=${data.referral_code}`;localStorage.setItem(\"mc_referral_code\",data.referral_code);localStorage.setItem(\"mc_referral_link\",shareableLink);console.log(\" REFERRAL LINK GENERATED:\",shareableLink);}if(data.thank_you_url){localStorage.setItem(\"mc_thank_you_url\",data.thank_you_url);}if(data.signup_token){localStorage.setItem(\"mc_signup_token\",data.signup_token);}setSuccess(true);setEmail(\"\");if(redirectURL){setTimeout(()=>{window.location.href=redirectURL;},800);}}catch(err){console.error(\"Signup error:\",err);setError(err.message||\"Something went wrong. Please try again.\");// CRITICAL FIX: Remove ONLY the CURRENT user's data\n// PRESERVE the referral code so we can retry!\nlocalStorage.removeItem(\"mc_email\");localStorage.removeItem(\"mc_signed_up\");localStorage.removeItem(\"mc_signup_date\");localStorage.removeItem(\"mc_position\");localStorage.removeItem(\"mc_friends\");localStorage.removeItem(\"mc_waitlist_joined\");}finally{setLoading(false);}},[email,loading,success,workerURL,redirectURL,mailchimpURL]);// Listen for external trigger from GradientButton\nuseEffect(()=>{const handleExternalTrigger=e=>{handleSubmit(e);};window.addEventListener(\"triggerSignup\",handleExternalTrigger);return()=>{window.removeEventListener(\"triggerSignup\",handleExternalTrigger);};},[handleSubmit]);// Calculate border radius based on button visibility\nconst inputBorderRadius=showButton?`${borderRadius}px 0 0 ${borderRadius}px`:`${borderRadius}px`;const buttonBorderRadius=showButton?`0 ${borderRadius}px ${borderRadius}px 0`:`${borderRadius}px`;return /*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"iframe\",{name:\"mc_hidden_iframe\",style:{display:\"none\"},title:\"mailchimp-iframe\"}),/*#__PURE__*/_jsxs(\"form\",{ref:formRef,action:mailchimpURL,method:\"POST\",target:\"mc_hidden_iframe\",onSubmit:handleSubmit,style:{display:\"flex\",alignItems:\"center\",width:\"calc(100vw - 78px)\",maxWidth:typeof containerMaxWidth===\"number\"?`${containerMaxWidth}px`:containerMaxWidth,margin:\"0 auto\",backgroundColor:\"rgb(224, 224, 224)\",borderRadius:`${borderRadius}px`,overflow:\"hidden\"},children:[/*#__PURE__*/_jsx(\"input\",{type:\"email\",name:\"EMAIL\",placeholder:placeholderText,value:email,onChange:e=>{setEmail(e.target.value);if(error)setError(\"\");},required:true,disabled:success||loading,style:{borderRadius:inputBorderRadius,appearance:\"none\",width:showButton?\"100%\":fieldWidth,minWidth:0,height:\"50px\",outline:\"none\",border:\"none\",padding:\"16px\",fontSize:\"16px\",fontFamily:'Poppins, \"Poppins Placeholder\", sans-serif',fontWeight:400,background:\"rgb(224, 224, 224)\",color:\"rgb(26, 11, 46)\",animation:shake?\"shake 0.5s\":\"none\",flex:showButton?1:\"0 0 auto\"}}),showButton&&/*#__PURE__*/_jsx(\"button\",{type:\"submit\",disabled:loading||success,style:{appearance:\"none\",width:\"auto\",padding:\"0 12px\",height:\"50px\",border:\"none\",cursor:\"pointer\",borderRadius:buttonBorderRadius,letterSpacing:\"-0.02em\",fontSize:`${fontSize}px`,fontFamily:'Poppins, \"Poppins Placeholder\", sans-serif',fontWeight:fontWeight,background:buttonColor,color:buttonTextColor,whiteSpace:\"nowrap\",animation:shake?\"shake 0.5s\":\"none\",flexShrink:0},children:success?\"✓ Success!\":loading?\"Joining...\":buttonText})]}),error&&/*#__PURE__*/_jsx(\"p\",{style:{color:\"#ef4444\",fontSize:\"13px\",marginTop:\"8px\",textAlign:\"center\"},children:error}),success&&/*#__PURE__*/_jsx(\"p\",{style:{color:\"#00ff9f\",fontSize:\"13px\",marginTop:\"8px\",textAlign:\"center\"},children:\"✓ You're on the waitlist! Redirecting to your dashboard...\"}),/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes shake {\n                    0% { transform: translateX(0); }\n                    20% { transform: translateX(-5px); }\n                    40% { transform: translateX(5px); }\n                    60% { transform: translateX(-5px); }\n                    80% { transform: translateX(5px); }\n                    100% { transform: translateX(0); }\n                }\n            `})]});}addPropertyControls(CombinedSignup,{mailchimpURL:{type:ControlType.String,title:\"Mailchimp URL\",defaultValue:\"https://app.us18.list-manage.com/subscribe/post?u=d0d195a74cbfb32b5a92331d8&id=0913ec37af&f_id=0070b3e6f0\"},waitlistKey:{type:ControlType.String,title:\"Waitlister Key\",defaultValue:\"STPMiPC6u-nb\"},workerURL:{type:ControlType.String,title:\"Worker URL\",defaultValue:\"https://square-frost-c671.access-1fc.workers.dev\"},redirectURL:{type:ControlType.String,title:\"Redirect URL\",defaultValue:\"https://livebag.app/thank-you\"},buttonText:{type:ControlType.String,title:\"Button Text\",defaultValue:\"Join Waitlist\"},placeholderText:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Enter your email\"},fontSize:{type:ControlType.Number,title:\"Font Size\",min:10,max:24,step:1,defaultValue:14},fontWeight:{type:ControlType.Number,title:\"Font Weight\",min:300,max:700,step:100,defaultValue:500},buttonColor:{type:ControlType.Color,title:\"Button Color\",defaultValue:\"#00ff9f\"},buttonTextColor:{type:ControlType.Color,title:\"Button Text Color\",defaultValue:\"#1a0b2e\"},// New controls\nshowButton:{type:ControlType.Boolean,title:\"Show Button\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",min:0,max:50,step:1,defaultValue:5,unit:\"px\"},fieldWidth:{type:ControlType.FusedNumber,title:\"Field Width\",defaultValue:\"100%\",options:[\"%\",\"px\"],min:0,max:1e3,step:1,displaySlider:true,hidden:props=>props.showButton===true},containerMaxWidth:{type:ControlType.FusedNumber,title:\"Container Max Width\",defaultValue:500,options:[\"px\",\"%\"],min:200,max:1200,step:10,displaySlider:true}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CombinedSignup\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./WaitlisterComponent_1.map"],"mappings":"uNAA4L,SAAwB,EAAe,CAAC,eAAa,4GAA4G,cAAY,eAAe,YAAU,mDAAmD,cAAY,gCAAgC,aAAW,gBAAgB,kBAAgB,mBAAmB,WAAS,GAAG,aAAW,IAAI,cAAY,UAAU,kBAAgB,UAChmB,aAAW,GAAK,eAAa,EAAE,aAAW,OAAO,oBAAkB,KAAK,CAAC,IAAM,EAAQA,EAAO,IAAI,EAAO,CAAC,EAAM,GAAUC,EAAS,EAAE,EAAO,CAAC,EAAQ,GAAYA,EAAS,EAAK,EAAO,CAAC,EAAQ,GAAYA,EAAS,EAAK,EAAO,CAAC,EAAM,GAAUA,EAAS,EAAE,EAAO,CAAC,EAAM,GAAUA,EAAS,EAAK,EAAQ,EAAa,GAAO,CAAsW,GAAxL,CAAC,yJAAW,KAAK,CAAK,GAAkB,EAAM,SAAS,IAAI,GAAkB,EAAM,WAAW,GAAG,GAAkB,EAAM,SAAS,GAAG,GAAkB,EAAM,SAAS,GAAG,GAAkB,EAAM,MAAM,GAAG,CAAC,CAAC,SAAS,EAAE,MAAO,GAAM,GAAK,CAAC,EAAU,GAAQ,EAAM,MAAM,GAAG,EAA6G,MAAtC,EAAlE,EAAU,SAAS,GAAkB,EAAO,OAAO,GAAkB,CAAC,EAAO,SAAS,GAAG,EAA2B,EAAE,MAAc,CAA6D,IAAM,EAAI,IAAlD,gBAAgB,EAAO,SAAS,MAA0B,CAAC,CAAC,IAAI,KAAK,EAAK,IAAK,aAAa,QAAQ,iBAAiB,CAAG,EAAE,QAAQ,IAAI,+BAA+B,CAAG,GAAO,aAAa,QAAQ,YAAY,GAAG,aAAa,QAAQ,aAAa,OAAO,WAAW,CAAC,CAAG,EAAE,CAAC,CAAC,EAAE,IAAM,EAAaC,EAAY,KAAM,IAAG,CAAC,GAAG,CAAC,EAAE,eAAe,CAAE,MAAS,CAAC,CAAC,EAAS,EAAE,EAAE,IAAM,EAAa,EAAM,KAAK,CAAC,CAAC,YAAY,EAAE,GAAG,CAAC,EAAa,CAAC,EAAS,2BAA2B,EAAE,EAAS,EAAI,EAAE,eAAe,EAAS,EAAK,EAAE,GAAG,EAAE,MAAO,CAAC,GAAG,CAAC,EAAa,CAAY,EAAE,CAAC,EAAS,oCAAoC,EAAE,EAAS,EAAI,EAAE,eAAe,EAAS,EAAK,EAAE,GAAG,EAAE,MAAO,CAAC,EAAW,EAAI,EAAE,GAAG,CAAC,aAAa,QAAQ,WAAW,CAAY,EAAE,aAAa,QAAQ,eAAe,MAAM,EAAE,aAAa,QAAQ,iBAAiB,IAAI,KAAK,CAAA,CAAE,YAAY,CAAC,EACttD,IAAM,EAAW,aAAa,QAAQ,gBAAgB,EACnD,EAAQ,SAAS,EAAQ,QAAQ,OAAO,EAAG,QAAQ,IAAI,uCAAuC,CAAC,MAAM,EAAa,YAAY,CAAU,CAAC,EAAE,IAAM,EAAS,MAAM,MAAM,GAAG,EAAU,aAAa,CAAC,OAAO,OAAO,QAAQ,CAAC,eAAe,kBAAkB,EAAE,KAAK,KAAK,UAAU,CAAC,MAAM,EAAa,YAAY,GAAY,IAAI,CAAC,CAAC,CAAC,EAAQ,EAAK,MAAM,EAAS,KAAK,EAAwC,GAAtC,QAAQ,IAAI,oBAAoB,CAAI,EAAK,CAAC,EAAS,GAAI,MAAU,MAAM,EAAK,OAAO,EAAK,SAAS,0BAA0B,EAEne,GADG,EAAK,WAAU,aAAa,QAAQ,cAAc,EAAK,SAAS,SAAS,CAAC,EAAE,aAAa,QAAQ,aAAa,GAAG,EAAE,aAAa,QAAQ,qBAAqB,MAAM,EAAE,QAAQ,IAAI,qBAAqB,EAAK,UAAU,GACrN,EAAK,cAAc,CAAC,IAAM,EAAc,mCAAmC,EAAK,gBAAgB,aAAa,QAAQ,mBAAmB,EAAK,aAAa,EAAE,aAAa,QAAQ,mBAAmB,CAAa,EAAE,QAAQ,IAAI,4BAA4B,CAAa,CAAE,CAAI,EAAK,eAAe,aAAa,QAAQ,mBAAmB,EAAK,aAAa,EAAM,EAAK,cAAc,aAAa,QAAQ,kBAAkB,EAAK,YAAY,EAAG,EAAW,EAAI,EAAE,EAAS,EAAE,EAAK,GAAa,eAAe,CAAC,EAAO,SAAS,KAAK,CAAY,EAAE,GAAG,CAAG,OAAO,EAAI,CAAC,QAAQ,MAAM,gBAAgB,CAAG,EAAE,EAAS,EAAI,SAAS,yCAAyC,EAExoB,aAAa,WAAW,UAAU,EAAE,aAAa,WAAW,cAAc,EAAE,aAAa,WAAW,gBAAgB,EAAE,aAAa,WAAW,aAAa,EAAE,aAAa,WAAW,YAAY,EAAE,aAAa,WAAW,oBAAoB,CAAE,QAAQ,CAAC,EAAW,EAAK,CAAE,CAAC,EAAE,CAAC,EAAM,EAAQ,EAAQ,EAAU,EAAY,CAAY,CAAC,EACzU,MAAc,CAAC,IAAM,EAAsB,GAAG,CAAC,EAAa,CAAC,CAAE,EAAiE,OAA/D,EAAO,iBAAiB,gBAAgB,CAAqB,MAAY,CAAC,EAAO,oBAAoB,gBAAgB,CAAqB,CAAE,CAAE,EAAE,CAAC,CAAY,CAAC,EAC/N,IAAM,EAAkB,EAAW,GAAG,EAAa,SAAS,EAAa,IAAI,GAAG,EAAa,IAAU,EAAmB,EAAW,KAAK,EAAa,KAAK,EAAa,MAAM,GAAG,EAAa,IAAI,OAAoB,EAAMC,EAAU,CAAC,SAAS,CAAc,EAAK,SAAS,CAAC,KAAK,mBAAmB,MAAM,CAAC,QAAQ,MAAM,EAAE,MAAM,kBAAkB,CAAC,EAAe,EAAM,OAAO,CAAC,IAAI,EAAQ,OAAO,EAAa,OAAO,OAAO,OAAO,mBAAmB,SAAS,EAAa,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,MAAM,qBAAqB,SAAS,OAAO,GAAoB,SAAS,GAAG,EAAkB,IAAI,EAAkB,OAAO,SAAS,gBAAgB,qBAAqB,aAAa,GAAG,EAAa,IAAI,SAAS,QAAQ,EAAE,SAAS,CAAc,EAAK,QAAQ,CAAC,KAAK,QAAQ,KAAK,QAAQ,YAAY,EAAgB,MAAM,EAAM,SAAS,GAAG,CAAC,EAAS,EAAE,OAAO,KAAK,EAAK,GAAM,EAAS,EAAE,CAAE,EAAE,SAAS,GAAK,SAAS,GAAS,EAAQ,MAAM,CAAC,aAAa,EAAkB,WAAW,OAAO,MAAM,EAAW,OAAO,EAAW,SAAS,EAAE,OAAO,OAAO,QAAQ,OAAO,OAAO,OAAO,QAAQ,OAAO,SAAS,OAAO,WAAW,6CAA6C,WAAW,IAAI,WAAW,qBAAqB,MAAM,kBAAkB,UAAU,EAAM,aAAa,OAAO,KAAK,EAAW,EAAE,UAAU,CAAC,CAAC,EAAE,GAAyB,EAAK,SAAS,CAAC,KAAK,SAAS,SAAS,GAAS,EAAQ,MAAM,CAAC,WAAW,OAAO,MAAM,OAAO,QAAQ,SAAS,OAAO,OAAO,OAAO,OAAO,OAAO,UAAU,aAAa,EAAmB,cAAc,UAAU,SAAS,GAAG,EAAS,IAAI,WAAW,6CAAwD,aAAW,WAAW,EAAY,MAAM,EAAgB,WAAW,SAAS,UAAU,EAAM,aAAa,OAAO,WAAW,CAAC,EAAE,SAAS,EAAQ,aAAa,EAAQ,aAAa,CAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAoB,EAAK,IAAI,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,MAAM,UAAU,QAAQ,EAAE,SAAS,CAAK,CAAC,EAAE,GAAsB,EAAK,IAAI,CAAC,MAAM,CAAC,MAAM,UAAU,SAAS,OAAO,UAAU,MAAM,UAAU,QAAQ,EAAE,SAAS,4DAA4D,CAAC,EAAe,EAAK,QAAQ,CAAC,SAAS;;;;;;;;;aASpmE,CAAC,CAAC,CAAC,CAAC,CAAE,qBAlB2D,IAAyD,IAAoD,EAkBvK,EAAoB,EAAe,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,2GAA2G,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,iBAAiB,aAAa,cAAc,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,kDAAkD,EAAE,YAAY,CAAC,KAAK,EAAY,OAAO,MAAM,eAAe,aAAa,+BAA+B,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,eAAe,EAAE,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,aAAa,kBAAkB,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,aAAa,EAAE,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,cAAc,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,aAAa,GAAG,EAAE,YAAY,CAAC,KAAK,EAAY,MAAM,MAAM,eAAe,aAAa,SAAS,EAAE,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,oBAAoB,aAAa,SAAS,EAChkC,WAAW,CAAC,KAAK,EAAY,QAAQ,MAAM,cAAc,aAAa,GAAK,aAAa,OAAO,cAAc,MAAM,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,aAAa,EAAE,KAAK,IAAI,EAAE,WAAW,CAAC,KAAK,EAAY,YAAY,MAAM,cAAc,aAAa,OAAO,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,cAAc,GAAK,OAAO,GAAO,EAAM,aAAa,EAAI,EAAE,kBAAkB,CAAC,KAAK,EAAY,YAAY,MAAM,sBAAsB,aAAa,IAAI,QAAQ,CAAC,KAAK,GAAG,EAAE,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG,cAAc,EAAI,CAAC,CAAC"}