1import{a as J}from"./chunk-PAI7GEBE.js";import{a as K}from"./chunk-S3H5BOBT.js";import{a as w,b as H}from"./chunk-S2S56IIJ.js";import"./chunk-6TWZGRQU.js";import"./chunk-RVOSF3NG.js";import"./chunk-MZEH54HJ.js";import"./chunk-YVCDISZK.js";import"./chunk-CJDPOHK3.js";import"./chunk-SQP74ACQ.js";import"./chunk-XJS66HA4.js";import{a as Y}from"./chunk-EG7H76UG.js";import{a as j}from"./chunk-E2SIDY6Y.js";import"./chunk-FOH7CA2I.js";import"./chunk-VNM7EDEJ.js";import"./chunk-2MLDW2D3.js";import"./chunk-46DG3HEL.js";import"./chunk-43YBI5ZD.js";import"./chunk-63QB7G3W.js";import"./chunk-2LVETGW4.js";import{d as Q}from"./chunk-MT3MZWWC.js";import"./chunk-IU6AW6YZ.js";import"./chunk-QZYD6EK3.js";import{j as W}from"./chunk-NLNCJF7P.js";import"./chunk-4KC5VZEM.js";import{Ab as O,Ad as G,Bb as v,Cb as i,Db as o,Eb as T,Ed as X,Ib as M,Jb as N,Mc as y,Nb as b,Rb as d,Sb as x,Tb as h,Ua as l,Vb as u,Xb as _,Z as S,ca as f,da as E,fb as q,gc as A,gd as V,jc as c,kc as s,lc as R,oa as p,vb as C,wb as g,yb as z,za as L,zb as I}from"./chunk-MEWEEZGC.js";import"./chunk-WYC6G435.js";var ee=(n,e)=>e.code;function te(n,e){n&1&&T(0,"app-loading");}function ne(n,e){if(n&1&&(i(0,"div",15),c(1),o()),n&2){let t=_();l(),s(t.loadError());}}function ie(n,e){if(n&1&&(i(0,"span"),c(1),M(2),d(3,3),N(),o()),n&2){let t=_();l(),R("",t.purchasedRemaining," ");}}function oe(n,e){if(n&1&&(i(0,"div",20)(1,"div",22)(2,"strong"),c(3),o(),i(4,"span"),d(5,1),o()(),i(6,"div",23)(7,"span"),c(8),M(9),d(10,2),N(),o(),C(11,ie,4,1,"span"),o()()),n&2){let t=e;l(3),s(t.creditsRemaining),l(5),R("",t.allowanceRemaining," "),l(3),g(t.purchasedRemaining>0?11:-1);}}function ae(n,e){n&1&&(i(0,"div",21)(1,"p",24),d(2,4),o()());}function re(n,e){if(n&1){let t=b();i(0,"app-billing-gate",25),u("saved",function(){f(t);let a=_(2);return E(a.loadCatalog());}),o();}}function le(n,e){if(n&1){let t=b();i(0,"button",43),u("click",function(){let a=f(t).$implicit,P=_(3);return E(P.selectVariant(a.code));}),i(1,"span",44),c(2),o(),i(3,"span",45),c(4),o(),i(5,"span",46),c(6),o()();}if(n&2){let t=e.$implicit,r=_(3);A("selected",t.code===r.selectedCode()),l(2),s(t.units),l(2),s(r.view.unitLabel),l(2),s(r.formatPrice(t.unitPrice));}}function ce(n,e){if(n&1){let t=b();i(0,"button",47),u("click",function(){f(t);let a=_(3);return E(a.payWithBalance());}),T(1,"i",48),i(2,"span"),d(3,7),o()();}if(n&2){let t=_(3);v("disabled",t.payingWithBalance()),l(3),x(t.formatPrice(t.totalPrice())),h(3);}}function _e(n,e){n&1&&(i(0,"span"),d(1,8),o());}function se(n,e){n&1&&(i(0,"span"),d(1,9),o());}function de(n,e){if(n&1&&(i(0,"p",41),d(1,10),o()),n&2){let t=e,r=_(3);l(),x(r.formatPrice(t.withdrawable))(r.formatPrice(t.topUp)),h(1);}}function me(n,e){if(n&1&&(i(0,"li"),c(1),o()),n&2){let t=e.$implicit;l(),s(t);}}function pe(n,e){if(n&1){let t=b();i(0,"div",26),I(1,le,7,5,"button",27,ee),o(),i(3,"div",28)(4,"span",29),d(5,5),o(),i(6,"div",30)(7,"button",31),u("click",function(){f(t);let a=_(2);return E(a.decrement());}),T(8,"i",32),o(),i(9,"span",33),c(10),o(),i(11,"button",31),u("click",function(){f(t);let a=_(2);return E(a.increment());}),T(12,"i",34),o()()(),i(13,"div",35)(14,"div",36)(15,"span"),c(16),o(),i(17,"strong"),c(18),o()(),i(19,"div",37)(20,"span"),d(21,6),o(),i(22,"strong"),c(23),o()()(),C(24,ce,4,2,"button",38),i(25,"button",39),u("click",function(){f(t);let a=_(2);return E(a.proceedToPayment());}),T(26,"i",40),C(27,_e,2,0,"span")(28,se,2,0,"span"),o(),C(29,de,2,2,"p",41),i(30,"ul",42),I(31,me,2,1,"li",null,z),o();}if(n&2){let t,r=_(),a=_();l(),O(r.variants),l(6),v("disabled",a.quantity()<=1),l(3),s(a.quantity()),l(),v("disabled",a.quantity()>=r.maxQuantity),l(5),s(a.view.unitLabel),l(2),s(a.totalUnits()),l(5),s(a.formatPrice(a.totalPrice())),l(),g(a.canPayWithBalance()?24:-1),l(),A("secondary-btn",a.canPayWithBalance()),l(2),g(a.canPayWithBalance()?27:28),l(2),g((t=r.balance)?29:-1,t),l(2),O(a.view.notes);}}function Ce(n,e){if(n&1&&(i(0,"header",16)(1,"div",17),c(2,"\u2728"),o(),i(3,"h1",18),c(4),o(),i(5,"p",19),c(6),o()(),C(7,oe,12,3,"div",20),C(8,ae,3,0,"div",21)(9,re,1,0,"app-billing-gate")(10,pe,33,11)),n&2){let t,r=_();
1l(4),s(r.view.title),l(2),s(r.view.subtitle),l(),g((t=r.status())?7:-1,t),l(),g(e.canPurchase?r.step()==="billing"?9:10:8);}}var Z=class n{purchases=S(H);aiService=S(Q);router=S(W);location=S(V);notification=S(j);isBrowser=X(S(L));isLoading=p(!0);loadError=p("");catalog=p(null);status=p(null);view=K(w.aiCredits);step=p("packages");selectedCode=p("");quantity=p(1);selectedVariant=y(()=>this.catalog()?.variants.find(e=>e.code===this.selectedCode())??null);totalPrice=y(()=>{let e=this.selectedVariant();return e?e.unitPrice*this.quantity():0;});totalUnits=y(()=>{let e=this.selectedVariant();return e?e.units*this.quantity():0;});currencySymbol=y(()=>this.catalog()?.currency==="TRY"?"\u20BA":"\u20AC");canPayWithBalance=y(()=>{let e=this.catalog()?.balance;return e?.canPayWithBalance===!0&&this.totalPrice()>0&&e.withdrawable+e.topUp>=this.totalPrice();});payingWithBalance=p(!1);ngOnInit(){this.loadCatalog(),this.aiService.getStatus().subscribe({next:e=>this.status.set(e),error:()=>{}});}loadCatalog(){this.purchases.getCatalog(w.aiCredits).subscribe({next:e=>{this.catalog.set(e),this.step.set(e.requiresBillingInfo?"billing":"packages");let t=e.variants[Math.floor(e.variants.length/2)]??e.variants[0];this.selectedCode.set(t?.code??""),this.isLoading.set(!1);},error:()=>{this.loadError.set("Couldn't load credit packages. Please try again."),this.isLoading.set(!1);}});}selectVariant(e){this.selectedCode.set(e);}increment(){let e=this.catalog()?.maxQuantity??1;this.quantity()<e&&this.quantity.update(t=>t+1);}decrement(){this.quantity()>1&&this.quantity.update(e=>e-1);}formatPrice(e){let t=Number.isInteger(e)?`${e}`:e.toFixed(2);return`${this.currencySymbol()}${t}`;}proceedToPayment(){let e=this.selectedVariant(),t=this.catalog();!e||!t?.canPurchase||this.router.navigate(["/card-payment"],{state:{paymentContext:{amount:this.totalPrice(),originalAmount:this.totalPrice(),discountAmount:0,planName:this.view.title,seatCount:0,termMonths:0,currency:t.currency,oneOffItemType:t.itemType,oneOffVariantCode:e.code,oneOffQuantity:this.quantity(),oneOffSummary:this.quantity()>1?""+this.quantity()+" \xD7 "+e.units+" credits":""+e.units+" credits"}}});}payWithBalance(){let e=this.selectedVariant(),t=this.catalog();!e||!t?.canPurchase||!this.canPayWithBalance()||this.payingWithBalance()||(this.payingWithBalance.set(!0),this.purchases.payWithBalance(t.itemType,e.code,this.quantity()).subscribe({next:()=>{this.payingWithBalance.set(!1),this.notification.showSuccess("Paid from your balance. Your purchase is ready."),this.router.navigate(["/app/store"]);},error:()=>{this.payingWithBalance.set(!1),this.notification.showError("We couldn't complete the purchase from your balance. Please try again."),this.loadCatalog();}}));}goBack(){if(this.isBrowser&&window.history.length>1){this.location.back();return;}this.router.navigate(["/app/store"]);}static ɵfac=function(t){return new(t||n)();};static ɵcmp=q({type:n,selectors:[["app-ai-credits"]],decls:9,vars:1,consts:()=>{let e;e="Back";let t;t="credits right now";let r;r="from your plan (resets monthly)";let a;a="purchased (carries over)";let P;P="Credit packages aren't available for this account right now.";let $;$="Quantity";let D;D="Total";let F;F="Pay "+"\uFFFD0\uFFFD"+" from my balance";let k;k="Pay by card instead";let U;U="Continue to payment";let B;return B="Your balance: "+"\uFFFD0\uFFFD"+" from client payments \xB7 "+"\uFFFD1\uFFFD"+" added.",[e,t,r,a,P,$,D,F,k,U,B,[1,"ai-credits-page"],[1,"ai-credits-shell"],["type","button",1,"back-link",3,"click"],[1,"bi","bi-arrow-left"],[1,"load-error"],[1,"page-head"],[1,"page-badge"],[1,"page-title"],[1,"page-sub"],[1,"balance-strip"],[1,"blocked-card"],[1,"balance-main"],[1,"balance-split"],[1,"blocked-text"],[3,"saved"],[1,"variants"],["type","button",1,"variant",3,"selected"],[1,"qty-row"],[1,"qty-label"],[1,"qty-controls"],["type","button",1,"qty-btn",3,"click","disabled"],[1,"bi","bi-dash"],[1,"qty-value"],[1,"bi","bi-plus"],[1,"summary"],[1,"summary-line"],[1,"summary-line","total"],["type","button",1,"primary-btn","wide",3,"disabled"],["type","button",1,"primary-btn","wide",3,"click"],[1,"bi","bi-lock-fill"],[1,"balance-line"],[1,"notes"],["type","button",1,"variant",3,"click"],[1,"variant-units"],[1,"variant-units-label"],[1,"variant-price"],["type","button",1,"primary-btn","wide",3,"click","disabled"],[1,"bi","bi-wallet2"]];},template:function(t,r){if(t&1&&(i(0,"div",11)(1,"div",12)(2,"button",13),u("click",function(){return r.goBack();}),T(3,"i",14),i(4,"span"),d(5,0),o()(),C(6,te,1,0,"app-loading")(7,ne,2,1,"div",15)(8,Ce,11,4),o()()),t&2){let a;l(6),g(r.isLoading()?6:r.loadError()?7:(a=r.catalog())?8:-1,a);}},dependencies:[G,Y,J],styles:[".ai-credits-page[_ngcontent-%COMP%]{min-height:100vh;background:var(--color-surface);padding:2rem 1rem 3rem;display:flex;justify-content:center}.ai-credits-shell[_ngcontent-%COMP%]{width:100%;max-width:560px}.back-link[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:.4rem;background:none;border:none;padding:.25rem 0;margin-bottom:1.25rem;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);transition:color var(--transition)}.back-link[_ngcontent-%COMP%]:hover{color:var(--color-primary)}.load-error[_ngcontent-%COMP%]{padding:1rem;border-radius:var(--radius);background:var(--color-bg);color:var(--color-error);text-align:center}.page-head[_ngcontent-%COMP%]{text-align:center;margin-bottom:1.5rem}.page-badge[_ngcontent-%COMP%]{width:52px;height:52px;margin:0 auto .75rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;background:var(--color-bg);box-shadow:0 4px 16px #00000014}.page-title[_ngcontent-%COMP%]{margin:0 0 .4rem;font-size:1.5rem;font-weight:700;color:var(--color-text)}.page-sub[_ngcontent-%COMP%]{margin:0 auto;max-width:44ch;font-size:.875rem;line-height:1.5;color:var(--color-text-secondary)}.balance-strip[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:.85rem 1rem;margin-bottom:1.25rem;border-radius:var(--radius);background:var(--color-bg);border:1px solid var(--color-gray-200)}.balance-main[_ngcontent-%COMP%]{display:flex;align-items:baseline;gap:.4rem;font-size:.875rem;color:var(--color-text-secondary)}.balance-main[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:1.4rem;color:var(--color-primary)}.balance-split[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:.15rem;font-size:.75rem;color:var(--color-text-muted);text-align:right}.variants[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem}.variant[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:1rem .75rem;cursor:pointer;border-radius:14px;border:2px solid var(--color-gray-200);background:var(--color-bg);transition:border-color var(--transition),transform var(--transition),box-shadow var(--transition)}.variant[_ngcontent-%COMP%]:hover{border-color:var(--color-primary);transform:translateY(-2px)}.variant.selected[_ngcontent-%COMP%]{border-color:var(--color-primary);box-shadow:0 0 0 3px #03a79126}.variant-units[_ngcontent-%COMP%]{font-size:1.5rem;font-weight:700;line-height:1;color:var(--color-text)}.variant-units-label[_ngcontent-%COMP%]{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted)}.variant-price[_ngcontent-%COMP%]{margin-top:.35rem;font-weight:600;color:var(--color-primary)}.qty-row[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:var(--radius);background:var(--color-bg);border:1px solid var(--color-gray-200);margin-bottom:1rem}.qty-label[_ngcontent-%COMP%]{font-weight:600;color:var(--color-text)}.qty-controls[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.75rem}.qty-btn[_ngcontent-%COMP%]{width:32px;height:32px;border-radius:8px;border:2px solid var(--color-gray-200);background:var(--color-bg);color:var(--color-text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition)}.qty-btn[_ngcontent-%COMP%]:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.qty-btn[_ngcontent-%COMP%]:disabled{opacity:.3;cursor:not-allowed}.qty-value[_ngcontent-%COMP%]{min-width:2rem;text-align:center;font-size:1.15rem;font-weight:700;color:var(--color-primary)}.summary[_ngcontent-%COMP%]{padding:.9rem 1rem;border-radius:var(--radius);background:var(--color-bg);border:1px solid var(--color-gray-200);margin-bottom:1.25rem}.summary-line[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;color:var(--color-text-secondary);padding:.2rem 0}.summary-line.total[_ngcontent-%COMP%]{margin-top:.4rem;padding-top:.6rem;border-top:1px solid var(--color-gray-200);font-size:1rem;color:var(--color-text)}.summary-line.total[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-size:1.25rem;color:var(--color-primary)}.primary-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.25rem;border:none;border-radius:var(--radius);background:var(--color-primary);color:var(--color-on-primary, #fff);font-weight:600;cursor:pointer;transition:background var(--transition),transform var(--transition)}.primary-btn[_ngcontent-%COMP%]:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.primary-btn.wide[_ngcontent-%COMP%]{width:100%}.blocked-card[_ngcontent-%COMP%]{padding:1.5rem;border-radius:16px;background:var(--color-bg);border:1px solid var(--color-gray-200);text-align:center}.blocked-text[_ngcontent-%COMP%]{margin:0 0 1rem;color:var(--color-text-secondary)}.notes[_ngcontent-%COMP%]{margin:1.25rem 0 0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.35rem;font-size:.75rem;line-height:1.5;color:var(--color-text-muted)}@media(max-width:480px){.ai-credits-page[_ngcontent-%COMP%]{padding:1.25rem .75rem 2rem}.balance-split[_ngcontent-%COMP%]{text-align:left}}.secondary-btn[_ngcontent-%COMP%]{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.balance-line[_ngcontent-%COMP%]{margin:.5rem 0 0;font-size:.75rem;line-height:1.5;color:var(--color-text-muted);text-align:center}"]});};export{Z as AiCreditsComponent};/**i18n:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855*/
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.