1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,532377,e=>{"use strict";var t=e.i(843476),r=e.i(271645);e.s(["AboutContactForm",0,function(){let[e,a]=(0,r.useState)(""),[o,s]=(0,r.useState)(""),[n,i]=(0,r.useState)(""),[c,l]=(0,r.useState)(!1),[d,p]=(0,r.useState)(!1),[m,f]=(0,r.useState)(null);async function u(t){t.preventDefault(),f(null),p(!0);try{let t=await fetch("/api/contact",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:e.trim(),email:o.trim(),message:n.trim(),source:"about"})});if(!t.ok){let e=await t.json().catch(()=>({}));throw Error(e.error||"Failed to send message")}l(!0)}catch(e){f(e instanceof Error?e.message:"Failed to send message")}finally{p(!1)}}return c?(0,t.jsxs)("div",{className:"ct-success",children:[(0,t.jsx)("div",{className:"ct-check",children:"â"}),(0,t.jsx)("p",{children:"Thanks â we've got your message and will reply within a few days."}),(0,t.jsx)("style",{children:` 2 .ct-success { 3 background: rgba(255,255,255,.06); 4 border: 1px solid rgba(255,255,255,.12); 5 border-radius: 12px; 6 padding: 32px; 7 max-width: 520px; 8 } 9 .ct-check { 10 font-size: 32px; 11 color: var(--peach); 12 margin-bottom: 10px; 13 } 14 .ct-success p { 15 font-family: var(--font-sans); 16 font-size: 15px; 17 color: rgba(255,255,255,.85); 18 margin: 0; 19 } 20 `})]}):(0,t.jsxs)("form",{onSubmit:u,className:"ct-form",children:[(0,t.jsxs)("div",{className:"ct-row",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{children:"Your name"}),(0,t.jsx)("input",{type:"text",required:!0,value:e,onChange:e=>a(e.target.value),placeholder:"Jane Smith"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{children:"Email"}),(0,t.jsx)("input",{type:"email",required:!0,value:o,onChange:e=>s(e.target.value),placeholder:"[email protected]"})]})]}),(0,t.jsxs)("div",{className:"ct-field",children:[(0,t.jsx)("label",{children:"Message"}),(0,t.jsx)("textarea",{required:!0,value:n,onChange:e=>i(e.target.value),placeholder:"Press, partnership, correction, or anything elseâ¦",rows:4})]}),m&&(0,t.jsx)("p",{className:"ct-error",children:m}),(0,t.jsx)("button",{type:"submit",disabled:d,children:d?"Sendingâ¦":"Send message â"}),(0,t.jsx)("style",{children:` 21 .ct-form { 22 max-width: 620px; 23 margin-top: 28px; 24 } 25 .ct-row { 26 display: grid; 27 grid-template-columns: 1fr 1fr; 28 gap: 14px; 29 margin-bottom: 14px; 30 } 31 .ct-field { margin-bottom: 14px; } 32 .ct-form label { 33 display: block; 34 font-family: var(--font-sans); 35 font-size: 10.5px; 36 letter-spacing: .18em; 37 text-transform: uppercase; 38 font-weight: 600; 39 color: rgba(255,255,255,.55); 40 margin-bottom: 6px; 41 } 42 .ct-form input, 43 .ct-form textarea { 44 width: 100%; 45 padding: 12px 14px; 46 border-radius: 8px; 47 border: 1px solid rgba(255,255,255,.18); 48 background: rgba(255,255,255,.05); 49 color: #fff; 50 font-family: var(--font-sans); 51 font-size: 14px; 52 outline: none; 53 box-sizing: border-box; 54 } 55 .ct-form textarea { resize: vertical; min-height: 96px; } 56 .ct-form input::placeholder, 57 .ct-form textarea::placeholder { color: rgba(255,255,255,.35); } 58 .ct-form input:focus, 59 .ct-form textarea:focus { 60 border-color: var(--peach); 61 background: rgba(255,255,255,.08); 62 } 63 .ct-error { 64 font-family: var(--font-sans); 65 font-size: 13px; 66 color: #ffb4a2; 67 margin: 0 0 12px; 68 } 69 .ct-form button { 70 padding: 12px 26px; 71 background: var(--peach); 72 color: var(--ink); 73 border: none; 74 border-radius: 8px; 75 font-family: var(--font-sans); 76 font-size: 12.5px; 77 font-weight: 700; 78 letter-spacing: .08em; 79 text-transform: uppercase; 80 cursor: pointer; 81 } 82 .ct-form button:disabled { opacity: .6; cursor: default; } 83 @media (max-width: 640px) { 84 .ct-row { grid-template-columns: 1fr; } 85 } 86 `})]})}])}]);
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.