{"version":3,"file":"API_APP.DsSAoCWs.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/vj7bFUjvEQFgEzNBkdoG/vf3CKm378wlVcBk7IhSU/createStore.js","https:/framer.com/m/framer/store.js@^1.0.0","https:/framerusercontent.com/modules/BWDZrLghri9Pqlu6xa5i/1Z0V25pC51CJkL57CaEu/API_APP.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","import{jsx as _jsx}from\"react/jsx-runtime\";import{forwardRef,useEffect,useRef}from\"react\";import{createStore}from\"https://framer.com/m/framer/store.js@^1.0.0\";// =========================\n// CONFIG\n// =========================\nconst EVENT_ID=\"1\";const REGISTER_API=\"https://membership-admin.adnv.ro/public/events/register\";const CONFIRM_PAYMENT_API=\"https://membership-admin.adnv.ro/public/events/confirm-payment\";// =========================\n// STORE\n// =========================\nconst useFormStore=createStore({loading:false,error:\"\"});// =========================\n// HELPERS\n// =========================\nfunction normalize(value){return String(value||\"\").toLowerCase().normalize(\"NFD\").replace(/[\\u0300-\\u036f]/g,\"\").trim();}function stopFramerEvent(event){event?.preventDefault?.();event?.stopPropagation?.();event?.nativeEvent?.preventDefault?.();event?.nativeEvent?.stopPropagation?.();event?.nativeEvent?.stopImmediatePropagation?.();}function isVisibleField(field){const type=field.getAttribute(\"type\");if(type===\"hidden\")return false;if(type===\"submit\")return false;if(type===\"button\")return false;const rect=field.getBoundingClientRect();if(rect.width===0||rect.height===0)return false;return true;}function getVisibleFields(){const fields=Array.from(document.querySelectorAll(\"input, textarea, select\"));return fields.filter(isVisibleField);}function fieldMeta(field){return normalize([field.name,field.id,field.getAttribute(\"placeholder\"),field.getAttribute(\"aria-label\"),field.getAttribute(\"data-name\"),field.getAttribute(\"data-framer-name\"),field.getAttribute(\"autocomplete\"),field.getAttribute(\"type\")].filter(Boolean).join(\" \"));}function findByKeywords(fields,keywords){const cleanKeywords=keywords.map(normalize);const found=fields.find(field=>{const meta=fieldMeta(field);return cleanKeywords.some(keyword=>meta.includes(keyword));});return String(found?.value||\"\").trim();}function looksLikeEmail(value){return/\\S+@\\S+\\.\\S+/.test(value);}function looksLikePhone(value){return/^[0-9+\\s().-]{7,}$/.test(value);}function extractValues(fields){const values=fields.map(field=>String(field.value||\"\").trim()).filter(Boolean);const email=findByKeywords(fields,[\"email\",\"e-mail\",\"mail\"])||values.find(looksLikeEmail)||\"\";const phone=findByKeywords(fields,[\"phone\",\"telefon\",\"tel\",\"mobile\",\"mobil\",\"numar telefon\",\"numar de telefon\"])||values.find(value=>looksLikePhone(value)&&!looksLikeEmail(value))||\"\";const firstName=findByKeywords(fields,[\"firstname\",\"first name\",\"first-name\",\"prenume\",\"nume mic\"])||\"\";const lastName=findByKeywords(fields,[\"lastname\",\"last name\",\"last-name\",\"surname\",\"nume\",\"familie\"])||\"\";const textValues=values.filter(value=>{if(value===email)return false;if(value===phone)return false;if(looksLikeEmail(value))return false;if(looksLikePhone(value))return false;return true;});return{firstName:firstName||textValues[0]||\"\",lastName:lastName||textValues[1]||\"\",email,phone};}function extractPaymentUrl(rawValue){const raw=String(rawValue||\"\").trim();console.log(\"RAW PAYMENT VALUE:\",raw);if(!raw)return\"\";let decoded=raw;try{decoded=decodeURIComponent(raw);}catch(e){decoded=raw;}console.log(\"DECODED PAYMENT VALUE:\",decoded);const stripeMatch=decoded.match(/https:\\/\\/buy\\.stripe\\.com\\/[^\\s\"'<>]+/i);if(stripeMatch&&stripeMatch[0]){return stripeMatch[0];}const genericMatch=decoded.match(/https?:\\/\\/[^\\s\"'<>]+/i);if(genericMatch&&genericMatch[0]){return genericMatch[0];}return\"\";}// =========================\n// REGISTER BUTTON OVERRIDE\n// Aplică asta pe buton.\n// =========================\nexport function withEventRegisterSubmitNoValidation(Component){return /*#__PURE__*/forwardRef((props,ref)=>{const[form,setForm]=useFormStore();const busyRef=useRef(false);const handleSubmit=async event=>{stopFramerEvent(event);if(busyRef.current||form.loading)return;busyRef.current=true;console.log(\"NO VALIDATION VERSION LOADED\");console.log(\"Buton \\xeenscriere apăsat\");setForm({loading:true,error:\"\"});try{const fields=getVisibleFields();console.log(\"C\\xe2mpuri vizibile găsite:\",fields.map((field,index)=>({index,tag:field.tagName,type:field.getAttribute(\"type\"),name:field.name,id:field.id,placeholder:field.getAttribute(\"placeholder\"),ariaLabel:field.getAttribute(\"aria-label\"),dataName:field.getAttribute(\"data-name\"),framerName:field.getAttribute(\"data-framer-name\"),autocomplete:field.getAttribute(\"autocomplete\"),value:field.value})));const{firstName,lastName,email,phone}=extractValues(fields);const payload={eventId:EVENT_ID,userData:{firstName,lastName,email,phone}};console.log(\"Payload obiect:\",payload);console.log(\"Payload JSON:\",JSON.stringify(payload,null,2));const response=await fetch(REGISTER_API,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(payload)});const data=await response.json().catch(()=>null);console.log(\"Răspuns API:\",data);if(!response.ok){throw new Error(data?.message||`Eroare API: ${response.status}`);}// =========================\n// DEJA ÎNSCRIS\n// =========================\nif(data?.status===\"ALREADY_REGISTERED\"){alert(data?.message||\"Participantul este deja \\xeenscris, iar biletul a fost trimis pe email.\");return;}// =========================\n// PLATĂ NECESARĂ\n// =========================\nif(data?.status===\"PAYMENT_REQUIRED\"){const rawPaymentUrl=data?.data?.paymentUrl;const transactionId=data?.data?.transactionId;const paymentUrl=extractPaymentUrl(rawPaymentUrl);console.log(\"Raw paymentUrl primit:\",rawPaymentUrl);console.log(\"Payment URL final curățat:\",paymentUrl);console.log(\"Transaction ID:\",transactionId);localStorage.setItem(\"eventId\",EVENT_ID);localStorage.setItem(\"eventEmail\",email);localStorage.setItem(\"transactionId\",transactionId||\"\");if(!paymentUrl){alert(\"API-ul nu a returnat un link Stripe valid.\");return;}if(!paymentUrl.startsWith(\"http://\")&&!paymentUrl.startsWith(\"https://\")){alert(\"Link-ul de plată nu este valid: \"+paymentUrl);return;}window.location.assign(paymentUrl);return;}// =========================\n// ÎNSCRIERE CU SUCCES FĂRĂ PLATĂ\n// =========================\nif(data?.status===\"SUCCESS\"||data?.status===\"REGISTERED\"||data?.status===\"FREE_REGISTERED\"||data?.success===true){alert(data?.message||\"\\xcenscrierea a fost realizată cu succes.\");window.location.href=\"/confirmare-inscriere\";return;}console.warn(\"Status API necunoscut:\",data);alert(data?.message||\"Răspuns primit de la API, dar statusul nu este tratat.\");}catch(error){console.error(\"Eroare submit:\",error);setForm({error:error?.message||\"A apărut o eroare.\",loading:false});alert(error?.message||\"A apărut o eroare la trimitere.\");}finally{busyRef.current=false;setForm({loading:false});}};return /*#__PURE__*/_jsx(Component,{ref:ref,...props,type:\"button\",disabled:form.loading,link:undefined,href:undefined,onClick:handleSubmit,onClickCapture:handleSubmit,onTap:handleSubmit,onPointerDownCapture:stopFramerEvent,onMouseDownCapture:stopFramerEvent,style:{...props.style,opacity:form.loading?.6:props.style?.opacity,pointerEvents:form.loading?\"none\":props.style?.pointerEvents}});});}// =========================\n// CONFIRM PAYMENT OVERRIDE\n// Aplică asta pe un element din pagina de confirmare plată.\n// =========================\nexport function withConfirmPaymentOnLoad(Component){return /*#__PURE__*/forwardRef((props,ref)=>{useEffect(()=>{const confirmPayment=async()=>{try{const currentPath=window.location.pathname;const isConfirmationPage=currentPath.includes(\"/payment-confirmation-api\");if(!isConfirmationPage){console.log(\"Nu sunt pe pagina de confirmare plată.\");return;}console.log(\"Confirm payment start\");const eventId=localStorage.getItem(\"eventId\");const email=localStorage.getItem(\"eventEmail\");const transactionId=localStorage.getItem(\"transactionId\");console.log(\"Confirm payment data:\",{eventId,email,transactionId});if(!eventId||!email||!transactionId){console.warn(\"Lipsesc datele pentru confirm-payment.\");alert(\"Nu am găsit datele tranzacției pentru confirmare.\");return;}const payload={eventId,email,transactionId};console.log(\"Confirm payment payload:\",JSON.stringify(payload,null,2));const response=await fetch(CONFIRM_PAYMENT_API,{method:\"POST\",headers:{\"Content-Type\":\"application/json\",Accept:\"application/json\"},body:JSON.stringify(payload)});const data=await response.json().catch(()=>null);console.log(\"Confirm payment response:\",data);if(!response.ok){throw new Error(data?.message||`Eroare confirm-payment: ${response.status}`);}localStorage.removeItem(\"eventId\");localStorage.removeItem(\"eventEmail\");localStorage.removeItem(\"transactionId\");window.history.replaceState({},document.title,\"/payment-confirmation-api\");alert(data?.message||\"Plata a fost confirmată. Biletul va fi trimis pe email.\");}catch(error){console.error(\"Eroare confirm-payment:\",error);alert(error?.message||\"Plata a fost făcută, dar confirmarea a eșuat.\");}};confirmPayment();},[]);return /*#__PURE__*/_jsx(Component,{ref:ref,...props});});}\nexport const __FramerMetadata__ = {\"exports\":{\"withEventRegisterSubmitNoValidation\":{\"type\":\"reactHoc\",\"name\":\"withEventRegisterSubmitNoValidation\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withConfirmPaymentOnLoad\":{\"type\":\"reactHoc\",\"name\":\"withConfirmPaymentOnLoad\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./API_APP.map"],"mappings":"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"}