{"version":3,"file":"UXAnalyzingPage.yuSOkNq7.mjs","names":["React.useState"],"sources":["https:/framerusercontent.com/modules/3KvkSrRzaxLKcSlrL5Ou/TbdbfecrWQUJHSsCbxOH/UXAnalyzingPage.js"],"sourcesContent":["// UXAnalyzingPage.tsx (UPDATED layout)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import*as React from\"react\";import{addPropertyControls,ControlType}from\"framer\";function tryParseJson(text){try{return JSON.parse(text);}catch{return null;}}export function UXAnalyzingPage(props){const{webhookUrl,reportPath}=props;const[status,setStatus]=React.useState(\"Starting…\");const[error,setError]=React.useState(\"\");const[thumb,setThumb]=React.useState(\"\");const[submittedUrl,setSubmittedUrl]=React.useState(\"\");// single streaming line\nconst[activeLine,setActiveLine]=React.useState(\"\");const[showLine,setShowLine]=React.useState(false);const canUseWindow=typeof window!==\"undefined\";React.useEffect(()=>{if(!canUseWindow)return;let intervalId;let hideTimerId;let slowTimerId;const cleanup=()=>{if(intervalId)window.clearInterval(intervalId);if(hideTimerId)window.clearTimeout(hideTimerId);if(slowTimerId)window.clearTimeout(slowTimerId);};try{const sp=new URLSearchParams(window.location.search);const runId=sp.get(\"run_id\")||\"\";const url=sp.get(\"url\")||\"\";setSubmittedUrl(url);if(!runId||!url){setError(\"Missing run_id or url.\");return cleanup;}if(!webhookUrl||!webhookUrl.startsWith(\"http\")){setError(\"Webhook URL is missing or invalid in component settings.\");return cleanup;}const lines=[\"Capturing screenshot…\",\"Detecting layout structure…\",\"Evaluating clarity and trust signals…\",\"Checking visual hierarchy…\",\"Finding conversion blockers…\",\"Generating quick wins…\",\"Preparing report…\"];let i=0;setStatus(\"Running audit…\");// calmer pacing\nconst SHOW_MS=1600;const showNextLine=()=>{const line=lines[i%lines.length];i+=1;setActiveLine(line);setShowLine(true);if(hideTimerId)window.clearTimeout(hideTimerId);hideTimerId=window.setTimeout(()=>{setShowLine(false);},SHOW_MS-250);};showNextLine();intervalId=window.setInterval(showNextLine,SHOW_MS);slowTimerId=window.setTimeout(()=>{setStatus(\"Still working…\");setActiveLine(\"Optimizing output quality…\");setShowLine(true);},9e3);async function run(){try{const res=await fetch(webhookUrl,{method:\"POST\",headers:{\"Content-Type\":\"application/x-www-form-urlencoded\"},body:new URLSearchParams({\"Enter URL\":url,run_id:runId}).toString()});const text=await res.text();if(!res.ok){throw new Error(`HTTP ${res.status}: ${text||\"Request failed\"}`);}const data=tryParseJson(text);if(!data){throw new Error(\"Server did not return JSON.\");}const returnedUrl=data?.input?.normalized_url||data?.normalized_url||data?.input?.url||url;const returnedThumb=data?.input?.thumbnail_url||data?.thumbnail_url||data?.thumb_url||data?.thumb||\"\";setSubmittedUrl(String(returnedUrl));if(returnedThumb)setThumb(String(returnedThumb));localStorage.setItem(`uxnext_audit_${runId}`,JSON.stringify(data));localStorage.setItem(\"uxnext_latest_run_id\",runId);localStorage.setItem(`uxnext_url_${runId}`,String(returnedUrl));localStorage.setItem(`uxnext_thumb_${runId}`,String(returnedThumb));setStatus(\"Opening report…\");cleanup();window.location.href=`${reportPath}?run_id=${encodeURIComponent(runId)}`;}catch(e){setError(e?.message||\"Failed to fetch\");cleanup();}}run();}catch(e){setError(e?.message||\"Unexpected error\");cleanup();}return cleanup;},[canUseWindow,webhookUrl,reportPath]);if(!canUseWindow)return null;return /*#__PURE__*/_jsx(\"div\",{className:\"uxnext-page\",children:/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-card\",children:/*#__PURE__*/_jsxs(\"div\",{className:\"uxnext-row2\",children:[/*#__PURE__*/_jsxs(\"div\",{className:\"uxnext-thumbWrap\",children:[thumb?/*#__PURE__*/_jsx(\"img\",{className:\"uxnext-thumbImg\",src:thumb,alt:\"Captured screenshot\"}):/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-thumbPlaceholder\"}),/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-thumbGlow\"}),/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-thumbScan\"})]}),/*#__PURE__*/_jsxs(\"div\",{className:\"uxnext-right\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-title\",children:\"Analyzing your page…\"}),/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-urlLabel\",children:\"Target URL\"}),/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-url\",title:submittedUrl,children:submittedUrl}),/*#__PURE__*/_jsxs(\"div\",{className:\"uxnext-statusBox\",children:[/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-statusTitle\",children:status}),/*#__PURE__*/_jsx(\"div\",{className:`uxnext-streamCard2 ${showLine?\"isShow\":\"isHide\"}`,children:activeLine}),error?/*#__PURE__*/_jsx(\"div\",{className:\"uxnext-error\",children:error}):null]})]})]})})});}addPropertyControls(UXAnalyzingPage,{webhookUrl:{type:ControlType.String,title:\"Webhook URL\",defaultValue:\"https://n8n.srv951328.hstgr.cloud/webhook/uxnext/microtool\"},reportPath:{type:ControlType.String,title:\"Report Path\",defaultValue:\"/report\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"UXAnalyzingPage\":{\"type\":\"reactComponent\",\"name\":\"UXAnalyzingPage\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./UXAnalyzingPage.map"],"mappings":"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"}