PageSourceSearch

https://guygentile.com/assets/contact-Dnw2tjCy.js

js guygentile.com collected 2026-10-05 23:01:33 UTC 4,638 bytes, 1 lines download raw bytes

1import{w as h,y as j,r as q,z as k,j as e,P as w,t as m,a3 as S,M as l,a4 as b}from"./index-DeT698OI.js";const N=h({method:"POST"}).handler(j("6791d96029119711fff64366333434540863937081e92a2093993c6c31f4287b")),v=8*1024*1024,F=".pdf,.doc,.docx,.txt,.rtf,.png,.jpg,.jpeg,.webp,.heic,.csv,.xlsx,.zip",E=S({name:l().trim().min(2,"Name required").max(120),email:l().trim().email("Valid email required").max(255),phone:l().trim().max(40).optional().or(b("")),organization:l().trim().max(160).optional().or(b("")),inquiryType:l(),message:l().trim().min(20,"Please provide details (20+ characters)").max(3e3)}),g=["Media inquiry","Legal document submission","Speaking / interview","Business inquiry","Other"];async function M(a){const t=await a.arrayBuffer(),o=new Uint8Array(t);let s="";const r=32768;for(let n=0;n<o.length;n+=r)s+=String.fromCharCode(...o.subarray(n,n+r));return btoa(s)}function z(){const[a,t]=q.useState(!1),o=k(N);async function s(r){r.preventDefault();const n=r.currentTarget,p=new FormData(n),f=p.get("file");p.delete("file");const y=Object.fromEntries(p),x=E.safeParse(y);if(!x.success){m.error(x.error.issues[0]?.message??"Invalid form");return}const i=f instanceof File&&f.size>0?f:null;if(i&&i.size>v){m.error("Attachment must be 8 MB or smaller.");return}t(!0);try{const c=i?{name:i.name,type:i.type||"",size:i.size,dataBase64:await M(i)}:null;await o({data:{...x.data,attachment:c}}),n.reset(),m.success(c?"Message and file received. Serious inquiries are reviewed personally.":"Message received. Serious inquiries are reviewed personally.")}catch(c){m.error(c instanceof Error?c.message:"Could not send your message. Please try again.")}finally{t(!1)}}return e.jsxs(e.Fragment,{children:[e.jsx(w,{eyebrow:"Contact",title:"Contact",body:"Serious inquiries only. Media, legal document submissions, speaking and interview requests, and business inquiries."}),e.jsx("section",{className:"mx-auto max-w-3xl px-4 py-16 md:px-8 md:py-20",children:e.jsxs("form",{onSubmit:s,className:"grid gap-5 border border-border bg-card/40 p-6 md:p-10",children:[e.jsxs("div",{className:"grid gap-5 md:grid-cols-2",children:[e.jsx(d,{label:"Name",name:"name",required:!0}),e.jsx(d,{label:"Email",name:"email",type:"email",required:!0}),e.jsx(d,{label:"Phone",name:"phone"}),e.jsx(d,{label:"Organization",name:"organization"})]}),e.jsxs("label",{className:"block",htmlFor:"contact-inquiry-type",children:[e.jsx(u,{children:"Inquiry Type"}),e.jsx("select",{id:"contact-inquiry-type",name:"inquiryType","aria-label":"Inquiry type",defaultValue:g[0],className:"mt-2 w-full border border-input bg-background px-3 py-2.5 text-sm focus:border-gold focus:outline-none",children:g.map(r=>e.jsx("option",{value:r,children:r},r))})]}),e.jsxs("label",{className:"block",htmlFor:"contact-message",children:[e.jsx(u,{children:"Message"}),e.jsx("textarea",{id:"contact-message",name:"message","aria-label":"Message",rows:7,required:!0,className:"mt-2 w-full resize-y border border-input bg-background px-3 py-2.5 text-sm focus:border-gold focus:outline-none"})]}),e.jsxs("label",{className:"block",htmlFor:"contact-file",children:[e.jsx(u,{children:"File Upload (optional)"}),e.jsx("input",{id:"contact-file",type:"file",name:"file",accept:F,"aria-label":"File upload (optional)",className:"mt-2 block w-full border border-input bg-background px-3 py-2 text-sm file:mr-3 file:border-0 file:bg-gold file:px-3 file:py-1.5 file:font-mono file:text-[10px] file:uppercase file:tracking-[0.18em] file:text-primary-foreground"}),e.jsx("span",{className:"mt-2 block font-mono text-[10px] uppercase tracking-[0.18em] text-muted-foreground",children:"Documents or images, 8 MB max. Stored privately."})]}),e.jsx("p",{className:"font-mono text-[10px] uppercase tracking-[0.22em] text-muted-foreground",children:"Serious inquiries only."}),e.jsx("button",{type:"submit",disabled:a,className:"mt-2 inline-flex items-center justify-center border border-gold bg-gold px-6 py-3 font-mono text-[11px] uppercase tracking-[0.22em] text-primary-foreground transition-colors hover:bg-gold-soft disabled:opacity-60",children:a?"Sending…":"Send Inquiry"})]})})]})}function u({children:a}){return e.jsx("span",{className:"font-mono text-[10px] uppercase tracking-[0.22em] text-gold",children:a})}function d({label:a,name:t,type:o="text",required:s}){const r=`contact-${t}`;return e.jsxs("label",{className:"block",htmlFor:r,children:[e.jsxs(u,{children:[a,s&&" *"]}),e.jsx("input",{id:r,"aria-label":a,name:t,type:o,required:s,className:"mt-2 w-full border border-input bg-background px-3 py-2.5 text-sm focus:border-gold focus:outline-none"})]})}
1export{z as component};

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.