1import{a as Ae}from"./chunk-MTJYHT7L.js";import{f as qe}from"./chunk-VEW2MZZB.js";import{b as je,c as ze}from"./chunk-JRBKB2J6.js";import{a as Re}from"./chunk-XJKJPVJZ.js";import{a as Me,b as Oe,c as Le}from"./chunk-7XUEAKYX.js";import"./chunk-N4VA5GQ5.js";import{a as Ne}from"./chunk-MCSKQZUR.js";import{a as we,b as De,e as Pe}from"./chunk-TW2J4Z3I.js";import{a as ce}from"./chunk-OXFVIB5P.js";import{c as Ve}from"./chunk-QBSYLUSD.js";import"./chunk-23VC27CE.js";import{b as Ie}from"./chunk-UYHR7ORP.js";import{a as P,c as I}from"./chunk-4AT2UGDW.js";import{ja as Se,ka as Te,la as Ee,ma as Fe}from"./chunk-OCHX4CIJ.js";import{g as pe,m as ve,n as ke}from"./chunk-QWPJDETS.js";import{a as ne,b as ae,c as se}from"./chunk-RJAQGC4C.js";import"./chunk-R4QQ4KDD.js";import{a as le}from"./chunk-OI4OHJCE.js";import{b as _,c as de,d as fe,e as ge,j as he,l as be,m as ye,q as xe,r as _e,s as Ce}from"./chunk-Z7V2ZJCB.js";import"./chunk-KC55LE4R.js";import{a as ue}from"./chunk-TBOWXAY7.js";import"./chunk-LTB4B4BX.js";import{a as me}from"./chunk-5SBHHUZ2.js";import{f as re,m as z,n as S,o as m,q as T,t as A,u as oe,v as q,z as Be}from"./chunk-XIJB5FFS.js";import{a as U,f as G}from"./chunk-FWZFZ2YX.js";import"./chunk-GF47S3HR.js";import{m as te,n as ie}from"./chunk-H2TBMRBN.js";import{$b as B,Aa as v,Cb as J,Db as Y,Eb as a,F as L,Fb as n,Fc as W,Gb as d,Ka as g,Kb as k,Nb as x,Ob as f,Wa as s,_ as R,_b as c,ac as Q,ba as N,ea as E,eb as h,fd as X,hd as Z,jd as ee,ka as u,kc as w,lc as j,mc as D,ob as b,p as O,pa as F,ub as K,vb as l,za as C,zb as y}from"./chunk-252VJVD2.js";import"./chunk-EQDQRRRY.js";var V=class t{constructor(o,e,i,r,p,M){this.phone=o,this.categoryId=e,this.message=i,this.email=r,this.file=p,this.token=M}getBody(){let o=new FormData;return o.append("phone_number",pe(this.phone)),o.append("category_id",String(this.categoryId)),o.append("message",this.message),this.file&&o.append("file",this.file),this.email&&o.append("email",this.email),o}getHeaders(){if(this.token)return new X({Authorization:`Bearer ${this.token}`})}static create(o){return new t(o.phone,o.categoryId,o.message,o.email,o.file,o.token)}};var $=class{constructor(o,e){this.message=o,this.errors=e}},Ue=z({errors:z({message:S(T([m()],m())),category_id:S(T([m()],m())),file:S(T([m()],m())),phone_number:S(T([m()],m())),email:S(T([m()],m()))}),message:m()}),Ge=t=>new $(t.message,{message:t.errors.message,categoryId:t.errors.category_id,file:t.errors.file,phone:t.errors.phone_number,email:t.errors.email});var $e=(()=>{class t{constructor(){this.http=u(ee),this.environment=u(Be),this.exceptionLogger=u(me)}create(e){let i=`${this.environment.apiUrl}/tickets`;return this.http.post(i,e.getBody(),{headers:e.getHeaders()}).pipe(O(r=>A(q(Se,Te),r)),L(r=>{if(r instanceof Z){let p=oe(Ue,r.error);if(p.success)throw Ge(p.output)}throw this.exceptionLogger.errorLogger(r,i),r}))}categories(){let e=`${this.environment.apiUrl}/guest/ticket-categories`;return this.http.get(e).pipe(O(i=>A(re(q(Ee,Fe)),i)),L(i=>{throw this.exceptionLogger.errorLogger(i,e),i}))}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=E({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();var He=(()=>{class t{constructor(){this.categories=h([])}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275prov=E({token:t,factory:t.\u0275fac,providedIn:"root"})}}return t})();function Je(t,o){if(t&1&&(a(0,"p",5),c(1),n()),t&2){let e=f();s(),B(e.descriptionText())}}function Ye(t,o){if(t&1){let e=k();a(0,"article",7)(1,"div",8),d(2,"gm-icon",9),n(),a(3,"span",10),c(4),n(),a(5,"button",11),x("click",function(){C(e);let r=f();return v(r.clearValue())}),n()()}if(t&2){let e,i=f();s(4),B((e=i.value())==null?null:e.name)}}var Ke=(()=>{class t{constructor(){this.uniqueId=u(Ie),this.control=u(de,{self:!0,optional:!0}),this.snackBar=u(I),this.disabled=h(!1),this.value=h(null),this.actionText=g.required(),this.borderStyle=g("solid"),this.maxSizeMb=g(5),this.descriptionText=g(),this.nativeId=g(this.uniqueId.generate()),this.ariaLabel=g(),this.ariaLabelledBy=g(),this.ariaDescribedBy=g(),this.control&&(this.control.valueAccessor=this)}writeValue(e){this.value.set(e)}registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled.set(e)}setValue(e){if(this.disabled())return;if(e.files[0].size>=1024*1024*this.maxSizeMb()){e.value=null,this.snackBar.open(`\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0442\u044C ${this.maxSizeMb()} \u043C\u0435\u0433\u0430\u0431\u0430\u0439\u0442`,{icon:P}).subscribe();return}this.value.set(e.files[0]),this.onChange(e.files[0]),this.onTouched(),e&&(e.value=null)}clearValue(){this.value.set(null),this.onChange(""),this.onTouched()}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["gm-file-upload"]],hostAttrs:["attr.data-border-style","borderStyle()",1,"gm-file-upload"],inputs:{actionText:[1,"actionText"],borderStyle:[1,"borderStyle"],maxSizeMb:[1,"maxSizeMb"],descriptionText:[1,"descriptionText"],nativeId:[1,"nativeId"],ariaLabel:[1,"ariaLabel"],ariaLabelledBy:[1,"ariaLabelledBy"],ariaDescribedBy:[1,"ariaDescribedBy"]},standalone:!0,features:[w],decls:9,vars:9,consts:[[1,"gm-file-upload-area"],[1,"gm-file-upload-label",3,"for"],["gm-outlined-icon-button","","size","xs","type","button"],["slot","icon","icon","upload-cloud"],["gm-link-button","","data-size","lg","type","button"],[1,"gm-file-upload-description"],["type","file","accept",".jpg,.jpeg,.png",1,"gm-file-upload-input",3,"change","id","disabled"],[1,"gm-file-upload-item"],[1,"file-icon"],["icon","paperclip"],[1,"file-name"],["gm-close-button","","size","sm","aria-label","\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043D\u044B\u0439 \u0444\u0430\u0439\u043B","type","button",3,"click"]],template:function(i,r){i&1&&(a(0,"div",0),d(1,"label",1),a(2,"button",2),d(3,"gm-icon",3),n(),a(4,"button",4),c(5),n(),b(6,Je,2,1,"p",5),a(7,"input",6),x("change",function(M){return r.setValue(M.target)}
1),n()(),b(8,Ye,6,1,"article",7)),i&2&&(s(),l("for",r.nativeId()),s(4),B(r.actionText()),s(),y(r.descriptionText()?6:-1),s(),l("id",r.nativeId())("disabled",r.disabled()),K("aria-label",r.ariaLabel())("aria-labelledby",r.ariaLabelledBy())("aria-describedby",r.ariaDescribedBy()),s(),y(r.value()?8:-1))},dependencies:[Pe,ue,ae,_e,De],styles:[`.gm-file-upload[data-border-style=solid] .gm-file-upload-area{border-style:solid;padding:1rem 1.5rem}.gm-file-upload[data-border-style=dashed] .gm-file-upload-area{border-style:dashed;padding:1.5rem}.gm-file-upload-area{display:flex;position:relative;flex-direction:column;align-items:center;border-width:1px;border-color:hsl(var(--gm-sys-color-outline-variant));border-radius:var(--gm-sys-shape-corner-md);padding:1rem 1.5rem}.gm-file-upload-label{position:absolute;inset:0;z-index:1;cursor:pointer}.gm-file-upload-input{display:none}:host .gm-link-button{margin-top:.75rem}.gm-file-upload-description{margin-top:.25rem;color:hsl(var(--gm-sys-color-on-surface-variant));font:var(--gm-sys-typescale-text-xs-regular)}.gm-file-upload-item{display:flex;align-items:center;margin-top:.75rem;border:1px solid hsl(var(--gm-sys-color-outline-variant));border-radius:var(--gm-sys-shape-corner-md);padding:.5rem}.gm-file-upload-item .file-icon{display:flex;flex-shrink:0;justify-content:center;align-items:center;border-radius:var(--gm-sys-shape-corner-sm);background-color:hsl(var(--gm-sys-color-surface-container));width:2rem;height:2rem;color:hsl(var(--gm-sys-color-on-surface-variant))}.gm-file-upload-item .file-name{flex-basis:100%;margin:0 1rem 0 .75rem;color:hsl(var(--gm-sys-color-on-surface));font:var(--gm-sys-typescale-text-sm-semibold)}.gm-file-upload-item .gm-close-button{width:1.25rem;height:1.25rem}.gm-file-upload-item .gm-close-button .gm-close-button-state-layer{width:1rem;height:1rem} 2`],encapsulation:2,changeDetection:0})}}return t})();var Qe=(t,o)=>o.id,We=()=>["profile","support"],Xe=t=>({modal:t}),Ze=t=>({outlets:t}),et=t=>["/",t],tt=()=>({path:"/assets/lottie/spinner.json"});function it(t,o){if(t&1){let e=k();a(0,"button",16),x("click",function(){let r=C(e).$implicit,p=f(2);return v(p.selectCategory(r))}),c(1),n()}if(t&2){let e=o.$implicit,i=f(2);l("selected",e.id===(i.form.controls.category.value==null?null:i.form.controls.category.value.id)),s(),Q(" ",e.name," ")}}function rt(t,o){t&1&&(a(0,"gm-error"),c(1,"\u041F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F"),n())}function ot(t,o){t&1&&(a(0,"gm-error"),c(1,"\u041F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E \u0434\u043B\u044F \u0437\u0430\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F"),n())}function nt(t,o){if(t&1){let e=k();a(0,"form",6),x("ngSubmit",function(){C(e);let r=f();return v(r.createTicket())}),a(1,"gm-form-field")(2,"label",7),c(3,"\u0412\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0442\u0435\u043C\u0443 \u0432\u043E\u043F\u0440\u043E\u0441\u0430"),n(),a(4,"gm-chip-set"),J(5,it,2,2,"button",8,Qe),n(),b(7,rt,2,0,"gm-error"),n(),d(8,"gm-text-field",9)(9,"gm-text-field",10),a(10,"gm-form-field")(11,"label",11),c(12,"\u041E\u043F\u0438\u0441\u0430\u043D\u0438\u0435 \u0432\u043E\u043F\u0440\u043E\u0441\u0430"),n(),d(13,"gm-text-area",12),b(14,ot,2,0,"gm-error"),n(),d(15,"gm-file-upload",13),n(),a(16,"div",14)(17,"button",15),c(18," \u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C "),n()()}if(t&2){let e=f();l("formGroup",e.form),s(5),Y(e.categories()),s(2),y(e.form.controls.category.hasError("required")&&e.form.controls.category.touched?7:-1),s(),l("formControl",e.form.controls.phone)("mask",e.mask),s(),l("formControl",e.form.controls.email),s(4),l("formControl",e.form.controls.message),s(),y(e.form.controls.message.hasError("required")&&e.form.controls.message.touched?14:-1),s(),l("formControl",e.form.controls.file),s(2),l("disabled",e.form.invalid||e.loading())}}function at(t,o){if(t&1){let e=k();a(0,"div",4)(1,"gm-content-unavailable",17)(2,"button",18),x("click",function(){C(e);let r=f();return v(r.loadTicketCategories())}),c(3," \u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C "),n()()()}}function st(t,o){t&1&&d(0,"gm-lottie-animation",5),t&2&&l("options",j(1,tt))}var di=(()=>{class t{constructor(){this.fb=u(xe),this.ticketsService=u($e),this.ticketsState=u(He),this.authState=u(ce),this.snackBar=u(I),this.router=u(te),this.user=this.authState.user.asReadonly(),this.loadTicketCategoriesProcess=h("idle"),this.mask=Ae({countryIsoCode:"BY",metadata:qe}),this.state=h("idle"),this.categories=this.ticketsState.categories.asReadonly(),this.loading=W(()=>this.state()==="loading"),this.form=this.fb.group({category:this.fb.control(null,[_.required]),phone:this.fb.control(this.user()?.phone??"",[_.required,ve]),email:this.fb.control(this.user()?.email??"",[_.required,_.email,ke]),message:this.fb.control("",[_.required,_.maxLength(5e3)]),file:this.fb.control(null)}),this.loadTicketCategories=U(e=>e.pipe(N(()=>this.loadTicketCategoriesProcess.set("loading")),R(()=>this.ticketsService.categories().pipe(G(i=>{this.loadTicketCategoriesProcess.set("success"),this.ticketsState.categories.set(i),this.form.patchValue({category:i.at(0)??null},{emitEvent:!1})},i=>{this.loadTicketCategoriesProcess.set("failure")}))))),this.createTicket=U(e=>e.pipe(N(()=>this.state.set("loading")),R(()=>
2this.ticketsService.create(this.getCreateTicketRequest()).pipe(G(()=>{this.state.set("success"),this.snackBar.open("\u0417\u0430\u044F\u0432\u043A\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430").subscribe(),this.router.navigate(["/",{outlets:{modal:["profile","support"]}}])},()=>{this.state.set("failure"),this.snackBar.open("\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C \u0437\u0430\u044F\u0432\u043A\u0443, \u043F\u043E\u0436\u0430\u043B\u0443\u0439\u0441\u0442\u0430 \u043F\u043E\u043F\u0440\u043E\u0431\u0443\u0439\u0442\u0435 \u043F\u043E\u0437\u0436\u0435",{icon:P}).subscribe()}))))),this.stringify=e=>e.name,this.identityMatcher=(e,i)=>e?.id===i?.id}ngOnInit(){this.loadTicketCategories()}selectCategory(e){this.form.controls.category.patchValue(e)}getCreateTicketRequest(){let e=this.form.getRawValue();if(!e.category)throw new Error("Form validation error occurred");return V.create({categoryId:e.category.id,message:e.message,email:e.email,phone:e.phone,file:e.file??void 0})}static{this.\u0275fac=function(i){return new(i||t)}}static{this.\u0275cmp=F({type:t,selectors:[["gm-support-ticket-page"]],standalone:!0,features:[w],decls:8,vars:9,consts:[[1,"container"],[1,"top"],["gm-back-button","","aria-label","\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u043D\u0430\u0437\u0430\u0434",1,"back-button",3,"routerLink"],[1,"title"],[1,"unavailable-wrapper"],["width","2rem","height","2rem",1,"spinner",3,"options"],["id","gm-support-ticket-form",1,"form",3,"ngSubmit","formGroup"],["for","gm-support-ticket-form-category","gm-field-label","","asterisk",""],["type","button","gm-filter-chip","",3,"selected"],["label","\u0422\u0435\u043B\u0435\u0444\u043E\u043D \u0434\u043B\u044F \u0441\u0432\u044F\u0437\u0438","placeholder","\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043D\u043E\u043C\u0435\u0440 \u0442\u0435\u043B\u0435\u0444\u043E\u043D\u0430",3,"formControl","mask"],["label","\u042D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u0430\u044F \u043F\u043E\u0447\u0442\u0430","placeholder","[email protected]",3,"formControl"],["for","gm-support-ticket-form-message","gm-field-label","","asterisk",""],["nativeId","gm-support-ticket-form-message","placeholder","\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u043E\u043F\u0438\u0441\u0430\u043D\u0438\u0435",3,"formControl"],["actionText","\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0444\u043E\u0442\u043E","descriptionText","PNG \u0438\u043B\u0438 JPG (\u043C\u0430\u043A\u0441. 5 MB)",3,"formControl"],[1,"actions"],["form","gm-support-ticket-form","type","submit","gm-filled-button","","size","sm",1,"action",3,"disabled"],["type","button","gm-filter-chip","",3,"click","selected"],["icon","cart-shopping-solid","label","\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u044B\u0435",1,"content-unavailable"],["slot","action","type","button","gm-outlined-button","","size","sm",3,"click"]],template:function(i,r){if(i&1&&(a(0,"div",0)(1,"div",1),d(2,"a",2),a(3,"h1",3),c(4,"\u0417\u0430\u0434\u0430\u0442\u044C \u0432\u043E\u043F\u0440\u043E\u0441"),n()(),b(5,nt,19,9)(6,at,4,0,"div",4)(7,st,1,2,"gm-lottie-animation",5),n()),i&2){let p;s(2),l("routerLink",D(7,et,D(5,Ze,D(3,Xe,j(2,We))))),s(3),y((p=r.loadTicketCategoriesProcess())==="success"?5:p==="failure"?6:7)}},dependencies:[Ce,he,fe,ge,be,ye,Ke,we,ne,se,ie,Ne,Le,Oe,Me,je,ze,Re,le,Ve],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;width:100%;max-height:100%}.container[_ngcontent-%COMP%]{display:flex;flex-direction:column;padding:1.5rem 0;width:100%;height:100%}@media (min-width: 960px){.container[_ngcontent-%COMP%]{justify-content:flex-start}}.top[_ngcontent-%COMP%]{display:flex;flex-direction:column}.back-button[_ngcontent-%COMP%]{margin:0 1rem}.title[_ngcontent-%COMP%]{margin:1rem 1rem .5rem;color:hsl(var(--gm-sys-color-on-surface));font:var(--gm-sys-typescale-display-xs-extra-bold)}.unavailable-wrapper[_ngcontent-%COMP%]{display:flex;flex:1;flex-direction:column;padding:1rem;overflow:auto}.content-unavailable[_ngcontent-%COMP%]{margin:auto}.spinner[_ngcontent-%COMP%]{margin:6rem auto}.form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1.5rem;padding:1.25rem;overflow:auto}.actions[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;margin:1.25rem 1.25rem 0}.action[_ngcontent-%COMP%]{width:100%}"],changeDetection:0})}}return t})();export{di as SupportTicketPage};
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.