1import{r as m,j as e,L as v}from"./react-vendor-C-_weJGF.js";import{B as b,a as p,u as N,P as w,H as S}from"./index-DiEum5Ju.js";import{I as l}from"./input-TSEJWV9X.js";import{T as _}from"./textarea-7KtP0QKs.js";import{f as g}from"./tracking-Dv_0IBV0.js";import{s as C}from"./leads-B1C5z5Hw.js";import{o as E,s as i}from"./types-4og3oiYD.js";import P from"./SectionRenderer-BSR0_JhA.js";import{E as M}from"./EditorialContent-CGoAbuuu.js";import{r as f}from"./icons-BZJMmL1V.js";import"./query-DA-B5yju.js";import"./radix-CMA3xQgM.js";import"./supabase-BppBjPB2.js";import"./motion-CfmjrLVm.js";import"./purify.es-Dqc4LzU4.js";import"./AnimatedHeadline-BMpqJCIM.js";const T=E({name:i().trim().min(1,"Name is required").max(100),email:i().trim().email("Invalid email").max(255),phone:i().max(20).optional(),company:i().max(100).optional(),message:i().trim().min(1,"Message is required").max(2e3)});function k({product:a="General/Main Site"}){const[s,r]=m.useState({name:"",email:"",phone:"",company:"",message:""}),[n,c]=m.useState({}),[d,u]=m.useState(!1),y=async t=>{t.preventDefault();const o=T.safeParse(s);if(!o.success){const x={};o.error.issues.forEach(h=>{x[h.path[0]]=h.message}),c(x);return}c({}),u(!0);const{error:j}=await C({name:o.data.name,email:o.data.email,phone:o.data.phone||null,company:o.data.company||null,product:a,message:o.data.message});u(!1),j?p.error("Failed to submit. Please try again."):(p.success("Message sent! We'll be in touch soon."),g("generate_lead",{form_name:"contact",utm_content:"contact_form",has_phone:!!o.data.phone,has_company:!!o.data.company}),g("contact_form_submit",{form_name:"contact",utm_content:"contact_form"}),r({name:"",email:"",phone:"",company:"",message:""}))};return e.jsxs("form",{onSubmit:y,className:"space-y-4 max-w-lg mx-auto",children:[e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsxs("div",{children:[e.jsx(l,{placeholder:"Your Name *",value:s.name,onChange:t=>r({...s,name:t.target.value}),className:"bg-secondary/50 border-border/50 focus:border-primary/50 focus:shadow-glow transition-all duration-300"}),n.name&&e.jsx("p",{className:"text-destructive text-xs mt-1",children:n.name})]}),e.jsxs("div",{children:[e.jsx(l,{placeholder:"Email *",type:"email",value:s.email,onChange:t=>r({...s,email:t.target.value}),className:"bg-secondary/50 border-border/50 focus:border-primary/50 focus:shadow-glow transition-all duration-300"}),n.email&&e.jsx("p",{className:"text-destructive text-xs mt-1",children:n.email})]})]}),e.jsxs("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-4",children:[e.jsx(l,{placeholder:"Phone",value:s.phone,onChange:t=>r({...s,phone:t.target.value}),className:"bg-secondary/50 border-border/50 focus:border-primary/50 focus:shadow-glow transition-all duration-300"}),e.jsx(l,{placeholder:"Company",value:s.company,onChange:t=>r({...s,company:t.target.value}),className:"bg-secondary/50 border-border/50 focus:border-primary/50 focus:shadow-glow transition-all duration-300"})]}),e.jsxs("div",{children:[e.jsx(_,{placeholder:"Your Message *",value:s.message,onChange:t=>r({...s,message:t.target.value}),className:"bg-secondary/50 border-border/50 focus:border-primary/50 focus:shadow-glow transition-all duration-300 min-h-[120px]"}),n.message&&e.jsx("p",{className:"text-destructive text-xs mt-1",children:n.message})]}),e.jsx(b,{type:"submit",variant:"hero",className:"w-full",disabled:d,children:d?"Sending...":"Submit"})]})}function O(){const{data:a}=N("contact");return e.jsxs(w,{title:(a==null?void 0:a.seo_title)||"Contact Us - Streamline Factory",description:(a==null?void 0:a.seo_description)||"Get in touch with Streamline Factory to discuss your software development needs.",slug:"contact",children:[e.jsx(S,{title:(a==null?void 0:a.hero_title)||"Get In Touch",subtitle:(a==null?void 0:a.hero_subtitle)||"We'd love to hear about your project. Reach out and we'll get back to you shortly.",buttonText:null,button2Text:null}),a!=null&&a.sections&&a.sections.length>0?e.jsx(P,{sections:a.sections}):e.jsx(M,{slug:"contact"}),e.jsx("section",{className:"section-padding",children:e.jsxs("div",{className:"container-narrow mx-auto",children:[e.jsx("div",{className:"max-w-2xl mx-auto mb-16",children:e.jsx("div",{className:"gold-card",children:e.jsxs("div",{className:"gold-card-inner p-8 md:p-12 text-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-14 h-14 roun
1ded-full bg-primary/10 mb-6",children:e.jsx(f,{className:"w-7 h-7 text-primary"})}),e.jsx("h2",{className:"font-display text-3xl font-bold mb-3",children:"Book a Meeting"}),e.jsx("p",{className:"text-muted-foreground mb-8 max-w-md mx-auto",children:"Prefer to talk? Schedule a free consultation and we'll explore how Streamline Factory can help."}),e.jsx(v,{to:"/book",children:e.jsxs(b,{variant:"hero",size:"lg",className:"gap-2",children:[e.jsx(f,{className:"w-5 h-5"}),"Book a Meeting"]})})]})})}),e.jsxs("div",{className:"max-w-2xl mx-auto",children:[e.jsx("h2",{className:"font-display text-2xl font-bold mb-6 text-center",children:"Send Us a Message"}),e.jsx(k,{})]})]})})]})}export{O as default};
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.