{"version":3,"file":"ReferralCodeOverride.BaInJdtP.mjs","names":[],"sources":["https:/framerusercontent.com/modules/nYOvF7FqXOiv5Sh4x4SW/VNjIbTF0g08pwDLjlpND/ReferralCodeOverride.js"],"sourcesContent":["import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect}from\"react\";const APPS_SCRIPT_URL=\"https://script.google.com/macros/s/AKfycbx51zS4cMpzSkvTf2c8-2xc_nYWeLewXdkP_9LqWrC7-6gr_tofPmgWFE5ex3wjHjPRzA/exec\";const SELECTOR='input[name=\"referral_code\"]';const ERROR_ID=\"referral-error-msg\";const FORM_SECTION_ID=\"creator-application-form\";const COLORS={pending:\"#DBEAFE\",valid:\"#D1FAE5\",invalid:\"#FEE2E2\"};const validationCache=new Map;const CACHE_TTL=30*1e3;const validateCodeRemote=async code=>{const key=code.trim().toLowerCase();if(!key)return true;const cached=validationCache.get(key);if(cached&&Date.now()-cached.at<CACHE_TTL){return cached.valid;}try{const url=`${APPS_SCRIPT_URL}?code=${encodeURIComponent(key)}&_t=${Date.now()}`;const res=await fetch(url);const data=await res.json();const valid=data.valid===true;validationCache.set(key,{valid,at:Date.now()});return valid;}catch(err){console.error(\"Validation request failed:\",err);return cached?.valid??false;}};const setNativeValue=(input,value)=>{const setter=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,\"value\")?.set;setter?.call(input,value);input.dispatchEvent(new Event(\"input\",{bubbles:true}));input.dispatchEvent(new Event(\"change\",{bubbles:true}));};const scrollToFormSection=()=>{const section=document.getElementById(FORM_SECTION_ID);if(section){setTimeout(()=>{section.scrollIntoView({behavior:\"smooth\",block:\"start\"});},300);}};export function withReferralCode(Component){return props=>{useEffect(()=>{let isValid=true;let debounceTimer=null;const modifiedParents=new WeakMap;const findInput=()=>document.querySelector(SELECTOR);const setBgChain=(input,color)=>{input.style.backgroundColor=color;input.style.transition=\"background-color 0.3s\";let parent=input.parentElement;let depth=0;while(parent&&depth<5){const bg=window.getComputedStyle(parent).backgroundColor;if(bg&&bg!==\"rgba(0, 0, 0, 0)\"&&bg!==\"transparent\"){if(!modifiedParents.has(parent)){modifiedParents.set(parent,bg);}parent.style.backgroundColor=color;parent.style.transition=\"background-color 0.3s\";}parent=parent.parentElement;depth++;}};const resetBgChain=input=>{input.style.backgroundColor=\"\";let parent=input.parentElement;let depth=0;while(parent&&depth<5){const original=modifiedParents.get(parent);if(original){parent.style.backgroundColor=original;modifiedParents.delete(parent);}parent=parent.parentElement;depth++;}};const showError=(input,message)=>{hideError();const err=document.createElement(\"div\");err.id=ERROR_ID;err.textContent=message;err.style.cssText=\"color:#DC2626;font-size:13px;margin-top:6px;font-family:inherit;\";const wrapper=input.parentElement||input;wrapper.parentElement?.insertBefore(err,wrapper.nextSibling);};const hideError=()=>{document.getElementById(ERROR_ID)?.remove();};const validate=async(input,code,bypassCache=false)=>{if(!code.trim()){resetBgChain(input);hideError();isValid=true;return;}if(bypassCache){validationCache.delete(code.trim().toLowerCase());}const valid=await validateCodeRemote(code);isValid=valid;if(valid){setBgChain(input,COLORS.valid);hideError();}else{setBgChain(input,COLORS.invalid);showError(input,\"Referral code not found\");}};const handleInput=e=>{const input=e.target;if(debounceTimer)clearTimeout(debounceTimer);setBgChain(input,COLORS.pending);hideError();isValid=null;debounceTimer=setTimeout(()=>validate(input,input.value),500);};const blockSubmit=e=>{const input=findInput();if(!input)return;const code=input.value.trim();if(!code)return;// Kalau belum tau valid/invalid, atau invalid → block\nif(isValid===false){e.preventDefault();e.stopPropagation();e.stopImmediatePropagation?.();setBgChain(input,COLORS.invalid);showError(input,\"Referral code not found\");input.focus();input.scrollIntoView({behavior:\"smooth\",block:\"center\"});return;}if(isValid===null){// Validasi belum selesai → block sementara, paksa validasi\ne.preventDefault();e.stopPropagation();e.stopImmediatePropagation?.();if(debounceTimer)clearTimeout(debounceTimer);validate(input,code,true).then(()=>{if(isValid===false){setBgChain(input,COLORS.invalid);showError(input,\"Referral code not found\");input.focus();input.scrollIntoView({behavior:\"smooth\",block:\"center\"});}// Kalau ternyata valid, user perlu klik Next lagi\n});}};const attachListeners=input=>{if(!input.hasAttribute(\"data-ref-listener\")){input.setAttribute(\"data-ref-listener\",\"true\");input.addEventListener(\"input\",handleInput);}const form=input.closest(\"form\");if(form&&!form.hasAttribute(\"data-ref-blocker\")){form.setAttribute(\"data-ref-blocker\",\"true\");// Native form submit (jaga-jaga)\nform.addEventListener(\"submit\",blockSubmit,true);// Pointerdown di capture phase — fire SEBELUM Framer's click handler\nform.querySelectorAll(\"button\").forEach(btn=>{btn.addEventListener(\"pointerdown\",blockSubmit,true);btn.addEventListener(\"click\",blockSubmit,true);});}};const forceValue=(input,value)=>{setNativeValue(input,value);requestAnimationFrame(()=>{if(input.value!==value)setNativeValue(input,value);});setTimeout(()=>{if(input.value!==value)setNativeValue(input,value);},100);setTimeout(()=>{if(input.value!==value)setNativeValue(input,value);},500);};const init=()=>{if(typeof window===\"undefined\")return false;const input=findInput();if(!input)return false;attachListeners(input);const ref=new URLSearchParams(window.location.search).get(\"ref\");if(ref){forceValue(input,ref);setBgChain(input,COLORS.pending);isValid=null;validate(input,ref);scrollToFormSection();}return true;};if(!init()){let attempts=0;const interval=setInterval(()=>{if(init()||++attempts>=20)clearInterval(interval);},300);}const observer=new MutationObserver(()=>{const input=findInput();if(!input)return;if(!input.hasAttribute(\"data-ref-listener\")){init();}else{const ref=new URLSearchParams(window.location.search).get(\"ref\");if(ref&&!input.value)forceValue(input,ref);attachListeners(input);}});observer.observe(document.body,{childList:true,subtree:true});const onPopState=()=>init();window.addEventListener(\"popstate\",onPopState);return()=>{window.removeEventListener(\"popstate\",onPopState);observer.disconnect();if(debounceTimer)clearTimeout(debounceTimer);};},[]);return /*#__PURE__*/_jsx(Component,{...props});};}\nexport const __FramerMetadata__ = {\"exports\":{\"withReferralCode\":{\"type\":\"reactHoc\",\"name\":\"withReferralCode\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./ReferralCodeOverride.map"],"mappings":"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"}