PageSourceSearch

https://sociallab.sa/chunk-Blyd7x9f.js

js sociallab.sa collected 2026-10-01 23:57:51 UTC 20,435 bytes, 1 lines download raw bytes

1import {f,c,s}from'./chunk-B85FljvH.js';import {c as ce}from'./chunk-BRsHFk4j.js';import'./chunk-C0DmzTpz.js';import {R as Ri}from'./chunk-D46YmFa5.js';import {c3 as Xr,E,D,V,bK as P,bI as Gt,aE as ut,v as vr,e as f$1,X as Xb,j as Xv,T as Tt$1,cn as pe,d4 as Pe,N as Ng,z as zg,w as w0,H as H0,Z as Zx,k as dn,l as zw,s as sk,n as nd,r as rC,m as wC,o as mv,p as GC,t as tD,q as vD,aO as cD,aP as hD,b0 as _D,aX as mD,u as al,x as tM,y as dM,L as Lb,A as r1,P as P1,B as xS,C as Vs,F as zs,I as Fi,J as GS,K as iI,M as RI,Q as us,S as ms,Y as UI,_ as tE,$ as Dn,a0 as ME,a1 as ny,a2 as go,a3 as Kd,av as on,a4 as XE,fg as Zf,a5 as LT,a6 as mA,aM as QM,a7 as mt,a8 as fy,aa as Js,ac as H_,ae as pS,ad as gd,aB as ey,af as XT,a9 as ZT,ab as Ey,ai as dy,bn as nS,ag as SC,aj as jy,al as gS,am as JT,ah as YT,b8 as an,b9 as Wm,bu as Ts,df as Wc,bv as Og,bQ as Zs,bN as Gc,b1 as ei,bO as jh,b2 as da,cp as xr,da as wr,bA as Nw,b3 as id,d0 as Jv,cS as ey$1,cT as iy,cU as ty,bV as zy,bW as W_,bD as db,bX as $y,bE as pb,ak as Ed,cA as se,bZ as M,c4 as ED,cB as vt,a as G,an as x,aR as i_,aS as Vp,aT as d_,aU as Hp,bg as mS,aD as By,ba as xy}from'./main-4WA6AAHG.js';import'./chunk-CkU8oUfw.js';var O={CREATE:"CreatePromoCode",UPDATE:"UpdatePromoCode",TOGGLE:"TogglePromoCode",DELETE:"DeletePromoCode",GET_CODES:"GetPromoCodes",GET_REDEMPTIONS:"GetPromoRedemptions"},we=(()=>{class m extends se{constructor(t,r,e){super(t,r,e,"admin/promo/");}createPromoCode(t){return this.post(O.CREATE,t)}updatePromoCode(t){return this.post(O.UPDATE,t)}togglePromoCode(t,r){return this.post(O.TOGGLE,{id:t,isActive:r})}deletePromoCode(t){return this.post(O.DELETE,{id:t})}getPromoCodes(t){return this.post(O.GET_CODES,t)}getPromoRedemptions(t){return this.post(O.GET_REDEMPTIONS,t)}static{this.\u0275fac=function(r){return new(r||m)(M(ED),M(vt),M(G))};}static{this.\u0275prov=x({token:m,factory:m.\u0275fac,providedIn:"root"});}}return m})();var Le=(m,u)=>u.value;function gi(m,u){m&1&&(Js(0,"mat-hint"),H_(1),pS(2,"translate"),gd()),m&2&&(SC(),jy(gS(2,1,"The code can't be changed after creation.")));}
1function fi(m,u){if(m&1&&(Js(0,"mat-option",6),H_(1),pS(2,"translate"),gd()),m&2){let t=u.$implicit;dy("value",t.value),SC(),jy(gS(2,2,t.label));}}function Mi(m,u){if(m&1&&(Js(0,"mat-option",6),H_(1),pS(2,"translate"),gd()),m&2){let t=u.$implicit;dy("value",t.value),SC(),jy(gS(2,2,t.label));}}function hi(m,u){if(m&1&&(Js(0,"mat-option",6),H_(1),pS(2,"translate"),gd()),m&2){let t=u.$implicit;dy("value",t.value),SC(),jy(gS(2,2,t.label));}}function _i(m,u){if(m&1){let t=i_();Js(0,"mat-form-field",3)(1,"mat-label"),H_(2),pS(3,"translate"),gd(),Js(4,"mat-select",5),zy("ngModelChange",function(e){Vp(t);let c=d_();return W_(c.model.durationUnit,e)||(c.model.durationUnit=e),Hp(e)}),XT(5,hi,3,4,"mat-option",6,Le),gd(),db(),gd();}if(m&2){let t=d_();SC(2),jy(gS(3,2,"Free period unit")),SC(2),$y("ngModel",t.model.durationUnit),pb(),SC(),JT(t.durationUnitOptions);}}var Tt=(()=>{class m{constructor(t,r,e,c$1,a,Be){this.dialogRef=t,this.data=r,this.promoAdminService=e,this.loadingService=c$1,this.errorService=a,this.toastr=Be,this.isEdit=false,this.EnumPromoType=f,this.typeOptions=[{value:f.PercentOff,label:"promoAdmin.typePercentOff"},{value:f.FixedAmountOff,label:"promoAdmin.typeFixedAmountOff"},{value:f.BonusFreePeriod,label:"promoAdmin.typeBonusFreePeriod"},{value:f.BonusPoints,label:"promoAdmin.typeBonusPoints"}],this.appliesToOptions=[{value:c.Subscription,label:"promoAdmin.appliesSubscription"},{value:c.Topup,label:"promoAdmin.appliesTopup"},{value:c.Both,label:"promoAdmin.appliesBoth"}],this.durationUnitOptions=[{value:s.Days,label:"Days"},{value:s.Months,label:"Months"}],this.model={code:"",nameAr:null,nameEn:null,notes:null,type:f.PercentOff,value:0,durationUnit:null,appliesTo:c.Both,maxDiscountAmountSar:null,minOrderAmountSar:null,planId:null,pointsPackageId:null,maxRedemptionsTotal:null,maxRedemptionsPerClient:1,validFrom:null,validTo:null,isNewSystemOnly:true},r.promo&&(this.isEdit=true,this.model=E(D({},r.promo),{validFrom:r.promo.validFrom?r.promo.validFrom.substring(0,10):null,validTo:r.promo.validTo?r.promo.validTo.substring(0,10):null}));}get isFreePeriod(){return +this.model.type===f.BonusFreePeriod}toNum(t){if(t==null||t==="")return null;let r=Number(t);return isNaN(r)?null:r}save(){let t={nameAr:this.model.nameAr||null,nameEn:this.model.nameEn||null,notes:this.model.notes||null,type:+this.model.type,value:this.toNum(this.model.value)??0,durationUnit:this.isFreePeriod?this.toNum(this.model.durationUnit):null,appliesTo:+this.model.appliesTo,maxDiscountAmountSar:this.toNum(this.model.maxDiscountAmountSar),minOrderAmountSar:this.toNum(this.model.minOrderAmountSar),planId:this.toNum(this.model.planId),pointsPackageId:this.toNum(this.model.pointsPackageId),maxRedemptionsTotal:this.toNum(this.model.maxRedemptionsTotal),maxRedemptionsPerClient:this.toNum(this.model.maxRedemptionsPerClient)??1,validFrom:this.model.validFrom||null,validTo:this.model.validTo||null,isNewSystemOnly:!!this.model.isNewSystemOnly};this.loadingService.loadingOn(),(this.isEdit?this.promoAdminService.updatePromoCode(D({id:this.model.id},t)):this.promoAdminService.createPromoCode(D({code:(this.model.code||"").trim()},t))).subscribe({next:e=>{this.loadingService.loadingOff(),e.succeeded?(this.toastr.success("Saved Successfully"),this.dialogRef.close(true)):this.errorService.setError(e,"Failed to save");},error:e=>{this.loadingService.loadingOff(),this.errorService.setError(e,"Failed to save");}});}static{this.\u0275fac=function(r){return new(r||m)(V(an),V(Wm),V(we),V(P),V(Gt),V(ut))};}static{this.\u0275cmp=Xb({type:m,selectors:[["app-promo-dialog"]],decls:131,vars:92,consts:[["mat-dialog-title",""],[1,"row"],[1,"col-md-6"],["appearance","outline",1,"w-100","m-b-8"],["matInput","","required","",3,"ngModelChange","ngModel","disabled"],[3,"ngModelChange","ngModel"],[3,"value"],["matInput","",3,"ngModelChange","ngModel"],["matInput","","type","number","step","any","required","",3,"ngModelChange","ngModel"],["matInput","","type","number","step","any",3,"ngModelChange","ngModel"],["matInput","","type","number",3,"ngModelChange","ngModel"],["matInput","","type","date",3,"ngModelChange","ngModel"],["matInput","","maxLength","1000","rows","2",3,"ngModelChange","ngModel"],["color","primary",3,"ngModelChange","ngModel"],["align","end"],["mat-stroked-button","","mat-dialog-close",""],["mat-flat-button","","color","primary",3,"click","disabled"]],template:function(r,e){r&1&&
1(Js(0,"h2",0),H_(1),pS(2,"translate"),gd(),Js(3,"mat-dialog-content")(4,"div",1)(5,"div",2)(6,"mat-form-field",3)(7,"mat-label"),H_(8),pS(9,"translate"),gd(),Js(10,"input",4),zy("ngModelChange",function(a){return W_(e.model.code,a)||(e.model.code=a),a}),gd(),db(),ZT(11,gi,3,3,"mat-hint"),gd()(),Js(12,"div",2)(13,"mat-form-field",3)(14,"mat-label"),H_(15),pS(16,"translate"),gd(),Js(17,"mat-select",5),zy("ngModelChange",function(a){return W_(e.model.appliesTo,a)||(e.model.appliesTo=a),a}),XT(18,fi,3,4,"mat-option",6,Le),gd(),db(),gd()()(),Js(20,"div",1)(21,"div",2)(22,"mat-form-field",3)(23,"mat-label"),H_(24),pS(25,"translate"),gd(),Js(26,"input",7),zy("ngModelChange",function(a){return W_(e.model.nameEn,a)||(e.model.nameEn=a),a}),gd(),db(),gd()(),Js(27,"div",2)(28,"mat-form-field",3)(29,"mat-label"),H_(30),pS(31,"translate"),gd(),Js(32,"input",7),zy("ngModelChange",function(a){return W_(e.model.nameAr,a)||(e.model.nameAr=a),a}),gd(),db(),gd()()(),Js(33,"div",1)(34,"div",2)(35,"mat-form-field",3)(36,"mat-label"),H_(37),pS(38,"translate"),gd(),Js(39,"mat-select",5),zy("ngModelChange",function(a){return W_(e.model.type,a)||(e.model.type=a),a}),XT(40,Mi,3,4,"mat-option",6,Le),gd(),db(),gd()(),Js(42,"div",2)(43,"mat-form-field",3)(44,"mat-label"),H_(45),pS(46,"translate"),gd(),Js(47,"input",8),zy("ngModelChange",function(a){return W_(e.model.value,a)||(e.model.value=a),a}),gd(),db(),Js(48,"mat-hint"),H_(49),pS(50,"translate"),gd()()()(),ZT(51,_i,7,4,"mat-form-field",3),Js(52,"div",1)(53,"div",2)(54,"mat-form-field",3)(55,"mat-label"),H_(56),pS(57,"translate"),gd(),Js(58,"input",9),zy("ngModelChange",function(a){return W_(e.model.maxDiscountAmountSar,a)||(e.model.maxDiscountAmountSar=a),a}),gd(),db(),Js(59,"mat-hint"),H_(60),pS(61,"translate"),gd()()(),Js(62,"div",2)(63,"mat-form-field",3)(64,"mat-label"),H_(65),pS(66,"translate"),gd(),Js(67,"input",9),zy("ngModelChange",function(a){return W_(e.model.minOrderAmountSar,a)||(e.model.minOrderAmountSar=a),a}),gd(),db(),gd()()(),Js(68,"div",1)(69,"div",2)(70,"mat-form-field",3)(71,"mat-label"),H_(72),pS(73,"translate"),gd(),Js(74,"input",10),zy("ngModelChange",function(a){return W_(e.model.planId,a)||(e.model.planId=a),a}),gd(),db(),Js(75,"mat-hint"),H_(76),pS(77,"translate"),gd()()(),Js(78,"div",2)(79,"mat-form-field",3)(80,"mat-label"),H_(81),pS(82,"translate"),gd(),Js(83,"input",10),zy("ngModelChange",function(a){return W_(e.model.pointsPackageId,a)||(e.model.pointsPackageId=a),a}),gd(),db(),Js(84,"mat-hint"),H_(85),pS(86,"translate"),gd()()()(),Js(87,"div",1)(88,"div",2)(89,"mat-form-field",3)(90,"mat-label"),H_(91),pS(92,"translate"),gd(),Js(93,"input",10),zy("ngModelChange",function(a){return W_(e.model.maxRedemptionsTotal,a)||(e.model.maxRedemptionsTotal=a),a}),gd(),db(),Js(94,"mat-hint"),H_(95),pS(96,"translate"),gd()()(),Js(97,"div",2)(98,"mat-form-field",3)(99,"mat-label"),H_(100),pS(101,"translate"),gd(),Js(102,"input",10),zy("ngModelChange",function(a){return W_(e.model.maxRedemptionsPerClient,a)||(e.model.maxRedemptionsPerClient=a),a}),gd(),db(),gd()()(),Js(103,"div",1)(104,"div",2)(105,"mat-form-field",3)(106,"mat-label"),H_(107),pS(108,"translate"),gd(),Js(109,"input",11),zy("ngModelChange",function(a){return W_(e.model.validFrom,a)||(e.model.validFrom=a),a}),gd(),db(),gd()(),Js(110,"div",2)(111,"mat-form-field",3)(112,"mat-label"),H_(113),pS(114,"translate"),gd(),Js(115,"input",11),zy("ngModelChange",function(a){return W_(e.model.validTo,a)||(e.model.validTo=a),a}),gd(),db(),gd()()(),Js(116,"mat-form-field",3)(117,"mat-label"),H_(118),pS(119,"translate"),gd(),Js(120,"textarea",12),zy("ngModelChange",function(a){return W_(e.model.notes,a)||(e.model.notes=a),a}),gd(),db(),gd(),Js(121,"mat-checkbox",13),zy("ngModelChange",function(a){return W_(e.model.isNewSystemOnly,a)||(e.model.isNewSystemOnly=a),a}),H_(122),pS(123,"translate"),gd(),db(),gd(),Js(124,"mat-dialog-actions",14)(125,"button",15),H_(126),pS(127,"translate"),gd(),Js(128,"button",16),Ey("click",function(){return e.save()}),H_(129),pS(130,"translate"),gd()()),r&2&&(SC(),jy(gS(2,44,e.isEdit?"Edit promo code":"New promo code")),SC(7),jy(gS(9,46,"Code")),SC(2),$y("ngModel",e.model.code),dy("disabled",e.isEdit),pb(),SC(),YT(e.isEdit?11:-1),SC(4),jy(gS(16,48,"Applies to")),SC(2),$y("ngModel",e.model.appliesTo),pb(),SC(),JT(e.appliesToOptions),SC(6),jy(gS(25,50,"Name (EN)")),SC(2),$y("ngModel",e.model.nameEn),pb(),SC(4),jy(gS(31,52,"Name (AR)")),SC(2),$y("ngModel",e.model.nameAr),pb(),SC(
15),jy(gS(38,54,"Type")),SC(2),$y("ngModel",e.model.type),pb(),SC(),JT(e.typeOptions),SC(5),jy(gS(46,56,"Value")),SC(2),$y("ngModel",e.model.value),pb(),SC(2),jy(gS(50,58,"Percent for % off, SAR for fixed off, points for bonus points, period count for a free period.")),SC(2),YT(e.isFreePeriod?51:-1),SC(5),jy(gS(57,60,"Max discount (SAR)")),SC(2),$y("ngModel",e.model.maxDiscountAmountSar),pb(),SC(2),jy(gS(61,62,"Cap for a percent-off discount (optional).")),SC(5),jy(gS(66,64,"Min order (SAR)")),SC(2),$y("ngModel",e.model.minOrderAmountSar),pb(),SC(5),jy(gS(73,66,"Restrict to plan ID")),SC(2),$y("ngModel",e.model.planId),pb(),SC(2),jy(gS(77,68,"Leave empty for any.")),SC(5),jy(gS(82,70,"Restrict to package ID")),SC(2),$y("ngModel",e.model.pointsPackageId),pb(),SC(2),jy(gS(86,72,"Leave empty for any.")),SC(6),jy(gS(92,74,"Max total redemptions")),SC(2),$y("ngModel",e.model.maxRedemptionsTotal),pb(),SC(2),jy(gS(96,76,"Leave empty for unlimited.")),SC(5),jy(gS(101,78,"Max per client")),SC(2),$y("ngModel",e.model.maxRedemptionsPerClient),pb(),SC(5),jy(gS(108,80,"Valid from")),SC(2),$y("ngModel",e.model.validFrom),pb(),SC(4),jy(gS(114,82,"Valid to")),SC(2),$y("ngModel",e.model.validTo),pb(),SC(3),jy(gS(119,84,"Notes")),SC(2),$y("ngModel",e.model.notes),pb(),SC(),$y("ngModel",e.model.isNewSystemOnly),pb(),SC(),Ed(" ",gS(123,86,"New-system (points) clients only")," "),SC(4),jy(gS(127,88,"Cancel")),SC(2),dy("disabled",!e.isEdit&&!e.model.code||e.model.value===null||e.model.value===""),SC(),Ed(" ",gS(130,90,"Save")," "));},dependencies:[Tt$1,Ng,Ts,Wc,Og,Zs,Gc,Xv,zg,w0,ei,H0,jh,Zx,dn,da,xr,wr,zw,Nw,sk,nd,id,rC,wC,mv,GC,tD,vD,al,tM,dM,Lb,r1,P1,xS,Vs,zs,GS,iI,RI,us,UI,tE,Dn,ME,ny,Jv,ey$1,iy,ty,go,Kd,XE,LT,mA,mt],encapsulation:2,changeDetection:1});}}return m})();var Si=()=>["Create a code, choose whether it is a percentage or a fixed amount, and set the usage cap.","A subscription discount applies to the first term only, not to renewals.","Set an expiry date so a forgotten code cannot be redeemed forever."],Ae=()=>["Admin_AdjustPoints"],vi=()=>[10,20,50],Ci=(m,u)=>u.id;function yi(m,u){if(m&1){let t=i_();Js(0,"button",13),Ey("click",function(){Vp(t);let e=d_();return Hp(e.openDialog())}),Js(1,"mat-icon"),H_(2,"add"),gd(),H_(3),pS(4,"translate"),gd();}m&2&&(SC(3),Ed(" ",gS(4,1,"New promo code")," "));}function Pi(m,u){if(m&1){let t=i_();Js(0,"button",19),pS(1,"translate"),Ey("click",function(){Vp(t);let e=d_().$implicit,c=d_();return Hp(c.openDialog(e))}),Js(2,"mat-icon"),H_(3,"edit"),gd()();}m&2&&dy("matTooltip",gS(1,1,"Edit"));}function xi(m,u){if(m&1){let t=i_();Js(0,"button",20),pS(1,"translate"),Ey("click",function(){Vp(t);let e=d_().$implicit,c=d_();return Hp(c.toggle(e))}),Js(2,"mat-icon"),H_(3),gd()();}if(m&2){let t=d_().$implicit;dy("matTooltip",gS(1,2,t.isActive?"Deactivate":"Activate")),SC(3),jy(t.isActive?"toggle_on":"toggle_off");}}function Ei(m,u){if(m&1){let t=i_();Js(0,"button",21),pS(1,"translate"),Ey("click",function(){Vp(t);let e=d_().$implicit,c=d_();return Hp(c.confirmDelete(e))}),Js(2,"mat-icon"),H_(3,"delete"),gd()();}m&2&&dy("matTooltip",gS(1,1,"Delete"));}
1function Ti(m,u){if(m&1&&(Js(0,"tr",11)(1,"td",14),H_(2),gd(),Js(3,"td",10),H_(4),pS(5,"translate"),gd(),Js(6,"td",10),H_(7),pS(8,"number"),gd(),Js(9,"td",10),H_(10),pS(11,"translate"),gd(),Js(12,"td",10),H_(13),gd(),Js(14,"td",10)(15,"span"),H_(16),pS(17,"translate"),gd()(),Js(18,"td",15),ey(19,Pi,4,3,"button",16)(20,xi,4,4,"button",17)(21,Ei,4,3,"button",18),gd()()),m&2){let t=u.$implicit,r=d_();SC(2),jy(t.code),SC(2),jy(gS(5,14,r.typeLabel(t.type))),SC(3),jy(mS(8,16,t.value,"1.0-2")),SC(3),jy(gS(11,19,r.appliesToLabel(t.appliesTo))),SC(3),By(" ",t.redemptionCount,"",t.maxRedemptionsTotal?" / "+t.maxRedemptionsTotal:""," "),SC(2),xy("text-success",t.isActive)("text-muted",!t.isActive),SC(),Ed(" ",gS(17,21,t.isActive?"Active":"Inactive")," "),SC(3),dy("ngxPermissionsOnly",nS(23,Ae)),SC(),dy("ngxPermissionsOnly",nS(24,Ae)),SC(),dy("ngxPermissionsOnly",nS(25,Ae));}}function bi(m,u){m&1&&(Js(0,"tr")(1,"td",22),H_(2),pS(3,"translate"),gd()()),m&2&&(SC(2),jy(gS(3,1,"No promo codes yet.")));}var Zi=(()=>{class m{constructor(t,r,e,c,a,Be){this.promoAdminService=t,this.loadingService=r,this.errorService=e,this.toastr=c,this.dialog=a,this.dialogConfigService=Be,this.promos=[],this.isLoading=false,this.pageNumber=0,this.pageSize=20,this.total=0;}ngOnInit(){this.loadPromos();}loadPromos(){this.isLoading=true,this.loadingService.beginSuppress(),this.promoAdminService.getPromoCodes({pageNumber:this.pageNumber,pageSize:this.pageSize}).pipe(Xr(()=>{this.isLoading=false,this.loadingService.endSuppress();})).subscribe({next:t=>{this.promos=t.succeeded&&Array.isArray(t.data)?t.data:[],this.total=t.count??this.promos.length;},error:t=>this.errorService.setError(t,"Failed to load")});}onPage(t){this.pageNumber=t.pageIndex,this.pageSize=t.pageSize,this.loadPromos();}openDialog(t=null){let r=this.dialogConfigService.getDefaultDialogConfig();r.width="760px",this.dialog.open(Tt,E(D({},r),{data:{promo:t}})).afterClosed().subscribe(c=>{c&&this.loadPromos();});}toggle(t){this.loadingService.loadingOn(),this.promoAdminService.togglePromoCode(t.id,!t.isActive).subscribe({next:r=>{this.loadingService.loadingOff(),r.succeeded?(this.toastr.success("Updated Successfully"),this.loadPromos()):this.errorService.setError(r,"Failed to Update");},error:r=>{this.loadingService.loadingOff(),this.errorService.setError(r,"Failed to Update");}});}confirmDelete(t){this.dialog.open(Ri,{data:{confirmed:true}}).afterClosed().subscribe(e=>{(e===true||e?.confirmed)&&this.delete(t);});}delete(t){this.loadingService.loadingOn(),this.promoAdminService.deletePromoCode(t.id).subscribe({next:r=>{this.loadingService.loadingOff(),r.succeeded?(this.toastr.success("Deleted Successfully"),this.loadPromos()):this.errorService.setError(r,"Fail to delete!");},error:r=>{this.loadingService.loadingOff(),this.errorService.setError(r,"Fail to delete!");}});}typeLabel(t){switch(t){case f.PercentOff:return "promoAdmin.typePercentOff";case f.FixedAmountOff:return "promoAdmin.typeFixedAmountOff";case f.BonusFreePeriod:return "promoAdmin.typeBonusFreePeriod";case f.BonusPoints:return "promoAdmin.typeBonusPoints";default:return ""}}appliesToLabel(t){switch(t){case c.Subscription:return "promoAdmin.appliesSubscription";case c.Topup:return "promoAdmin.appliesTopup";case c.Both:return "promoAdmin.appliesBoth";default:return ""}}static{this.\u0275fac=function(r){return new(r||m)(V(we),V(P),V(Gt),V(ut),V(vr),V(f$1))};}static{this.\u0275cmp=Xb({type:m,selectors:[["app-admin-promo-list"]],decls:40,vars:34,consts:[["helpKey","admin-promo-list","title","Promo codes","intro","Discount codes for subscriptions and points top-ups.",3,"steps"],[1,"cardWithShadow"],[1,"d-flex","justify-content-between","align-items-center"],[1,"m-b-0"],["mat-flat-button","","color","primary",3,"click",4,"ngxPermissionsOnly"],[1,"p-24"],[1,"text-muted","f-s-13"],[2,"overflow-x","auto"],[1,"w-100",2,"border-collapse","collapse","min-width","720px"],[1,"text-muted","f-s-13",2,"text-align","start"],[1,"p-8"],[2,"border-top","1px solid var(--mat-divider-color, #eee)"],[3,"page","length","pageSize","pageIndex","pageSizeOptions"],["mat-flat-button","","color","primary",3,"click"],[1,"p-8","f-w-600"],[1,"p-8","text-end",2,"white-space","nowrap"],["mat-icon-button","","color","primary",3,"matTooltip","click",4,"ngxPermissionsOnly"],["mat-icon-button","",3,"matTooltip","click",4,"ngxPermissionsOnly"],["mat-icon-button","","color","warn",3,"matTooltip","click",4,"ngxPermissionsOnly"],["mat-icon-button","","color","primary",3,"click","matTooltip"],["mat-icon-button","",3,"click","matTooltip"],["mat-icon-button","","color","warn",3,"click","matTooltip"],["colspan","7",1,"p-16","text-center","text-muted"]],template:function(r,e){r&1&&
1(fy(0,"app-page-help",0),Js(1,"mat-card",1)(2,"mat-card-header",2)(3,"mat-card-title")(4,"h4",3),H_(5),pS(6,"translate"),gd()(),ey(7,yi,5,3,"button",4),gd(),Js(8,"mat-card-content",5)(9,"p",6),H_(10),pS(11,"translate"),gd(),Js(12,"div",7)(13,"table",8)(14,"thead")(15,"tr",9)(16,"th",10),H_(17),pS(18,"translate"),gd(),Js(19,"th",10),H_(20),pS(21,"translate"),gd(),Js(22,"th",10),H_(23),pS(24,"translate"),gd(),Js(25,"th",10),H_(26),pS(27,"translate"),gd(),Js(28,"th",10),H_(29),pS(30,"translate"),gd(),Js(31,"th",10),H_(32),pS(33,"translate"),gd(),fy(34,"th",10),gd()(),Js(35,"tbody"),XT(36,Ti,22,26,"tr",11,Ci),ZT(38,bi,4,3,"tr"),gd()()(),Js(39,"mat-paginator",12),Ey("page",function(a){return e.onPage(a)}),gd()()()),r&2&&(dy("steps",nS(31,Si)),SC(5),jy(gS(6,15,"Promo codes")),SC(2),dy("ngxPermissionsOnly",nS(32,Ae)),SC(3),jy(gS(11,17,"SocialLab-billing promo codes for the new plans model \u2014 a discount on a subscription or top-up, bonus top-up points, or a free period. New-system (points) clients only.")),SC(7),jy(gS(18,19,"Code")),SC(3),jy(gS(21,21,"Type")),SC(3),jy(gS(24,23,"Value")),SC(3),jy(gS(27,25,"Applies to")),SC(3),jy(gS(30,27,"Redemptions")),SC(3),jy(gS(33,29,"Status")),SC(4),JT(e.promos),SC(2),YT(e.promos.length===0&&!e.isLoading?38:-1),SC(),dy("length",e.total)("pageSize",e.pageSize)("pageIndex",e.pageNumber)("pageSizeOptions",nS(33,vi)));},dependencies:[Xv,Tt$1,ce,pe,Pe,Ng,zg,w0,H0,Zx,dn,zw,sk,nd,rC,wC,mv,GC,tD,vD,cD,hD,_D,mD,al,tM,dM,Lb,r1,P1,xS,Vs,zs,Fi,GS,iI,RI,us,ms,UI,tE,Dn,ME,ny,go,Kd,on,XE,Zf,LT,mA,QM,mt],encapsulation:2,changeDetection:1});}}return m})();export{Zi as AdminPromoListComponent};

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.