PageSourceSearch

https://www.sponso.in/_app/immutable/nodes/28.DGA9taIg.js

js sponso.in collected 2026-10-02 01:03:41 UTC 25,491 bytes, 1 lines download raw bytes

1import"../chunks/CWj6FrbW.js";import"../chunks/K9bMRwDS.js";import{p as Ta,D as ja,i as $a,f as k,h as La,a as Fe,b as Me,u as j,t as E,I as g,g as x,j as qa,$ as Ba,s as r,c as s,L as b,o as e,B as Y,C as i,W as Ha,F as ve,q as y,A as v,r as t,k as Ge,H as me,v as Ja,J as I,N as Va,n as we,K as Ka,O as w,P as Qa,Q as oa,R as da,T as Oe,X as Te}from"../chunks/CrZuSITo.js";import{C as Wa}from"../chunks/DcWUAgBk.js";import{i as je}from"../chunks/BWXuU_zM.js";var Xa=k('<span class="popular-badge svelte-3a36ny">Popular</span>'),Ya=k('<span class="bonus svelte-3a36ny"> </span>'),Za=k('<div class="savings svelte-3a36ny"> </div>'),et=k('<p class="package-description svelte-3a36ny"> </p>'),at=k('<div><div class="package-header svelte-3a36ny"><div class="package-name svelte-3a36ny"> <!></div> <div> </div></div> <div class="package-pricing svelte-3a36ny"><div class="credits svelte-3a36ny"><span class="credit-value svelte-3a36ny"> </span> <!></div> <div class="price svelte-3a36ny"> </div> <!></div> <div class="package-stats svelte-3a36ny"><span> </span></div> <!> <div class="package-actions svelte-3a36ny"><button class="btn-edit svelte-3a36ny">Edit</button> <button class="btn-delete svelte-3a36ny">Delete</button></div></div>'),tt=k('<div class="empty-state svelte-3a36ny"><p>No credit packages yet</p> <button class="btn-primary svelte-3a36ny">Create First Package</button></div>'),st=k('<img alt="" class="user-avatar svelte-3a36ny"/>'),rt=k('<div class="user-avatar-placeholder svelte-3a36ny"> </div>'),lt=k('<span class="bonus-text svelte-3a36ny"> </span>'),nt=k('<tr><td class="svelte-3a36ny"><div class="user-cell svelte-3a36ny"><!> <div><div class="user-name svelte-3a36ny"> </div> <div class="user-email svelte-3a36ny"> </div></div></div></td><td class="svelte-3a36ny"> </td><td class="svelte-3a36ny"><span class="credits-badge svelte-3a36ny"> <!></span></td><td class="svelte-3a36ny"> </td><td class="svelte-3a36ny"><span> </span></td><td class="svelte-3a36ny"> </td></tr>'),it=k('<tr><td colspan="6" class="empty-row svelte-3a36ny">No purchases yet</td></tr>'),vt=k('<div class="modal-overlay svelte-3a36ny"><div class="modal svelte-3a36ny"><div class="modal-header svelte-3a36ny"><h2 class="svelte-3a36ny"> </h2> <button class="close-btn svelte-3a36ny">&times;</button></div> <form class="modal-body svelte-3a36ny"><div class="form-grid svelte-3a36ny"><div class="form-group svelte-3a36ny"><label for="name" class="svelte-3a36ny">Package Name *</label> <input id="name" type="text" placeholder="e.g., Starter Pack" required class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="slug" class="svelte-3a36ny">Slug *</label> <input id="slug" type="text" placeholder="e.g., starter-pack" pattern="[a-z0-9-]+" required class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="credits" class="svelte-3a36ny">Credits *</label> <input id="credits" type="number" min="1" required class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="price" class="svelte-3a36ny">Price *</label> <input id="price" type="number" min="0" step="0.01" required class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="currency" class="svelte-3a36ny">Currency</label> <select id="currency" class="svelte-3a36ny"><option>INR (₹)</option><option>USD ($)</option></select></div> <div class="form-group svelte-3a36ny"><label for="bonusCredits" class="svelte-3a36ny">Bonus Credits</label> <input id="bonusCredits" type="number" min="0" class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="savingsPercent" class="svelte-3a36ny">Savings % (optional)</label> <input id="savingsPercent" type="number" min="0" max="100" placeholder="e.g., 20" class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="sortOrder" class="svelte-3a36ny">Sort Order</label> <input id="sortOrder" type="number" min="0" class="svelte-3a36ny"/></div> <div class="form-group checkbox-group svelte-3a36ny"><label class="svelte-3a36ny"><input type="checkbox" class="svelte-3a36ny"/> Active</label> <label class="svelte-3a36ny"><input type="checkbox" class="svelte-3a36ny"/> Popular</label></div> <div class="form-group full-width svelte-3a36ny"><label for="description" class="svelte-3a36ny">Description</label> <textarea id="description" placeholder="Package description..." rows="2" class="svelte-3a36ny"></textarea></div> <div class="form-group full-width section-divider svelte-3a36ny"><h3 class="svelte-3a36ny">Platform Product IDs</h3> <p class="hint-text svelte-3a36ny">Enter product IDs from each platform. Flutter app fetches prices directly from stores.</p></div> <div class="form-group full-width platform-ids-grid svelte-3a36ny"><div class="platform-field svelte-3a36ny"><label for="appleProductId" class="svelte-3a36ny">Apple Product ID (iOS)</label> <input id="appleProductId" type="text" placeholder="com.weboorse.sponso.credits.100" class="svelte-3a36ny"/></div> <div class="platform-field svelte-3a36ny"><label for="googlePlayProductId" class="svelte-3a36ny">Google Play Product ID (Android)</label> <input id="googlePlayProductId" type="text" placeholder="com.weboorse.sponso.credits.100" class="svelte-3a36ny"/></div> <div class="platform-field svelte-3a36ny"><label for="razorpayItemId" class="svelte-3a36ny">Razorpay Item ID (India)</label> <input id="razorpayItemId" type="text" placeholder="item_xxxxxxxxxxxxx" class="svelte-3a36ny"/></div></div></div> <div class="modal-footer svelte-3a36ny"><button type="button" class="btn-cancel svelte-3a36ny">Cancel</button> <button type="submit" class="btn-primary svelte-3a36ny"> </button></div></form></div></div>'),ot=k(`<label for="userEmail" class="svelte-3a36ny">User Email *</label> <input id="userEmail" type="email" placeholder="Enter user email address" required class="svelte-3a36ny"/> <small class="svelte-3a36ny">Enter the user's email address to grant credits</small>`,1),dt=k(`<label for="firebaseUid" class="svelte-3a36ny">Firebase UID *</label> <input id="firebaseUid" type="text" placeholder="Enter Firebase UID" required class="svelte-3a36ny"/> <small class="svelte-3a36ny">Enter the user's Firebase UID to grant credits</small>
1`,1),ct=k('<div class="modal-overlay svelte-3a36ny"><div class="modal small svelte-3a36ny"><div class="modal-header svelte-3a36ny"><h2 class="svelte-3a36ny">Grant Credits</h2> <button class="close-btn svelte-3a36ny">&times;</button></div> <form class="modal-body svelte-3a36ny"><div class="form-group svelte-3a36ny"><label class="svelte-3a36ny">Lookup By</label> <div class="toggle-group svelte-3a36ny"><button type="button">Email</button> <button type="button">Firebase UID</button></div></div> <div class="form-group svelte-3a36ny"><!></div> <div class="form-group svelte-3a36ny"><label for="grantCredits" class="svelte-3a36ny">Credits to Grant *</label> <input id="grantCredits" type="number" min="1" required class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label for="reason" class="svelte-3a36ny">Reason *</label> <input id="reason" type="text" placeholder="e.g., Compensation for service issue" required class="svelte-3a36ny"/></div> <div class="modal-footer svelte-3a36ny"><button type="button" class="btn-cancel svelte-3a36ny">Cancel</button> <button type="submit" class="btn-primary svelte-3a36ny"> </button></div></form></div></div>'),ut=k('<div class="error-banner svelte-3a36ny"> </div>'),yt=k('<div class="loading svelte-3a36ny">Loading Razorpay items...</div>'),pt=k('<p class="empty svelte-3a36ny">No items found</p>'),mt=k('<div class="razorpay-item svelte-3a36ny"><div class="item-info svelte-3a36ny"><span class="item-name svelte-3a36ny"> </span> <span class="item-amount svelte-3a36ny"> </span></div> <div class="item-id svelte-3a36ny"><code class="svelte-3a36ny"> </code> <button class="btn-copy svelte-3a36ny" title="Copy ID"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-3a36ny"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"></path></svg></button></div></div>'),_t=k('<div class="item-list svelte-3a36ny"></div>'),bt=k('<div class="list-section svelte-3a36ny"><h4 class="svelte-3a36ny"> </h4> <!></div>'),ft=k('<div class="modal-overlay svelte-3a36ny"><div class="modal razorpay-modal svelte-3a36ny"><div class="modal-header svelte-3a36ny"><h2 class="svelte-3a36ny">Razorpay Items (India)</h2> <div class="modal-header-actions svelte-3a36ny"><button class="btn-sync svelte-3a36ny"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"></path></svg> </button> <button class="close-btn svelte-3a36ny">&times;</button></div></div> <div class="modal-body razorpay-body svelte-3a36ny"><div class="guide-box svelte-3a36ny"><h4 class="svelte-3a36ny">📋 How to Link Razorpay to Credit Packages</h4> <ol class="svelte-3a36ny"><li class="svelte-3a36ny"><strong class="svelte-3a36ny">Create Item below</strong> - Enter package name and price in INR</li> <li class="svelte-3a36ny"><strong class="svelte-3a36ny">Copy the ID</strong> - Click the copy button next to the created item</li> <li class="svelte-3a36ny"><strong class="svelte-3a36ny">Edit your package</strong> - Paste the ID into "Razorpay Item ID" field</li></ol> <p class="guide-note svelte-3a36ny">💡 Each credit package needs one Razorpay item for Indian customers</p></div> <!> <div class="razorpay-form svelte-3a36ny"><h3 class="svelte-3a36ny">Create Razorpay Item</h3> <p class="hint-text svelte-3a36ny">Items are used for one-time credit package purchases in India.</p> <div class="form-row svelte-3a36ny"><div class="form-group svelte-3a36ny"><label class="svelte-3a36ny">Name *</label> <input type="text" placeholder="e.g., 100 AI Credits" class="svelte-3a36ny"/></div> <div class="form-group svelte-3a36ny"><label class="svelte-3a36ny">Amount (₹) *</label> <input type="number" min="1" step="0.01" placeholder="99" class="svelte-3a36ny"/></div></div> <div class="form-group svelte-3a36ny"><label class="svelte-3a36ny">Description</label> <input type="text" placeholder="100 AI credits for content generation" class="svelte-3a36ny"/></div> <button class="btn-primary svelte-3a36ny"> </button></div> <div class="razorpay-lists svelte-3a36ny"><!></div></div></div></div>'),gt=k('<div class="packages-page svelte-3a36ny"><header class="page-header svelte-3a36ny"><div class="breadcrumb svelte-3a36ny"><a href="/admin/subscriptions" class="svelte-3a36ny">Subscriptions</a> <span>/</span> <span>Credit Packages</span></div> <div class="header-row svelte-3a36ny"><div><h1 class="svelte-3a36ny">Credit Packages</h1> <p class="subtitle svelte-3a36ny">Manage AI credit packages and grants</p></div> <div class="header-actions svelte-3a36ny"><button class="btn-razorpay svelte-3a36ny"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-3a36ny"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 10h18M7 15h1m4 0h1m-7 4h12a3 3 0 003-3V8a3 3 0 00-3-3H6a3 3 0 00-3 3v8a3 3 0 003 3z"></path></svg> Razorpay</button> <button class="btn-secondary svelte-3a36ny">Grant Credits</button> <button class="btn-primary svelte-3a36ny"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" class="svelte-3a36ny"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4v16m8-8H4"></path></svg> Add Package</button></div></div></header> <div class="stats-grid svelte-3a36ny"><div class="stat-card svelte-3a36ny"><div class="stat-label svelte-3a36ny">Total Revenue</div> <div class="stat-value svelte-3a36ny"> </div></div> <div class="stat-card svelte-3a36ny"><div class="stat-label svelte-3a36ny">Credits Granted</div> <div class="stat-value svelte-3a36ny"> </div></div> <div class="stat-card svelte-3a36ny"><div class="stat-label svelte-3a36ny">Total Purchases</div> <div class="stat-value svelte-3a36ny"> </div></div></div> <section class="section svelte-3a36ny"><h2 class="svelte-3a36ny">Available Packages</h2> <div class="packages-grid svelte-3a36ny"><!> <!></div></section> <section class="section svelte-3a36ny"><h2 class="svelte-3a36ny">Recent Purchases & Grants</h2> <div class="table-container svelte-3a36ny"><table class="data-table svelte-3a36ny"><thead><tr><th class="svelte-3a36ny">User</th><th class="svelte-3a36ny">Package</th><th class="svelte-3a36ny">Credits</th><th class="svelte-3a36ny">Amount</th><th class="svelte-3a36ny">Method</th><th class="svelte-3a36ny">Date</th></tr></thead><tbody><!><!></tbody></table></div></section></div> <!> <!> <!> <!>',1);function Ct(ca,_e){Ta(_e,!1);let $=ja(_e,"data",8),he=Y(!1),oe=Y(!1),xe=Y(!1),re=Y(null),z=Y({open:!1,package:null,loading:!1}),ae=Y(!1),be=Y(!1),de=Y([]),ze=Y(!1),ce=Y(""),L=Y({name:"",description:"",amount:0,currency:"INR"});const $e={name:"",slug:"",description:"",credits:100,price:99,currency:"INR",bonusCredits:0,savingsPercent:null,isActive:!0,isPopular:!1,sortOrder:0,appleProductId:"",googlePlayProductId:"",razorpayItemId:""};function Le(l){return l==="INR"?"₹":"$"}let n=Y({...$e}),ne=Y("email"),D=Y({email:"",userId:"",firebaseUid:"",credits:10,reason:""});function qe(){v(n,{...$e}),v(re,null),v(he,!0)}function ua(l){v(n,{...l}),v(re,l),v(he,!0)}function ke(){v(he,!1),v(re,null)}function ya(){v(ne,"email"),v(D,{email:"",userId:"",firebaseUid:"",credits:10,reason:""}
1),v(oe,!0)}async function pa(){var l;v(ae,!0);try{const a=e(re)?`/apis/v1/admin/credit-packages/${e(re).id}`:"/apis/v1/admin/credit-packages",f=await(await fetch(a,{method:e(re)?"PUT":"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e(n))})).json();f.success?(ke(),await je()):alert(((l=f.error)==null?void 0:l.message)||"Failed to save package")}catch(a){console.error("Save error:",a),alert("Failed to save package")}finally{v(ae,!1)}}async function ma(){var l;v(ae,!0);try{const a={credits:e(D).credits,reason:e(D).reason};e(ne)==="email"?a.email=e(D).email:a.firebaseUid=e(D).firebaseUid;const f=await(await fetch("/apis/v1/admin/credit-purchases",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})).json();f.success?(v(oe,!1),await je(),alert(f.data.message)):alert(((l=f.error)==null?void 0:l.message)||"Failed to grant credits")}catch(a){console.error("Grant error:",a),alert("Failed to grant credits")}finally{v(ae,!1)}}async function _a(){var l;if(e(z).package){b(z,e(z).loading=!0);try{const o=await(await fetch(`/apis/v1/admin/credit-packages/${e(z).package.id}`,{method:"DELETE"})).json();o.success?(v(z,{open:!1,package:null,loading:!1}),await je()):(alert(((l=o.error)==null?void 0:l.message)||"Failed to delete package"),b(z,e(z).loading=!1))}catch(a){console.error("Delete error:",a),alert("Failed to delete package"),b(z,e(z).loading=!1)}}}function ba(l){b(n,e(n).slug=l.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/(^-|-$)/g,""))}function fa(l){return new Date(l).toLocaleDateString("en-US",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})}async function ga(){v(xe,!0),v(ce,""),await De()}async function De(){var l;v(ze,!0),v(ce,"");try{const o=await(await fetch("/apis/v1/admin/razorpay?type=items")).json();o.success?v(de,o.data.items||[]):v(ce,((l=o.error)==null?void 0:l.message)||"Failed to fetch Razorpay data")}catch(a){console.error("Razorpay fetch error:",a),v(ce,"Failed to connect to Razorpay")}finally{v(ze,!1)}}async function ha(){v(be,!0);try{await De(),alert("Razorpay data synced successfully!")}catch(l){console.error("Sync error:",l),alert("Failed to sync Razorpay data")}finally{v(be,!1)}}async function xa(){var l;if(!e(L).name||!e(L).amount){alert("Please fill in name and amount");return}v(ae,!0);try{const o=await(await fetch("/apis/v1/admin/razorpay",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create-item",data:{...e(L),amount:Math.round(e(L).amount*100)}})})).json();o.success?(alert(`Item created! ID: ${o.data.item.id}`),v(L,{name:"",description:"",amount:0,currency:"INR"}),await De()):alert(((l=o.error)==null?void 0:l.message)||"Failed to create item")}catch(a){console.error("Create item error:",a),alert("Failed to create Razorpay item")}finally{v(ae,!1)}}function ka(l){return(l/100).toLocaleString("en-IN",{style:"currency",currency:"INR"})}function Ia(l){navigator.clipboard.writeText(l),alert("Copied to clipboard!")}$a();var Be=gt();La(l=>{Ba.title="Credit Packages - Admin"});var Re=Fe(Be),Ae=s(Re),He=r(s(Ae),2),Je=r(s(He),2),Ve=s(Je),Ke=r(Ve,2),Pa=r(Ke,2);t(Je),t(He),t(Ae);var Se=r(Ae,2),Ne=s(Se),Qe=r(s(Ne),2),Ca=s(Qe);t(Qe),t(Ne);var Ue=r(Ne,2),We=r(s(Ue),2),wa=s(We,!0);t(We),t(Ue);var Xe=r(Ue,2),Ye=r(s(Xe),2),za=s(Ye,!0);t(Ye),t(Xe),t(Se);var Ee=r(Se,2),Ze=r(s(Ee),2),ea=s(Ze);Me(ea,1,()=>(ve($()),i(()=>$().packages)),Ge,(l,a)=>{var o=at();let f;var F=s(o),P=s(F),Z=s(P),ee=r(Z);{var q=m=>{var c=Xa();x(m,c)};j(ee,m=>{e(a),i(()=>e(a).isPopular)&&m(q)})}t(P);var A=r(P,2);let B;var H=s(A,!0);t(A),t(F);var J=r(F,2),R=s(J),V=s(R),M=s(V,!0);t(V);var K=r(V,2);{var Q=m=>{var c=Ya(),U=s(c);t(c),E(()=>y(U,`+${e(a),i(()=>e(a).bonusCredits)??""} bonus`)),x(m,c)};j(K,m=>{e(a),i(()=>e(a).bonusCredits>0)&&m(Q)})}t(R);var S=r(R,2),W=s(S);t(S);var X=r(S,2);{var G=m=>{var c=Za(),U=s(c);t(c),E(()=>y(U,`Save ${e(a),i(()=>e(a).savingsPercent)??""}%`)),x(m,c)};j(X,m=>{e(a),i(()=>e(a).savingsPercent)&&m(G)})}t(J);var N=r(J,2),O=s(N),h=s(O);t(O),t(N);var C=r(N,2);{var T=m=>{var c=et(),U=s(c,!0);t(c),E(()=>y(U,(e(a),i(()=>e(a).description)))),x(m,c)};j(C,m=>{e(a),i(()=>e(a).description)&&m(T)})}var u=r(C,2),p=s(u),_=r(p,2);t(u),t(o),E((m,c,U)=>{f=me(o,1,"package-card svelte-3a36ny",null,f,m),y(Z,`${e(a),i(()=>e(a).name)??""} `),B=me(A,1,"package-status svelte-3a36ny",null,B,c),y(H,(e(a),i(()=>e(a).isActive?"Active":"Inactive"))),y(M,(e(a),i(()=>e(a).credits))),y(W,`${U??""}${e(a),i(()=>e(a).price)??""}`),y(h,`${e(a),i(()=>e(a).purchaseCount)??""} purchases`)},[()=>({inactive:!e(a).isActive}),()=>({active:e(a).isActive}),()=>(e(a),i(()=>Le(e(a).currency)))]),g("click",p,()=>
1ua(e(a))),g("click",_,()=>v(z,{open:!0,package:e(a),loading:!1})),x(l,o)});var Da=r(ea,2);{var Ra=l=>{var a=tt(),o=r(s(a),2);t(a),g("click",o,qe),x(l,a)};j(Da,l=>{ve($()),i(()=>$().packages.length===0)&&l(Ra)})}t(Ze),t(Ee);var aa=r(Ee,2),ta=r(s(aa),2),sa=s(ta),ra=r(s(sa)),la=s(ra);Me(la,1,()=>(ve($()),i(()=>$().recentPurchases)),Ge,(l,a)=>{var o=nt(),f=s(o),F=s(f),P=s(F);{var Z=p=>{var _=st();E(()=>Ja(_,"src",(e(a),i(()=>e(a).user.avatar)))),x(p,_)},ee=p=>{var _=rt(),m=s(_,!0);t(_),E(c=>y(m,c),[()=>(e(a),i(()=>{var c,U,ie,te;return((te=(ie=((c=e(a).user)==null?void 0:c.fullName)||((U=e(a).user)==null?void 0:U.email))==null?void 0:ie[0])==null?void 0:te.toUpperCase())||"?"}))]),x(p,_)};j(P,p=>{e(a),i(()=>{var _;return(_=e(a).user)==null?void 0:_.avatar})?p(Z):p(ee,!1)})}var q=r(P,2),A=s(q),B=s(A,!0);t(A);var H=r(A,2),J=s(H,!0);t(H),t(q),t(F),t(f);var R=r(f),V=s(R,!0);t(R);var M=r(R),K=s(M),Q=s(K),S=r(Q);{var W=p=>{var _=lt(),m=s(_);t(_),E(()=>y(m,`(+${e(a),i(()=>e(a).bonusCredits)??""})`)),x(p,_)};j(S,p=>{e(a),i(()=>e(a).bonusCredits>0)&&p(W)})}t(K),t(M);var X=r(M),G=s(X);t(X);var N=r(X),O=s(N);let h;var C=s(O,!0);t(O),t(N);var T=r(N),u=s(T,!0);t(T),t(o),E((p,_,m)=>{y(B,(e(a),i(()=>{var c;return((c=e(a).user)==null?void 0:c.fullName)||"N/A"}))),y(J,(e(a),i(()=>{var c;return(c=e(a).user)==null?void 0:c.email}))),y(V,(e(a),i(()=>{var c;return((c=e(a).package)==null?void 0:c.name)||"Admin Grant"}))),y(Q,`${e(a),i(()=>e(a).totalCredits)??""} `),y(G,`${p??""}${e(a),i(()=>e(a).amount)??""}`),h=me(O,1,"method-badge svelte-3a36ny",null,h,_),y(C,(e(a),i(()=>e(a).paymentMethod==="admin_grant"?"Admin":e(a).paymentMethod||"N/A"))),y(u,m)},[()=>(e(a),i(()=>Le(e(a).currency||"INR"))),()=>({admin:e(a).paymentMethod==="admin_grant"}),()=>(e(a),i(()=>fa(e(a).createdAt)))]),x(l,o)});var Aa=r(la);{var Sa=l=>{var a=it();x(l,a)};j(Aa,l=>{ve($()),i(()=>$().recentPurchases.length===0)&&l(Sa)})}t(ra),t(sa),t(ta),t(aa),t(Re);var na=r(Re,2);{var Na=l=>{var a=vt(),o=s(a),f=s(o),F=s(f),P=s(F,!0);t(F);var Z=r(F,2);t(f);var ee=r(f,2),q=s(ee),A=s(q),B=r(s(A),2);I(B),t(A);var H=r(A,2),J=r(s(H),2);I(J),t(H);var R=r(H,2),V=r(s(R),2);I(V),t(R);var M=r(R,2),K=r(s(M),2);I(K),t(M);var Q=r(M,2),S=r(s(Q),2);E(()=>{e(n),Va(()=>{})});var W=s(S);W.value=W.__value="INR";var X=r(W);X.value=X.__value="USD",t(S),t(Q);var G=r(Q,2),N=r(s(G),2);I(N),t(G);var O=r(G,2),h=r(s(O),2);I(h),t(O);var C=r(O,2),T=r(s(C),2);I(T),t(C);var u=r(C,2),p=s(u),_=s(p);I(_),we(),t(p);var m=r(p,2),c=s(m);I(c),we(),t(m),t(u);var U=r(u,2),ie=r(s(U),2);Ka(ie),t(U);var te=r(U,4),le=s(te),Ie=r(s(le),2);I(Ie),t(le);var se=r(le,2),ue=r(s(se),2);I(ue),t(se);var ye=r(se,2),pe=r(s(ye),2);I(pe),t(ye),t(te),t(q);var Pe=r(q,2),fe=s(Pe),ge=r(fe,2),Ce=s(ge,!0);t(ge),t(Pe),t(ee),t(o),t(a),E(()=>{y(P,e(re)?"Edit Package":"Create Package"),ge.disabled=e(ae),y(Ce,e(ae)?"Saving...":e(re)?"Update":"Create")}),g("click",Z,ke),w(B,()=>e(n).name,d=>b(n,e(n).name=d)),g("input",B,d=>!e(re)&&ba(d.target.value)),w(J,()=>e(n).slug,d=>b(n,e(n).slug=d)),w(V,()=>e(n).credits,d=>b(n,e(n).credits=d)),w(K,()=>e(n).price,d=>b(n,e(n).price=d)),Qa(S,()=>e(n).currency,d=>b(n,e(n).currency=d)),w(N,()=>e(n).bonusCredits,d=>b(n,e(n).bonusCredits=d)),w(h,()=>e(n).savingsPercent,d=>b(n,e(n).savingsPercent=d)),w(T,()=>e(n).sortOrder,d=>b(n,e(n).sortOrder=d)),oa(_,()=>e(n).isActive,d=>b(n,e(n).isActive=d)),oa(c,()=>e(n).isPopular,d=>b(n,e(n).isPopular=d)),w(ie,()=>e(n).description,d=>b(n,e(n).description=d)),w(Ie,()=>e(n).appleProductId,d=>b(n,e(n).appleProductId=d)),w(ue,()=>e(n).googlePlayProductId,d=>b(n,e(n).googlePlayProductId=d)),w(pe,()=>e(n).razorpayItemId,d=>b(n,e(n).razorpayItemId=d)),g("click",fe,ke),g("submit",ee,da(pa)),g("click",o,Oe(function(d){Te.call(this,_e,d)})),g("click",a,ke),x(l,a)};j(na,l=>{e(he)&&l(Na)})}var ia=r(na,2);{var Ua=l=>{var a=ct(),o=s(a),f=s(o),F=r(s(f),2);t(f);var P=r(f,2),Z=s(P),ee=r(s(Z),2),q=s(ee);let A;var B=r(q,2);let H;t(ee),t(Z);var J=r(Z,2),R=s(J);{var V=h=>{var C=ot(),T=r(Fe(C),2);I(T),we(2),w(T,()=>e(D).email,u=>b(D,e(D).email=u)),x(h,C)},M=h=>{var C=dt(),T=r(Fe(C),2);I(T),we(2),w(T,()=>e(D).firebaseUid,u=>b(D,e(D).firebaseUid=u)),x(h,C)};j(R,h=>{e(ne)==="email"?h(V):h(M,!1)})}t(J);var K=r(J,2),Q=r(s(K),2);I(Q),t(K);var S=r(K,2),W=r(s(S),2);I(W),t(S);var X=r(S,2),G=s(X),N=r(G,2),O=s(N,!0);t(N),t(X),t(P),t(o),t(a),E((h,C)=>{A=me(q,1,"toggle-btn svelte-3a36ny",null,A,h),H=me(B,1,"toggle-btn svelte-3a36ny",null,H,C),N.disabled=e(ae),y(O,e(ae)?"Granting...":"Grant Credits")},[()=>({active:e(ne)==="email"}),()=>({active:e(ne)==="uid"})]),g("click",F,()=>v(oe,!1)),g("click",q,()=>v(ne,"email")),g("click",B,()=>v(ne,"uid")),w(Q,()=>e(D).credits,h=>b(D,e(D).credits=h)),w(W,()=>e(D).reason,h=>
1b(D,e(D).reason=h)),g("click",G,()=>v(oe,!1)),g("submit",P,da(ma)),g("click",o,Oe(function(h){Te.call(this,_e,h)})),g("click",a,()=>v(oe,!1)),x(l,a)};j(ia,l=>{e(oe)&&l(Ua)})}var va=r(ia,2);{let l=Ha(()=>(e(z),i(()=>{var a;return(a=e(z).package)==null?void 0:a.name})));Wa(va,{title:"Delete Package",get message(){return`Are you sure you want to delete '${e(l)??""}'?`},confirmText:"Delete",get loading(){return e(z),i(()=>e(z).loading)},get open(){return e(z).open},set open(a){b(z,e(z).open=a)},$$events:{confirm:_a},$$legacy:!0})}var Ea=r(va,2);{var Fa=l=>{var a=ft(),o=s(a),f=s(o),F=r(s(f),2),P=s(F),Z=s(P);let ee;var q=r(Z);t(P);var A=r(P,2);t(F),t(f);var B=r(f,2),H=r(s(B),2);{var J=u=>{var p=ut(),_=s(p,!0);t(p),E(()=>y(_,e(ce))),x(u,p)};j(H,u=>{e(ce)&&u(J)})}var R=r(H,2),V=r(s(R),4),M=s(V),K=r(s(M),2);I(K),t(M);var Q=r(M,2),S=r(s(Q),2);I(S),t(Q),t(V);var W=r(V,2),X=r(s(W),2);I(X),t(W);var G=r(W,2),N=s(G,!0);t(G),t(R);var O=r(R,2),h=s(O);{var C=u=>{var p=yt();x(u,p)},T=u=>{var p=bt(),_=s(p),m=s(_);t(_);var c=r(_,2);{var U=te=>{var le=pt();x(te,le)},ie=te=>{var le=_t();Me(le,5,()=>e(de),Ge,(Ie,se)=>{var ue=mt(),ye=s(ue),pe=s(ye),Pe=s(pe,!0);t(pe);var fe=r(pe,2),ge=s(fe,!0);t(fe),t(ye);var Ce=r(ye,2),d=s(Ce),Ma=s(d,!0);t(d);var Ga=r(d,2);t(Ce),t(ue),E(Oa=>{y(Pe,(e(se),i(()=>e(se).name))),y(ge,Oa),y(Ma,(e(se),i(()=>e(se).id)))},[()=>(e(se),i(()=>ka(e(se).amount)))]),g("click",Ga,()=>Ia(e(se).id)),x(Ie,ue)}),t(le),x(te,le)};j(c,te=>{e(de),i(()=>e(de).length===0)?te(U):te(ie,!1)})}t(p),E(()=>y(m,`Razorpay Items (${e(de),i(()=>e(de).length)??""})`)),x(u,p)};j(h,u=>{e(ze)?u(C):u(T,!1)})}t(O),t(B),t(o),t(a),E(u=>{P.disabled=e(be),ee=me(Z,0,"svelte-3a36ny",null,ee,u),y(q,` ${e(be)?"Syncing...":"Sync"}`),G.disabled=e(ae),y(N,e(ae)?"Creating...":"Create Item")},[()=>({spinning:e(be)})]),g("click",P,ha),g("click",A,()=>v(xe,!1)),w(K,()=>e(L).name,u=>b(L,e(L).name=u)),w(S,()=>e(L).amount,u=>b(L,e(L).amount=u)),w(X,()=>e(L).description,u=>b(L,e(L).description=u)),g("click",G,xa),g("click",o,Oe(function(u){Te.call(this,_e,u)})),g("click",a,()=>v(xe,!1)),x(l,a)};j(Ea,l=>{e(xe)&&l(Fa)})}E((l,a)=>{y(Ca,`₹${l??""}`),y(wa,a),y(za,(ve($()),i(()=>$().stats.totalPurchases)))},[()=>(ve($()),i(()=>$().stats.totalRevenue.toLocaleString())),()=>(ve($()),i(()=>$().stats.totalCreditsGranted.toLocaleString()))]),g("click",Ve,ga),g("click",Ke,ya),g("click",Pa,qe),x(ca,Be),qa()}export{Ct as component};

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.