1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7922],{64561:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/recaptcha/verify",function(){return a(89967)}])},29028:function(e,t,a){"use strict";var r=a(85893);a(67294);var n=a(41664),c=a.n(n),s=a(28575),l=a(11163);t.Z=e=>{let{type:t="button",href:a,light:n,outline:i,className:o,action:u,disabled:d,children:h,...p}=e,x=(0,l.useRouter)().isPreview?{prefetch:!1,...p}:p,f=(0,s.Z)("rounded bg-primary py-3 px-6 text-primary enabled:hover:brightness-110 inline-block text-white font-bold",n&&"bg-gray-200 enabled:hover:brightness-90",i&&"border-2 border-secondary bg-transparent text-secondary enabled:hover:text-primary",o);return(0,r.jsx)(r.Fragment,{children:a?(0,r.jsx)(c(),{href:a.replace("internal:",""),passHref:!0,...x,className:f,children:h}):(0,r.jsx)("button",{type:t,className:f,onClick:u,disabled:d,children:h})})}},57559:function(e,t,a){"use strict";var r=a(67294);let n="google-recaptcha-v3",c=e=>e?new Promise((t,a)=>{if(window.grecaptcha&&window.grecaptcha.execute){window.grecaptcha.ready(()=>t(window.grecaptcha));return}let r=document.getElementById(n);if(r){r.addEventListener("load",()=>t(window.grecaptcha)),r.addEventListener("error",a);return}let c=document.createElement("script");c.id=n,c.src="https://www.google.com/recaptcha/api.js?render=".concat(e),c.async=!0,c.defer=!0,c.onload=()=>{t(window.grecaptcha)},c.onerror=e=>{a(e)},document.head.appendChild(c)}):Promise.reject(Error("Missing reCAPTCHA site key."));t.Z=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[a,n]=(0,r.useState)(!1),[s,l]=(0,r.useState)(null),i=(0,r.useMemo)(()=>"6LcWbSYsAAAAADEP-2uK_LBJ-ZiPJiaU5Sg18tNs",[]),o=!1!==t.autoLoad,u=(0,r.useCallback)(async()=>{if(!e)throw Error("reCAPTCHA action is not configured.");let t=await c(i);return n(!0),t},[e,i]),d=(0,r.useCallback)(async t=>{if(!e)return null;let a=await u();return await a.execute(i,{action:t||e})},[e,u,i]);(0,r.useEffect)(()=>{if(!o||!e||!i)return;let t=!0;return c(i).then(()=>{t&&n(!0)}).catch(e=>{t&&l(e)}),()=>{t=!1}},[e,i,o]);let h=(0,r.useCallback)(async()=>{if(!e||!i)return!1;try{return await c(i),n(!0),!0}catch(e){return l(e),!1}},[e,i]);return{executeRecaptcha:e?d:null,isRecaptchaReady:!!(e&&a&&!s),recaptchaError:e?s:null,recaptchaSiteKey:i,loadRecaptcha:e?h:null}}},28575:function(e,t,a){"use strict";var r=a(90512),n=a(57851);t.Z=function(){for(var e=arguments.length,t=Array(e),a=0;a<e;a++)t[a]=arguments[a];return(0,n.m)((0,r.W)(t))}},89967:function(e,t,a){"use strict";a.r(t);var r=a(85893),n=a(67294),c=a(57559),s=a(29028);t.default=()=>
1{let[e,t]=(0,n.useState)("manual_verify"),[a,l]=(0,n.useState)(null),[i,o]=(0,n.useState)(null),[u,d]=(0,n.useState)(null),[h,p]=(0,n.useState)(null),[x,f]=(0,n.useState)(null),{executeRecaptcha:g,isRecaptchaReady:m,recaptchaError:w}=(0,c.Z)(e);(0,n.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/tasks/recaptcha/status"),a=await t.json();e||f(!!(null==a?void 0:a.hasSecret))}catch(t){e||f(!1)}})(),()=>{e=!0}},[]);let y=async()=>{p("Checking...");try{let e=await fetch("/api/tasks/recaptcha/status"),t=await e.json();p(t.hasSecret?"Server secret detected.":"Server secret missing.")}catch(e){p("Unable to check server secret: ".concat(e.message))}},b=async()=>{if(o(null),d("Requesting token..."),l(null),!g){o("reCAPTCHA is not available."),d(null);return}try{let t=await g(e);l(t),d("Token generated. Check console for logs."),console.log("[reCAPTCHA] Manual verify token:",t)}catch(e){console.error("reCAPTCHA execution failed",e),o("Failed to execute reCAPTCHA: ".concat(e.message)),d(null)}};return!0===x?null:(0,r.jsxs)("div",{className:"max-w-3xl mx-auto px-4 py-12",children:[(0,r.jsx)("h1",{className:"text-3xl font-bold mb-2",children:"reCAPTCHA Verification Debug"}),(0,r.jsx)("p",{className:"text-gray-600",children:"Use this page to manually trigger reCAPTCHA v3, view tokens, and confirm backend secrets exist."}),(0,r.jsxs)("section",{className:"mt-8 space-y-4",children:[(0,r.jsxs)("div",{children:[(0,r.jsx)("label",{className:"block text-sm font-medium text-gray-700 mb-1",children:"Action name"}),(0,r.jsx)("input",{className:"w-full border rounded px-3 py-2",type:"text",value:e,onChange:e=>t(e.target.value),placeholder:"contact_agent_form"})]}),(0,r.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,r.jsx)(s.Z,{action:b,disabled:!m,children:"Run reCAPTCHA"}),(0,r.jsx)(s.Z,{light:!0,action:y,children:"Check server secret"})]}),(0,r.jsxs)("div",{className:"space-y-2",children:[u&&(0,r.jsx)("p",{className:"text-green-700",children:u}),a&&(0,r.jsxs)("div",{className:"bg-gray-900 text-white p-4 rounded text-sm break-all",children:[(0,r.jsx)("strong",{children:"Token:"})," ",a]}),h&&(0,r.jsx)("p",{className:"text-blue-700",children:h}),i&&(0,r.jsx)("p",{className:"text-red-600",children:i}),w&&(0,r.jsxs)("p",{className:"text-red-600",children:["reCAPTCHA failed to initialize: ",w.message]}),!m&&!w&&(0,r.jsx)("p",{className:"text-yellow-600",children:"Waiting for reCAPTCHA script to loadâ¦"})]})]})]})}}},function(e){e.O(0,[4057,2888,9774,179],function(){return e(e.s=64561)}),_N_E=e.O()}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.