1import{u as N,Z as b,r as u,j as e,L as v,B as w,P as C,C as n,a as M,M as y,K as E,S,s as g,t as k,h as L}from"./index-BZo_Ft7O.js";import{I as m}from"./input-Cio2CVaI.js";import{T as P}from"./textarea-CRmBavOh.js";import{C as i,a as d}from"./card-1wXE9HCr.js";import{L as A}from"./LazyMap-B_36mIVh.js";import{contactFormSchema as T,firstZodError as F}from"./validation-BHf965da.js";import{S as B}from"./send-BnDf5vCQ.js";const R={chip:"Contact Us",h1Pre:"Get in Touch with",h1Brand:"New View Roofing",intro:"Contact New View Roofing by calling (559) 326-8683 for immediate assistance, or fill out the form below and we'll respond within 24 hours. Our office at 325 S Lind Ave, Fresno, CA 93727 is open Mon-Sat 7AM-7PM with 24/7 emergency service available.",formTitle:"Send Us a Message",fName:"Name *",phName:"Your name",fEmail:"Email *",phEmail:"[email protected]",fPhone:"Phone",phPhone:"(559) 000-0000",fMessage:"Message *",phMessage:"Tell us about your roofing needs...",send:"Send Message",sending:"Sending...",callNow:"Call Us Now",callSub:"24/7 Emergency Line Available",address:"Address",email:"Email",hours:"Hours",license:"License",hoursText:"Mon-Sat 7AM-7PM, 24/7 Emergency",toastErr:"Something went wrong. Please call us instead.",toastOk:"Message sent! We'll get back to you within 24 hours."},q={chip:"Contáctenos",h1Pre:"ComunÃquese con",h1Brand:"New View Roofing",intro:"Contacte a New View Roofing llamando al (559) 326-8683 para asistencia inmediata, o complete el formulario y le responderemos en menos de 24 horas. Nuestra oficina en 325 S Lind Ave, Fresno, CA 93727 abre de lunes a sábado de 7 a.m. a 7 p.m., con servicio de emergencia 24/7.",formTitle:"EnvÃenos un Mensaje",fName:"Nombre *",phName:"Su nombre",fEmail:"Correo electrónico *",phEmail:"[email protected]",fPhone:"Teléfono",phPhone:"(559) 000-0000",fMessage:"Mensaje *",phMessage:"Cuéntenos sobre sus necesidades de techado...",send:"Enviar Mensaje",sending:"Enviando...",callNow:"Llámenos Ahora",callSub:"LÃnea de Emergencia 24/7 Disponible",address:"Dirección",email:"Correo Electrónico",hours:"Horario",license:"Licencia",hoursText:"Lun-Sáb 7AM-7PM, Emergencias 24/7",toastErr:"Algo salió mal. Por favor llámenos.",toastOk:"¡Mensaje enviado! Le responderemos en 24 horas."};function O(l){return l==="es"?q:R}const Z=()=>{const{toast:l}=N(),f=b(),s=O(f),[h,x]=u.useState(!1),[r,c]=u.useState({name:"",email:"",phone:"",message:""}),j=async t=>{t.preventDefault();const a=T.safeParse(r);if(!a.success){l({title:F(a.error),variant:"destructive"});return}const o=a.data;x(!0);const{error:p}=await g.from("contact_submissions").insert({name:o.name,email:o.email,phone:o.phone||null,message:o.message});p||g.functions.invoke("send-contact-email",{body:{name:o.name,email:o.email,phone:o.phone||void 0,message:o.message}}).catch(console.error),x(!1),p?l({title:s.toastErr,variant:"destructive"}):(l({title:s.toastOk}),k("Lead"),L("contact_form"),c({name:"",email:"",phone:"",message:""}))};return e.jsxs(v,{children:[e.jsx("section",{className:"relative py-20 md:py-28 bg-primary text-primary-foreground",children:e.jsx("div",{className:"container mx-auto px-4",children:e.jsxs("div",{className:"max-w-3xl",children:[e.jsx("div",{className:"px-3 py-1 rounded-full bg-accent/20 text-accent text-sm font-semibold inline-block mb-4",children:s.chip}),e.jsxs("h1",{className:"text-4xl md:text-5xl font-black mb-6",children:[s.h1Pre," ",e.jsx("span",{className:"text-accent",children:s.h1Brand})]}),e.jsx("p",{className:"text-lg text-primary-foreground/80",children:s.intro})]})})}),e.jsx("section",{className:"section-padding",children:e.jsx("div",{className:"container mx-auto",children:e.jsxs("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12",children:[e.jsx("div",{children:e.jsx(i,{children:e.jsxs(d,{className:"p-8",children:[e.jsx("h2",{className:"text-2xl font-bold mb-6",children:s.formTitle}),e.jsxs("form",{onSubmit:j,className:"space-y-4",children:[e.jsxs("div",{children:[e.jsx("label",{htmlFor:"contact-name",className:"text-sm font-medium mb-1 block",children:s.fName}),e.jsx(m,{id:"contact-name",autoComplete:"name",value:r.name,onChange:t=>c(a=>({...a,name:t.target.value})),placeholder:s.phName,maxLength:100,required:!0})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"contact-email",className:"text-sm font-medium mb-1 block",children:s.fEmail}),e.jsx(m,{id:"contact-email",type:"email",autoComplete:"email",inputMode:"email",value:r.email,onChange:t=>c(a=>({...a,email:t.target.value})),placeholder:s.phEmail,maxLength:255,required:!0})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"contact-phone",className:"text-sm font-medium mb-1 block",children:s.fPhone}),e.jsx(m,{id:"contact-phone",type:"tel",autoComplete:"tel",inputMode:"tel",value:r.phone,onChange:t=>c(a=>({...a,phone:t.target.value})),placeholder:s.phPhone,maxLength:20})]}),e.jsxs("div",{children:[e.jsx("label",{htmlFor:"contact-message",className:"text-sm font-medium mb-1 block",children:s.fMessage}),e.jsx(P,{id:"contact-message",value:r.message,onChange:t=>c(a=>({...a,message:t.target.value})),placeholder:s.phMessage,rows:5,maxLength:2e3,required:!0})]}),e.jsxs(w,{type:"submit",disabled:h,className:"w-full bg-accent hover:bg-accent/85 text-accent-foreground font-bold py-6 text-lg gap-2",children:[e.jsx(B,{className:"h-5 w-5"}
1),h?s.sending:s.send]})]})]})})}),e.jsxs("div",{className:"space-y-6",children:[e.jsx(i,{className:"bg-accent text-accent-foreground",children:e.jsxs(d,{className:"p-8 text-center",children:[e.jsx(C,{className:"h-10 w-10 mx-auto mb-3"}),e.jsx("p",{className:"font-bold text-lg mb-1",children:s.callNow}),e.jsx("a",{href:n.phoneHref,className:"text-3xl font-black hover:scale-105 transition-transform inline-block",children:n.phone}),e.jsx("p",{className:"text-accent-foreground/80 text-sm mt-2",children:s.callSub})]})}),e.jsx(i,{children:e.jsxs(d,{className:"p-8 space-y-4",children:[e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(M,{className:"h-5 w-5 text-accent mt-1 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold",children:s.address}),e.jsx("p",{className:"text-muted-foreground text-sm",children:n.address})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(y,{className:"h-5 w-5 text-accent mt-1 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold",children:s.email}),e.jsx("a",{href:`mailto:${n.email}`,className:"text-accent text-sm",children:n.email})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(E,{className:"h-5 w-5 text-accent mt-1 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold",children:s.hours}),e.jsx("p",{className:"text-muted-foreground text-sm",children:s.hoursText})]})]}),e.jsxs("div",{className:"flex items-start gap-3",children:[e.jsx(S,{className:"h-5 w-5 text-accent mt-1 shrink-0"}),e.jsxs("div",{children:[e.jsx("p",{className:"font-bold",children:s.license}),e.jsxs("a",{href:n.cslbUrl,target:"_blank",rel:"noopener noreferrer",className:"text-accent text-sm",children:["CSLB ",n.license]})]})]})]})}),e.jsx(i,{className:"overflow-hidden",children:e.jsx(A,{embedSrc:`https://www.google.com/maps?q=${encodeURIComponent(n.address)}&output=embed`,label:n.address,className:"h-[300px]"})})]})]})})})]})};export{Z as C};
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.