1 line
8.2 KiB
JavaScript
1 line
8.2 KiB
JavaScript
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[977],{861:(e,s,t)=>{"use strict";t.d(s,{TM:()=>l,pd:()=>r,y9:()=>c});var a=t(95155);function r(e){let{label:s,error:t,helperText:r,className:l="",id:c,...n}=e,i=c||(null==s?void 0:s.toLowerCase().replace(/\s+/g,"-"));return(0,a.jsxs)("div",{className:"space-y-2",children:[s&&(0,a.jsx)("label",{htmlFor:i,className:"label",children:s}),(0,a.jsx)("input",{id:i,className:"input ".concat(t?"border-red-500":""," ").concat(l),...n}),t&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:t}),r&&!t&&(0,a.jsx)("p",{className:"text-sm text-text-muted",children:r})]})}function l(e){let{label:s,error:t,helperText:r,className:l="",id:c,...n}=e,i=c||(null==s?void 0:s.toLowerCase().replace(/\s+/g,"-"));return(0,a.jsxs)("div",{className:"space-y-2",children:[s&&(0,a.jsx)("label",{htmlFor:i,className:"label",children:s}),(0,a.jsx)("textarea",{id:i,className:"input min-h-[120px] ".concat(t?"border-red-500":""," ").concat(l),...n}),t&&(0,a.jsx)("p",{className:"text-sm text-red-400",children:t}),r&&!t&&(0,a.jsx)("p",{className:"text-sm text-text-muted",children:r})]})}function c(e){let{title:s,description:t,children:r}=e;return(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-white",children:s}),t&&(0,a.jsx)("p",{className:"text-sm text-text-muted mt-1",children:t})]}),r]})}},18983:(e,s,t)=>{"use strict";t.r(s),t.d(s,{default:()=>o});var a=t(95155),r=t(12115),l=t(32941),c=t(861),n=t(49903),i=t(66766),d=t(49509);function o(){let[e,s]=(0,r.useState)({firstName:"",lastName:"",email:"",subject:"",message:""}),[t,o]=(0,r.useState)(!1),[m,u]=(0,r.useState)(""),x=async t=>{t.preventDefault(),o(!0),u("");try{let t=await fetch("https://api.web3forms.com/submit",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({access_key:d.env.NEXT_PUBLIC_WEB3FORMS_ACCESS_KEY||"cf89ee88-fb13-4091-ac7c-96249aa34eb0",subject:"New Contact Form Submission from Biohazard VFX",from_name:"".concat(e.firstName," ").concat(e.lastName),formatted_message:"Name: ".concat(e.firstName," ").concat(e.lastName,"\nEmail: ").concat(e.email,"\nSubject: ").concat(e.subject,"\nMessage:\n").concat(e.message),firstName:e.firstName,lastName:e.lastName,email:e.email,user_subject:e.subject,message:e.message})});(await t.json()).success?(u("Thank you! Your message has been sent."),s({firstName:"",lastName:"",email:"",subject:"",message:""})):u("There was an error sending your message. Please try again.")}catch(e){u("There was an error sending your message. Please try again.")}finally{o(!1)}},h=e=>{s(s=>({...s,[e.target.name]:e.target.value}))};return(0,a.jsx)("div",{className:"min-w-screen",children:(0,a.jsx)(l.wn,{className:"pt-32 ",children:(0,a.jsx)(l.mc,{children:(0,a.jsxs)("div",{className:"min-w-2xl mx-auto",children:[(0,a.jsx)(l.zY,{title:"Connect",subtitle:"Let's bring your vision to life"}),(0,a.jsxs)("div",{className:"grid grid-cols-1 lg:grid-cols-2 gap-12",children:[(0,a.jsxs)("div",{children:[(0,a.jsxs)("form",{onSubmit:x,className:"space-y-8",children:[(0,a.jsxs)(c.y9,{title:"Contact Information",description:"Tell us who you are",children:[(0,a.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-6",children:[(0,a.jsx)(c.pd,{label:"First Name",id:"firstName",name:"firstName",value:e.firstName,onChange:h,required:!0,placeholder:"First Name"}),(0,a.jsx)(c.pd,{label:"Last Name",id:"lastName",name:"lastName",value:e.lastName,onChange:h,required:!0,placeholder:"Last Name"})]}),(0,a.jsx)(c.pd,{label:"Email",type:"email",id:"email",name:"email",value:e.email,onChange:h,required:!0,placeholder:"your@email.com"})]}),(0,a.jsxs)(c.y9,{title:"Your Message",description:"What can we help you with?",children:[(0,a.jsx)(c.pd,{label:"Subject",id:"subject",name:"subject",value:e.subject,onChange:h,required:!0,placeholder:"Project inquiry, collaboration, etc."}),(0,a.jsx)(c.TM,{label:"Message",id:"message",name:"message",value:e.message,onChange:h,required:!0,rows:6,placeholder:"Yap yap yap... spit your truth, we're all ears."})]}),(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(n.$n,{type:"submit",disabled:t,isLoading:t,className:"w-full",size:"lg",children:"Send Message"}),m&&(0,a.jsx)("div",{className:"text-center p-4 rounded-lg ".concat(m.includes("Thank you")?"bg-green-500/10 text-green-400 border border-green-500/20":"bg-red-500/10 text-red-400 border border-red-500/20"),children:m})]})]}),(0,a.jsxs)("div",{className:"mt-12 text-center",children:[(0,a.jsx)("p",{className:"text-text-muted mb-2",children:"We usually reply within 24 hours."}),(0,a.jsxs)("p",{className:"text-text-muted",children:["Email:"," ",(0,a.jsx)("a",{href:"mailto:contact@biohazardvfx.com",className:"link",children:"contact@biohazardvfx.com"})]})]})]}),(0,a.jsxs)("div",{className:"relative h-96 rounded-xl overflow-hidden",children:[(0,a.jsx)(i.default,{src:"/images/contact-studio.jpg",alt:"Biohazard VFX Studio",fill:!0,className:"object-cover"}),(0,a.jsx)("div",{className:"absolute inset-0 bg-gradient-to-t from-black/80 to-transparent flex items-end p-6",children:(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-2xl font-display font-bold text-white mb-2",children:"Let's Create Together"}),(0,a.jsx)("p",{className:"text-text-secondary",children:"Reach out to discuss your next project"})]})})]})]})]})})})})}},23045:(e,s,t)=>{Promise.resolve().then(t.bind(t,18983))},32941:(e,s,t)=>{"use strict";t.d(s,{mc:()=>c,wn:()=>l,xA:()=>n,zY:()=>r});var a=t(95155);function r(e){let{title:s,subtitle:t,actions:r}=e;return(0,a.jsx)("div",{className:"mb-8",children:(0,a.jsxs)("div",{className:"flex items-start justify-between",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h1",{className:"text-4xl font-display tracking-tight text-white mb-2",children:s}),t&&(0,a.jsx)("p",{className:"text-text-muted text-lg max-w-3xl",children:t})]}),r&&(0,a.jsx)("div",{className:"flex items-center gap-3",children:r})]})})}function l(e){let{children:s,className:t=""}=e;return(0,a.jsx)("section",{className:"section-spacing ".concat(t),children:s})}function c(e){let{children:s,className:t=""}=e;return(0,a.jsx)("div",{className:"container-custom ".concat(t),children:s})}function n(e){let{children:s,cols:t=3,gap:r="md",className:l=""}=e;return(0,a.jsx)("div",{className:"grid ".concat({1:"grid-cols-1",2:"grid-cols-1 md:grid-cols-2",3:"grid-cols-1 md:grid-cols-2 lg:grid-cols-3",4:"grid-cols-1 md:grid-cols-2 lg:grid-cols-4"}[t]," ").concat({sm:"gap-4",md:"gap-6",lg:"gap-8"}[r]," ").concat(l),children:s})}t(12115)},49903:(e,s,t)=>{"use strict";t.d(s,{$n:()=>c,z9:()=>n});var a=t(95155),r=t(6874),l=t.n(r);function c(e){let{variant:s="primary",size:t="md",isLoading:r=!1,children:l,className:c="",disabled:n,...i}=e;return(0,a.jsx)("button",{className:"".concat({primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost",danger:"btn bg-red-500 hover:bg-red-600 text-white"}[s]," ").concat({sm:"px-3 py-1.5 text-sm",md:"px-4 py-2",lg:"px-6 py-3 text-lg"}[t]," ").concat(c," ").concat(r?"opacity-75 cursor-wait":""),disabled:n||r,...i,children:r?(0,a.jsxs)("span",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"spinner w-4 h-4"}),"Loading..."]}):l})}function n(e){let{variant:s="primary",size:t="md",children:r,className:c="",href:n="#",...i}=e;return(0,a.jsx)(l(),{href:n,className:"".concat({primary:"btn-primary",secondary:"btn-secondary",ghost:"btn-ghost"}[s]," ").concat({sm:"px-3 py-1.5 text-sm",md:"px-4 py-2",lg:"px-6 py-3 text-lg"}[t]," ").concat(c),...i,children:r})}t(12115)},66766:(e,s,t)=>{"use strict";t.d(s,{default:()=>r.a});var a=t(71469),r=t.n(a)},71469:(e,s,t)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),!function(e,s){for(var t in s)Object.defineProperty(e,t,{enumerable:!0,get:s[t]})}(s,{default:function(){return i},getImageProps:function(){return n}});let a=t(88229),r=t(38883),l=t(33063),c=a._(t(51193));function n(e){let{props:s}=(0,r.getImgProps)(e,{defaultLoader:c.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,t]of Object.entries(s))void 0===t&&delete s[e];return{props:s}}let i=l.Image}},e=>{e.O(0,[6874,3063,8441,5964,7358],()=>e(e.s=23045)),_N_E=e.O()}]); |