PageSourceSearch

https://www.rustore.ru/_next/static/chunks/5205-0b7b28eda910c707.js

js rustore.ru collected 2026-09-24 08:24:29 UTC 13,844 bytes, 2 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5205],{2716:(e,a,l)=>{"use strict";l.d(a,{l:()=>_});var r=l(54568),t=l(32539),s=l(24224),i=l(32536),n=l(7620),o=l(83631);let d=e=>{let{className:a}=e;return(0,r.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:a,children:(0,r.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M17.94 4.56128C16.6617 3.27956 14.59 3.27956 13.3116 4.56128L6.67083 11.2194C4.57613 13.3196 4.57613 16.7256 6.67083 18.8258C8.76423 20.9247 12.1573 20.9247 14.2507 18.8258L14.2538 18.8227L17.7097 15.3913C18.0624 15.0411 18.6322 15.0431 18.9825 15.3959C19.3327 15.7486 19.3307 16.3184 18.9779 16.6686L15.5252 20.097L15.5236 20.0986C12.7267 22.901 8.19257 22.9005 5.39638 20.097C2.60095 17.2942 2.60095 12.751 5.39638 9.9483L12.0371 3.29015C14.0188 1.30327 17.2328 1.30327 19.2145 3.29015C21.1949 5.27574 21.1949 8.49405 19.2145 10.4796L12.5737 17.1378C11.4071 18.3075 9.51451 18.3075 8.34783 17.1378C7.18244 15.9693 7.18244 14.0759 8.34783 12.9075L8.3507 12.9046L12.0735 9.20563C12.4261 8.85529 12.996 8.85712 13.3463 9.20972C13.6967 9.56232 13.6948 10.1322 13.3422 10.4825L9.62228 14.1786L9.62106 14.1798C9.15762 14.6458 9.15803 15.4012 9.62228 15.8667C10.0856 16.3312 10.8359 16.3312 11.2993 15.8667L17.94 9.20851C19.2197 7.92548 19.2197 5.84431 17.94 4.56128Z",fill:"currentColor"})})};var m=l(32589);let u={src:"/_next/static/media/errorFileIcon.fe7c97dd.svg"},c={src:"/_next/static/media/picture_outline_24.0b4850ec.svg"};var p=l(46446),h=l.n(p);let _=e=>{var a,l;let{type:p="button",title:_}=e,{setError:g,setValue:x,getFieldState:f,watch:v,clearErrors:b}=(0,o.xW)(),[j,L]=(0,n.useState)([]),N=(0,n.useRef)(null),k=j.length<5,F=null==(l=f("fileUpload"))||null==(a=l.error)?void 0:a.message;return(0,n.useEffect)(()=>{let e=v(e=>{var a;(null==(a=e.fileUpload)?void 0:a.length)===0&&L([])});return()=>e.unsubscribe()},[v]),(0,r.jsxs)("div",{className:(0,t.A)(h().fileUploader,{[h().block]:"block"===p}),children:["button"===p&&(0,r.jsxs)(r.Fragment,{children:[k&&(0,r.jsxs)("label",{htmlFor:"upload",className:h().label,children:[(0,r.jsx)(d,{className:h().icon}),"Выбрать файл"]}),(0,r.jsxs)("div",{className:h().counter,children:[j.length,"/5"]})]}),"block"===p&&(0,r.jsx)(r.Fragment,{children:k&&(0,r.jsxs)("label",{htmlFor:"upload",className:h().block_label,children:[(0,r.jsx)(d,{className:h().icon}),_,(0,r.jsx)("span",{className:h().extensions,children:"(.png, .jpg, .jpeg, .mov, .mp4, .avi, .log)"})]})}),j.map((e,a)=>(0,r.jsxs)("div",{className:(0,t.A)(h().file,{[h().errorText]:e.error}),children:[(0,r.jsx)(i.default,{src:e.error?u.src:c.src,alt:"File",width:24,height:24}),(0,r.jsx)("div",{className:h().fileName,children:e.name}),(0,r.jsx)(i.default,{src:m.A.src,alt:"Cancel",width:24,height:24,onClick:()=>(e=>{let a=j.filter(a=>a.name!==e);L(a),x("fileUpload",a),b("fileUpload")})(e.name)})]},a)),F&&(0,r.jsx)("div",{className:h().error,children:F}),(0,r.jsx)("input",{type:"file",id:"upload",ref:N,className:h().input,onChange:e=>{var a,l;let r,t=null==e||null==(l=e.target)||null==(a=l.files)?void 0:a[0];if(!t)return;if(j.some(e=>e.name===t.name))return void g("fileUpload",{message:"Файл с таким именем уже добавлен"});N.current&&(N.current.value="");let{isValidExtension:i,isValidSize:n}=(0,s.n)({file:t,maxFileSize:5e6});i?n||(r="Превышен размер файла 5 МБ"):r="Неправильный формат файла";let o={file:t,name:t.name,error:r};L(e=>[...e,o]),x("fileUpload",[...j,o]),r?g("fileUpload",{message:r}):b("fileUpload")},accept:".log, .png, .jpg, .jpeg, .mov, mp4, .avi","data-testid":"file-upload-input"})]})}},11885:e=>{e.exports={container:"Input_container__aIjJs",input:"Input_input__KJ7NN",error:"Input_error__J6IM_",errorText:"Input_errorText__XVK3O",hint:"Input_hint__vTX2g",containerDark:"Input_containerDark__nbeXV"}},22656:e=>{e.exports={form:"HelpForm_form__usMjr",submit:"HelpForm_submit__cPVwQ",errorText:"HelpForm_errorText__9nTQn",formItem:"HelpForm_formItem__Ilzoo"}},24224:(e,a,l)=>{"use strict";l.d(a,{n:()=>t});let r=["image/png","image/jpeg","image/jpeg","video/quicktime","video/mp4","video/avi","text/plain"],t=e=>
1{let{file:a,extensions:l=r,maxFileSize:t}=e;return{isValidExtension:l.includes(a.type),isValidSize:a.size<=t}}},34255:(e,a,l)=>{"use strict";l.d(a,{t:()=>s,y:()=>t});var r=l(78584);let t={landing:r.rP,"dev-landing":r.fD,catalog:r.Cz,kiosk:r.K9},s={landing:r.Xn,"dev-landing":r.Ze,catalog:r.oz,kiosk:r.WM}},35205:(e,a,l)=>{"use strict";l.r(a),l.d(a,{SupportModal:()=>w});var r=l(54568),t=l(2758),s=l(34255),i=l(11495),n=l(50783),o=l(6489),d=l(81321),m=l(52063),u=l(2716);let c={ru:[{name:"reason",rules:{required:"Обязательное поле",maxLength:{value:100,message:"Максимальное количество символов - 100"},minLength:{value:1,message:"Минимальное количество символов - 1"}},label:"С чем связано обращение?",placeholder:"Суть обращения в 2-4 слова",textarea:!1},{name:"fullName",rules:{required:"Обязательное поле",maxLength:{value:100,message:"Максимальное количество символов - 100"},minLength:{value:1,message:"Минимальное количество символов - 1"}},label:"Имя и фамилия",placeholder:"Алексей Смирнов",textarea:!1},{name:"email",rules:{required:"Обязательное поле",maxLength:{value:100,message:"Максимальное количество символов - 100"},minLength:{value:1,message:"Минимальное количество символов - 1"},pattern:{value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:"Некорректный e-mail"}},label:"E-mail",placeholder:"[email protected]",textarea:!1},{name:"description",rules:{required:"Обязательное поле",maxLength:{value:300,message:"Максимальное количество символов - 300"},minLength:{value:1,message:"Минимальное количество символов - 1"}},label:"Описание проблемы",placeholder:"Обнаружил ошибку на сайте",textarea:!0}],en:[{name:"reason",rules:{required:"Required field",maxLength:{value:300,message:"Maximum number of characters is 300"},minLength:{value:1,message:"Minimum number of characters is 1"}},label:"What is the reason for the appeal?",placeholder:"The essence of the appeal in 2-4 words",textarea:!1},{name:"fullName",rules:{required:"Required field",maxLength:{value:100,message:"Maximum number of characters is 100"},minLength:{value:1,message:"Minimum number of characters is 1"}},label:"First Name and Last Name",placeholder:"Alexey Smirnov",textarea:!1},{name:"email",rules:{required:"Required field",maxLength:{value:100,message:"Maximum number of characters is 100"},minLength:{value:1,message:"Minimum number of characters is 1"},pattern:{value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:"Invalid e-mail"}},label:"E-mail",placeholder:"[email protected]",textarea:!1},{name:"description",rules:{required:"Required field",maxLength:{value:300,message:"Maximum number of characters is 300"},minLength:{value:1,message:"Minimum number of characters is 1"}},label:"Description of the problem",placeholder:"I found an error on the website",textarea:!0}],zh:[{name:"reason",rules:{required:"必填字段",maxLength:{value:200,message:"最大字符数为200"},minLength:{value:1,message:"最小字符数为1"}},label:"有什么问题?",placeholder:"简单的描述",textarea:!1},{name:"fullName",rules:{required:"必填字段",maxLength:{value:100,message:"最大字符数为100"},minLength:{value:1,message:"最小字符数为1"}},label:"姓名",placeholder:"成李",textarea:!1},{name:"email",rules:{required:"必填字段",maxLength:{value:200,message:"最大字符数为200"},minLength:{value:1,message:"最小字符数为1"},pattern:{value:/^[^\s@]+@[^\s@]+\.[^\s@]+$/,message:"无效的电子邮件"}},label:"电子邮件",placeholder:"[email protected]",textarea:!1},{name:"description",rules:{required:"必填字段",maxLength:{value:300,message:"最大字符数为300"},minLength:{value:1,message:"最小字符数为1"}},label:"问题描述",placeholder:"例子:在控制台中无法注册",textarea:!0}]},p={submitButton:{ru:"Отправить",en:"Send",zh:"附加文件"},errorMsg:{ru:"Необходимо заполнить обязательные поля",en:"Required fields to be filled",zh:"必填字段必须填写"},terms:{ru:'Я ознакомился с <a target="_blank" href="https://www.rustore.ru/help/legal/terms-of-use/"> Политикой обработки персональных данных </a> и даю согласие на обработку своих данных</p>',en:"I have read the <a target='_blank' href='https://help.rustore.ru/rustore/legal_info_en/Privacy_policy_non-resident_developers'> Personal Data Processing Policy </a> and consent to the processing of my data",zh:"我已阅读<a target='_blank' href='https://help.rustore.ru/rustore/legal_info/terms_of_use'>个人数据处理政策</a>并且我同意处理我的数据"},uploadText:{ru:"Прикрепить файлы",en:"Attach Files",zh:"附加文件"}};var h=l(78354),_=l(27541),g=l(7620),x=l(83631),f=l(94234),v=l(22656),b=l.n(v);let j=e=>{var a;let{acceptForm:l,onError:t,fileUploadApiUrl:s}=e,[i,v]=(0,g.useState)(!1),[j,L]=(0,g.useState)(!1),N=(0,f.Y)(),k=(0,g.useCallback)(()=>v(e=>!e),[]),F=(0,x.mN)({mode:"onBlur",reValidateMode:"onChange",defaultValues:{reason:"",fullName:"",email:"",description:"",fileUpload:[]},disabled:j}),C=async(e,a)=>{let{fileUpload:r,...i}=e,o=(r||[]).filter(e=>(null==e?void 0:e.file)instanceof File&&!(null==e?void 0:e.error));try{let e=[];
1if(o.length>0){let a=new FormData;o.forEach(e=>{e.file&&a.append("files",e.file)});let l=await (0,n.c)(fetch(s,{method:"POST",body:a}),"json");e=(null==l?void 0:l.files)||[]}l({data:{...i,fileUpload:e},captchaResult:a})}catch(e){console.error("Ошибка при загрузке файлов:",e),t()}},U=Object.keys(F.formState.errors).length<1,M=(null==(a=Object.keys(F.formState.errors))?void 0:a[0])==="reason",S=(0,_.useSearchParams)(),T=null==S?void 0:S.has("autotest");return(0,r.jsx)(x.Op,{...F,children:(0,r.jsxs)("form",{"data-testid":"help_form_submit_id",children:[(0,r.jsx)("div",{className:b().form,children:c[N].map(e=>(0,r.jsx)(x.xI,{control:F.control,name:e.name,rules:e.rules,render:a=>{let{fieldState:l,field:{...t}}=a;return(0,r.jsx)(h.p,{...t,label:e.label,placeholder:e.placeholder,optional:!1,textarea:e.textarea,error:l.error,className:b().formItem,testId:"".concat(e.name,"_input")})}},e.name))}),(0,r.jsx)(u.l,{type:"block",title:p.uploadText[N]}),(0,r.jsx)(m.S,{termsAccepted:i,toggleTerms:k,content:p.terms[N]}),(0,r.jsx)(o.f,{captchaLanguage:"ru"===N?"ru":"en",placement:"help_form",formValidationMode:"after_click",onDisableForm:()=>L(!0),onCaptchaError:t,renderSubmitButton:e=>{let{disabled:a,...l}=e;return(0,r.jsxs)(r.Fragment,{children:[(!U||M)&&(0,r.jsx)("div",{className:b().errorText,children:p.errorMsg[N]}),(0,r.jsx)(d.Button,{className:b().submit,disabled:!T&&(a||!i),"data-testid":"form_submit_button_id",...l,children:p.submitButton[N]})]})},onSubmitForm:C})]})})};var L=l(91256),N=l(81857),k=l(32536),F=l(71993),C=l(16662),U=l(29742),M=l(15273),S=l(38754),T=l.n(S);let w=e=>{let{setShowModal:a}=e,[l,n]=(0,g.useState)("initial"),o=(0,f.Y)(),d=(0,t.W)(),m=(0,N.a)(),u=s.y[m],c=s.t[m];(0,U.k)();let p=(0,g.useCallback)(()=>n("error"),[]);return(0,C.o)("Escape",a),(0,r.jsxs)("div",{className:T().root,"data-testid":"support_modal",children:[(0,r.jsx)("div",{className:T().header,children:(0,r.jsx)(k.default,{src:F.A.src,onClick:a,"data-testid":"close_button_id",alt:"Hide button",width:36,height:36})}),(0,r.jsx)(i.f,{formState:l,successMessages:L.T.successScreen[o],children:(0,r.jsxs)("div",{className:T().container,children:[(0,r.jsx)("div",{className:T().title,children:L.T.title[o]}),(0,r.jsx)(j,{fileUploadApiUrl:c,onError:p,acceptForm:e=>{(0,M.a)(u,e,"dev-landing-supports",o).then(a=>{let{result:l,errorDetail:r}=a;n(l),d(e.captchaResult,{error:"success"!==l,errorDetail:r})})}})]})})]})}},38754:e=>{e.exports={root:"SupportModal_root__TV_0B",animation:"SupportModal_animation__871TB",header:"SupportModal_header__lRGFC",container:"SupportModal_container__k8jwn",title:"SupportModal_title__N5B_U"}},46446:e=>{e.exports={fileUploader:"FileUploader_fileUploader__TUDvI",input:"FileUploader_input__s_PzZ",block:"FileUploader_block__YxM12",label:"FileUploader_label__jj83T",block_label:"FileUploader_block_label__B2JRh",icon:"FileUploader_icon__57yp9",extensions:"FileUploader_extensions__LB7dO",file:"FileUploader_file__zKLhx",fileName:"FileUploader_fileName__wXTw8",counter:"FileUploader_counter__aj3gO",error:"FileUploader_error__oMPnr",errorText:"FileUploader_errorText__9CIyE"}},78354:(e,a,l)=>{"use strict";l.d(a,{p:()=>n});var r=l(54568),t=l(32539),s=l(11885),i=l.n(s);let n=e=>{let{label:a,error:l,placeholder:s,optional:n=!1,textarea:o=!1,className:d,hint:m,testId:u,theme:c="light",classes:p,...h}=e;return(0,r.jsxs)("div",{className:(0,t.A)("dark"===c?i().containerDark:i().container,d),children:[(0,r.jsxs)("p",{className:null==p?void 0:p.label,children:[a,n&&(0,r.jsx)("span",{children:"(необязательно)"})]}),(0,r.jsx)("div",{className:(0,t.A)(i().input,l&&i().error,null==p?void 0:p.input),children:o?(0,r.jsx)("textarea",{...h,placeholder:s,"data-testid":u}):(0,r.jsx)("input",{...h,type:"text",placeholder:s,"data-testid":u})}),m&&(0,r.jsx)("div",{className:i().hint,children:m}),(0,r.jsx)("div",{className:(0,t.A)(i().errorText),children:null==l?void 0:l.message})]})}}}]);
2//# sourceMappingURL=5205-0b7b28eda910c707.js.map

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.