PageSourceSearch

https://wha.tools/_next/static/chunks/3lzjd4y-rkbrs.js

js wha.tools collected 2026-10-08 06:58:34 UTC 3,574 bytes, 3 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,13046,e=>{"use strict";var t=e.i(43476),a=e.i(71645),n=e.i(74629);let s={name:"Name (optional)",email:"Email (optional, only if you want a reply)",message:"Message",sending:"Sending…",submit:"Send message",sentTitle:"Message received, thank you!",sentBody:"We read everything that comes in. If you left an email address and your message needs a reply, we usually get back within a few business days.",sendAnother:"Send another message",genericError:"Something went wrong. Please try again.",networkError:"Could not reach the server. Please check your connection and try again.",noteBefore:"Your message goes straight to the team. No mailing lists, no marketing follow-ups. See the ",privacyLabel:"privacy policy",noteAfter:" for how it's handled.",privacyPath:"/privacy-policy"};e.s(["default",0,function({strings:e=s}){let[r,o]=(0,a.useState)(""),[i,l]=(0,a.useState)(""),[c,m]=(0,a.useState)(""),[d,u]=(0,a.useState)(""),[h,g]=(0,a.useState)("idle"),[f,p]=(0,a.useState)("");(0,a.useEffect)(()=>{let e=new URLSearchParams(window.location.search).get("about");e&&m(t=>t||`About: ${e}
2
3`)},[]);let y=async t=>{if(t.preventDefault(),"sending"!==h){g("sending"),p("");try{let t=await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:r,email:i,message:c,website:d})}),a=await t.json().catch(()=>({}));if(!t.ok){g("error"),p(a.message||e.genericError);return}g("sent"),(0,n.track)("contact_submitted"),o(""),l(""),m("")}catch{g("error"),p(e.networkError)}}};return"sent"===h?(0,t.jsxs)("div",{className:"contact-form-sent",role:"status",children:[(0,t.jsx)("p",{children:(0,t.jsx)("strong",{children:e.sentTitle})}),(0,t.jsx)("p",{children:e.sentBody}),(0,t.jsx)("button",{type:"button",className:"contact-form-again",onClick:()=>g("idle"),children:e.sendAnother})]}):(0,t.jsxs)("form",{className:"contact-form",onSubmit:y,children:[(0,t.jsxs)("div",{className:"contact-form-grid",children:[(0,t.jsxs)("label",{className:"contact-form-field",children:[(0,t.jsx)("span",{children:e.name}),(0,t.jsx)("input",{type:"text",name:"name",value:r,maxLength:120,autoComplete:"name",onChange:e=>o(e.target.value)})]}),(0,t.jsxs)("label",{className:"contact-form-field",children:[(0,t.jsx)("span",{children:e.email}),(0,t.jsx)("input",{type:"email",name:"email",value:i,maxLength:200,autoComplete:"email",onChange:e=>l(e.target.value)})]})]}),(0,t.jsxs)("label",{className:"contact-form-field",children:[(0,t.jsx)("span",{children:e.message}),(0,t.jsx)("textarea",{name:"message",value:c,required:!0,minLength:10,maxLength:5e3,rows:7,onChange:e=>m(e.target.value)})]}),(0,t.jsx)("div",{className:"contact-form-hp","aria-hidden":"true",children:(0,t.jsxs)("label",{children:["Website",(0,t.jsx)("input",{type:"text",name:"website",value:d,tabIndex:-1,autoComplete:"off",onChange:e=>u(e.target.value)})]})}),"error"===h?(0,t.jsx)("p",{className:"contact-form-error",role:"alert",children:f}):null,(0,t.jsx)("button",{type:"submit",className:"contact-form-submit",disabled:"sending"===h,children:"sending"===h?e.sending:e.submit}),(0,t.jsxs)("p",{className:"contact-form-note",children:[e.noteBefore,(0,t.jsx)("a",{href:e.privacyPath,children:e.privacyLabel}),e.noteAfter]})]})}],13046)},50155,e=>{"use strict";var t=e.i(71645);e.s(["default",0,function({lang:e}){return(0,t.useEffect)(()=>{let t=document.documentElement.lang;return document.documentElement.lang=e,()=>{document.documentElement.lang=t}},[e]),null}])}]);

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.