2 lines
4.4 KiB
JavaScript
2 lines
4.4 KiB
JavaScript
import{r as h,j as e,C as b,t as g,s as f,m as y,l as p,n as o,o as c,p as l,q as r,B as _,L as v,v as N}from"./ui-library-BWmJzXiX.js";import{a as x}from"./react-vendor-DnK_KZAP.js";import{R as u,a as i}from"./radio-group-JZueQgsm.js";import{z as a,t as S}from"./index-XsVNdJkE.js";import{a as F}from"./service-BkBmsZj9.js";const k=a.object({space_package:a.string(),company_name:a.string().min(3,{message:"Название компании должно быть не менее 3 символов"}),rep_name:a.string().min(3,{message:"Имя представителя должно быть не менее 3 символов"}),job_title:a.string().min(3,{message:"Должность должна быть не менее 3 символов"}),participants_number:a.preprocess(m=>Number(m),a.number().min(1,"Укажите количество участников")),country:a.string().min(3,{message:"Название страны должно быть не менее 3 символов"}),email:a.string().email({message:"Укажите корректный email"}),phone:a.string().min(8,{message:"Номер телефона должен быть не менее 8 символов"}),website:a.string().optional(),visa_support:a.string().optional()}),w={space_package:"space",company_name:"",rep_name:"",job_title:"",participants_number:1,country:"",email:"",phone:"",website:"",visa_support:""};function G(){const[m,j]=x.useState(!1),s=h({resolver:S(k),defaultValues:w}),d=async t=>{await F(t)&&j(!0)};x.useEffect(()=>{window.scrollTo({behavior:"smooth",top:0})},[status]);const{errors:n}=s.formState;return e.jsxs("div",{children:[e.jsx(b,{title:"Забронировать стенд"}),e.jsx(g,{children:!m&&e.jsx(f,{...s,children:e.jsxs(y.form,{initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},className:"max-w-[828px] px-5 mx-auto mt-20 mb-[120px] flex flex-col gap-8",onSubmit:s.handleSubmit(d),children:[e.jsx(p,{control:s.control,name:"space_package",render:({field:t})=>e.jsxs(o,{className:"space-y-5",children:[e.jsx(c,{className:"text-xl",children:"Выберите один из вариантов:"}),e.jsx(l,{children:e.jsxs(u,{onValueChange:t.onChange,defaultValue:t.value,className:"flex flex-col space-y-4 ml-3",children:[e.jsxs(o,{className:"flex items-center space-x-5 space-y-0",children:[e.jsx(l,{children:e.jsx(i,{value:"space",checked:t.value==="space"})}),e.jsx(c,{className:"text-base",children:"Только стенд"})]}),e.jsxs(o,{className:"flex items-center space-x-5 space-y-0",children:[e.jsx(l,{children:e.jsx(i,{value:"package",checked:t.value==="package"})}),e.jsx(c,{className:"text-base",children:"Комплексное предложение"})]})]})})]})}),e.jsx(r,{label:"Название компании/организации",name:"company_name",control:s.control,error:n.company_name}),e.jsx(r,{label:"Имя представителя",name:"rep_name",control:s.control,error:n.rep_name}),e.jsx(r,{label:"Название должности/позиция",name:"job_title",control:s.control,error:n.job_title}),e.jsx(r,{label:"Количество участников",type:"number",name:"participants_number",control:s.control,error:n.participants_number}),e.jsx(r,{label:"Страна",name:"country",control:s.control,error:n.country}),e.jsx(r,{label:"E-mail адрес",name:"email",control:s.control,error:n.email}),e.jsx(r,{label:"Номер телефона",name:"phone",control:s.control,error:n.phone}),e.jsx(r,{label:"Вебсайт",name:"website",control:s.control}),e.jsx(p,{control:s.control,name:"visa_support",render:({field:t})=>e.jsxs(o,{className:"space-y-5",children:[e.jsx(c,{className:"text-xl",children:"Визовая поддержка:"}),e.jsx(l,{children:e.jsxs(u,{onValueChange:t.onChange,defaultValue:t.value,className:"flex flex-col space-y-4 ml-3",children:[e.jsxs(o,{className:"flex items-center space-x-5 space-y-0",children:[e.jsx(l,{children:e.jsx(i,{value:"yes",checked:t.value==="yes"})}),e.jsx(c,{className:"text-base",children:"Да"})]}),e.jsxs(o,{className:"flex items-center space-x-5 space-y-0 ",children:[e.jsx(l,{children:e.jsx(i,{value:"no",checked:t.value==="no"})}),e.jsx(c,{className:"text-base",children:"Нет"})]})]})})]})}),e.jsx(_,{disabled:s.formState.isSubmitting,className:"mt-5",children:s.formState.isSubmitting?e.jsx(v,{className:"animate-spin"}):"Отправить"})]})})}),m&&e.jsx(N,{delay:.3})]})}export{G as default};
|