{"version":3,"file":"useRedirectNextStep_designate.X9tCRabE.mjs","names":["React.useRef","React.useState","React.useState","__legacyOverrideHOC_DataObserverContext","_jsx"],"sources":["https:/framerusercontent.com/modules/wQkxajmsGoDQF2ZCRctL/gmEoYHjs8EyoqSUwuTGu/UploadToDrive.js","https:/framerusercontent.com/modules/zK9tqa54gE853apRarJl/99ABDAUCPkoXGoPhRb1u/useRedirectNextStep_designate.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";export function UploadToDrive({label,webhookUrl,fieldName,accept,multiple,email}){const inputRef=React.useRef(null);const[status,setStatus]=React.useState(\"idle\");const[msg,setMsg]=React.useState(\"\");const handleButtonClick=e=>{e.preventDefault();e.stopPropagation();inputRef.current?.click();};const onChange=async e=>{const files=e.target.files;if(!files||files.length===0)return;try{setStatus(\"uploading\");setMsg(\"\");const form=new FormData;// ✅ Get dynamic email (manual override → localStorage → fallback \"\")\nconst emailInput=document.querySelector('input[name=\"email\"]');const userEmail=emailInput?.value?.trim()||email||localStorage.getItem(\"email\")||\"\";// ✅ Build webhook URL with dynamic email as query param\nconst uploadUrl=`${webhookUrl}?email=${encodeURIComponent(userEmail)}`;if(multiple){Array.from(files).forEach(f=>form.append(`${fieldName}[]`,f,f.name));}else{form.append(fieldName,files[0],files[0].name);}// ✅ Add identifying info\nform.append(\"email\",userEmail);form.append(\"source\",\"framer\");form.append(\"ts\",String(Date.now()));const res=await fetch(uploadUrl,{method:\"POST\",body:form});if(!res.ok)throw new Error(`HTTP ${res.status}`);const json=await res.json().catch(()=>({}));setStatus(\"done\");setMsg(json.message||\"Uploaded successfully.\");// ✅ Extract returned file info\nconst driveFileUrl=json.driveFileUrl||json.webViewLink||json.url||\"\";const driveFileId=json.fileId||json.id||json.driveFileId||\"\";// ✅ Save file info to localStorage\nif(driveFileUrl)localStorage.setItem(\"letter_drive_url\",driveFileUrl);if(driveFileId)localStorage.setItem(\"letter_drive_id\",driveFileId);console.log(\"📁 Saved to localStorage:\",{driveFileUrl,driveFileId});// ✅ Mark upload completion flag\nlocalStorage.setItem(\"letter_uploaded\",\"true\");// ✅ Update hidden field if exists\nconst hiddenInput=document.querySelector('input[name=\"letter_drive_url\"]');if(hiddenInput)hiddenInput.value=driveFileUrl;// ✅ Dispatch success event (used by form)\nwindow.dispatchEvent(new CustomEvent(\"letterUploadSuccess\",{detail:{webViewLink:driveFileUrl,email:userEmail}}));}catch(err){console.error(\"❌ Upload error:\",err);setStatus(\"error\");setMsg(err?.message||\"Upload failed.\");}finally{if(inputRef.current)inputRef.current.value=\"\";}};return /*#__PURE__*/_jsxs(\"div\",{style:{display:\"inline-flex\",alignItems:\"center\",gap:8},children:[/*#__PURE__*/_jsx(\"button\",{type:\"button\",onClick:handleButtonClick,disabled:status===\"uploading\",style:{padding:\"10px 16px\",borderRadius:40,border:\"2px solid #7A5BD9\",background:status===\"uploading\"?\"\":\"#ffffff\",color:\"#7A5BD9\",cursor:status===\"uploading\"?\"default\":\"pointer\"},children:status===\"uploading\"?\"Uploading…\":label}),/*#__PURE__*/_jsx(\"input\",{ref:inputRef,type:\"file\",style:{display:\"none\"},onChange:onChange,accept:accept||undefined,multiple:multiple}),status!==\"idle\"&&/*#__PURE__*/_jsxs(\"span\",{style:{fontSize:14,opacity:1},children:[status===\"done\"?\"✓ \":status===\"error\"?\"⚠ \":\"\",msg]})]});}UploadToDrive.defaultProps={label:\"Upload Letter\",webhookUrl:\"https://noei.app.n8n.cloud/webhook/81623f7e-688f-463f-9945-e682147d5ea9\",fieldName:\"file\",accept:\"\",multiple:false,email:\"\"};addPropertyControls(UploadToDrive,{label:{type:ControlType.String,title:\"Button Label\"},webhookUrl:{type:ControlType.String,title:\"n8n Webhook URL\"},fieldName:{type:ControlType.String,title:\"Form Field\",defaultValue:\"file\"},accept:{type:ControlType.String,title:\"Accept (e.g. image/*)\"},multiple:{type:ControlType.Boolean,title:\"Allow Multiple\",defaultValue:false},email:{type:ControlType.String,title:\"Email (optional)\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"UploadToDrive\":{\"type\":\"reactComponent\",\"name\":\"UploadToDrive\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UploadToDrive.map","import{jsx as _jsx}from\"react/jsx-runtime\";import*as React from\"react\";export function useRedirectNextStep_designate(){const[loading,setLoading]=React.useState(false);const[done,setDone]=React.useState(false);return{disabled:loading,variant:loading?\"Loading\":done?\"Success\":\"Default\",onClick:async()=>{try{setLoading(true);// Collect form data\nconst form=document.querySelector(\"form\");const formData=new FormData(form);const data=Object.fromEntries(formData.entries());// ✅ Add Drive info from localStorage\ndata.letter_drive_id=localStorage.getItem(\"letter_drive_id\")||\"\";data.letter_drive_url=localStorage.getItem(\"letter_drive_url\")||\"\";console.log(\"📤 Sending data:\",data);// Send to n8n webhook\nconst res=await fetch(\"https://noei.app.n8n.cloud/webhook/f60ed607-04aa-4b9f-8afc-08f65c5716b9\",{method:\"POST\",headers:{\"Content-Type\":\"application/json\"},body:JSON.stringify(data)});if(!res.ok)throw new Error(`Webhook failed: ${res.status}`);console.log(\"✅ Webhook sent successfully\");// UX delay\nawait new Promise(r=>setTimeout(r,1200))// wait 1.2 sec\n;setDone(true);// Redirect to next step\nconst redirectUrl=localStorage.getItem(\"redirect_next_step\")?.trim()||\"https://gaiaswap.io/juristic_3_organization\";window.location.href=redirectUrl;}catch(err){console.error(\"❌ Redirect error:\",err);alert(\"Something went wrong. Please try again.\");}finally{setLoading(false);}}};}import{useContext as __legacyOverrideHOC_useContext}from\"react\";import{DataObserverContext as __legacyOverrideHOC_DataObserverContext}from\"framer\";export function withuseRedirectNextStep_designate(C){return props=>{__legacyOverrideHOC_useContext(__legacyOverrideHOC_DataObserverContext);return _jsx(C,{...props,...useRedirectNextStep_designate(props)});};}withuseRedirectNextStep_designate.displayName=\"useRedirectNextStep_designate\";\nexport const __FramerMetadata__ = {\"exports\":{\"useRedirectNextStep_designate\":{\"type\":\"override\",\"name\":\"useRedirectNextStep_designate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"withuseRedirectNextStep_designate\":{\"type\":\"reactHoc\",\"name\":\"withuseRedirectNextStep_designate\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./useRedirectNextStep_designate.map"],"mappings":"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"}