1"use strict";(self.webpackChunkminostech_admin_angular=self.webpackChunkminostech_admin_angular||[]).push([[684],{91684:(W,E,o)=>{o.r(E),o.d(E,{ContactsModule:()=>G});var f=o(36895),u=o(19347),T=o(49671),I=o(80529),A=o(92340),L=o(94424),g=o(4854),t=o(94650),v=o(23513),M=o(64383),N=o(6162),b=o(90457),O=o(12153),w=o(51491),R=o(37923),C=o(4484),_=o(38328),h=o(24006);function B(i,c){if(1&i){const e=t.\u0275\u0275getCurrentView();t.\u0275\u0275elementStart(0,"div",16)(1,"div",17)(2,"h5"),t.\u0275\u0275text(3),t.\u0275\u0275pipe(4,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(5,"label",18),t.\u0275\u0275text(6),t.\u0275\u0275pipe(7,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(8,"input",19),t.\u0275\u0275listener("ngModelChange",function(r){t.\u0275\u0275restoreView(e);const s=t.\u0275\u0275nextContext();return t.\u0275\u0275resetView(s.contactEmails=r)}),t.\u0275\u0275pipe(9,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(10,"small",20),t.\u0275\u0275text(11),t.\u0275\u0275pipe(12,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(13,"div",21)(14,"button",22),t.\u0275\u0275listener("click",function(){t.\u0275\u0275restoreView(e);const r=t.\u0275\u0275nextContext();return t.\u0275\u0275resetView(r.closeAddContactDialog())}),t.\u0275\u0275text(15),t.\u0275\u0275pipe(16,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(17,"button",23),t.\u0275\u0275listener("click",function(){t.\u0275\u0275restoreView(e);const r=t.\u0275\u0275nextContext();return t.\u0275\u0275resetView(r.sendInvites())}),t.\u0275\u0275text(18),t.\u0275\u0275pipe(19,"translate"),t.\u0275\u0275elementEnd()()()()}if(2&i){const e=t.\u0275\u0275nextContext();t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate(t.\u0275\u0275pipeBind1(4,7,"GENERAL.INVITE_YOUR_CONTACTS")),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate(t.\u0275\u0275pipeBind1(7,9,"FORM_LABELS.ENTER_EMAIL_ADDRESSES")),t.\u0275\u0275advance(2),t.\u0275\u0275property("placeholder",t.\u0275\u0275pipeBind1(9,11,"GENERAL.EXAMPLE1EMAILCOM_EXAMPLE2EMAILCOM"))("ngModel",e.contactEmails),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(12,13,"CONTACTS.SEPARATE_EMAILS")," "),t.\u0275\u0275advance(4),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(16,15,"BUTTONS.CANCEL")," "),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate1(" ",t.\u0275\u0275pipeBind1(19,17,"CONTACTS.SEND_INVITATIONS")," ")}}function j(i,c){if(1&i&&(t.\u0275\u0275elementStart(0,"span",34),t.\u0275\u0275text(1),t.\u0275\u0275elementEnd()),2&i){const e=t.\u0275\u0275nextContext().$implicit;t.\u0275\u0275advance(1),t.\u0275\u0275textInterpolate1(" ",e.unreadCount," ")}}function U(i,c){if(1&i&&(t.\u0275\u0275elementStart(0,"div",35),t.\u0275\u0275element(1,"img",36),t.\u0275\u0275elementEnd()),2&i){const e=t.\u0275\u0275nextContext(2);t.\u0275\u0275advance(1),t.\u0275\u0275propertyInterpolate("src",e.mspCertifiedLogoURL,t.\u0275\u0275sanitizeUrl)}}function V(i,c){if(1&i){const e=t.\u0275\u0275getCurrentView();t.\u0275\u0275elementStart(0,"div",24)(1,"div",25)(2,"img",26),t.\u0275\u0275listener("click",function(){const s=t.\u0275\u0275restoreView(e).$implicit,l=t.\u0275\u0275nextContext();let p;return t.\u0275\u0275resetView(l.openURL(null!==(p=null==s?null:s.profilePicURL)&&void 0!==p?p:"../../assets/imgs/usericon.png"))}),t.\u0275\u0275pipe(3,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(4,"div",27),t.\u0275\u0275listener("click",function(){const s=t.\u0275\u0275restoreView(e).$implicit,l=t.\u0275\u0275nextContext();return t.\u0275\u0275resetView(l.onChat(null==s?null:s.id))}),t.\u0275\u0275elementStart(5,"div",5)(6,"div")(7,"span",28)(8,"b"),t.\u0275\u0275text(9),t.\u0275\u0275pipe(10,"translate"),t.\u0275\u0275elementEnd()(),t.\u0275\u0275elementStart(11,"span",29)(12,"b"),t.\u0275\u0275text(13),t.\u0275\u0275elementEnd(),t.\u0275\u0275template(14,j,2,1,"span",30),t.\u0275\u0275elementEnd()(),t.\u0275\u0275elementStart(15,"div",5)(16,"span",31),t.\u0275\u0275text(17),t.\u0275\u0275elementEnd()(),t.\u0275\u0275template(18,U,2,1,"div",32),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(19,"div")(20,"a",33),t.\u0275\u0275listener("click",function(){const s=t.\u0275\u0275restoreView(e).$implicit,l=t.\u0275\u0275nextContext();
1return t.\u0275\u0275resetView(l.onChat(null==s?null:s.id))}),t.\u0275\u0275text(21),t.\u0275\u0275pipe(22,"translate"),t.\u0275\u0275elementEnd()()()()()}if(2&i){const e=c.$implicit;let n;t.\u0275\u0275advance(2),t.\u0275\u0275property("src",null!==(n=null==e?null:e.profilePicURL)&&void 0!==n?n:"../../assets/imgs/usericon.png",t.\u0275\u0275sanitizeUrl)("alt",t.\u0275\u0275pipeBind1(3,10,"IMAGES.USER_IMAGE")),t.\u0275\u0275advance(7),t.\u0275\u0275textInterpolate3("",t.\u0275\u0275pipeBind1(10,12,"TABLE.USER")," #",e.id," | ",e.demographicType,""),t.\u0275\u0275advance(4),t.\u0275\u0275textInterpolate1(" ",null==e?null:e.countryCode,""),t.\u0275\u0275advance(1),t.\u0275\u0275property("ngIf",e.unreadCount>0),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate(null==e||null==e.sd?null:e.sd.title),t.\u0275\u0275advance(1),t.\u0275\u0275property("ngIf",e.isMSPCertified),t.\u0275\u0275advance(3),t.\u0275\u0275textInterpolate(t.\u0275\u0275pipeBind1(22,14,"GENERAL.CHAT_NOW"))}}let y=(()=>{class i{constructor(e,n,r,s,l,p,m,a,d,x,k){this.route=e,this.http=n,this.router=r,this.spinner=s,this.toastr=l,this.utilService=p,this.adminService=m,this.socketService=a,this.api=d,this.drawerService=x,this.translate=k,this.users=[],this.p=1,this.totalRecords=0,this.typeFollowers=g.xz.Followers,this.buyers=[],this.selectedProduct="",this.contactEmails="",this.showAddContactModal=!1,this.usersCache=null,this.buyersCache=null,this.mspCertifiedLogoURL=g.gT.mspCertifiedLogo,this.onChat=z=>{this.api.get("admins/chat-id?contactUid="+z).then(S=>{S.chatId&&this.router.navigate(["/chats/"+S.chatId])})}}ngOnInit(){this.route.params.subscribe(e=>{this.relevantId=e.relevantId,this.type=e.type}),this.usersCache?this.buyers=this.usersCache:this.getUsers(),this.route.queryParams.subscribe(e=>{const n=e.modelName;if(n){this.selectedProduct=n;const r=this.drawerService.getMessageData();r&&!r.sent&&(this.buyers=[...r.buyers,...this.buyers.filter(s=>!r.buyers.some(l=>l.id===s.id))],this.sendWTSMessage(r))}}),this.socketService.socket?.on(g.CF.OnlineUsers,e=>{this.users=e})}getUsers(){let e=A.N.apiURL+"admins/contacts";this.loading||(this.loading=!0,this.spinner.show(),L.getItem("token").then(n=>{let r=new I.WM({Authorization:n});this.http.get(e,{headers:r}).subscribe(s=>{const m=[...this.drawerService.getMessageData()?.buyers||[],...s],a=Array.from(new Map(m.map(d=>[d.id,d])).values());this.buyers=a,this.usersCache=a,this.loading=!1,this.spinner.hide()},s=>{this.toastr.error(s.error.message,s.statusText,{timeOut:3e3}),this.spinner.hide(),this.utilService.handleError(s,this.router)})}))}sendWTSMessage(e){var n=this;return(0,T.Z)(function*(){if(e&&e.buyers&&e.buyers.length)try{n.spinner.show();const r=n.adminService.admin?.id,l=e.buyers.map(a=>a.id).filter(a=>a!==r).map(a=>n.api.get(`admins/chat-id?contactUid=${a}`)),m=(yield Promise.all(l)).filter(a=>a.chatId).map(a=>{const d=new FormData;return d.append("id",a.chatId),d.append("message",`WTS - ${e.modelName} - ${e.qty}\nSpecs: ${e.specs}`),d.append("messageType","wts"),e.imageKeys?.length&&e.imageKeys.forEach(x=>d.append("imageKeys[]",x)),d});yield Promise.all(m.map(a=>n.api.post("admins/chat",a,!1))),e.sent=!0,n.toastr.success(n.translate.instant("CONTACTS.WTS_MESSAGE_SENT"))}catch(r){console.error("Failed to send WTS messages:",r),n.toastr.error(n.translate.instant("CONTACTS.WTS_MESSAGE_FAILED"))}finally{n.spinner.hide()}})()}openAddContactDialog(){this.contactEmails="",this.showAddContactModal=!0}closeAddContactDialog(){this.showAddContactModal=!1}sendInvites(){var e=this;return(0,T.Z)(function*(){const n=e.contactEmails.split(",").map(s=>s.trim()).filter(s=>s.length>0);if(!n.length)return void e.toastr.warning(e.translate.instant("CONTACTS.ENTER_VALID_EMAIL"));const r=n.filter(s=>!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(s));if(r.length)e.toastr.error(e.translate.instant("CONTACTS.INVALID_EMAILS",{emails:r.join(", ")}));else{e.spinner.show();try{yield e.api.post("admins/invite-contacts",{emails:n}),e.contactEmails="",e.closeAddContactDialog(),e.getUsers()}catch(s){e.toastr.error(s?.error?.message||e.translate.instant("CONTACTS.INVITATION_FAILED"))}
1finally{e.spinner.hide()}}})()}showWelcomeAlert(){Promise.resolve().then(o.t.bind(o,35226,23)).then(e=>{e.default.fire({title:this.translate.instant("CONTACTS.ALERT_TITLE"),html:this.translate.instant("CONTACTS.ALERT_MESSAGE"),icon:"info",confirmButtonText:this.translate.instant("COMMON.BUTTON.GOT_IT")})})}}return i.\u0275fac=function(e){return new(e||i)(t.\u0275\u0275directiveInject(u.gz),t.\u0275\u0275directiveInject(I.eN),t.\u0275\u0275directiveInject(u.F0),t.\u0275\u0275directiveInject(v.t2),t.\u0275\u0275directiveInject(M._W),t.\u0275\u0275directiveInject(N.f),t.\u0275\u0275directiveInject(b.l),t.\u0275\u0275directiveInject(O.y),t.\u0275\u0275directiveInject(w.t),t.\u0275\u0275directiveInject(R.d),t.\u0275\u0275directiveInject(C.sK))},i.\u0275cmp=t.\u0275\u0275defineComponent({type:i,selectors:[["app-list"]],decls:23,vars:15,consts:[["bdColor","rgba(0, 0, 0, 0.8)","size","medium","color","#fff","type","ball-spin",3,"fullScreen"],[2,"color","white"],[1,"content-wrapper"],[1,"content"],[1,"container-fluid"],[1,"row"],[1,"col-12"],[1,"card"],[3,"title"],[1,"d-flex","justify-content-end","align-items-center","pt-4"],[1,"btn","btn-primary",3,"click"],[1,"fa","fa-plus"],[2,"cursor","pointer","color","#2196f3","font-size","1.5rem","margin-left","10px","margin-right","20px",3,"title","click"],["class","custom-modal","style","\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.6);\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1000;\n ",4,"ngIf"],[1,"card-body","table-responsive"],["class","",4,"ngFor","ngForOf"],[1,"custom-modal",2,"position","fixed","top","0","left","0","width","100%","height","100%","background","rgba(0, 0, 0, 0.6)","display","flex","align-items","center","justify-content","center","z-index","1000"],[1,"modal-content","p-3","bg-white","rounded","shadow",2,"width","400px","max-width","90%"],[1,"mt-2"],["type","text",1,"form-control",3,"placeholder","ngModel","ngModelChange"],[1,"form-text","text-muted"],[1,"d-flex","justify-content-end","mt-3"],[1,"btn","btn-secondary","mr-2",3,"click"],[1,"btn","btn-success",3,"click"],[1,""],[1,"info-box"],[1,"img-circle",2,"width","60px","height","60px",3,"src","alt","click"],[1,"info-box-content",3,"click"],[1,"info-box-text",2,"color","rgb(42, 138, 194)"],[1,"info-box-text",2,"color","rgb(5, 16, 22)"],["class","unread-badge",4,"ngIf"],[1,"info-box-longtext"],["class","ml-4",4,"ngIf"],[1,"btn","btn-success","float-right",3,"click"],[1,"unread-badge"],[1,"ml-4"],["width","60px","height","60px",1,"certified-image",3,"src"]],template:function(e,n){1&e&&(t.\u0275\u0275elementStart(0,"ngx-spinner",0)(1,"p",1),t.\u0275\u0275text(2),t.\u0275\u0275pipe(3,"translate"),t.\u0275\u0275elementEnd()(),t.\u0275\u0275elementStart(4,"div",2)(5,"section",3)(6,"div",4)(7,"div",5)(8,"div",6)(9,"div",7),t.\u0275\u0275element(10,"app-header-title",8),t.\u0275\u0275pipe(11,"translate"),t.\u0275\u0275elementStart(12,"div",9)(13,"button",10),t.\u0275\u0275listener("click",function(){return n.openAddContactDialog()}),t.\u0275\u0275element(14,"i",11),t.\u0275\u0275text(15),t.\u0275\u0275pipe(16,"translate"),t.\u0275\u0275elementEnd(),t.\u0275\u0275elementStart(17,"span",12),t.\u0275\u0275listener("click",function(){return n.showWelcomeAlert()}),t.\u0275\u0275pipe(18,"translate"),t.\u0275\u0275text(19," ? "),t.\u0275\u0275elementEnd()(),t.\u0275\u0275template(20,B,20,19,"div",13),t.\u0275\u0275elementStart(21,"div",14),t.\u0275\u0275template(22,V,23,16,"div",15),t.\u0275\u0275elementEnd()()()()()()()),2&e&&(t.\u0275\u0275property("fullScreen",!0),t.\u0275\u0275advance(2),t.\u0275\u0275textInterpolate(t.\u0275\u0275pipeBind1(3,7,"REQUEST.LOADING")),t.\u0275\u0275advance(8),t.\u0275\u0275property("title",t.\u0275\u0275pipeBind1(11,9,"CONTACTS.POTENTIAL_BUYERS")),t.\u0275\u0275advance(5),t.\u0275\u0275textInterpolate1("",t.\u0275\u0275pipeBind1(16,11,"GENERAL.INVITE_YOUR_CONTACTS")," "),t.\u0275\u0275advance(2),t.\u0275\u0275property("title",t.\u0275\u0275pipeBind1(18,13,"TABLE.HELP")),t.\u0275\u0275advance(3),t.\u0275\u0275property("ngIf",n.showAddContactModal),t.\u0275\u0275advance(2),t.\u0275\u0275property("ngForOf",n.buyers))},dependencies:[f.NgForOf,f.NgIf,v.Ro,_.d,h.Fj,h.JJ,h.On,C.X$],styles:[".unread-badge[_ngcontent-%COMP%]{display:flex;height:25px;padding:0 10px;justify-content:center;align-items:center;color:#fff;background:#e74c3c;border-radius:12px;text-align:center;font-weight:700;min-width:25px;margin-left:5px}.info-box-text[_ngcontent-%COMP%]{display:flex;margin-left:5px;align-items:center;justify-content:left}"]}),i})();const D=[{path:"",component:y},{path:":id",component:y}];let F=(()=>{class i{}return i.\u0275fac=function(e){return new(e||i)},i.\u0275mod=t.\u0275\u0275defineNgModule({type:i}),i.\u0275inj=t.\u0275\u0275defineInjector({imports:[u.Bz.forChild(D),u.Bz]}),i})();var P=o(71059);let G=(()=>{class i{}return i.\u0275fac=function(e){return new(e||i)},i.\u0275mod=t.\u0275\u0275defineNgModule({type:i}),i.\u0275inj=t.\u0275\u0275defineInjector({imports:[f.CommonModule,F,v.ef,P.O,h.u5,C.aw.forChild({isolate:!1})]}),i})()}}]);
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.