@arcblock/payment-service 1.29.12 → 1.29.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (163) hide show
  1. package/dist/cf.js +39 -39
  2. package/dist/index.js +24 -9
  3. package/package.json +3 -3
  4. package/web/assets/{account-DrsnH5wP.js → account-BN9x94rB.js} +1 -1
  5. package/web/assets/{action-C2c0yWuW.js → action-B9qBcxnd.js} +1 -1
  6. package/web/assets/{actions-BEUwbsq1.js → actions-BYX1WnBr.js} +1 -1
  7. package/web/assets/{actions-C9AfME83.js → actions-Bal42Hlw.js} +1 -1
  8. package/web/assets/{actions-D2-s31n3.js → actions-BmYfP6Ex.js} +1 -1
  9. package/web/assets/{actions-DeCPtfTK.js → actions-BvdAKBBR.js} +1 -1
  10. package/web/assets/{actions-DXMceTgd.js → actions-C0iB0sUH.js} +1 -1
  11. package/web/assets/{actions-JHsqbHpB.js → actions-C8z5APgU.js} +1 -1
  12. package/web/assets/{actions-DtNZGZWf.js → actions-CHC4oZpy.js} +1 -1
  13. package/web/assets/{actions-izdZ2Mn4.js → actions-CYXoOOED.js} +1 -1
  14. package/web/assets/{actions--FNKSNIs.js → actions-DTY0f0j8.js} +1 -1
  15. package/web/assets/{add-price-TdXAR3NW.js → add-price-BxoCZ-Tz.js} +1 -1
  16. package/web/assets/{admin-BpFv3eF5.js → admin--WTDrdAF.js} +1 -1
  17. package/web/assets/{assign-DKRfmN7W.js → assign-BOWJRdk_.js} +1 -1
  18. package/web/assets/{attempts-BfbYfiJa.js → attempts-D5nVVL_6.js} +1 -1
  19. package/web/assets/browser-QPNAlSRH.js +1 -0
  20. package/web/assets/{change-payment-j5UC8_h0.js → change-payment-DXontAeB.js} +1 -1
  21. package/web/assets/{change-plan-CtXvsIDw.js → change-plan-BsSmbAiG.js} +1 -1
  22. package/web/assets/{click-boundary-Bi28Y0Fq.js → click-boundary-Cozpjijr.js} +1 -1
  23. package/web/assets/{connect-CXek4LAE.js → connect-Wm36BWSB.js} +1 -1
  24. package/web/assets/{copyable-CprMHdhV.js → copyable-Dn7WoFib.js} +1 -1
  25. package/web/assets/{create-B-Ubepl_.js → create-4PWfxWLb.js} +1 -1
  26. package/web/assets/{create-IaalYGmm.js → create-7bXG85gU.js} +1 -1
  27. package/web/assets/{create-BWviSWbC.js → create-B5JxFhZm.js} +1 -1
  28. package/web/assets/{create-BVt_sQ_7.js → create-B9rgbz0l.js} +1 -1
  29. package/web/assets/{create-C6jihslA.js → create-DRn34vtT.js} +1 -1
  30. package/web/assets/{create-jzl1m8ZK.js → create-DSvEFvVu.js} +1 -1
  31. package/web/assets/{credit-grant-item-list-DQcvdSRs.js → credit-grant-item-list-B_vTdJGs.js} +1 -1
  32. package/web/assets/{credit-overview-CPId2vzk.js → credit-overview-hFT3I5RJ.js} +1 -1
  33. package/web/assets/{currency-restrictions-Dsupz2ce.js → currency-restrictions-DummyP0l.js} +1 -1
  34. package/web/assets/{currency-select-C8j7QQMP.js → currency-select-3BZ7dBe5.js} +1 -1
  35. package/web/assets/{dayjs-DUNWtvju.js → dayjs-t9Apc5Bb.js} +1 -1
  36. package/web/assets/{description-BHxdy5I3.js → description-Ci4-GOSF.js} +1 -1
  37. package/web/assets/{detail-BkRkrKyw.js → detail-8cEd6DEn.js} +1 -1
  38. package/web/assets/{detail-BdC9VIc6.js → detail-BH-Vvu0W.js} +1 -1
  39. package/web/assets/{detail-DUAJzKsu.js → detail-BO6Agb-b.js} +1 -1
  40. package/web/assets/{detail-H0dkKVyS.js → detail-BWPA3PH8.js} +1 -1
  41. package/web/assets/{detail-DTXDMIR9.js → detail-BgYHeC3e.js} +1 -1
  42. package/web/assets/{detail-CHJqYZ0W.js → detail-Bt5iQMX3.js} +1 -1
  43. package/web/assets/{detail-De8PyTyx.js → detail-BzlOf80w.js} +1 -1
  44. package/web/assets/{detail-MgdgGj5J.js → detail-C3T6qeB-.js} +1 -1
  45. package/web/assets/{detail-D729Bgs6.js → detail-C3_ACSpn.js} +1 -1
  46. package/web/assets/{detail-C--ATvwm.js → detail-CIUyjUAi.js} +1 -1
  47. package/web/assets/{detail-BvcI9cB_.js → detail-CPyUedtO.js} +1 -1
  48. package/web/assets/{detail-CmIweOLE.js → detail-CQWsMU9x.js} +1 -1
  49. package/web/assets/{detail-B17BN6kU.js → detail-CwTgF8q3.js} +1 -1
  50. package/web/assets/{detail-Dzt5tfyZ.js → detail-D1VjwguC.js} +1 -1
  51. package/web/assets/{detail-DQj1mbhA.js → detail-D4H6jbI1.js} +1 -1
  52. package/web/assets/{detail-WAmPM6yq.js → detail-D6NtqUGL.js} +1 -1
  53. package/web/assets/{detail-CfvKZ7IV.js → detail-D8kasVEc.js} +1 -1
  54. package/web/assets/{detail-DOcm4Kqg.js → detail-DMTZKNwK.js} +1 -1
  55. package/web/assets/{detail-DqfxOHky.js → detail-DO-7MCEH.js} +1 -1
  56. package/web/assets/{detail-g6el9Fxj.js → detail-DQfl09aa.js} +1 -1
  57. package/web/assets/{detail-DD1YBtex.js → detail-DtDNi9LO.js} +1 -1
  58. package/web/assets/{detail-BJEqTXDS.js → detail-VwGSacR5.js} +1 -1
  59. package/web/assets/{detail-BJ-hl5PK.js → detail-XRs3LPkf.js} +1 -1
  60. package/web/assets/{drawer-form-CQjNFFWk.js → drawer-form-CSWrmdZI.js} +1 -1
  61. package/web/assets/{edit-DAU8AWzT.js → edit-Cr-QHEQs.js} +1 -1
  62. package/web/assets/{editor-vZvxDUTl.js → editor-BzrYE3Ds.js} +1 -1
  63. package/web/assets/{embed-ClYNqZbf.js → embed-Dj1y7Zwp.js} +1 -1
  64. package/web/assets/{filter-toolbar-VvmMATj0.js → filter-toolbar-DpJmPWVP.js} +1 -1
  65. package/web/assets/{form-Bro99BjK.js → form-BBQXYqsx.js} +1 -1
  66. package/web/assets/{form-4_MzglPj.js → form-BJdpcmEf.js} +1 -1
  67. package/web/assets/{form-Cuvruf4H.js → form-BiiiQfiO.js} +1 -1
  68. package/web/assets/{form-AFzUvoFE.js → form-DPTZI-Fw.js} +1 -1
  69. package/web/assets/{form-CnrBCyTJ.js → form-nz7nSyN7.js} +1 -1
  70. package/web/assets/{gas-kw2KMH1u.js → gas-BGJEvZ8T.js} +1 -1
  71. package/web/assets/{generateCategoricalChart-BCpuUeC_.js → generateCategoricalChart-DJ3AfbsA.js} +1 -1
  72. package/web/assets/{home-ZNJREzbw.js → home-DfyGtwPb.js} +1 -1
  73. package/web/assets/index-B3Jk6ppU.js +1 -0
  74. package/web/assets/{index-BHwID_s4.js → index-B8bk0Ojf.js} +1 -1
  75. package/web/assets/{index-BtWfmATr.js → index-BFVHrFpT.js} +1 -1
  76. package/web/assets/{index-CPFlZhA2.js → index-BHIDYW0u.js} +1 -1
  77. package/web/assets/{index-DZkpxY-C.js → index-BNcCDKM5.js} +1 -1
  78. package/web/assets/{index-eDERHpkr.js → index-BPTu0yg7.js} +1 -1
  79. package/web/assets/index-BS70xmCD.js +1 -0
  80. package/web/assets/{index-BRmN8ViQ.js → index-BXCq4SkL.js} +1 -1
  81. package/web/assets/{index-C3AP4jq0.js → index-BXtNZIry.js} +1 -1
  82. package/web/assets/{index-B4yaPb7B.js → index-Bfp56O3W.js} +4 -4
  83. package/web/assets/{index-CKPfOW6M.js → index-BgQwjOVK.js} +1 -1
  84. package/web/assets/{index-DY-g0BPU.js → index-BhMKRIqj.js} +1 -1
  85. package/web/assets/{index-Dju8k6mq.js → index-Bo_vcdD9.js} +1 -1
  86. package/web/assets/{index-Dh9agU9O.js → index-BoqL8izO.js} +1 -1
  87. package/web/assets/{index-DAen2-cr.js → index-BuuQy4UK.js} +1 -1
  88. package/web/assets/{index-Dze0CpfQ.js → index-CQ7Ml281.js} +1 -1
  89. package/web/assets/{index-C3Rh1SaB.js → index-CcREcO7K.js} +1 -1
  90. package/web/assets/index-Cd-8zjpb.js +1 -0
  91. package/web/assets/{index-mgPU1lyd.js → index-CjPQC4mk.js} +1 -1
  92. package/web/assets/{index-C-5n472s.js → index-Cve8Vvzh.js} +1 -1
  93. package/web/assets/{index-olGOY5KB.js → index-Cvgxrbh_.js} +1 -1
  94. package/web/assets/{index-D7pWd60Z.js → index-D6Qc93ry.js} +1 -1
  95. package/web/assets/{index-ASk8vU2H.js → index-DA2h2xQ0.js} +1 -1
  96. package/web/assets/{index-CiWvs3j9.js → index-DAJUVYVW.js} +1 -1
  97. package/web/assets/{index-DwDNPqjF.js → index-DGlYR3g5.js} +1 -1
  98. package/web/assets/{index-BjKRyxNQ.js → index-DNwHUtwI.js} +1 -1
  99. package/web/assets/index-DVKKpTqA.js +1 -0
  100. package/web/assets/{index-DNobX-Tr.js → index-DdZRyqZe.js} +1 -1
  101. package/web/assets/{index-CH_k9MVv.js → index-DkHezF0C.js} +1 -1
  102. package/web/assets/index-DsYh3Cg8.js +1 -0
  103. package/web/assets/{index-x7sBb6oM.js → index-DxJqoRNV.js} +1 -1
  104. package/web/assets/{index-oy7LrXGT.js → index-HSIuOZNi.js} +1 -1
  105. package/web/assets/{index-CPyGjEd3.js → index-Z5VIg59-.js} +2 -2
  106. package/web/assets/index-_Owi04Rb.js +1 -0
  107. package/web/assets/index-bj4dA1Ad.js +1 -0
  108. package/web/assets/{index-B4n6PvPu.js → index-vdswLk79.js} +1 -1
  109. package/web/assets/{index-D6gv9jHh.js → index-vs4D4-i_.js} +1 -1
  110. package/web/assets/{index.es-C2Q6Owow.js → index.es-oPgScGhn.js} +1 -1
  111. package/web/assets/{info-card-C9dRgztS.js → info-card-Xtng8th6.js} +1 -1
  112. package/web/assets/{info-metric-ukWq8INi.js → info-metric-DwDA6oTc.js} +1 -1
  113. package/web/assets/{info-row-CaPaNF4L.js → info-row-Cr8bdDz0.js} +1 -1
  114. package/web/assets/{info-row-group-Cxo-4Gk5.js → info-row-group-qhfbrxfY.js} +1 -1
  115. package/web/assets/{libphonenumber-CTvobi0D.js → libphonenumber-DjN-XRyW.js} +1 -1
  116. package/web/assets/{link-DsltSF2Q.js → link-Dhj5mzaG.js} +1 -1
  117. package/web/assets/{list-BzgF4i3i.js → list-0fajnTAx.js} +1 -1
  118. package/web/assets/{list-B2b-s8wM.js → list-B6NGNObl.js} +1 -1
  119. package/web/assets/{list-DtEjqlED.js → list-BaGkIr9x.js} +1 -1
  120. package/web/assets/{list-ZaBapEXW.js → list-CMRLDBem.js} +1 -1
  121. package/web/assets/{list-CvM46TsP.js → list-CQ5uQIra.js} +1 -1
  122. package/web/assets/{list-O_uCSLFq.js → list-CZbuS490.js} +1 -1
  123. package/web/assets/{list-YNWVqjwW.js → list-DiFKB2Fh.js} +1 -1
  124. package/web/assets/{list-Cd1O-aDi.js → list-qrTTpMns.js} +1 -1
  125. package/web/assets/{metadata-_hV0ZaVh.js → metadata-C5loY77S.js} +1 -1
  126. package/web/assets/{meter-event-CPVBpekF.js → meter-event-BUamJsml.js} +1 -1
  127. package/web/assets/{metrics-DVPdwpyf.js → metrics-qFgjQM5V.js} +1 -1
  128. package/web/assets/{overview-CGdVIJrJ.js → overview-Bbyl7SwX.js} +1 -1
  129. package/web/assets/{overview-CN59I5Sc.js → overview-DPA4NQjh.js} +1 -1
  130. package/web/assets/{past-due-C3PtU8uo.js → past-due-D4jJMcjq.js} +1 -1
  131. package/web/assets/{pay-XVdSNq__.js → pay-s4cR1nfz.js} +1 -1
  132. package/web/assets/{payment-method-info-D_qR04xC.js → payment-method-info-Cto4lYu0.js} +1 -1
  133. package/web/assets/preview-DV7989ox.js +1 -0
  134. package/web/assets/{preview-F3lma170.js → preview-DrU96XLI.js} +1 -1
  135. package/web/assets/{pricing-table-Bt2WljzE.js → pricing-table-BstRGwem.js} +1 -1
  136. package/web/assets/{pricing-table-D9FGYBVa.js → pricing-table-CwzRykLm.js} +1 -1
  137. package/web/assets/{product-select-_72p-5lF.js → product-select-VFuyl5ev.js} +1 -1
  138. package/web/assets/{recharge-CSlKshbU.js → recharge-Dlg-3474.js} +1 -1
  139. package/web/assets/{related-credit-grants-DnKdAit6.js → related-credit-grants-BxHOJRRa.js} +3 -3
  140. package/web/assets/{safe-did-address-CRTPYo34.js → safe-did-address-Bj0hfqCH.js} +1 -1
  141. package/web/assets/{source-data-viewer-D1GShrs5.js → source-data-viewer-DQnM31KB.js} +1 -1
  142. package/web/assets/{status-3Swm2gK5.js → status-DlEqz2pS.js} +1 -1
  143. package/web/assets/{subscription-BX00k6FU.js → subscription-BJxso5rX.js} +1 -1
  144. package/web/assets/{subscription-Bzeblscr.js → subscription-DzHzZLOA.js} +1 -1
  145. package/web/assets/table-CyJj8e85.js +1 -0
  146. package/web/assets/{tax-code-select-j2arPbaE.js → tax-code-select-CoXANTPX.js} +1 -1
  147. package/web/assets/{tax-utils-B8J0Kfnz.js → tax-utils-BF4tobIJ.js} +1 -1
  148. package/web/assets/{uploader-BLdAbLR6.js → uploader-CV9IVKh1.js} +1 -1
  149. package/web/assets/{usage-records-BAwNs1y8.js → usage-records-nONbPDaL.js} +1 -1
  150. package/web/assets/{util-B8B3fsMa.js → util-Dp629jKU.js} +1 -1
  151. package/web/assets/{vendor-arcblock-D1drrE7q.js → vendor-arcblock-D34ufhta.js} +1 -1
  152. package/web/assets/{vendor-blocklet-B67R14so.js → vendor-blocklet-B8V2HFST.js} +2 -2
  153. package/web/index.html +1 -1
  154. package/web/assets/browser-DF2vfpBa.js +0 -1
  155. package/web/assets/index-BMcnd_jZ.js +0 -1
  156. package/web/assets/index-BdbLl6St.js +0 -1
  157. package/web/assets/index-BjLJQRKY.js +0 -1
  158. package/web/assets/index-BkNCPnTn.js +0 -1
  159. package/web/assets/index-BlAwTTmu.js +0 -1
  160. package/web/assets/index-CDyxbCzc.js +0 -1
  161. package/web/assets/index-ChC-jsE2.js +0 -1
  162. package/web/assets/preview-Bdtbh-xk.js +0 -1
  163. package/web/assets/table-BN3WBnr3.js +0 -1
@@ -1 +1 @@
1
- import{r as I,j as r,a3 as L,aQ as M,aS as O,aT as V,ad as g,a2 as u,aX as E,aY as K,x as z,w as N,bH as A}from"./vendor-mui-BXZut9Pz.js";import{V as J,Z as c}from"./vendor-blocklet-B67R14so.js";import{h as P,F as $,C as o,e as k,b8 as h,k as B}from"./index-B4yaPb7B.js";import{D as Q}from"./drawer-form-CQjNFFWk.js";import{M as X}from"./form-CnrBCyTJ.js";import"./vendor-react-BPknnnEA.js";import"./lodash-B4Ozcv0x.js";import"./util-B8B3fsMa.js";function de({open:q=!0,onClose:m=()=>{},onSubmit:x=()=>{},vendorData:d=void 0}){const{t:e}=J(),[j,p]=I.useState(!1),l=!!d,_=d?{...d,metadata:d.metadata?Object.entries(d.metadata).map(([a,n])=>({key:a,value:typeof n=="object"?JSON.stringify(n):String(n)})):[]}:{vendor_key:"",vendor_type:"launcher",name:"",description:"",app_url:"",status:"inactive",metadata:[{key:"blockletMetaUrl",value:""}]},y=P({mode:"onChange",defaultValues:_}),{control:s,handleSubmit:w,reset:f,formState:{errors:t,isValid:S},watch:U}=y,F=U(),C=a=>{if(!a)return e("admin.vendor.appUrlRequired");try{return new URL(a),!0}catch{return e("admin.vendor.appUrlInvalid")}},R=async a=>{try{p(!0);try{new URL(a.app_url)}catch{c.error(e("admin.vendor.appUrlInvalid")),p(!1);return}const{metadata:n,...W}=a,H=n.reduce((v,i)=>{if(i.key&&i.value)try{v[i.key]=JSON.parse(i.value)}catch{v[i.key]=i.value}return v},{}),b={...W,metadata:H};l&&d?(await k.put(`/api/vendors/${d.id}`,b),c.success(e("admin.vendor.updateSuccess")),h("vendor.updated")):(await k.post("/api/vendors",b),c.success(e("admin.vendor.saved")),h("vendor.created")),f(),h("drawer.submitted"),x&&x(),m&&m()}catch(n){console.error("Failed to create vendor:",n),c.error(B(n))}finally{p(!1)}},T=()=>{f(),m&&m()};return r.jsx($,{...y,children:r.jsx(Q,{icon:l?null:r.jsx(A,{}),text:e(l?"admin.vendor.edit":"admin.vendor.create"),open:q,onClose:T,width:800,addons:r.jsxs(z,{variant:"contained",size:"small",onClick:w(R),disabled:j||!S,children:[j&&r.jsx(N,{size:"small",sx:{mr:1}}),e(l?"admin.save":"admin.vendor.save")]}),children:r.jsxs(L,{spacing:3,children:[r.jsx(o,{name:"vendor_type",control:s,rules:{required:e("admin.vendor.vendorTypeRequired")},render:({field:a})=>r.jsxs(M,{fullWidth:!0,required:!0,error:!!t.vendor_type,children:[r.jsx(O,{children:e("admin.vendor.vendorType")}),r.jsxs(V,{...a,label:e("admin.vendor.vendorType"),children:[r.jsx(g,{value:"launcher",children:e("admin.vendor.launcher")}),r.jsx(g,{value:"didnames",children:e("admin.vendor.didnames")})]})]})}),r.jsx(o,{name:"vendor_key",control:s,rules:{required:e("admin.vendor.vendorKeyRequired"),pattern:{value:/^[a-z0-9_]+$/,message:e("admin.vendor.vendorKeyInvalid")}},render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.vendorKey"),required:!0,fullWidth:!0,disabled:l,error:!!t.vendor_key,helperText:t.vendor_key?.message||e("admin.vendor.vendorKeyHelp")})}),r.jsx(o,{name:"name",control:s,rules:{required:e("admin.vendor.nameRequired")},render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.name"),required:!0,fullWidth:!0,error:!!t.name,helperText:t.name?.message||e("admin.vendor.displayNameHelp")})}),r.jsx(o,{name:"description",control:s,render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.description"),multiline:!0,rows:3,fullWidth:!0})}),r.jsx(o,{name:"app_url",control:s,rules:{required:e("admin.vendor.appUrlRequired"),validate:C},render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.appUrl"),required:!0,fullWidth:!0,error:!!t.app_url,helperText:t.app_url?.message||e("admin.vendor.appUrlHelp")})}),r.jsx(X,{title:e("common.metadata.label")}),r.jsx(o,{name:"status",control:s,render:({field:a})=>r.jsx(E,{sx:{maxWidth:"max-content"},control:r.jsx(K,{checked:a.value==="active",onChange:n=>a.onChange(n.target.checked?"active":"inactive")}),label:F.status==="active"?e("admin.vendor.enabled"):e("admin.vendor.disabled")})})]})})})}export{de as default};
1
+ import{r as I,j as r,a3 as L,aQ as M,aS as O,aT as V,ad as g,a2 as u,aX as E,aY as K,x as z,w as N,bH as A}from"./vendor-mui-BXZut9Pz.js";import{V as J,Z as c}from"./vendor-blocklet-B8V2HFST.js";import{h as P,F as $,C as o,e as k,b8 as h,k as B}from"./index-Bfp56O3W.js";import{D as Q}from"./drawer-form-CSWrmdZI.js";import{M as X}from"./form-nz7nSyN7.js";import"./vendor-react-BPknnnEA.js";import"./lodash-B4Ozcv0x.js";import"./util-Dp629jKU.js";function de({open:q=!0,onClose:m=()=>{},onSubmit:x=()=>{},vendorData:d=void 0}){const{t:e}=J(),[j,p]=I.useState(!1),l=!!d,_=d?{...d,metadata:d.metadata?Object.entries(d.metadata).map(([a,n])=>({key:a,value:typeof n=="object"?JSON.stringify(n):String(n)})):[]}:{vendor_key:"",vendor_type:"launcher",name:"",description:"",app_url:"",status:"inactive",metadata:[{key:"blockletMetaUrl",value:""}]},y=P({mode:"onChange",defaultValues:_}),{control:s,handleSubmit:w,reset:f,formState:{errors:t,isValid:S},watch:U}=y,F=U(),C=a=>{if(!a)return e("admin.vendor.appUrlRequired");try{return new URL(a),!0}catch{return e("admin.vendor.appUrlInvalid")}},R=async a=>{try{p(!0);try{new URL(a.app_url)}catch{c.error(e("admin.vendor.appUrlInvalid")),p(!1);return}const{metadata:n,...W}=a,H=n.reduce((v,i)=>{if(i.key&&i.value)try{v[i.key]=JSON.parse(i.value)}catch{v[i.key]=i.value}return v},{}),b={...W,metadata:H};l&&d?(await k.put(`/api/vendors/${d.id}`,b),c.success(e("admin.vendor.updateSuccess")),h("vendor.updated")):(await k.post("/api/vendors",b),c.success(e("admin.vendor.saved")),h("vendor.created")),f(),h("drawer.submitted"),x&&x(),m&&m()}catch(n){console.error("Failed to create vendor:",n),c.error(B(n))}finally{p(!1)}},T=()=>{f(),m&&m()};return r.jsx($,{...y,children:r.jsx(Q,{icon:l?null:r.jsx(A,{}),text:e(l?"admin.vendor.edit":"admin.vendor.create"),open:q,onClose:T,width:800,addons:r.jsxs(z,{variant:"contained",size:"small",onClick:w(R),disabled:j||!S,children:[j&&r.jsx(N,{size:"small",sx:{mr:1}}),e(l?"admin.save":"admin.vendor.save")]}),children:r.jsxs(L,{spacing:3,children:[r.jsx(o,{name:"vendor_type",control:s,rules:{required:e("admin.vendor.vendorTypeRequired")},render:({field:a})=>r.jsxs(M,{fullWidth:!0,required:!0,error:!!t.vendor_type,children:[r.jsx(O,{children:e("admin.vendor.vendorType")}),r.jsxs(V,{...a,label:e("admin.vendor.vendorType"),children:[r.jsx(g,{value:"launcher",children:e("admin.vendor.launcher")}),r.jsx(g,{value:"didnames",children:e("admin.vendor.didnames")})]})]})}),r.jsx(o,{name:"vendor_key",control:s,rules:{required:e("admin.vendor.vendorKeyRequired"),pattern:{value:/^[a-z0-9_]+$/,message:e("admin.vendor.vendorKeyInvalid")}},render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.vendorKey"),required:!0,fullWidth:!0,disabled:l,error:!!t.vendor_key,helperText:t.vendor_key?.message||e("admin.vendor.vendorKeyHelp")})}),r.jsx(o,{name:"name",control:s,rules:{required:e("admin.vendor.nameRequired")},render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.name"),required:!0,fullWidth:!0,error:!!t.name,helperText:t.name?.message||e("admin.vendor.displayNameHelp")})}),r.jsx(o,{name:"description",control:s,render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.description"),multiline:!0,rows:3,fullWidth:!0})}),r.jsx(o,{name:"app_url",control:s,rules:{required:e("admin.vendor.appUrlRequired"),validate:C},render:({field:a})=>r.jsx(u,{...a,label:e("admin.vendor.appUrl"),required:!0,fullWidth:!0,error:!!t.app_url,helperText:t.app_url?.message||e("admin.vendor.appUrlHelp")})}),r.jsx(X,{title:e("common.metadata.label")}),r.jsx(o,{name:"status",control:s,render:({field:a})=>r.jsx(E,{sx:{maxWidth:"max-content"},control:r.jsx(K,{checked:a.value==="active",onChange:n=>a.onChange(n.target.checked?"active":"inactive")}),label:F.status==="active"?e("admin.vendor.enabled"):e("admin.vendor.disabled")})})]})})})}export{de as default};
@@ -1 +1 @@
1
- import{j as r,a3 as a,N as b,q as c,B as f}from"./vendor-mui-BXZut9Pz.js";import{V as y}from"./vendor-blocklet-B67R14so.js";import{a as g,f as j,T as h}from"./index-B4yaPb7B.js";import{C as _}from"./copyable-CprMHdhV.js";import{a as v}from"./vendor-react-BPknnnEA.js";function R({data:t,currency:d,mode:l="portal"}){const{t:i}=y(),p=v(),{session:m}=g(),u=l==="dashboard"&&["owner","admin"].includes(m?.user?.role||""),s=e=>{u&&p(`/admin/products/${e.product_id}?price_id=${e.id}&currency_id=${e.currency_id}`)},x=[{label:i("admin.subscription.product"),name:"product_id",options:{customBodyRenderLite:(e,n)=>{const o=t[n];return r.jsxs(a,{direction:"row",spacing:1,onClick:()=>s(o.price),children:[r.jsx(b,{src:o.price?.product?.images?.[0],alt:o.price?.product?.name,variant:"square",sx:{borderRadius:1}}),r.jsxs(a,{direction:"column",spacing:.5,children:[r.jsx(c,{variant:"body2",sx:{fontWeight:500},children:o.price?.product?.name}),r.jsx(c,{variant:"body2",sx:{color:"text.secondary"},children:j(o.price,d,o.price?.product?.unit_label||"")})]})]})}}},{label:i("common.id"),name:"id",options:{customBodyRenderLite:(e,n)=>{const o=t[n];return r.jsx(f,{onClick:()=>s(o.price),children:r.jsx(_,{text:o.id})})}}}].filter(Boolean);return r.jsx(h,{data:t,columns:x,loading:!1,footer:!1,toolbar:!1,components:{TableToolbar:()=>null,TableFooter:()=>null},options:{count:t.length,page:0,rowsPerPage:100},emptyNodeText:i("admin.customer.creditGrants.noApplicableProducts")})}export{R as C};
1
+ import{j as r,a3 as a,N as b,q as c,B as f}from"./vendor-mui-BXZut9Pz.js";import{V as y}from"./vendor-blocklet-B8V2HFST.js";import{a as g,f as j,T as h}from"./index-Bfp56O3W.js";import{C as _}from"./copyable-Dn7WoFib.js";import{a as v}from"./vendor-react-BPknnnEA.js";function R({data:t,currency:d,mode:l="portal"}){const{t:i}=y(),p=v(),{session:m}=g(),u=l==="dashboard"&&["owner","admin"].includes(m?.user?.role||""),s=e=>{u&&p(`/admin/products/${e.product_id}?price_id=${e.id}&currency_id=${e.currency_id}`)},x=[{label:i("admin.subscription.product"),name:"product_id",options:{customBodyRenderLite:(e,n)=>{const o=t[n];return r.jsxs(a,{direction:"row",spacing:1,onClick:()=>s(o.price),children:[r.jsx(b,{src:o.price?.product?.images?.[0],alt:o.price?.product?.name,variant:"square",sx:{borderRadius:1}}),r.jsxs(a,{direction:"column",spacing:.5,children:[r.jsx(c,{variant:"body2",sx:{fontWeight:500},children:o.price?.product?.name}),r.jsx(c,{variant:"body2",sx:{color:"text.secondary"},children:j(o.price,d,o.price?.product?.unit_label||"")})]})]})}}},{label:i("common.id"),name:"id",options:{customBodyRenderLite:(e,n)=>{const o=t[n];return r.jsx(f,{onClick:()=>s(o.price),children:r.jsx(_,{text:o.id})})}}}].filter(Boolean);return r.jsx(h,{data:t,columns:x,loading:!1,footer:!1,toolbar:!1,components:{TableToolbar:()=>null,TableFooter:()=>null},options:{count:t.length,page:0,rowsPerPage:100},emptyNodeText:i("admin.customer.creditGrants.noApplicableProducts")})}export{R as C};
@@ -1,4 +1,4 @@
1
- import{r as m,j as e,bg as ce,a3 as u,q as f,a2 as le,B as P,A as Se,aX as Te,aZ as ee,aT as Ae,ad as Re,N as Pe,x as G,w as de,b_ as Ie,bU as qe,bL as ke,bH as ue,aN as ze,aM as Z,b$ as Me,c0 as $e}from"./vendor-mui-BXZut9Pz.js";import{V as Q,Y as Ne,P as H,$ as Fe,Z as q,a7 as Le,F as me,aq as te,G as ne}from"./vendor-blocklet-B67R14so.js";import{f as ae,aR as Ee,aS as Be,aT as We,ay as De,a8 as Ue,aU as Oe,M as Ge,aV as re,a as Ve,W as He,h as Qe,F as Ze,S as Je,aW as se,C as ie,a3 as pe,aX as oe,a0 as Xe,e as N,k as O,i as he,a1 as Ye,l as xe,aY as Ke,aZ as et,a_ as tt,A as nt}from"./index-B4yaPb7B.js";import{a as at,b as rt}from"./vendor-react-BPknnnEA.js";import{I as st}from"./collapse-CSrlJ0eG.js";function it({product:t,price:r,currency:i,quantity:c,onQuantityChange:o,maxQuantity:b=99,minQuantity:s=1,creditCurrency:j,exchangeRate:d=null,isDynamicPricing:A=!1,exchangeRateData:v=null,slippageConfig:w=null,slippagePercent:k=.5,onSlippageChange:z=void 0,disabled:R=!1}){const{t:S,locale:I}=Q(),[p,x]=m.useState(c),a=Number(p)||0,{paymentAmount:l,usdReferenceDisplay:y}=m.useMemo(()=>{if(!A||!d||!r?.base_amount)return{paymentAmount:ae(r,i,t?.unit_label,p,!0),usdReferenceDisplay:null};const T=Number(r.base_amount)*a,C=Number(d);if(C<=0||!Number.isFinite(T))return{paymentAmount:ae(r,i,t?.unit_label,p,!0),usdReferenceDisplay:null};const D=T/C,M=Ee(D,!0,6),$=Be(T.toString(),I);return{paymentAmount:`${M} ${i.symbol}`,usdReferenceDisplay:$?`≈ $${$}`:null}},[A,d,r,i,t?.unit_label,p,a,I]),_=T=>{if(!T){x(void 0);return}T>=s&&T<=b&&(x(T),o(T))},F=T=>{const C=parseInt(T.target.value||"0",10);Number.isNaN(C)||_(C)},L=Number(r.metadata?.credit_config?.credit_amount||0);return e.jsxs(ce,{variant:"outlined",sx:{p:2},children:[e.jsxs(u,{direction:"row",spacing:2,sx:{flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"}},children:[e.jsx(u,{direction:"row",spacing:2,sx:{alignItems:"center",flex:1},children:e.jsx(We,{name:t?.name||"",description:S("payment.autoTopup.creditsIncluded",{num:De(Ue(L*a),j?.symbol||"",I)}),logo:t?.images?.[0],size:40})}),e.jsxs(u,{direction:"row",spacing:1,sx:{alignItems:"center",alignSelf:{xs:"flex-end",sm:"center"}},children:[e.jsxs(f,{variant:"body2",sx:{color:"text.secondary",minWidth:"fit-content"},children:[S("common.quantity"),":"]}),e.jsx(le,{size:"small",value:p,onChange:F,type:"number",sx:{"& .MuiInputBase-root":{height:32}},slotProps:{htmlInput:{min:0,max:b,style:{textAlign:"center",padding:"4px 8px"}}}})]})]}),e.jsxs(u,{direction:"row",sx:{justifyContent:"space-between",alignItems:"flex-start",mt:2,pt:2,borderTop:"1px solid",borderColor:"divider"},children:[e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:S("payment.autoTopup.rechargeAmount")}),e.jsxs(u,{sx:{alignItems:"flex-end"},children:[e.jsx(f,{variant:"h6",sx:{fontWeight:600,color:"text.primary"},children:l}),y&&e.jsx(f,{sx:{fontSize:"0.7875rem",color:"text.lighter"},children:y}),A&&v?.rate&&e.jsx(Oe,{rateLine:S("payment.checkout.quote.rateLine",{symbol:i.symbol,rate:`$${re(v.rate)||v.rate}`}),rows:[{label:S("payment.checkout.quote.detailProvider"),value:v?.provider_display||v?.provider_name||"—"},{label:S("payment.checkout.quote.detailUpdatedAt"),value:v?.timestamp_ms?Ge(v.timestamp_ms,I):"—"},{label:S("payment.checkout.quote.detailSlippage"),value:w?.mode==="rate"&&w.min_acceptable_rate?`$${re(w.min_acceptable_rate)||w.min_acceptable_rate}`:`${w?.percent??k}%`,isSlippage:!0}],isSubscription:!0,slippageValue:w?.percent??k,slippageConfig:w||void 0,onSlippageChange:z,exchangeRate:v?.rate,baseCurrency:"USD",disabled:R})]})]})]})}const ot=async(t,r)=>{const{data:i}=await N.get(`/api/auto-recharge-configs/customer/${t}`,{params:{currency_id:r}});return i},ct=async(t,r)=>{const{data:i}=await N.get("/api/customers/payer-token",{params:{currencyId:t,payerAddress:r}});return i},B={enabled:!1,threshold:"100",quantity:1,payment_method_id:"",recharge_currency_id:"",price_id:"",daily_max_amount:0,daily_max_attempts:0},lt=async t=>{const{data:r}=await N.post("/api/exchange-rates/validate",{currency:t});return r},dt=async t=>{let r;return await Ye(async()=>{const{data:i}=await N.get(`/api/auto-recharge-configs/retrieve/${t}`);return r=i,!!r.payment_settings?.payment_method_options?.[r.paymentMethod.type]?.payer},{interval:2e3,timeout:180*1e3}),r};function ut({config:t,onChangePaymentMethod:r,paymentMethod:i,currency:c}){const{t:o}=Q(),[b,s]=m.useState(!1),j=at(),d=t?.payment_settings?.payment_method_options?.[i.type||""],{data:A,loading:v}=H(async()=>i.type==="stripe"?null:await ct(c.id,d?.payer),{refreshDeps:[c.id,d?.payer],ready:!!c.id&&!!d?.payer}),w=()=>{const R=!b;s(R),r(R)};if(!d)return null;const k=R=>{const S=me(xe(),`/customer/recharge/${c.id}?rechargeAddress=${d?.payer}`),I=Ke(S,!0);et(R,I,j)},z=()=>i.type==="stripe"?e.jsxs(u,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(qe,{fontSize:"small",color:"primary"}),e.jsxs(f,{variant:"body2",children:["**** **** **** ",d?.card_last4||"****"]}),e.jsx(f,{variant:"body2",sx:{color:"text.secondary",textTransform:"uppercase"},children:d?.card_brand||"CARD"}),d?.exp_time&&e.jsx(f,{variant:"body2",sx:{color:"text.secondary",borderLeft:"1px solid",borderColor:"divider",pl:1},children:d?.exp_time})]}):e.jsxs(u,{spacing:1,sx:{borderRadius:1,backgroundColor:R=>R.palette.mode==="dark"?"grey.100":"grey.50",p:2},children:[e.jsx(Le,{did:d?.payer,responsive:!1,compact:!0,copyable:!1}),(A||v)&&e.jsxs(u,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[v?e.jsx(de,{size:14,sx:{mr:.5}}):e.jsxs(P,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(ke,{fontSize:"small",sx:{color:"text.lighter"}}),e.jsxs(f,{variant:"body2",sx:{color:"text.primary"},children:[e.jsxs("strong",{children:[he(A?.token||"0",c?.decimal)," "]}),c?.symbol||""]})]}),e.jsxs(G,{size:"small",variant:"text",onClick:k,sx:{fontSize:"smaller",color:"primary.main"},children:[e.jsx(ue,{fontSize:"small"}),o("payment.autoTopup.addFunds")]})]})]});return e.jsx(P,{sx:{p:2,border:"1px solid",borderColor:b?"primary.main":"divider",borderRadius:1,bgcolor:b?"primary.50":"background.paper"},children:e.jsxs(u,{spacing:2,children:[e.jsxs(u,{sx:{flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"}},children:[e.jsx(f,{variant:"subtitle2",sx:{display:"flex",alignItems:"center",gap:1,whiteSpace:"nowrap"},children:o("payment.autoTopup.currentPaymentMethod")}),e.jsx(G,{size:"small",startIcon:e.jsx(Ie,{}),onClick:w,variant:"text",sx:{color:"primary.main",whiteSpace:"nowrap",alignSelf:{xs:"flex-end",sm:"center"}},children:o(b?"payment.autoTopup.keepCurrent":"payment.autoTopup.changePaymentMethod")})]}),b?e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:o("payment.autoTopup.changePaymentMethodTip")}):z()]})})}function mt({open:t,onClose:r,currencyId:i,onSuccess:c=()=>{},onError:o=()=>{},defaultEnabled:b=void 0}){const{t:s,locale:j}=Q(),{session:d,connect:A,settings:v}=Ve(),[w,k]=m.useState(!1),[z,R]=m.useState(.5),[S,I]=m.useState(null),[p,x]=Ne({loading:!1,submitting:!1,authorizationRequired:!1,stripeContext:{client_secret:"",intent_type:"",status:"",public_key:"",customer:{}}}),a=He(v.paymentMethods),l=Qe({defaultValues:{enabled:b||B.enabled,threshold:B.threshold,quantity:B.quantity,payment_method_id:B.payment_method_id,recharge_currency_id:B.recharge_currency_id,price_id:B.price_id,daily_limits:{max_attempts:B.daily_max_attempts,max_amount:B.daily_max_amount}}}),{handleSubmit:y,setValue:_,watch:F}=l,L=F("enabled"),T=F("quantity"),C=F("recharge_currency_id"),D=v.paymentMethods.find(n=>n.payment_currencies.find(h=>h.id===C)),M=D?.type==="stripe",$=()=>{x({loading:!1,submitting:!1,authorizationRequired:!1}),r()},{data:g}=H(()=>ot(d?.user?.did,i),{refreshDeps:[d?.user?.did,i],ready:!!d?.user?.did&&!!i,onError:n=>{q.error(O(n))},onSuccess:n=>{_("enabled",b||n.enabled),_("threshold",n.threshold),_("quantity",n.quantity),_("payment_method_id",n.payment_method_id),_("recharge_currency_id",n.recharge_currency_id||n.price?.currency_id),_("price_id",n.price_id),_("daily_limits",{max_amount:n.daily_limits?.max_amount||0,max_attempts:n.daily_limits?.max_attempts||0}),n.slippage_config&&(I(n.slippage_config),R(n.slippage_config.percent??.5))}}),W=g?.price?.pricing_type==="dynamic",{data:V}=H(()=>lt(C),{refreshDeps:[C],ready:!!C&&W&&L&&!M,pollingInterval:3e4,pollingWhenHidden:!1,onError:n=>{console.warn("Failed to fetch exchange rate:",n.message)}}),E=m.useMemo(()=>a.filter(n=>g?.price?.currency_options?.find(h=>h.currency_id===n.id)),[a,g]),X=async()=>{try{await dt(g?.id)&&(x({submitting:!1,authorizationRequired:!1}),c?.(g),$(),q.success(s("payment.autoTopup.saveSuccess")))}catch(n){q.error(O(n))}finally{x({submitting:!1,authorizationRequired:!1})}},ge=async()=>{try{const n={...g,enabled:!1};if(!g?.enabled)return;const{data:h}=await N.post("/api/auto-recharge-configs/submit",n);c?.(h),q.success(s("payment.autoTopup.disableSuccess"))}catch(n){q.error(O(n)),o?.(n)}},fe=async n=>{_("enabled",n),n||await ge()},be=n=>{x({authorizationRequired:!0}),n.stripeContext?x({stripeContext:{client_secret:n.stripeContext.client_secret,intent_type:n.stripeContext.intent_type,status:n.stripeContext.status,public_key:n.paymentMethod.settings.stripe.publishable_key,customer:n.customer}}):n.delegation&&_e()},_e=()=>{try{x({submitting:!0}),A.open({containerEl:void 0,saveConnect:!1,locale:j,action:"auto-recharge-auth",prefix:me(xe(),"/api/did"),extraParams:{autoRechargeConfigId:g?.id},messages:{scan:s("payment.autoTopup.authTip"),title:s("payment.autoTopup.authTitle"),confirm:s("common.connect.confirm")},onSuccess:async()=>{A.close(),await X()},onClose:()=>{A.close(),x({submitting:!1,authorizationRequired:!1})},onError:n=>{x({submitting:!1,authorizationRequired:!1}),q.error(O(n))}})}catch(n){x({submitting:!1,authorizationRequired:!1}),q.error(O(n))}},je=async n=>{x({submitting:!0});try{const h={customer_id:d?.user?.did,enabled:n.enabled,threshold:n.threshold,currency_id:i,recharge_currency_id:n.recharge_currency_id,price_id:n.price_id,quantity:n.quantity,daily_limits:{max_attempts:n.daily_limits.max_attempts||0,max_amount:n.daily_limits.max_amount||"0"},change_payment_method:w};W&&S&&(h.slippage_config={...S,updated_at_ms:Date.now()});const{data:U}=await N.post("/api/auto-recharge-configs/submit",h);if(U.balanceResult&&!U.balanceResult.sufficient){await be({...U.balanceResult,paymentMethod:U.paymentMethod,customer:U.customer});return}x({submitting:!1,authorizationRequired:!1}),c?.(U),$(),q.success(s("payment.autoTopup.saveSuccess"))}catch(h){x({submitting:!1,authorizationRequired:!1}),q.error(O(h)),o?.(h)}},Y=n=>{je(n)},K=E.find(n=>n.id===C),ve=p.authorizationRequired&&M,Ce=async()=>{await X()},we=()=>{x({submitting:!1,authorizationRequired:!1})};return e.jsx(Fe,{open:t,onClose:$,maxWidth:"sm",fullWidth:!0,className:"base-dialog",title:s("payment.autoTopup.title"),actions:L?e.jsxs(u,{direction:"row",spacing:2,children:[e.jsx(G,{variant:"outlined",onClick:$,disabled:p.submitting,children:s("common.cancel")}),e.jsxs(G,{variant:"contained",onClick:()=>y(Y)(),disabled:p.loading||p.authorizationRequired||p.submitting,children:[p.submitting&&e.jsx(de,{size:20,sx:{mr:1}}),s("payment.autoTopup.saveConfiguration")]})]}):null,children:e.jsx(Ze,{...l,children:e.jsx(P,{component:"form",onSubmit:y(Y),children:e.jsxs(u,{sx:{gap:2},children:[e.jsx(Se,{severity:"info",children:s("payment.autoTopup.tip")}),e.jsxs(u,{spacing:2,direction:"row",sx:{alignItems:"center"},children:[e.jsx(f,{variant:"subtitle1",children:s("payment.autoTopup.enableLabel")}),e.jsx(Te,{control:e.jsx(Je,{checked:L,onChange:n=>fe(n.target.checked)}),label:""})]}),L&&e.jsxs(e.Fragment,{children:[e.jsx(P,{sx:{pt:1},children:e.jsxs(u,{spacing:2.5,children:[e.jsxs(u,{sx:{gap:2,flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"},".MuiTextField-root":{width:{xs:"100%",sm:"auto"}}},children:[e.jsx(se,{boxSx:{width:"fit-content",whiteSpace:"nowrap",marginBottom:0},children:s("payment.autoTopup.triggerThreshold")}),e.jsx(ie,{name:"threshold",control:l.control,rules:{required:s("payment.checkout.required"),min:{value:0,message:s("payment.autoTopup.thresholdMinError")}},render:({field:n})=>e.jsx(le,{...n,type:"number",placeholder:s("payment.autoTopup.thresholdPlaceholder"),sx:{input:{minWidth:80}},slotProps:{input:{endAdornment:e.jsx(ee,{position:"end",children:pe("",g?.currency?.symbol)})},htmlInput:{min:0,step:.01}}})})]}),e.jsxs(u,{sx:{gap:2,flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"}},children:[e.jsx(se,{boxSx:{width:"fit-content",whiteSpace:"nowrap",marginBottom:0},children:s("payment.autoTopup.purchaseBelow")}),e.jsx(ie,{name:"recharge_currency_id",control:l.control,render:({field:n})=>e.jsx(Ae,{...n,value:n.value,onChange:h=>n.onChange(h.target.value),size:"small",children:E.map(h=>e.jsx(Re,{value:h?.id,children:e.jsxs(u,{direction:"row",sx:{alignItems:"center",gap:1},children:[e.jsx(Pe,{src:h?.logo,sx:{width:20,height:20},alt:h?.symbol}),e.jsxs(f,{sx:{color:"text.secondary"},children:[h?.symbol," (",h?.method?.name,")"]})]})},h?.id))})})]}),g?.price?.product&&e.jsx(it,{product:g.price.product,price:g.price,creditCurrency:g.currency,currency:E.find(n=>n.id===C)||E[0],quantity:T,onQuantityChange:n=>_("quantity",n),maxQuantity:9999,minQuantity:1,exchangeRate:V?.rate,isDynamicPricing:W&&!M,exchangeRateData:V,slippageConfig:S,slippagePercent:z,onSlippageChange:n=>{I(n),n.percent!==void 0&&R(n.percent)},disabled:p.submitting}),g&&K&&e.jsx(ut,{config:g,onChangePaymentMethod:k,currency:K,paymentMethod:D}),e.jsx(st,{trigger:s("payment.autoTopup.advanced"),children:e.jsxs(u,{sx:{gap:2,pl:2,pr:1},children:[e.jsx(oe,{name:"daily_limits.max_amount",label:s("payment.autoTopup.dailyLimits.maxAmount"),type:"number",placeholder:s("payment.autoTopup.dailyLimits.maxAmountPlaceholder"),tooltip:s("payment.autoTopup.dailyLimits.maxAmountDescription"),inputProps:{min:0,step:.01},slotProps:{input:{endAdornment:e.jsx(ee,{position:"end",children:E.find(n=>n.id===C)?.symbol||""})}},sx:{maxWidth:{xs:"100%",sm:"220px"}},layout:"horizontal"}),e.jsx(oe,{name:"daily_limits.max_attempts",label:s("payment.autoTopup.dailyLimits.maxAttempts"),type:"number",placeholder:s("payment.autoTopup.dailyLimits.maxAttemptsPlaceholder"),tooltip:s("payment.autoTopup.dailyLimits.maxAttemptsDescription"),inputProps:{min:0,step:1},sx:{maxWidth:{xs:"100%",sm:"220px"}},layout:"horizontal"})]})})]})}),e.jsx(u,{spacing:2,children:ve&&e.jsx(P,{sx:{mt:2},children:p.stripeContext&&e.jsx(P,{sx:{mt:2},children:e.jsx(Xe,{clientSecret:p.stripeContext.client_secret,intentType:p.stripeContext.intent_type,publicKey:p.stripeContext.public_key,customer:p.stripeContext.customer,mode:"setup",onConfirm:Ce,onCancel:we})})})})]})]})})})})}function pt(t){if(!t)return"Unknown error";if(t?.name==="ZodError")return Array.isArray(t.errors)?t.errors.map(r=>r.message).join(`
1
+ import{r as m,j as e,bg as ce,a3 as u,q as f,a2 as le,B as P,A as Se,aX as Te,aZ as ee,aT as Ae,ad as Re,N as Pe,x as G,w as de,b_ as Ie,bU as qe,bL as ke,bH as ue,aN as ze,aM as Z,b$ as Me,c0 as $e}from"./vendor-mui-BXZut9Pz.js";import{V as Q,Y as Ne,P as H,$ as Fe,Z as q,a7 as Le,F as me,aq as te,G as ne}from"./vendor-blocklet-B8V2HFST.js";import{f as ae,aR as Ee,aS as Be,aT as We,ay as De,a8 as Ue,aU as Oe,M as Ge,aV as re,a as Ve,W as He,h as Qe,F as Ze,S as Je,aW as se,C as ie,a3 as pe,aX as oe,a0 as Xe,e as N,k as O,i as he,a1 as Ye,l as xe,aY as Ke,aZ as et,a_ as tt,A as nt}from"./index-Bfp56O3W.js";import{a as at,b as rt}from"./vendor-react-BPknnnEA.js";import{I as st}from"./collapse-CSrlJ0eG.js";function it({product:t,price:r,currency:i,quantity:c,onQuantityChange:o,maxQuantity:b=99,minQuantity:s=1,creditCurrency:j,exchangeRate:d=null,isDynamicPricing:A=!1,exchangeRateData:v=null,slippageConfig:w=null,slippagePercent:k=.5,onSlippageChange:z=void 0,disabled:R=!1}){const{t:S,locale:I}=Q(),[p,x]=m.useState(c),a=Number(p)||0,{paymentAmount:l,usdReferenceDisplay:y}=m.useMemo(()=>{if(!A||!d||!r?.base_amount)return{paymentAmount:ae(r,i,t?.unit_label,p,!0),usdReferenceDisplay:null};const T=Number(r.base_amount)*a,C=Number(d);if(C<=0||!Number.isFinite(T))return{paymentAmount:ae(r,i,t?.unit_label,p,!0),usdReferenceDisplay:null};const D=T/C,M=Ee(D,!0,6),$=Be(T.toString(),I);return{paymentAmount:`${M} ${i.symbol}`,usdReferenceDisplay:$?`≈ $${$}`:null}},[A,d,r,i,t?.unit_label,p,a,I]),_=T=>{if(!T){x(void 0);return}T>=s&&T<=b&&(x(T),o(T))},F=T=>{const C=parseInt(T.target.value||"0",10);Number.isNaN(C)||_(C)},L=Number(r.metadata?.credit_config?.credit_amount||0);return e.jsxs(ce,{variant:"outlined",sx:{p:2},children:[e.jsxs(u,{direction:"row",spacing:2,sx:{flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"}},children:[e.jsx(u,{direction:"row",spacing:2,sx:{alignItems:"center",flex:1},children:e.jsx(We,{name:t?.name||"",description:S("payment.autoTopup.creditsIncluded",{num:De(Ue(L*a),j?.symbol||"",I)}),logo:t?.images?.[0],size:40})}),e.jsxs(u,{direction:"row",spacing:1,sx:{alignItems:"center",alignSelf:{xs:"flex-end",sm:"center"}},children:[e.jsxs(f,{variant:"body2",sx:{color:"text.secondary",minWidth:"fit-content"},children:[S("common.quantity"),":"]}),e.jsx(le,{size:"small",value:p,onChange:F,type:"number",sx:{"& .MuiInputBase-root":{height:32}},slotProps:{htmlInput:{min:0,max:b,style:{textAlign:"center",padding:"4px 8px"}}}})]})]}),e.jsxs(u,{direction:"row",sx:{justifyContent:"space-between",alignItems:"flex-start",mt:2,pt:2,borderTop:"1px solid",borderColor:"divider"},children:[e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:S("payment.autoTopup.rechargeAmount")}),e.jsxs(u,{sx:{alignItems:"flex-end"},children:[e.jsx(f,{variant:"h6",sx:{fontWeight:600,color:"text.primary"},children:l}),y&&e.jsx(f,{sx:{fontSize:"0.7875rem",color:"text.lighter"},children:y}),A&&v?.rate&&e.jsx(Oe,{rateLine:S("payment.checkout.quote.rateLine",{symbol:i.symbol,rate:`$${re(v.rate)||v.rate}`}),rows:[{label:S("payment.checkout.quote.detailProvider"),value:v?.provider_display||v?.provider_name||"—"},{label:S("payment.checkout.quote.detailUpdatedAt"),value:v?.timestamp_ms?Ge(v.timestamp_ms,I):"—"},{label:S("payment.checkout.quote.detailSlippage"),value:w?.mode==="rate"&&w.min_acceptable_rate?`$${re(w.min_acceptable_rate)||w.min_acceptable_rate}`:`${w?.percent??k}%`,isSlippage:!0}],isSubscription:!0,slippageValue:w?.percent??k,slippageConfig:w||void 0,onSlippageChange:z,exchangeRate:v?.rate,baseCurrency:"USD",disabled:R})]})]})]})}const ot=async(t,r)=>{const{data:i}=await N.get(`/api/auto-recharge-configs/customer/${t}`,{params:{currency_id:r}});return i},ct=async(t,r)=>{const{data:i}=await N.get("/api/customers/payer-token",{params:{currencyId:t,payerAddress:r}});return i},B={enabled:!1,threshold:"100",quantity:1,payment_method_id:"",recharge_currency_id:"",price_id:"",daily_max_amount:0,daily_max_attempts:0},lt=async t=>{const{data:r}=await N.post("/api/exchange-rates/validate",{currency:t});return r},dt=async t=>{let r;return await Ye(async()=>{const{data:i}=await N.get(`/api/auto-recharge-configs/retrieve/${t}`);return r=i,!!r.payment_settings?.payment_method_options?.[r.paymentMethod.type]?.payer},{interval:2e3,timeout:180*1e3}),r};function ut({config:t,onChangePaymentMethod:r,paymentMethod:i,currency:c}){const{t:o}=Q(),[b,s]=m.useState(!1),j=at(),d=t?.payment_settings?.payment_method_options?.[i.type||""],{data:A,loading:v}=H(async()=>i.type==="stripe"?null:await ct(c.id,d?.payer),{refreshDeps:[c.id,d?.payer],ready:!!c.id&&!!d?.payer}),w=()=>{const R=!b;s(R),r(R)};if(!d)return null;const k=R=>{const S=me(xe(),`/customer/recharge/${c.id}?rechargeAddress=${d?.payer}`),I=Ke(S,!0);et(R,I,j)},z=()=>i.type==="stripe"?e.jsxs(u,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(qe,{fontSize:"small",color:"primary"}),e.jsxs(f,{variant:"body2",children:["**** **** **** ",d?.card_last4||"****"]}),e.jsx(f,{variant:"body2",sx:{color:"text.secondary",textTransform:"uppercase"},children:d?.card_brand||"CARD"}),d?.exp_time&&e.jsx(f,{variant:"body2",sx:{color:"text.secondary",borderLeft:"1px solid",borderColor:"divider",pl:1},children:d?.exp_time})]}):e.jsxs(u,{spacing:1,sx:{borderRadius:1,backgroundColor:R=>R.palette.mode==="dark"?"grey.100":"grey.50",p:2},children:[e.jsx(Le,{did:d?.payer,responsive:!1,compact:!0,copyable:!1}),(A||v)&&e.jsxs(u,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[v?e.jsx(de,{size:14,sx:{mr:.5}}):e.jsxs(P,{sx:{display:"flex",alignItems:"center",gap:1},children:[e.jsx(ke,{fontSize:"small",sx:{color:"text.lighter"}}),e.jsxs(f,{variant:"body2",sx:{color:"text.primary"},children:[e.jsxs("strong",{children:[he(A?.token||"0",c?.decimal)," "]}),c?.symbol||""]})]}),e.jsxs(G,{size:"small",variant:"text",onClick:k,sx:{fontSize:"smaller",color:"primary.main"},children:[e.jsx(ue,{fontSize:"small"}),o("payment.autoTopup.addFunds")]})]})]});return e.jsx(P,{sx:{p:2,border:"1px solid",borderColor:b?"primary.main":"divider",borderRadius:1,bgcolor:b?"primary.50":"background.paper"},children:e.jsxs(u,{spacing:2,children:[e.jsxs(u,{sx:{flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"}},children:[e.jsx(f,{variant:"subtitle2",sx:{display:"flex",alignItems:"center",gap:1,whiteSpace:"nowrap"},children:o("payment.autoTopup.currentPaymentMethod")}),e.jsx(G,{size:"small",startIcon:e.jsx(Ie,{}),onClick:w,variant:"text",sx:{color:"primary.main",whiteSpace:"nowrap",alignSelf:{xs:"flex-end",sm:"center"}},children:o(b?"payment.autoTopup.keepCurrent":"payment.autoTopup.changePaymentMethod")})]}),b?e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:o("payment.autoTopup.changePaymentMethodTip")}):z()]})})}function mt({open:t,onClose:r,currencyId:i,onSuccess:c=()=>{},onError:o=()=>{},defaultEnabled:b=void 0}){const{t:s,locale:j}=Q(),{session:d,connect:A,settings:v}=Ve(),[w,k]=m.useState(!1),[z,R]=m.useState(.5),[S,I]=m.useState(null),[p,x]=Ne({loading:!1,submitting:!1,authorizationRequired:!1,stripeContext:{client_secret:"",intent_type:"",status:"",public_key:"",customer:{}}}),a=He(v.paymentMethods),l=Qe({defaultValues:{enabled:b||B.enabled,threshold:B.threshold,quantity:B.quantity,payment_method_id:B.payment_method_id,recharge_currency_id:B.recharge_currency_id,price_id:B.price_id,daily_limits:{max_attempts:B.daily_max_attempts,max_amount:B.daily_max_amount}}}),{handleSubmit:y,setValue:_,watch:F}=l,L=F("enabled"),T=F("quantity"),C=F("recharge_currency_id"),D=v.paymentMethods.find(n=>n.payment_currencies.find(h=>h.id===C)),M=D?.type==="stripe",$=()=>{x({loading:!1,submitting:!1,authorizationRequired:!1}),r()},{data:g}=H(()=>ot(d?.user?.did,i),{refreshDeps:[d?.user?.did,i],ready:!!d?.user?.did&&!!i,onError:n=>{q.error(O(n))},onSuccess:n=>{_("enabled",b||n.enabled),_("threshold",n.threshold),_("quantity",n.quantity),_("payment_method_id",n.payment_method_id),_("recharge_currency_id",n.recharge_currency_id||n.price?.currency_id),_("price_id",n.price_id),_("daily_limits",{max_amount:n.daily_limits?.max_amount||0,max_attempts:n.daily_limits?.max_attempts||0}),n.slippage_config&&(I(n.slippage_config),R(n.slippage_config.percent??.5))}}),W=g?.price?.pricing_type==="dynamic",{data:V}=H(()=>lt(C),{refreshDeps:[C],ready:!!C&&W&&L&&!M,pollingInterval:3e4,pollingWhenHidden:!1,onError:n=>{console.warn("Failed to fetch exchange rate:",n.message)}}),E=m.useMemo(()=>a.filter(n=>g?.price?.currency_options?.find(h=>h.currency_id===n.id)),[a,g]),X=async()=>{try{await dt(g?.id)&&(x({submitting:!1,authorizationRequired:!1}),c?.(g),$(),q.success(s("payment.autoTopup.saveSuccess")))}catch(n){q.error(O(n))}finally{x({submitting:!1,authorizationRequired:!1})}},ge=async()=>{try{const n={...g,enabled:!1};if(!g?.enabled)return;const{data:h}=await N.post("/api/auto-recharge-configs/submit",n);c?.(h),q.success(s("payment.autoTopup.disableSuccess"))}catch(n){q.error(O(n)),o?.(n)}},fe=async n=>{_("enabled",n),n||await ge()},be=n=>{x({authorizationRequired:!0}),n.stripeContext?x({stripeContext:{client_secret:n.stripeContext.client_secret,intent_type:n.stripeContext.intent_type,status:n.stripeContext.status,public_key:n.paymentMethod.settings.stripe.publishable_key,customer:n.customer}}):n.delegation&&_e()},_e=()=>{try{x({submitting:!0}),A.open({containerEl:void 0,saveConnect:!1,locale:j,action:"auto-recharge-auth",prefix:me(xe(),"/api/did"),extraParams:{autoRechargeConfigId:g?.id},messages:{scan:s("payment.autoTopup.authTip"),title:s("payment.autoTopup.authTitle"),confirm:s("common.connect.confirm")},onSuccess:async()=>{A.close(),await X()},onClose:()=>{A.close(),x({submitting:!1,authorizationRequired:!1})},onError:n=>{x({submitting:!1,authorizationRequired:!1}),q.error(O(n))}})}catch(n){x({submitting:!1,authorizationRequired:!1}),q.error(O(n))}},je=async n=>{x({submitting:!0});try{const h={customer_id:d?.user?.did,enabled:n.enabled,threshold:n.threshold,currency_id:i,recharge_currency_id:n.recharge_currency_id,price_id:n.price_id,quantity:n.quantity,daily_limits:{max_attempts:n.daily_limits.max_attempts||0,max_amount:n.daily_limits.max_amount||"0"},change_payment_method:w};W&&S&&(h.slippage_config={...S,updated_at_ms:Date.now()});const{data:U}=await N.post("/api/auto-recharge-configs/submit",h);if(U.balanceResult&&!U.balanceResult.sufficient){await be({...U.balanceResult,paymentMethod:U.paymentMethod,customer:U.customer});return}x({submitting:!1,authorizationRequired:!1}),c?.(U),$(),q.success(s("payment.autoTopup.saveSuccess"))}catch(h){x({submitting:!1,authorizationRequired:!1}),q.error(O(h)),o?.(h)}},Y=n=>{je(n)},K=E.find(n=>n.id===C),ve=p.authorizationRequired&&M,Ce=async()=>{await X()},we=()=>{x({submitting:!1,authorizationRequired:!1})};return e.jsx(Fe,{open:t,onClose:$,maxWidth:"sm",fullWidth:!0,className:"base-dialog",title:s("payment.autoTopup.title"),actions:L?e.jsxs(u,{direction:"row",spacing:2,children:[e.jsx(G,{variant:"outlined",onClick:$,disabled:p.submitting,children:s("common.cancel")}),e.jsxs(G,{variant:"contained",onClick:()=>y(Y)(),disabled:p.loading||p.authorizationRequired||p.submitting,children:[p.submitting&&e.jsx(de,{size:20,sx:{mr:1}}),s("payment.autoTopup.saveConfiguration")]})]}):null,children:e.jsx(Ze,{...l,children:e.jsx(P,{component:"form",onSubmit:y(Y),children:e.jsxs(u,{sx:{gap:2},children:[e.jsx(Se,{severity:"info",children:s("payment.autoTopup.tip")}),e.jsxs(u,{spacing:2,direction:"row",sx:{alignItems:"center"},children:[e.jsx(f,{variant:"subtitle1",children:s("payment.autoTopup.enableLabel")}),e.jsx(Te,{control:e.jsx(Je,{checked:L,onChange:n=>fe(n.target.checked)}),label:""})]}),L&&e.jsxs(e.Fragment,{children:[e.jsx(P,{sx:{pt:1},children:e.jsxs(u,{spacing:2.5,children:[e.jsxs(u,{sx:{gap:2,flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"},".MuiTextField-root":{width:{xs:"100%",sm:"auto"}}},children:[e.jsx(se,{boxSx:{width:"fit-content",whiteSpace:"nowrap",marginBottom:0},children:s("payment.autoTopup.triggerThreshold")}),e.jsx(ie,{name:"threshold",control:l.control,rules:{required:s("payment.checkout.required"),min:{value:0,message:s("payment.autoTopup.thresholdMinError")}},render:({field:n})=>e.jsx(le,{...n,type:"number",placeholder:s("payment.autoTopup.thresholdPlaceholder"),sx:{input:{minWidth:80}},slotProps:{input:{endAdornment:e.jsx(ee,{position:"end",children:pe("",g?.currency?.symbol)})},htmlInput:{min:0,step:.01}}})})]}),e.jsxs(u,{sx:{gap:2,flexDirection:{xs:"column",sm:"row"},alignItems:{xs:"flex-start",sm:"center"},justifyContent:{xs:"flex-start",sm:"space-between"}},children:[e.jsx(se,{boxSx:{width:"fit-content",whiteSpace:"nowrap",marginBottom:0},children:s("payment.autoTopup.purchaseBelow")}),e.jsx(ie,{name:"recharge_currency_id",control:l.control,render:({field:n})=>e.jsx(Ae,{...n,value:n.value,onChange:h=>n.onChange(h.target.value),size:"small",children:E.map(h=>e.jsx(Re,{value:h?.id,children:e.jsxs(u,{direction:"row",sx:{alignItems:"center",gap:1},children:[e.jsx(Pe,{src:h?.logo,sx:{width:20,height:20},alt:h?.symbol}),e.jsxs(f,{sx:{color:"text.secondary"},children:[h?.symbol," (",h?.method?.name,")"]})]})},h?.id))})})]}),g?.price?.product&&e.jsx(it,{product:g.price.product,price:g.price,creditCurrency:g.currency,currency:E.find(n=>n.id===C)||E[0],quantity:T,onQuantityChange:n=>_("quantity",n),maxQuantity:9999,minQuantity:1,exchangeRate:V?.rate,isDynamicPricing:W&&!M,exchangeRateData:V,slippageConfig:S,slippagePercent:z,onSlippageChange:n=>{I(n),n.percent!==void 0&&R(n.percent)},disabled:p.submitting}),g&&K&&e.jsx(ut,{config:g,onChangePaymentMethod:k,currency:K,paymentMethod:D}),e.jsx(st,{trigger:s("payment.autoTopup.advanced"),children:e.jsxs(u,{sx:{gap:2,pl:2,pr:1},children:[e.jsx(oe,{name:"daily_limits.max_amount",label:s("payment.autoTopup.dailyLimits.maxAmount"),type:"number",placeholder:s("payment.autoTopup.dailyLimits.maxAmountPlaceholder"),tooltip:s("payment.autoTopup.dailyLimits.maxAmountDescription"),inputProps:{min:0,step:.01},slotProps:{input:{endAdornment:e.jsx(ee,{position:"end",children:E.find(n=>n.id===C)?.symbol||""})}},sx:{maxWidth:{xs:"100%",sm:"220px"}},layout:"horizontal"}),e.jsx(oe,{name:"daily_limits.max_attempts",label:s("payment.autoTopup.dailyLimits.maxAttempts"),type:"number",placeholder:s("payment.autoTopup.dailyLimits.maxAttemptsPlaceholder"),tooltip:s("payment.autoTopup.dailyLimits.maxAttemptsDescription"),inputProps:{min:0,step:1},sx:{maxWidth:{xs:"100%",sm:"220px"}},layout:"horizontal"})]})})]})}),e.jsx(u,{spacing:2,children:ve&&e.jsx(P,{sx:{mt:2},children:p.stripeContext&&e.jsx(P,{sx:{mt:2},children:e.jsx(Xe,{clientSecret:p.stripeContext.client_secret,intentType:p.stripeContext.intent_type,publicKey:p.stripeContext.public_key,customer:p.stripeContext.customer,mode:"setup",onConfirm:Ce,onCancel:we})})})})]})]})})})})}function pt(t){if(!t)return"Unknown error";if(t?.name==="ZodError")return Array.isArray(t.errors)?t.errors.map(r=>r.message).join(`
2
2
  `):"Validation failed";if(Array.isArray(t?.details))return`Validate failed: ${t.details.map(i=>{const c=i.message.replace(/["]/g,"'");return`${i.path.join(".")}: ${c}`}).join(";")}`;if(Array.isArray(t?.errors))return t.errors.map(r=>r.msg||r.message).join(`
3
3
  `);if(Array.isArray(t?.constraints))return Object.values(t.constraints).join(`
4
4
  `);if(t?.keyword==="validation")return t.message||"Validation error";if(Array.isArray(t?.errors))return t.errors.map(r=>r.message).join(`
@@ -1 +1 @@
1
- import{r as F,j as e,B as v,q as f,a3 as q,x as Y,w as ne,aN as ie,aM as K,a7 as Z,bf as O}from"./vendor-mui-BXZut9Pz.js";import{V as H,H as $,$ as re,Z as B,Y as ce,P as ae}from"./vendor-blocklet-B67R14so.js";import{a as se,h as ue,Y as N,F as me,e as k,b8 as W,k as V,I as G,T as J,v as Q,j as A}from"./index-B4yaPb7B.js";import{D as X,P as de}from"./index-oy7LrXGT.js";import{A as le}from"./actions-BEUwbsq1.js";import{L as ee}from"./link-DMWJcQvZ.js";import{C as oe}from"./link-DsltSF2Q.js";import{S as pe}from"./description-BHxdy5I3.js";import{S as fe}from"./status-3Swm2gK5.js";import{a as _e}from"./vendor-react-BPknnnEA.js";function Ae({open:o,onClose:h,onSubmit:S=()=>{},couponId:t,promotionCode:s=null,isEditing:a=!1,availableCurrencies:p=[]}){const{t:m}=H(),{settings:c}=se(),w=ue({mode:"onChange",defaultValues:X}),{handleSubmit:L,reset:C,formState:{isSubmitting:P}}=w;F.useEffect(()=>{if(o)if(a&&s){const n={},_=s.restrictions?.minimum_amount_currency?N(c.paymentMethods,s.restrictions.minimum_amount_currency):null,x=s.restrictions?.minimum_amount?parseFloat($(s.restrictions.minimum_amount,_?.decimal||0)):void 0;let M=!1;if(s.restrictions?.currency_options){const I=Object.entries(s.restrictions.currency_options);M=I.length>0,I.forEach(([U,T])=>{const E=N(c.paymentMethods,U);let g=0;if(T&&typeof T=="object"&&"minimum_amount"in T){const u=T.minimum_amount;E&&u?g=parseFloat($(u||"0",E.decimal)):g=u||0}n[U]={minimum_amount:g}})}C({code:s.code||"",active:s.active??!0,max_redemptions:s.max_redemptions||void 0,description:s.description||"",expires_at:s.expires_at?new Date(s.expires_at*1e3).toISOString().slice(0,16):"",verification_type:s.verification_type||"code",limit_number_redemptions:!!s.max_redemptions,add_expiration_date:!!s.expires_at,restrictions:{first_time_transaction:s.restrictions?.first_time_transaction||!1,require_minimum_amount:M,minimum_amount:x,minimum_amount_currency:_?.id,currency_options:n},customer_dids:s.customer_dids||[],nft_addresses:s.nft_config?.addresses||[],nft_tags:s.nft_config?.tags||[],trusted_issuers:s.nft_config?.trusted_issuers||[],trusted_parents:s.nft_config?.trusted_parents||[],min_balance:s.nft_config?.min_balance||1,vc_roles:s.vc_config?.roles||[],vc_trusted_issuers:s.vc_config?.trusted_issuers||[]})}else C(X)},[o,a,s,C,c.paymentMethods]);const b=async n=>{try{const _={active:n.active,verification_type:n.verification_type,restrictions:n.restrictions,description:n.description,metadata:{}};a||(_.coupon_id=t),n.code&&n.code.trim()&&(_.code=n.code),n.limit_number_redemptions&&n.max_redemptions&&(_.max_redemptions=n.max_redemptions),n.expires_at&&(_.expires_at=Math.floor(new Date(n.expires_at).getTime()/1e3)),n.verification_type==="nft"?_.nft_config={addresses:n.nft_addresses?.filter(x=>x.trim())||[],tags:n.nft_tags?.filter(x=>x.trim())||[],trusted_issuers:n.trusted_issuers?.filter(x=>x.trim())||[],trusted_parents:n.trusted_parents?.filter(x=>x.trim())||[],min_balance:n.min_balance||1}:n.verification_type==="vc"?_.vc_config={roles:n.vc_roles?.filter(x=>x.trim())||[],trusted_issuers:n.vc_trusted_issuers?.filter(x=>x.trim())||[]}:n.verification_type==="user_restricted"&&(_.customer_dids=n.customer_dids?.filter(x=>x.trim())||[]),a&&s?(await k.put(`/api/promotion-codes/${s.id}`,_),B.success(m("common.saved")),W("promotion-code.updated")):(await k.post("/api/promotion-codes",_),B.success(m("admin.coupon.saved")),W("promotion-code.created")),S&&S(),h()}catch(_){console.error(_),B.error(V(_))}},D=()=>{C(),h()},d=m(a?"admin.promotionCode.edit":"admin.coupon.createPromotionCode");return e.jsx(re,{open:o,disableEscapeKeyDown:!0,fullWidth:!0,maxWidth:"sm",className:"base-dialog",onClose:D,showCloseButton:!1,title:d,actions:e.jsxs(q,{direction:"row",children:[e.jsx(Y,{size:"small",sx:{mr:2},onClick:D,disabled:P,children:m("common.cancel")}),e.jsxs(Y,{variant:"contained",color:"primary",size:"small",disabled:P,onClick:L(b),children:[P&&e.jsx(ne,{size:16,sx:{mr:1}}),m(a?"common.save":"admin.coupon.createPromotionCode")]})]}),children:e.jsx(me,{...w,children:e.jsxs(v,{sx:{display:"flex",flexDirection:"column",gap:3},children:[e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:m("admin.coupon.promotionCodeDescription")}),e.jsx(de,{showCodeInput:!0,showExpandedOptions:!0,availableCurrencies:p})]})})})}function $e({data:o,onChange:h,variant:S="compact"}){const{t}=H(),s=!o.locked&&o.active,a=!o.locked,p=o.active,[m,c]=ce({action:"",loading:!1}),w=async()=>{try{c({loading:!0}),await k.put(`/api/promotion-codes/${o.id}/archive`).then(b=>b.data),B.success(t("common.saved")),W("promotion-code.updated"),h(m.action)}catch(b){console.error(b),B.error(V(b))}finally{c({loading:!1,action:""})}},L=async()=>{try{c({loading:!0}),await k.delete(`/api/promotion-codes/${o.id}`).then(b=>b.data),B.success(t("common.removed")),W("promotion-code.deleted"),h(m.action)}catch(b){console.error(b),B.error(V(b))}finally{c({loading:!1,action:""})}},C=()=>{c({action:"edit"}),h("edit",o)},P=[{label:t("admin.promotionCode.edit"),handler:C,color:s?"text.primary":"text.disabled",disabled:!s},{label:t("admin.promotionCode.archive"),handler:()=>c({action:"archive"}),color:p?"text.primary":"text.disabled",disabled:!p},{label:t("admin.promotionCode.delete"),handler:()=>c({action:"delete"}),color:a?"error.main":"text.disabled",disabled:!a}];return e.jsxs(e.Fragment,{children:[e.jsx(le,{variant:S,actions:P}),m.action==="archive"&&e.jsx(G,{onConfirm:w,onCancel:()=>c({action:""}),title:t("admin.promotionCode.archive"),message:t("admin.promotionCode.archiveTip")}),m.action==="delete"&&e.jsx(G,{onConfirm:L,onCancel:()=>c({action:""}),title:t("admin.promotionCode.delete"),message:t("admin.promotionCode.deleteTip")})]})}function xe(o){if((!o.couponId||o.couponId==="")&&(!o.promotionCodeId||o.promotionCodeId===""))throw new Error("Either couponId or promotionCodeId must be provided")}const be=(o,h,S,t="coupon")=>{const s=new URLSearchParams({page:h.page.toString(),pageSize:h.pageSize.toString()});s.append("type",S);const a=t==="coupon"?`/api/coupons/${o}/redemptions`:`/api/promotion-codes/${o}/redemptions`;return k.get(`${a}?${s}`).then(p=>p.data)};function ke({couponId:o="",promotionCodeId:h=""}){xe({couponId:o,promotionCodeId:h});const{t}=H(),s=_e(),[a,p]=F.useState(0),[m,c]=F.useState({page:0,pageSize:10}),[w,L]=F.useState({page:0,pageSize:10}),C=o&&o!==""?o:h,P=o&&o!==""?"coupon":"promotion-code",b=a===0?m:w,D=a===0?"customer":"subscription",{data:d={customers:[],subscriptions:[],count:0},loading:n}=ae(()=>be(C,{page:b.page+1,pageSize:b.pageSize},D,P),{refreshDeps:[C,b.page,b.pageSize,a]}),_=(g,u)=>{p(u),u===0?c({page:0,pageSize:10}):L({page:0,pageSize:10})},x=({page:g,rowsPerPage:u})=>{c({page:g,pageSize:u})},M=({page:g,rowsPerPage:u})=>{L({page:g,pageSize:u})},U=(()=>{const g=[{label:t("common.name"),name:"name",options:{customBodyRenderLite:(u,r)=>{const l=d.customers?.[r];return e.jsx(oe,{customer:l,size:"small"})}}},{label:t("common.email"),name:"email",options:{customBodyRenderLite:(u,r)=>d.customers?.[r]?.email||"—"}},{label:t("admin.coupon.usageStats"),name:"usage_stats",options:{customBodyRenderLite:(u,r)=>{const i=d.customers?.[r]?.coupon_usage_stats;return i?e.jsx(f,{variant:"body2",children:i.total_discount_records}):"—"}}}];return P==="coupon"&&g.push({label:t("admin.coupon.promotionCodesUsed"),name:"promotion_codes",options:{customBodyRenderLite:(u,r)=>{const l=d.customers?.[r],i=l?.coupon_usage_stats?.promotion_codes_used||[],z=l?.discount_records||[];if(i.length===0)return"—";const R=new Map;return z.forEach(y=>{if(y.promotion_code){const j=y.promotion_code.id||y.promotion_code.code;R.set(j,(R.get(j)||0)+1)}}),e.jsx(v,{sx:{display:"flex",flexWrap:"wrap",gap:.5,maxWidth:"200px"},children:i.map(y=>{const j=R.get(y.id||y.code)||0;return e.jsx(Z,{label:`${y.code} (${j})`,size:"small",variant:"outlined",onClick:()=>s(`/admin/products/promotion-codes/${y.id}`),sx:{cursor:"pointer","&:hover":{backgroundColor:"action.hover"}}},`${y.id||y.code}`)})})}}}),g.push({label:t("admin.coupon.totalSavings"),name:"total_savings",options:{customBodyRenderLite:(u,r)=>{const i=d.customers?.[r]?.coupon_usage_stats?.total_savings||{};return Object.keys(i).length===0?e.jsx(f,{variant:"body2",children:"—"}):e.jsx(v,{children:Object.entries(i).map(([z,R],y)=>{if(!R)return null;const j=R;return e.jsxs(f,{variant:"body2",sx:{display:"inline-flex"},children:[y>0&&"、",Q(j.amount,j.currency?.decimal||18)," ",j.currency?.symbol||""]},z)})})}}},{label:t("admin.coupon.usagePeriod"),name:"usage_period",options:{customBodyRenderLite:(u,r)=>{const i=d.customers?.[r]?.coupon_usage_stats;return i?e.jsxs(v,{children:[e.jsxs(f,{variant:"body2",children:[t("admin.coupon.firstUsed"),": ",A(i.first_used)]}),i.first_used!==i.last_used&&e.jsxs(f,{variant:"body2",sx:{color:"text.secondary"},children:[t("admin.coupon.lastUsed"),": ",A(i.last_used)]})]}):"—"}}}),g})(),E=(()=>{const g=[{label:t("admin.subscription.product"),name:"id",options:{customBodyRenderLite:(u,r)=>{const l=d.subscriptions?.[r];return e.jsx(ee,{to:`/admin/billing/${l.id}`,children:e.jsx(pe,{subscription:l})})}}},{label:t("common.status"),name:"status",options:{customBodyRenderLite:(u,r)=>{const l=d.subscriptions?.[r];return e.jsx(ee,{to:`/admin/billing/${l.id}`,children:e.jsx(fe,{subscription:l})})}}},{label:t("common.customer"),name:"customer_info",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.customer;return e.jsx(oe,{customer:i,size:"small"})}}}];return P==="coupon"&&g.push({label:t("admin.coupon.promotionCodesUsed"),name:"promotion_code_info",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.discount_info?.promotion_code;return i?e.jsx(v,{children:e.jsx(Z,{label:i.code,size:"small",variant:"outlined",onClick:()=>s(`/admin/products/promotion-codes/${i.id}`),sx:{cursor:"pointer",mb:.5,"&:hover":{backgroundColor:"action.hover"}}})}):e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:t("admin.coupon.directCouponUsage")})}}}),g.push({label:t("admin.coupon.totalSavings"),name:"total_savings",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.discount_info?.total_savings||{};return Object.keys(i).length===0?e.jsx(f,{variant:"body2",sx:{color:"text.lighter"},children:"—"}):e.jsx(v,{children:Object.entries(i).map(([z,R],y)=>{if(!R)return null;const j=R;return e.jsxs(f,{variant:"body2",sx:{lineHeight:1.2},children:[y>0&&", ",Q(j.amount,j.currency?.decimal||18)," ",j.currency?.symbol||""]},z)})})}}},{label:t("admin.coupon.discountInfo"),name:"discount_info",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.discount_info;if(!i)return e.jsx(f,{variant:"body2",children:"—"});const z=i.coupon_info;return e.jsxs(v,{children:[e.jsxs(f,{variant:"body2",children:[t("admin.coupon.discountPeriod"),": ",A(i.discount_start*1e3),i.discount_end&&` - ${A(i.discount_end*1e3)}`]}),e.jsxs(f,{variant:"caption",sx:{color:"text.secondary"},children:[t("admin.coupon.duration"),":"," ",t(`admin.coupon.couponTermsDuration.${z.duration}`,{months:z.duration_in_months})]})]})}}},{label:t("common.created"),name:"created_at",options:{customBodyRenderLite:(u,r)=>{const l=d.subscriptions?.[r];return A(l?.created_at)}}}),g})();return e.jsxs(v,{children:[e.jsxs(ie,{value:a,onChange:_,sx:{flex:"1 0 auto",maxWidth:"100%",fontSize:14,borderBottom:1,borderColor:"divider",".Mui-selected":{fontSize:"14px !important",color:"primary.main"}},children:[e.jsx(K,{label:t("admin.coupon.customers")}),e.jsx(K,{label:t("admin.coupon.subscriptions")})]}),a===0&&e.jsx(v,{sx:{mt:2},children:d.customers?.length>0?e.jsx(J,{data:d.customers,columns:U,loading:n,toolbar:!1,options:{selectableRows:"none",serverSide:!0,count:d.count||0,page:m.page,rowsPerPage:m.pageSize,rowsPerPageOptions:[5,10,25,50]},onChange:x}):!n&&e.jsxs(v,{sx:{textAlign:"center",py:4},children:[e.jsx(f,{variant:"h6",sx:{color:"text.secondary"},children:t("admin.coupon.noCustomersFound")}),e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:t("admin.coupon.noCustomersRedeem")})]})}),a===1&&e.jsx(v,{children:d.subscriptions?.length>0?e.jsx(J,{data:d.subscriptions,columns:E,loading:n,options:{selectableRows:"none",serverSide:!0,count:d.count||0,page:w.page,rowsPerPage:w.pageSize,rowsPerPageOptions:[5,10,25,50]},onChange:M}):!n&&e.jsxs(v,{sx:{textAlign:"center",py:4},children:[e.jsx(f,{variant:"h6",sx:{color:"text.secondary"},children:t("admin.coupon.noSubscriptionsFound")}),e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:t("admin.coupon.noSubscriptionsRedeem")})]})})]})}const ge=O(q)(({theme:o})=>({flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:o.spacing(1.5,2),backgroundColor:o.palette.grey[50],borderRadius:o.shape.borderRadius,marginBottom:o.spacing(1),"&:last-child":{marginBottom:0}})),he=O(f)(({theme:o})=>({fontWeight:500,color:o.palette.text.primary,textTransform:"uppercase",fontSize:"0.875rem"})),ye=O(f)(({theme:o})=>({color:o.palette.text.secondary,fontSize:"0.875rem",fontFamily:"monospace"})),ve=O(q)(({theme:o})=>({flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:o.spacing(1,2),marginBottom:o.spacing(1),borderBottom:`1px solid ${o.palette.divider}`})),te=O(f)(({theme:o})=>({fontWeight:600,color:o.palette.text.primary,fontSize:"0.75rem",letterSpacing:"0.5px"}));function Oe({currencyOptions:o,type:h="coupon"}){const{t:S}=H(),{settings:t}=se();if(!o||Object.keys(o).length===0)return null;const s=Object.entries(o);return e.jsxs(v,{children:[e.jsxs(ve,{children:[e.jsx(te,{children:S("admin.coupon.currency")}),e.jsx(te,{children:S(h==="coupon"?"admin.coupon.discountAmount":"admin.coupon.minimumAmount")})]}),e.jsx(q,{children:s.map(([a,p])=>{const m=N(t.paymentMethods,a)||{symbol:a.toUpperCase(),name:a.toUpperCase(),decimal:18};let c;return typeof p=="string"?c=$(p,m.decimal):typeof p=="number"?c=p.toLocaleString():typeof p=="object"&&p!==null?"minimum_amount"in p?c=$(p.minimum_amount,m.decimal):"amount_off"in p?c=$(p.amount_off,m.decimal):c="0":c="0",e.jsxs(ge,{children:[e.jsx(he,{children:m.symbol}),e.jsx(ye,{children:c})]},a)})})]})}export{ke as A,Oe as C,$e as P,Ae as a};
1
+ import{r as F,j as e,B as v,q as f,a3 as q,x as Y,w as ne,aN as ie,aM as K,a7 as Z,bf as O}from"./vendor-mui-BXZut9Pz.js";import{V as H,H as $,$ as re,Z as B,Y as ce,P as ae}from"./vendor-blocklet-B8V2HFST.js";import{a as se,h as ue,Y as N,F as me,e as k,b8 as W,k as V,I as G,T as J,v as Q,j as A}from"./index-Bfp56O3W.js";import{D as X,P as de}from"./index-HSIuOZNi.js";import{A as le}from"./actions-BYX1WnBr.js";import{L as ee}from"./link-DMWJcQvZ.js";import{C as oe}from"./link-Dhj5mzaG.js";import{S as pe}from"./description-Ci4-GOSF.js";import{S as fe}from"./status-DlEqz2pS.js";import{a as _e}from"./vendor-react-BPknnnEA.js";function Ae({open:o,onClose:h,onSubmit:S=()=>{},couponId:t,promotionCode:s=null,isEditing:a=!1,availableCurrencies:p=[]}){const{t:m}=H(),{settings:c}=se(),w=ue({mode:"onChange",defaultValues:X}),{handleSubmit:L,reset:C,formState:{isSubmitting:P}}=w;F.useEffect(()=>{if(o)if(a&&s){const n={},_=s.restrictions?.minimum_amount_currency?N(c.paymentMethods,s.restrictions.minimum_amount_currency):null,x=s.restrictions?.minimum_amount?parseFloat($(s.restrictions.minimum_amount,_?.decimal||0)):void 0;let M=!1;if(s.restrictions?.currency_options){const I=Object.entries(s.restrictions.currency_options);M=I.length>0,I.forEach(([U,T])=>{const E=N(c.paymentMethods,U);let g=0;if(T&&typeof T=="object"&&"minimum_amount"in T){const u=T.minimum_amount;E&&u?g=parseFloat($(u||"0",E.decimal)):g=u||0}n[U]={minimum_amount:g}})}C({code:s.code||"",active:s.active??!0,max_redemptions:s.max_redemptions||void 0,description:s.description||"",expires_at:s.expires_at?new Date(s.expires_at*1e3).toISOString().slice(0,16):"",verification_type:s.verification_type||"code",limit_number_redemptions:!!s.max_redemptions,add_expiration_date:!!s.expires_at,restrictions:{first_time_transaction:s.restrictions?.first_time_transaction||!1,require_minimum_amount:M,minimum_amount:x,minimum_amount_currency:_?.id,currency_options:n},customer_dids:s.customer_dids||[],nft_addresses:s.nft_config?.addresses||[],nft_tags:s.nft_config?.tags||[],trusted_issuers:s.nft_config?.trusted_issuers||[],trusted_parents:s.nft_config?.trusted_parents||[],min_balance:s.nft_config?.min_balance||1,vc_roles:s.vc_config?.roles||[],vc_trusted_issuers:s.vc_config?.trusted_issuers||[]})}else C(X)},[o,a,s,C,c.paymentMethods]);const b=async n=>{try{const _={active:n.active,verification_type:n.verification_type,restrictions:n.restrictions,description:n.description,metadata:{}};a||(_.coupon_id=t),n.code&&n.code.trim()&&(_.code=n.code),n.limit_number_redemptions&&n.max_redemptions&&(_.max_redemptions=n.max_redemptions),n.expires_at&&(_.expires_at=Math.floor(new Date(n.expires_at).getTime()/1e3)),n.verification_type==="nft"?_.nft_config={addresses:n.nft_addresses?.filter(x=>x.trim())||[],tags:n.nft_tags?.filter(x=>x.trim())||[],trusted_issuers:n.trusted_issuers?.filter(x=>x.trim())||[],trusted_parents:n.trusted_parents?.filter(x=>x.trim())||[],min_balance:n.min_balance||1}:n.verification_type==="vc"?_.vc_config={roles:n.vc_roles?.filter(x=>x.trim())||[],trusted_issuers:n.vc_trusted_issuers?.filter(x=>x.trim())||[]}:n.verification_type==="user_restricted"&&(_.customer_dids=n.customer_dids?.filter(x=>x.trim())||[]),a&&s?(await k.put(`/api/promotion-codes/${s.id}`,_),B.success(m("common.saved")),W("promotion-code.updated")):(await k.post("/api/promotion-codes",_),B.success(m("admin.coupon.saved")),W("promotion-code.created")),S&&S(),h()}catch(_){console.error(_),B.error(V(_))}},D=()=>{C(),h()},d=m(a?"admin.promotionCode.edit":"admin.coupon.createPromotionCode");return e.jsx(re,{open:o,disableEscapeKeyDown:!0,fullWidth:!0,maxWidth:"sm",className:"base-dialog",onClose:D,showCloseButton:!1,title:d,actions:e.jsxs(q,{direction:"row",children:[e.jsx(Y,{size:"small",sx:{mr:2},onClick:D,disabled:P,children:m("common.cancel")}),e.jsxs(Y,{variant:"contained",color:"primary",size:"small",disabled:P,onClick:L(b),children:[P&&e.jsx(ne,{size:16,sx:{mr:1}}),m(a?"common.save":"admin.coupon.createPromotionCode")]})]}),children:e.jsx(me,{...w,children:e.jsxs(v,{sx:{display:"flex",flexDirection:"column",gap:3},children:[e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:m("admin.coupon.promotionCodeDescription")}),e.jsx(de,{showCodeInput:!0,showExpandedOptions:!0,availableCurrencies:p})]})})})}function $e({data:o,onChange:h,variant:S="compact"}){const{t}=H(),s=!o.locked&&o.active,a=!o.locked,p=o.active,[m,c]=ce({action:"",loading:!1}),w=async()=>{try{c({loading:!0}),await k.put(`/api/promotion-codes/${o.id}/archive`).then(b=>b.data),B.success(t("common.saved")),W("promotion-code.updated"),h(m.action)}catch(b){console.error(b),B.error(V(b))}finally{c({loading:!1,action:""})}},L=async()=>{try{c({loading:!0}),await k.delete(`/api/promotion-codes/${o.id}`).then(b=>b.data),B.success(t("common.removed")),W("promotion-code.deleted"),h(m.action)}catch(b){console.error(b),B.error(V(b))}finally{c({loading:!1,action:""})}},C=()=>{c({action:"edit"}),h("edit",o)},P=[{label:t("admin.promotionCode.edit"),handler:C,color:s?"text.primary":"text.disabled",disabled:!s},{label:t("admin.promotionCode.archive"),handler:()=>c({action:"archive"}),color:p?"text.primary":"text.disabled",disabled:!p},{label:t("admin.promotionCode.delete"),handler:()=>c({action:"delete"}),color:a?"error.main":"text.disabled",disabled:!a}];return e.jsxs(e.Fragment,{children:[e.jsx(le,{variant:S,actions:P}),m.action==="archive"&&e.jsx(G,{onConfirm:w,onCancel:()=>c({action:""}),title:t("admin.promotionCode.archive"),message:t("admin.promotionCode.archiveTip")}),m.action==="delete"&&e.jsx(G,{onConfirm:L,onCancel:()=>c({action:""}),title:t("admin.promotionCode.delete"),message:t("admin.promotionCode.deleteTip")})]})}function xe(o){if((!o.couponId||o.couponId==="")&&(!o.promotionCodeId||o.promotionCodeId===""))throw new Error("Either couponId or promotionCodeId must be provided")}const be=(o,h,S,t="coupon")=>{const s=new URLSearchParams({page:h.page.toString(),pageSize:h.pageSize.toString()});s.append("type",S);const a=t==="coupon"?`/api/coupons/${o}/redemptions`:`/api/promotion-codes/${o}/redemptions`;return k.get(`${a}?${s}`).then(p=>p.data)};function ke({couponId:o="",promotionCodeId:h=""}){xe({couponId:o,promotionCodeId:h});const{t}=H(),s=_e(),[a,p]=F.useState(0),[m,c]=F.useState({page:0,pageSize:10}),[w,L]=F.useState({page:0,pageSize:10}),C=o&&o!==""?o:h,P=o&&o!==""?"coupon":"promotion-code",b=a===0?m:w,D=a===0?"customer":"subscription",{data:d={customers:[],subscriptions:[],count:0},loading:n}=ae(()=>be(C,{page:b.page+1,pageSize:b.pageSize},D,P),{refreshDeps:[C,b.page,b.pageSize,a]}),_=(g,u)=>{p(u),u===0?c({page:0,pageSize:10}):L({page:0,pageSize:10})},x=({page:g,rowsPerPage:u})=>{c({page:g,pageSize:u})},M=({page:g,rowsPerPage:u})=>{L({page:g,pageSize:u})},U=(()=>{const g=[{label:t("common.name"),name:"name",options:{customBodyRenderLite:(u,r)=>{const l=d.customers?.[r];return e.jsx(oe,{customer:l,size:"small"})}}},{label:t("common.email"),name:"email",options:{customBodyRenderLite:(u,r)=>d.customers?.[r]?.email||"—"}},{label:t("admin.coupon.usageStats"),name:"usage_stats",options:{customBodyRenderLite:(u,r)=>{const i=d.customers?.[r]?.coupon_usage_stats;return i?e.jsx(f,{variant:"body2",children:i.total_discount_records}):"—"}}}];return P==="coupon"&&g.push({label:t("admin.coupon.promotionCodesUsed"),name:"promotion_codes",options:{customBodyRenderLite:(u,r)=>{const l=d.customers?.[r],i=l?.coupon_usage_stats?.promotion_codes_used||[],z=l?.discount_records||[];if(i.length===0)return"—";const R=new Map;return z.forEach(y=>{if(y.promotion_code){const j=y.promotion_code.id||y.promotion_code.code;R.set(j,(R.get(j)||0)+1)}}),e.jsx(v,{sx:{display:"flex",flexWrap:"wrap",gap:.5,maxWidth:"200px"},children:i.map(y=>{const j=R.get(y.id||y.code)||0;return e.jsx(Z,{label:`${y.code} (${j})`,size:"small",variant:"outlined",onClick:()=>s(`/admin/products/promotion-codes/${y.id}`),sx:{cursor:"pointer","&:hover":{backgroundColor:"action.hover"}}},`${y.id||y.code}`)})})}}}),g.push({label:t("admin.coupon.totalSavings"),name:"total_savings",options:{customBodyRenderLite:(u,r)=>{const i=d.customers?.[r]?.coupon_usage_stats?.total_savings||{};return Object.keys(i).length===0?e.jsx(f,{variant:"body2",children:"—"}):e.jsx(v,{children:Object.entries(i).map(([z,R],y)=>{if(!R)return null;const j=R;return e.jsxs(f,{variant:"body2",sx:{display:"inline-flex"},children:[y>0&&"、",Q(j.amount,j.currency?.decimal||18)," ",j.currency?.symbol||""]},z)})})}}},{label:t("admin.coupon.usagePeriod"),name:"usage_period",options:{customBodyRenderLite:(u,r)=>{const i=d.customers?.[r]?.coupon_usage_stats;return i?e.jsxs(v,{children:[e.jsxs(f,{variant:"body2",children:[t("admin.coupon.firstUsed"),": ",A(i.first_used)]}),i.first_used!==i.last_used&&e.jsxs(f,{variant:"body2",sx:{color:"text.secondary"},children:[t("admin.coupon.lastUsed"),": ",A(i.last_used)]})]}):"—"}}}),g})(),E=(()=>{const g=[{label:t("admin.subscription.product"),name:"id",options:{customBodyRenderLite:(u,r)=>{const l=d.subscriptions?.[r];return e.jsx(ee,{to:`/admin/billing/${l.id}`,children:e.jsx(pe,{subscription:l})})}}},{label:t("common.status"),name:"status",options:{customBodyRenderLite:(u,r)=>{const l=d.subscriptions?.[r];return e.jsx(ee,{to:`/admin/billing/${l.id}`,children:e.jsx(fe,{subscription:l})})}}},{label:t("common.customer"),name:"customer_info",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.customer;return e.jsx(oe,{customer:i,size:"small"})}}}];return P==="coupon"&&g.push({label:t("admin.coupon.promotionCodesUsed"),name:"promotion_code_info",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.discount_info?.promotion_code;return i?e.jsx(v,{children:e.jsx(Z,{label:i.code,size:"small",variant:"outlined",onClick:()=>s(`/admin/products/promotion-codes/${i.id}`),sx:{cursor:"pointer",mb:.5,"&:hover":{backgroundColor:"action.hover"}}})}):e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:t("admin.coupon.directCouponUsage")})}}}),g.push({label:t("admin.coupon.totalSavings"),name:"total_savings",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.discount_info?.total_savings||{};return Object.keys(i).length===0?e.jsx(f,{variant:"body2",sx:{color:"text.lighter"},children:"—"}):e.jsx(v,{children:Object.entries(i).map(([z,R],y)=>{if(!R)return null;const j=R;return e.jsxs(f,{variant:"body2",sx:{lineHeight:1.2},children:[y>0&&", ",Q(j.amount,j.currency?.decimal||18)," ",j.currency?.symbol||""]},z)})})}}},{label:t("admin.coupon.discountInfo"),name:"discount_info",options:{customBodyRenderLite:(u,r)=>{const i=d.subscriptions?.[r]?.discount_info;if(!i)return e.jsx(f,{variant:"body2",children:"—"});const z=i.coupon_info;return e.jsxs(v,{children:[e.jsxs(f,{variant:"body2",children:[t("admin.coupon.discountPeriod"),": ",A(i.discount_start*1e3),i.discount_end&&` - ${A(i.discount_end*1e3)}`]}),e.jsxs(f,{variant:"caption",sx:{color:"text.secondary"},children:[t("admin.coupon.duration"),":"," ",t(`admin.coupon.couponTermsDuration.${z.duration}`,{months:z.duration_in_months})]})]})}}},{label:t("common.created"),name:"created_at",options:{customBodyRenderLite:(u,r)=>{const l=d.subscriptions?.[r];return A(l?.created_at)}}}),g})();return e.jsxs(v,{children:[e.jsxs(ie,{value:a,onChange:_,sx:{flex:"1 0 auto",maxWidth:"100%",fontSize:14,borderBottom:1,borderColor:"divider",".Mui-selected":{fontSize:"14px !important",color:"primary.main"}},children:[e.jsx(K,{label:t("admin.coupon.customers")}),e.jsx(K,{label:t("admin.coupon.subscriptions")})]}),a===0&&e.jsx(v,{sx:{mt:2},children:d.customers?.length>0?e.jsx(J,{data:d.customers,columns:U,loading:n,toolbar:!1,options:{selectableRows:"none",serverSide:!0,count:d.count||0,page:m.page,rowsPerPage:m.pageSize,rowsPerPageOptions:[5,10,25,50]},onChange:x}):!n&&e.jsxs(v,{sx:{textAlign:"center",py:4},children:[e.jsx(f,{variant:"h6",sx:{color:"text.secondary"},children:t("admin.coupon.noCustomersFound")}),e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:t("admin.coupon.noCustomersRedeem")})]})}),a===1&&e.jsx(v,{children:d.subscriptions?.length>0?e.jsx(J,{data:d.subscriptions,columns:E,loading:n,options:{selectableRows:"none",serverSide:!0,count:d.count||0,page:w.page,rowsPerPage:w.pageSize,rowsPerPageOptions:[5,10,25,50]},onChange:M}):!n&&e.jsxs(v,{sx:{textAlign:"center",py:4},children:[e.jsx(f,{variant:"h6",sx:{color:"text.secondary"},children:t("admin.coupon.noSubscriptionsFound")}),e.jsx(f,{variant:"body2",sx:{color:"text.secondary"},children:t("admin.coupon.noSubscriptionsRedeem")})]})})]})}const ge=O(q)(({theme:o})=>({flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:o.spacing(1.5,2),backgroundColor:o.palette.grey[50],borderRadius:o.shape.borderRadius,marginBottom:o.spacing(1),"&:last-child":{marginBottom:0}})),he=O(f)(({theme:o})=>({fontWeight:500,color:o.palette.text.primary,textTransform:"uppercase",fontSize:"0.875rem"})),ye=O(f)(({theme:o})=>({color:o.palette.text.secondary,fontSize:"0.875rem",fontFamily:"monospace"})),ve=O(q)(({theme:o})=>({flexDirection:"row",justifyContent:"space-between",alignItems:"center",padding:o.spacing(1,2),marginBottom:o.spacing(1),borderBottom:`1px solid ${o.palette.divider}`})),te=O(f)(({theme:o})=>({fontWeight:600,color:o.palette.text.primary,fontSize:"0.75rem",letterSpacing:"0.5px"}));function Oe({currencyOptions:o,type:h="coupon"}){const{t:S}=H(),{settings:t}=se();if(!o||Object.keys(o).length===0)return null;const s=Object.entries(o);return e.jsxs(v,{children:[e.jsxs(ve,{children:[e.jsx(te,{children:S("admin.coupon.currency")}),e.jsx(te,{children:S(h==="coupon"?"admin.coupon.discountAmount":"admin.coupon.minimumAmount")})]}),e.jsx(q,{children:s.map(([a,p])=>{const m=N(t.paymentMethods,a)||{symbol:a.toUpperCase(),name:a.toUpperCase(),decimal:18};let c;return typeof p=="string"?c=$(p,m.decimal):typeof p=="number"?c=p.toLocaleString():typeof p=="object"&&p!==null?"minimum_amount"in p?c=$(p.minimum_amount,m.decimal):"amount_off"in p?c=$(p.amount_off,m.decimal):c="0":c="0",e.jsxs(ge,{children:[e.jsx(he,{children:m.symbol}),e.jsx(ye,{children:c})]},a)})})]})}export{ke as A,Oe as C,$e as P,Ae as a};
@@ -1 +1 @@
1
- import{r as x,j as n,q as l,ch as D,aT as G,ad as T,bN as H,a3 as $,bH as I}from"./vendor-mui-BXZut9Pz.js";import{V as L}from"./vendor-blocklet-B67R14so.js";import{a as P}from"./index-B4yaPb7B.js";import{C as V}from"./currency-GstdXsJf.js";function _({mode:i,hasSelected:d,onSelect:b,value:r,width:z="100%",disabled:h=!1,selectSX:k={},currencyFilter:v=()=>!0,hideMethod:t=!1,includeAllOption:j=!1,allOption:o={value:"all",label:"All"},selectedSx:A={}}){const{t:E}=L(),{settings:g}=P(),[C,u]=x.useState(i),c=x.useMemo(()=>(g.paymentMethods||[]).map(e=>({method:e,currencies:(e.payment_currencies||[]).map(s=>({...s,method:e}))})),[g.paymentMethods]),f=x.useMemo(()=>c.flatMap(e=>e.currencies),[c]);x.useEffect(()=>{if(r&&i==="selected"&&f.length>0){const e=f.find(s=>s.id===r);if(e&&!d(e)){const s=setTimeout(()=>{b(r)},0);return()=>clearTimeout(s)}}},[r,i,f,d]);const W=e=>{h||(u(i),b(e.target.value))},p=f.find(e=>e.id===r),a=c.find(e=>e.currencies.some(s=>s.id===r))?.method,S=x.useMemo(()=>c.map(e=>({method:e.method,currencies:e.currencies.filter(s=>v(s)&&!d(s))})).filter(e=>e.currencies.length>0),[c,d]),y=S.length>0&&!h;if(C==="selected"){const e=j&&r===o.value;let s="";return e?s=o.label:p?.symbol?s=t?p.symbol:`${p.symbol} (${a?.name||""})`:!t&&a?.name&&(s=`(${a.name})`),n.jsxs(l,{onClick:()=>{y&&u("selecting")},sx:{cursor:y?"pointer":"default",display:"inline-flex",minWidth:"120px",justifyContent:"flex-end",textAlign:"right",width:"100%",...A},children:[s,y&&n.jsx(D,{sx:{color:"text.secondary",fontSize:21}})]})}return y?C==="selecting"?n.jsxs(G,{size:"small",value:r,renderValue:()=>{if(j&&r===o.value)return n.jsx(l,{variant:"body1",sx:{display:"inline-flex",fontSize:"12px",color:"text.secondary"},children:o.label});const e=p?.symbol||"",s=!t&&a?.name?` (${a.name})`:"";return n.jsx(l,{variant:"body1",sx:{display:"inline-flex",fontSize:"12px",color:"text.secondary"},children:`${e}${s}`.trim()})},onChange:W,open:!0,sx:{width:z,...k},disabled:h,onClose:()=>u(i),children:[j?n.jsx(T,{value:o.value,children:n.jsx(l,{sx:{fontWeight:"bold"},children:o.label})}):null,S.flatMap(e=>{const s=t?null:n.jsx(H,{sx:{fontSize:"0.875rem",color:"text.secondary",lineHeight:"2.1875rem"},children:e.method.name},e.method.id),w=e.currencies.map(m=>n.jsx(T,{sx:{pl:3},value:m.id,children:n.jsxs($,{direction:"row",sx:{width:"100%",justifyContent:"space-between",gap:2},children:[t?null:n.jsx(V,{logo:m.logo,name:m.name}),n.jsx(l,{sx:{fontWeight:t?"normal":"bold"},children:m.symbol})]})},m.id));return s?[s,...w]:w})]}):n.jsx("span",{children:n.jsxs($,{direction:"row",onClick:()=>u("selecting"),sx:{alignItems:"center",cursor:"pointer",display:"inline-flex"},children:[n.jsx(I,{color:"primary"}),n.jsx(l,{color:"primary",children:E("admin.price.currency.add")})]})}):null}export{_ as C};
1
+ import{r as x,j as n,q as l,ch as D,aT as G,ad as T,bN as H,a3 as $,bH as I}from"./vendor-mui-BXZut9Pz.js";import{V as L}from"./vendor-blocklet-B8V2HFST.js";import{a as P}from"./index-Bfp56O3W.js";import{C as V}from"./currency-GstdXsJf.js";function _({mode:i,hasSelected:d,onSelect:b,value:r,width:z="100%",disabled:h=!1,selectSX:k={},currencyFilter:v=()=>!0,hideMethod:t=!1,includeAllOption:j=!1,allOption:o={value:"all",label:"All"},selectedSx:A={}}){const{t:E}=L(),{settings:g}=P(),[C,u]=x.useState(i),c=x.useMemo(()=>(g.paymentMethods||[]).map(e=>({method:e,currencies:(e.payment_currencies||[]).map(s=>({...s,method:e}))})),[g.paymentMethods]),f=x.useMemo(()=>c.flatMap(e=>e.currencies),[c]);x.useEffect(()=>{if(r&&i==="selected"&&f.length>0){const e=f.find(s=>s.id===r);if(e&&!d(e)){const s=setTimeout(()=>{b(r)},0);return()=>clearTimeout(s)}}},[r,i,f,d]);const W=e=>{h||(u(i),b(e.target.value))},p=f.find(e=>e.id===r),a=c.find(e=>e.currencies.some(s=>s.id===r))?.method,S=x.useMemo(()=>c.map(e=>({method:e.method,currencies:e.currencies.filter(s=>v(s)&&!d(s))})).filter(e=>e.currencies.length>0),[c,d]),y=S.length>0&&!h;if(C==="selected"){const e=j&&r===o.value;let s="";return e?s=o.label:p?.symbol?s=t?p.symbol:`${p.symbol} (${a?.name||""})`:!t&&a?.name&&(s=`(${a.name})`),n.jsxs(l,{onClick:()=>{y&&u("selecting")},sx:{cursor:y?"pointer":"default",display:"inline-flex",minWidth:"120px",justifyContent:"flex-end",textAlign:"right",width:"100%",...A},children:[s,y&&n.jsx(D,{sx:{color:"text.secondary",fontSize:21}})]})}return y?C==="selecting"?n.jsxs(G,{size:"small",value:r,renderValue:()=>{if(j&&r===o.value)return n.jsx(l,{variant:"body1",sx:{display:"inline-flex",fontSize:"12px",color:"text.secondary"},children:o.label});const e=p?.symbol||"",s=!t&&a?.name?` (${a.name})`:"";return n.jsx(l,{variant:"body1",sx:{display:"inline-flex",fontSize:"12px",color:"text.secondary"},children:`${e}${s}`.trim()})},onChange:W,open:!0,sx:{width:z,...k},disabled:h,onClose:()=>u(i),children:[j?n.jsx(T,{value:o.value,children:n.jsx(l,{sx:{fontWeight:"bold"},children:o.label})}):null,S.flatMap(e=>{const s=t?null:n.jsx(H,{sx:{fontSize:"0.875rem",color:"text.secondary",lineHeight:"2.1875rem"},children:e.method.name},e.method.id),w=e.currencies.map(m=>n.jsx(T,{sx:{pl:3},value:m.id,children:n.jsxs($,{direction:"row",sx:{width:"100%",justifyContent:"space-between",gap:2},children:[t?null:n.jsx(V,{logo:m.logo,name:m.name}),n.jsx(l,{sx:{fontWeight:t?"normal":"bold"},children:m.symbol})]})},m.id));return s?[s,...w]:w})]}):n.jsx("span",{children:n.jsxs($,{direction:"row",onClick:()=>u("selecting"),sx:{alignItems:"center",cursor:"pointer",display:"inline-flex"},children:[n.jsx(I,{color:"primary"}),n.jsx(l,{color:"primary",children:E("admin.price.currency.add")})]})}):null}export{_ as C};
@@ -1 +1 @@
1
- import"./vendor-mui-BXZut9Pz.js";import"./vendor-blocklet-B67R14so.js";import"./index-B4yaPb7B.js";const d=(i,f,{t:m,separator:c=" "})=>{const h=(r,o)=>`${r||0} ${m(`common.${o}${r>1?"s":""}`).toLowerCase()}`,s=(r,o)=>{switch(o){case"hour":{if(r<24)return[["hour",r]];if(r<48)return[["day",Math.floor(r/24)],["hour",r%24]];const t=Math.floor(r/24);return s(t,"day")}case"day":{if(r<7)return[["day",r]];if(r<14)return[["week",Math.floor(r/7)],["day",r%7]];if(r<30)return r%7===0?[["week",r/7]]:[["day",r]];const t=Math.floor(r/365),e=r%365,n=Math.floor(e/30);return t>0?n>0?[["year",t],["month",n]]:[["year",t]]:n>0?[["month",n],["week",Math.floor(e%30/7)]]:[["week",Math.floor(r/7)]]}case"week":{if(r<4)return[["week",r]];if(r<8)return[["month",Math.floor(r/4)],["week",r%4]];const t=Math.floor(r/4);return s(t,"month")}case"month":{const t=Math.floor(r/12),e=r%12;return t>0?e>0?[["year",t],["month",e]]:[["year",t]]:[["month",r]]}case"year":return[["year",r]];default:return[[o,r]]}},u=s(i,f).filter(([,r])=>r>0);return u.length===0?h(0,f):u.map(([r,o])=>h(o,r)).join(c)};export{d as f};
1
+ import"./vendor-mui-BXZut9Pz.js";import"./vendor-blocklet-B8V2HFST.js";import"./index-Bfp56O3W.js";const d=(i,f,{t:m,separator:c=" "})=>{const h=(r,o)=>`${r||0} ${m(`common.${o}${r>1?"s":""}`).toLowerCase()}`,s=(r,o)=>{switch(o){case"hour":{if(r<24)return[["hour",r]];if(r<48)return[["day",Math.floor(r/24)],["hour",r%24]];const t=Math.floor(r/24);return s(t,"day")}case"day":{if(r<7)return[["day",r]];if(r<14)return[["week",Math.floor(r/7)],["day",r%7]];if(r<30)return r%7===0?[["week",r/7]]:[["day",r]];const t=Math.floor(r/365),e=r%365,n=Math.floor(e/30);return t>0?n>0?[["year",t],["month",n]]:[["year",t]]:n>0?[["month",n],["week",Math.floor(e%30/7)]]:[["week",Math.floor(r/7)]]}case"week":{if(r<4)return[["week",r]];if(r<8)return[["month",Math.floor(r/4)],["week",r%4]];const t=Math.floor(r/4);return s(t,"month")}case"month":{const t=Math.floor(r/12),e=r%12;return t>0?e>0?[["year",t],["month",e]]:[["year",t]]:[["month",r]]}case"year":return[["year",r]];default:return[[o,r]]}},u=s(i,f).filter(([,r])=>r>0);return u.length===0?h(0,f):u.map(([r,o])=>h(o,r)).join(c)};export{d as f};
@@ -1 +1 @@
1
- import{j as s,a3 as d,q as r,O as l,be as x}from"./vendor-mui-BXZut9Pz.js";import"./vendor-blocklet-B67R14so.js";import{d as p,aM as o,J as n}from"./index-B4yaPb7B.js";function f({subscription:t,variant:e="body1",hideSubscription:a=!1,maxLength:i=80}){const{isMobile:c}=p();return t.description?s.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[s.jsx(r,{variant:e,className:"subscription-description",children:s.jsx(o,{text:t.description,maxLength:i,useWidth:!0})}),!a&&!c&&s.jsx(l,{title:n(t.items),children:s.jsx(x,{sx:{color:"text.secondary"},fontSize:"small"})})]}):s.jsx(r,{variant:e,children:s.jsx(o,{text:n(t.items),maxLength:i,useWidth:!0})})}export{f as S};
1
+ import{j as s,a3 as d,q as r,O as l,be as x}from"./vendor-mui-BXZut9Pz.js";import"./vendor-blocklet-B8V2HFST.js";import{d as p,aM as o,J as n}from"./index-Bfp56O3W.js";function f({subscription:t,variant:e="body1",hideSubscription:a=!1,maxLength:i=80}){const{isMobile:c}=p();return t.description?s.jsxs(d,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[s.jsx(r,{variant:e,className:"subscription-description",children:s.jsx(o,{text:t.description,maxLength:i,useWidth:!0})}),!a&&!c&&s.jsx(l,{title:n(t.items),children:s.jsx(x,{sx:{color:"text.secondary"},fontSize:"small"})})]}):s.jsx(r,{variant:e,children:s.jsx(o,{text:n(t.items),maxLength:i,useWidth:!0})})}export{f as S};
@@ -1 +1 @@
1
- import{j as e,A as L,w as R,B as s,a3 as n,bv as $,q as E,N as B,Y as r,O as W,be as z,x as O,bf as H}from"./vendor-mui-BXZut9Pz.js";import{V as q,Y as G,P as U,cw as V,a7 as Y,Z as I}from"./vendor-blocklet-B67R14so.js";import{d as F,i as w,a5 as J,n as _,o as C,j as N,p as Z,e as k,k as K}from"./index-B4yaPb7B.js";import{T as Q}from"./gas-kw2KMH1u.js";import{L as M}from"./vendor-react-BPknnnEA.js";import{l as X}from"./lodash-B4Ozcv0x.js";import{C as ee}from"./copyable-CprMHdhV.js";import{C as te}from"./link-DsltSF2Q.js";import{E as ae}from"./list-CvM46TsP.js";import{I as S}from"./info-metric-ukWq8INi.js";import{I as i}from"./info-row-CaPaNF4L.js";import{M as se}from"./editor-vZvxDUTl.js";import{M as ie}from"./list-B2b-s8wM.js";import{P as ne}from"./actions-JHsqbHpB.js";import{P as oe}from"./list-Cd1O-aDi.js";import{S as l}from"./header-ivXuPt06.js";import{g as re}from"./util-B8B3fsMa.js";import{R as le}from"./list-BzgF4i3i.js";import{I as me}from"./info-row-group-Cxo-4Gk5.js";import"./table-BN3WBnr3.js";import"./form-CnrBCyTJ.js";import"./actions-BEUwbsq1.js";import"./click-boundary-Bi28Y0Fq.js";import"./cache-state-lld4zuDg.js";import"./filter-toolbar-VvmMATj0.js";import"./product-select-_72p-5lF.js";import"./info-card-C9dRgztS.js";import"./actions-DeCPtfTK.js";const ce=x=>k.get(`/api/payment-intents/${x}`).then(a=>a.data),m="column",c="flex-start";function Oe(x){const{t:a}=q(),{isMobile:f}=F(),[j,p]=G({adding:{price:!1},editing:{metadata:!1,product:!1},loading:{metadata:!1,price:!1,product:!1}}),{loading:D,error:y,data:t,runAsync:h}=U(()=>ce(x.id));if(y)return e.jsx(L,{severity:"error",children:y.message});if(D||!t)return e.jsx(R,{});const A=(d=>async P=>{try{p(o=>({loading:{...o.loading,[d]:!0}})),await k.put(`/api/payment-intents/${x.id}`,P).then(o=>o.data),I.success(a("common.saved")),h()}catch(o){console.error(o),I.error(K(o))}finally{p(o=>({loading:{...o.loading,[d]:!1}}))}})("metadata"),u=t.paymentCurrency,g=[w(t?.amount_received,u.decimal),u.symbol].join(" "),b=[w(t?.amount,u.decimal),u.symbol].join(" "),v=()=>{p(d=>({editing:{...d.editing,metadata:!0}}))},T=t.subscription?.status==="canceled";return e.jsxs(de,{direction:"column",spacing:2.5,mb:4,children:[e.jsxs(s,{children:[e.jsxs(n,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(n,{direction:"row",onClick:()=>re("/admin/payments/intents"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx($,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(E,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:a("admin.payments")})]}),e.jsx(ne,{data:t,variant:"normal",onChange:h})]}),e.jsxs(s,{sx:{mt:4,mb:3,display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(n,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(n,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(B,{src:t.paymentCurrency.logo,alt:t.paymentCurrency.symbol,variant:"square",sx:{width:"52px",height:"52px",borderRadius:.5}}),e.jsxs(n,{direction:"column",sx:{alignItems:"flex-start",justifyContent:"space-around"},children:[e.jsx(J,{amount:t?.amount_received==="0"?b:g,sx:{my:0,fontSize:"1.75rem",lineHeight:"32px"}}),e.jsx(ee,{text:x.id})]})]})}),e.jsxs(n,{className:"section-body",sx:{justifyContent:"flex-start",flexWrap:"wrap","hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(S,{label:a("common.status"),value:e.jsx(_,{label:t.status,color:C(t.status)}),divider:!0}),e.jsx(S,{label:a("common.customer"),value:t.metadata?.payerDid&&V(t.metadata?.payerDid)?e.jsx(Y,{did:t.metadata?.payerDid,...f?{responsive:!1,compact:!0}:{}}):e.jsx(te,{customer:t.customer}),divider:!0})]})]}),e.jsx(r,{})]}),e.jsxs(n,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".payment-link-column-1":{minWidth:{xs:"100%",lg:"600px"}},".payment-link-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(s,{className:"payment-link-column-1",sx:{flex:1,gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(s,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(l,{title:a("admin.details")}),e.jsxs(me,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(i,{label:a("common.status"),value:e.jsxs(n,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(_,{label:t.status,color:C(t.status)}),t.last_payment_error&&e.jsx(W,{title:e.jsx("pre",{style:{whiteSpace:"break-spaces"},children:JSON.stringify({...t.last_payment_error,type:X.startCase(t.last_payment_error?.type)},null,2)}),children:e.jsx(z,{fontSize:"small",color:"error"})})]})}),e.jsx(i,{label:a("common.amount"),value:b}),e.jsx(i,{label:a("admin.paymentIntent.received"),value:g}),e.jsx(i,{label:a("common.createdAt"),value:N(t.created_at)}),e.jsx(i,{label:a("common.description"),value:t.description}),e.jsx(i,{label:a("common.updatedAt"),value:N(t.updated_at)}),e.jsx(i,{label:a("common.statementDescriptor"),value:t.statement_descriptor})]})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.payouts")}),e.jsx(s,{className:"section-body",children:e.jsx(oe,{features:{toolbar:!1},payment_intent_id:t?.id,isCanceledSubscription:T})})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.refunds")}),e.jsx(s,{className:"section-body",children:e.jsx(le,{features:{customer:!1,toolbar:!1},payment_intent_id:t?.id})})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.events.title")}),e.jsx(s,{className:"section-body",children:e.jsx(ae,{features:{toolbar:!1},object_id:t.id})})]})]}),f&&e.jsx(r,{}),e.jsxs(s,{className:"payment-link-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.paymentMethod._name")}),e.jsxs(n,{children:[e.jsx(i,{label:a("common.id"),value:t.paymentMethod?.id,direction:m,alignItems:c}),e.jsx(i,{label:a("admin.paymentMethod.type"),value:t.paymentMethod?.type,direction:m,alignItems:c}),e.jsx(i,{label:a("admin.paymentCurrency.name"),value:`${t.paymentCurrency.symbol} (${t.paymentMethod?.name})`,direction:m,alignItems:c}),(!!t.payment_details?.ethereum||!!t.payment_details?.base)&&e.jsx(i,{label:a("common.txGas"),value:e.jsx(Q,{details:t.payment_details,method:t.paymentMethod}),direction:m,alignItems:c}),e.jsx(i,{label:a(`common.${t.payment_details?.arcblock?.type||"transfer"}TxHash`),value:e.jsx(Z,{details:t.payment_details,method:t.paymentMethod}),direction:m,alignItems:c})]})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.connections")}),e.jsxs(n,{children:[t.subscription&&e.jsx(i,{label:a("admin.subscription.name"),value:e.jsx(M,{to:`/admin/billing/${t.subscription.id}`,children:t.subscription.id}),direction:m,alignItems:c}),t.invoice_id&&e.jsx(i,{label:a("admin.invoice.name"),value:e.jsx(M,{to:`/admin/billing/${t.invoice_id}`,children:t.invoice_id}),direction:m,alignItems:c})]})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("common.metadata.label"),children:e.jsx(O,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:j.editing.metadata,onClick:v,children:a("common.edit")})}),e.jsxs(s,{className:"section-body",children:[e.jsx(ie,{data:t.metadata,handleEditMetadata:v}),j.editing.metadata&&e.jsx(se,{data:t,loading:j.loading.metadata,onSave:A,onCancel:()=>p(d=>({editing:{...d.editing,metadata:!1}}))})]})]})]})]})]})}const de=H(n)``;export{Oe as default};
1
+ import{j as e,A as L,w as R,B as s,a3 as n,bv as $,q as E,N as B,Y as r,O as W,be as z,x as O,bf as H}from"./vendor-mui-BXZut9Pz.js";import{V as q,Y as G,P as U,cw as V,a7 as Y,Z as I}from"./vendor-blocklet-B8V2HFST.js";import{d as F,i as w,a5 as J,n as _,o as C,j as N,p as Z,e as k,k as K}from"./index-Bfp56O3W.js";import{T as Q}from"./gas-BGJEvZ8T.js";import{L as M}from"./vendor-react-BPknnnEA.js";import{l as X}from"./lodash-B4Ozcv0x.js";import{C as ee}from"./copyable-Dn7WoFib.js";import{C as te}from"./link-Dhj5mzaG.js";import{E as ae}from"./list-CQ5uQIra.js";import{I as S}from"./info-metric-DwDA6oTc.js";import{I as i}from"./info-row-Cr8bdDz0.js";import{M as se}from"./editor-BzrYE3Ds.js";import{M as ie}from"./list-B6NGNObl.js";import{P as ne}from"./actions-C8z5APgU.js";import{P as oe}from"./list-qrTTpMns.js";import{S as l}from"./header-ivXuPt06.js";import{g as re}from"./util-Dp629jKU.js";import{R as le}from"./list-0fajnTAx.js";import{I as me}from"./info-row-group-qhfbrxfY.js";import"./table-CyJj8e85.js";import"./form-nz7nSyN7.js";import"./actions-BYX1WnBr.js";import"./click-boundary-Cozpjijr.js";import"./cache-state-lld4zuDg.js";import"./filter-toolbar-DpJmPWVP.js";import"./product-select-VFuyl5ev.js";import"./info-card-Xtng8th6.js";import"./actions-BvdAKBBR.js";const ce=x=>k.get(`/api/payment-intents/${x}`).then(a=>a.data),m="column",c="flex-start";function Oe(x){const{t:a}=q(),{isMobile:f}=F(),[j,p]=G({adding:{price:!1},editing:{metadata:!1,product:!1},loading:{metadata:!1,price:!1,product:!1}}),{loading:D,error:y,data:t,runAsync:h}=U(()=>ce(x.id));if(y)return e.jsx(L,{severity:"error",children:y.message});if(D||!t)return e.jsx(R,{});const A=(d=>async P=>{try{p(o=>({loading:{...o.loading,[d]:!0}})),await k.put(`/api/payment-intents/${x.id}`,P).then(o=>o.data),I.success(a("common.saved")),h()}catch(o){console.error(o),I.error(K(o))}finally{p(o=>({loading:{...o.loading,[d]:!1}}))}})("metadata"),u=t.paymentCurrency,g=[w(t?.amount_received,u.decimal),u.symbol].join(" "),b=[w(t?.amount,u.decimal),u.symbol].join(" "),v=()=>{p(d=>({editing:{...d.editing,metadata:!0}}))},T=t.subscription?.status==="canceled";return e.jsxs(de,{direction:"column",spacing:2.5,mb:4,children:[e.jsxs(s,{children:[e.jsxs(n,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(n,{direction:"row",onClick:()=>re("/admin/payments/intents"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx($,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(E,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:a("admin.payments")})]}),e.jsx(ne,{data:t,variant:"normal",onChange:h})]}),e.jsxs(s,{sx:{mt:4,mb:3,display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(n,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(n,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(B,{src:t.paymentCurrency.logo,alt:t.paymentCurrency.symbol,variant:"square",sx:{width:"52px",height:"52px",borderRadius:.5}}),e.jsxs(n,{direction:"column",sx:{alignItems:"flex-start",justifyContent:"space-around"},children:[e.jsx(J,{amount:t?.amount_received==="0"?b:g,sx:{my:0,fontSize:"1.75rem",lineHeight:"32px"}}),e.jsx(ee,{text:x.id})]})]})}),e.jsxs(n,{className:"section-body",sx:{justifyContent:"flex-start",flexWrap:"wrap","hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(S,{label:a("common.status"),value:e.jsx(_,{label:t.status,color:C(t.status)}),divider:!0}),e.jsx(S,{label:a("common.customer"),value:t.metadata?.payerDid&&V(t.metadata?.payerDid)?e.jsx(Y,{did:t.metadata?.payerDid,...f?{responsive:!1,compact:!0}:{}}):e.jsx(te,{customer:t.customer}),divider:!0})]})]}),e.jsx(r,{})]}),e.jsxs(n,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".payment-link-column-1":{minWidth:{xs:"100%",lg:"600px"}},".payment-link-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(s,{className:"payment-link-column-1",sx:{flex:1,gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(s,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(l,{title:a("admin.details")}),e.jsxs(me,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(i,{label:a("common.status"),value:e.jsxs(n,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(_,{label:t.status,color:C(t.status)}),t.last_payment_error&&e.jsx(W,{title:e.jsx("pre",{style:{whiteSpace:"break-spaces"},children:JSON.stringify({...t.last_payment_error,type:X.startCase(t.last_payment_error?.type)},null,2)}),children:e.jsx(z,{fontSize:"small",color:"error"})})]})}),e.jsx(i,{label:a("common.amount"),value:b}),e.jsx(i,{label:a("admin.paymentIntent.received"),value:g}),e.jsx(i,{label:a("common.createdAt"),value:N(t.created_at)}),e.jsx(i,{label:a("common.description"),value:t.description}),e.jsx(i,{label:a("common.updatedAt"),value:N(t.updated_at)}),e.jsx(i,{label:a("common.statementDescriptor"),value:t.statement_descriptor})]})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.payouts")}),e.jsx(s,{className:"section-body",children:e.jsx(oe,{features:{toolbar:!1},payment_intent_id:t?.id,isCanceledSubscription:T})})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.refunds")}),e.jsx(s,{className:"section-body",children:e.jsx(le,{features:{customer:!1,toolbar:!1},payment_intent_id:t?.id})})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.events.title")}),e.jsx(s,{className:"section-body",children:e.jsx(ae,{features:{toolbar:!1},object_id:t.id})})]})]}),f&&e.jsx(r,{}),e.jsxs(s,{className:"payment-link-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.paymentMethod._name")}),e.jsxs(n,{children:[e.jsx(i,{label:a("common.id"),value:t.paymentMethod?.id,direction:m,alignItems:c}),e.jsx(i,{label:a("admin.paymentMethod.type"),value:t.paymentMethod?.type,direction:m,alignItems:c}),e.jsx(i,{label:a("admin.paymentCurrency.name"),value:`${t.paymentCurrency.symbol} (${t.paymentMethod?.name})`,direction:m,alignItems:c}),(!!t.payment_details?.ethereum||!!t.payment_details?.base)&&e.jsx(i,{label:a("common.txGas"),value:e.jsx(Q,{details:t.payment_details,method:t.paymentMethod}),direction:m,alignItems:c}),e.jsx(i,{label:a(`common.${t.payment_details?.arcblock?.type||"transfer"}TxHash`),value:e.jsx(Z,{details:t.payment_details,method:t.paymentMethod}),direction:m,alignItems:c})]})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.connections")}),e.jsxs(n,{children:[t.subscription&&e.jsx(i,{label:a("admin.subscription.name"),value:e.jsx(M,{to:`/admin/billing/${t.subscription.id}`,children:t.subscription.id}),direction:m,alignItems:c}),t.invoice_id&&e.jsx(i,{label:a("admin.invoice.name"),value:e.jsx(M,{to:`/admin/billing/${t.invoice_id}`,children:t.invoice_id}),direction:m,alignItems:c})]})]}),e.jsx(r,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("common.metadata.label"),children:e.jsx(O,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:j.editing.metadata,onClick:v,children:a("common.edit")})}),e.jsxs(s,{className:"section-body",children:[e.jsx(ie,{data:t.metadata,handleEditMetadata:v}),j.editing.metadata&&e.jsx(se,{data:t,loading:j.loading.metadata,onSave:A,onCancel:()=>p(d=>({editing:{...d.editing,metadata:!1}}))})]})]})]})]})]})}const de=H(n)``;export{Oe as default};
@@ -1 +1 @@
1
- import{j as e,A as x,w as p,B as a,a3 as r,bv as u,q as n,O as h,bf as j}from"./vendor-mui-BXZut9Pz.js";import{V as b,P as f}from"./vendor-blocklet-B67R14so.js";import{n as g,j as c,e as v}from"./index-B4yaPb7B.js";import{C as w}from"./copyable-CprMHdhV.js";import{I as o}from"./info-metric-ukWq8INi.js";import{S as y}from"./header-ivXuPt06.js";import{W as k}from"./attempts-BfbYfiJa.js";import{g as C,w as S}from"./util-B8B3fsMa.js";import"./vendor-react-BPknnnEA.js";import"./vendor-arcblock-D1drrE7q.js";import"./lodash-B4Ozcv0x.js";import"./info-card-C9dRgztS.js";const W=i=>v.get(`/api/webhook-endpoints/${i}`).then(s=>s.data);function F(i){const{t:s}=b(),{loading:m,error:l,data:t}=f(()=>W(i.id));return l?e.jsx(x,{severity:"error",children:l.message}):m||!t?e.jsx(p,{}):e.jsxs(_,{direction:"column",spacing:4,sx:{mb:4},children:[e.jsxs(a,{children:[e.jsxs(r,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(r,{direction:"row",onClick:()=>C("/admin/developers/webhooks"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx(u,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(n,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:s("admin.webhooks")})]}),e.jsx(w,{text:i.id,style:{marginLeft:4}})]}),e.jsxs(a,{sx:{mt:2},children:[e.jsx(r,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(r,{direction:"column",sx:{alignItems:"flex-start"},children:[e.jsx(n,{variant:"h5",children:t.url}),e.jsx(n,{variant:"body1",sx:{color:"text.secondary"},children:t.description})]})}),e.jsxs(r,{className:"section-body",direction:"row",spacing:3,sx:{justifyContent:"flex-start",flexWrap:"wrap",pt:2,mt:2,borderTop:"1px solid",borderColor:"divider"},children:[e.jsx(o,{label:s("common.status"),value:e.jsx(g,{label:t.status,color:S(t.status)}),divider:!0}),e.jsx(o,{label:s("admin.webhookEndpoint.listen"),value:e.jsx(h,{arrow:!0,title:e.jsx("ul",{style:{padding:0,margin:0},children:t.enabled_events.map(d=>e.jsx("li",{style:{fontSize:"0.7875rem"},children:d},d))}),children:e.jsxs(n,{sx:{backgroundColor:"grey.100",paddingX:.5,borderRadius:.5},children:[t.enabled_events.length," events"]})}),divider:!0}),e.jsx(o,{label:s("admin.webhookEndpoint.version"),value:t.api_version,divider:!0}),e.jsx(o,{label:s("common.createdAt"),value:c(t.created_at),divider:!0}),e.jsx(o,{label:s("common.updatedAt"),value:c(t.updated_at)})]})]})]}),e.jsxs(a,{className:"section",children:[e.jsx(y,{title:s("admin.webhookEndpoint.attempts"),mb:0}),e.jsx(a,{className:"section-body",children:e.jsx(k,{webhook_endpoint_id:t.id})})]})]})}const _=j(r)``;export{F as default};
1
+ import{j as e,A as x,w as p,B as a,a3 as r,bv as u,q as n,O as h,bf as j}from"./vendor-mui-BXZut9Pz.js";import{V as b,P as f}from"./vendor-blocklet-B8V2HFST.js";import{n as g,j as c,e as v}from"./index-Bfp56O3W.js";import{C as w}from"./copyable-Dn7WoFib.js";import{I as o}from"./info-metric-DwDA6oTc.js";import{S as y}from"./header-ivXuPt06.js";import{W as k}from"./attempts-D5nVVL_6.js";import{g as C,w as S}from"./util-Dp629jKU.js";import"./vendor-react-BPknnnEA.js";import"./vendor-arcblock-D34ufhta.js";import"./lodash-B4Ozcv0x.js";import"./info-card-Xtng8th6.js";const W=i=>v.get(`/api/webhook-endpoints/${i}`).then(s=>s.data);function F(i){const{t:s}=b(),{loading:m,error:l,data:t}=f(()=>W(i.id));return l?e.jsx(x,{severity:"error",children:l.message}):m||!t?e.jsx(p,{}):e.jsxs(_,{direction:"column",spacing:4,sx:{mb:4},children:[e.jsxs(a,{children:[e.jsxs(r,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(r,{direction:"row",onClick:()=>C("/admin/developers/webhooks"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx(u,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(n,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:s("admin.webhooks")})]}),e.jsx(w,{text:i.id,style:{marginLeft:4}})]}),e.jsxs(a,{sx:{mt:2},children:[e.jsx(r,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(r,{direction:"column",sx:{alignItems:"flex-start"},children:[e.jsx(n,{variant:"h5",children:t.url}),e.jsx(n,{variant:"body1",sx:{color:"text.secondary"},children:t.description})]})}),e.jsxs(r,{className:"section-body",direction:"row",spacing:3,sx:{justifyContent:"flex-start",flexWrap:"wrap",pt:2,mt:2,borderTop:"1px solid",borderColor:"divider"},children:[e.jsx(o,{label:s("common.status"),value:e.jsx(g,{label:t.status,color:S(t.status)}),divider:!0}),e.jsx(o,{label:s("admin.webhookEndpoint.listen"),value:e.jsx(h,{arrow:!0,title:e.jsx("ul",{style:{padding:0,margin:0},children:t.enabled_events.map(d=>e.jsx("li",{style:{fontSize:"0.7875rem"},children:d},d))}),children:e.jsxs(n,{sx:{backgroundColor:"grey.100",paddingX:.5,borderRadius:.5},children:[t.enabled_events.length," events"]})}),divider:!0}),e.jsx(o,{label:s("admin.webhookEndpoint.version"),value:t.api_version,divider:!0}),e.jsx(o,{label:s("common.createdAt"),value:c(t.created_at),divider:!0}),e.jsx(o,{label:s("common.updatedAt"),value:c(t.updated_at)})]})]})]}),e.jsxs(a,{className:"section",children:[e.jsx(y,{title:s("admin.webhookEndpoint.attempts"),mb:0}),e.jsx(a,{className:"section-body",children:e.jsx(k,{webhook_endpoint_id:t.id})})]})]})}const _=j(r)``;export{F as default};
@@ -1 +1 @@
1
- import{r as M,j as e,A as B,w as E,B as s,a3 as i,bv as W,q as o,x as b,N as g,Y as x,bf as F}from"./vendor-mui-BXZut9Pz.js";import{V as P,Y as L,P as R,Z as v}from"./vendor-blocklet-B67R14so.js";import{k as w,a2 as $,a3 as C,i as _,N as z,j as h,p as H,A as O,e as I}from"./index-B4yaPb7B.js";import{I as u}from"./info-metric-ukWq8INi.js";import{I as c}from"./info-row-CaPaNF4L.js";import{I as q}from"./info-row-group-Cxo-4Gk5.js";import{C as U}from"./copyable-CprMHdhV.js";import{S as l}from"./header-ivXuPt06.js";import{M as Y}from"./list-B2b-s8wM.js";import{M as V}from"./editor-vZvxDUTl.js";import{C as Z}from"./credit-grant-item-list-DQcvdSRs.js";import{g as J}from"./util-B8B3fsMa.js";import{E as K}from"./list-CvM46TsP.js";import{a as Q}from"./vendor-react-BPknnnEA.js";import"./lodash-B4Ozcv0x.js";import"./form-CnrBCyTJ.js";import"./table-BN3WBnr3.js";const X=d=>I.get(`/api/credit-grants/${d}`).then(a=>a.data);function fe({id:d}){const{t:a}=P(),N=Q(),[p,m]=L({editing:{metadata:!1,creditGrant:!1},loading:{metadata:!1,creditGrant:!1}}),{loading:D,error:j,data:t,runAsync:G}=R(()=>X(d)),k=M.useCallback(()=>{J("/admin/customers")},[]);if(j)return e.jsx(B,{severity:"error",children:w(j)});if(D||!t)return e.jsx(E,{});const f=t?.status==="depleted",S=r=>{switch(r){case"granted":return a("admin.customer.creditGrants.status.granted");case"pending":return a("admin.customer.creditGrants.status.pending");case"depleted":return a("admin.customer.creditGrants.status.depleted");case"expired":return a("admin.customer.creditGrants.status.expired");case"voided":return a("admin.customer.creditGrants.status.voided");default:return r}},A=()=>{if(!t.amount||!t.remaining_amount)return 0;const r=parseFloat(t.amount),n=parseFloat(t.remaining_amount);return(r-n)/r*100},T=async r=>{try{m(n=>({loading:{...n.loading,metadata:!0}})),await I.put(`/api/credit-grants/${d}`,r),v.success(a("common.saved")),G()}catch(n){console.error(n),v.error(w(n))}finally{m(n=>({loading:{...n.loading,metadata:!1}}))}},y=()=>{m(r=>({editing:{...r.editing,metadata:!0}}))};return e.jsxs(ee,{direction:"column",spacing:2.5,sx:{mb:4},children:[e.jsxs(s,{children:[e.jsxs(i,{className:"page-header",direction:"row",justifyContent:"space-between",alignItems:"center",children:[e.jsxs(i,{direction:"row",alignItems:"center",sx:{fontWeight:"normal",cursor:"pointer"},onClick:k,children:[e.jsx(W,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(o,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:a("admin.customer.creditGrants.title")})]}),t.metadata.invoice_id&&e.jsx(b,{variant:"outlined",size:"small",onClick:()=>N(`/admin/billing/${t.metadata.invoice_id}`),children:a("admin.customer.creditGrants.viewInvoice")})]}),e.jsxs(s,{mt:4,mb:3,sx:{display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(i,{direction:"row",justifyContent:"space-between",alignItems:"center",children:e.jsxs(i,{direction:"column",spacing:.5,children:[e.jsx(o,{variant:"h2",sx:{fontWeight:600},children:t.name||`${a("admin.customer.creditGrants.grant")} ${t.id.slice(-8)}`}),e.jsx(U,{text:t.id})]})}),e.jsxs(i,{className:"section-body",justifyContent:"flex-start",flexWrap:"wrap",sx:{"hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(u,{label:a("common.status"),value:e.jsx($,{status:t.status,label:S(t.status)}),divider:!0}),e.jsx(u,{label:a("admin.customer.creditGrants.originalAmount"),value:e.jsxs(i,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(g,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(o,{variant:"body2",sx:{color:"text.secondary"},children:C(_(t.amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(u,{label:a("common.remainingCredit"),value:e.jsxs(i,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(g,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(o,{variant:"body2",color:f?"error.main":"text.secondary",children:C(_(t.remaining_amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(u,{label:a("admin.customer.creditGrants.usage"),value:e.jsxs(o,{variant:"body2",color:f?"error.main":"text.secondary",children:[A().toFixed(1),"%"]})})]})]}),e.jsx(x,{})]}),e.jsxs(i,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".credit-grant-column-1":{minWidth:{xs:"100%",lg:"600px"}},".credit-grant-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(s,{flex:1,className:"credit-grant-column-1",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(s,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(l,{title:a("admin.details")}),e.jsxs(q,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(c,{label:a("common.customer"),value:e.jsxs(i,{direction:"row",alignItems:"center",spacing:1,children:[e.jsx(g,{src:z(t.customer?.did,t.customer?.updated_at?new Date(t.customer.updated_at).toISOString():"",24),alt:t.customer?.name,sx:{width:24,height:24}}),e.jsx(o,{children:t.customer?.name})]})}),e.jsx(c,{label:a("common.scope"),value:e.jsx(o,{children:t.applicability_config?.scope?.prices?a("common.specific"):a("common.general")})}),e.jsx(c,{label:a("admin.creditProduct.priority.label"),value:e.jsx(o,{children:t.priority})}),e.jsx(c,{label:a("common.createdAt"),value:h(t.created_at)}),e.jsx(c,{label:a("common.effectiveDate"),value:h(t.effective_at?t.effective_at*1e3:t.created_at)}),t.expires_at&&e.jsx(c,{label:a("common.expirationDate"),value:h(t.expires_at*1e3)}),t.chain_detail?.mint?.hash&&t.paymentMethod?.type==="arcblock"&&e.jsx(c,{label:a("common.mintTxHash"),value:e.jsx(H,{details:{arcblock:{tx_hash:t.chain_detail.mint.hash,payer:""}},method:t.paymentMethod,mode:"dashboard"})})]})]}),e.jsx(x,{}),t.items&&t.items.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.creditProduct.associatedPrices.label")}),e.jsx(s,{className:"section-body",children:e.jsx(Z,{data:t.items,currency:t.paymentCurrency,mode:"dashboard"})})]}),e.jsx(x,{})]}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.creditTransactions.title")}),e.jsx(s,{className:"section-body",children:e.jsx(O,{customer_id:t.customer_id,credit_grant_id:t.id,showAdminColumns:!0,showTimeFilter:!0,mode:"dashboard"})})]}),e.jsx(x,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.events.title")}),e.jsx(s,{className:"section-body",children:e.jsx(K,{features:{toolbar:!1},object_id:t.id})})]})]}),e.jsx(s,{className:"credit-grant-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("common.metadata.label"),children:e.jsx(b,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:p.editing.metadata,onClick:y,children:a("common.edit")})}),e.jsxs(s,{className:"section-body",children:[e.jsx(Y,{data:t.metadata,handleEditMetadata:y}),p.editing.metadata&&e.jsx(V,{data:t,loading:p.loading.metadata,onSave:T,onCancel:()=>m(r=>({editing:{...r.editing,metadata:!1}}))})]})]})})]})]})}const ee=F(i)``;export{fe as default};
1
+ import{r as M,j as e,A as B,w as E,B as s,a3 as i,bv as W,q as o,x as b,N as g,Y as x,bf as F}from"./vendor-mui-BXZut9Pz.js";import{V as P,Y as L,P as R,Z as v}from"./vendor-blocklet-B8V2HFST.js";import{k as w,a2 as $,a3 as C,i as _,N as z,j as h,p as H,A as O,e as I}from"./index-Bfp56O3W.js";import{I as u}from"./info-metric-DwDA6oTc.js";import{I as c}from"./info-row-Cr8bdDz0.js";import{I as q}from"./info-row-group-qhfbrxfY.js";import{C as U}from"./copyable-Dn7WoFib.js";import{S as l}from"./header-ivXuPt06.js";import{M as Y}from"./list-B6NGNObl.js";import{M as V}from"./editor-BzrYE3Ds.js";import{C as Z}from"./credit-grant-item-list-B_vTdJGs.js";import{g as J}from"./util-Dp629jKU.js";import{E as K}from"./list-CQ5uQIra.js";import{a as Q}from"./vendor-react-BPknnnEA.js";import"./lodash-B4Ozcv0x.js";import"./form-nz7nSyN7.js";import"./table-CyJj8e85.js";const X=d=>I.get(`/api/credit-grants/${d}`).then(a=>a.data);function fe({id:d}){const{t:a}=P(),N=Q(),[p,m]=L({editing:{metadata:!1,creditGrant:!1},loading:{metadata:!1,creditGrant:!1}}),{loading:D,error:j,data:t,runAsync:G}=R(()=>X(d)),k=M.useCallback(()=>{J("/admin/customers")},[]);if(j)return e.jsx(B,{severity:"error",children:w(j)});if(D||!t)return e.jsx(E,{});const f=t?.status==="depleted",S=r=>{switch(r){case"granted":return a("admin.customer.creditGrants.status.granted");case"pending":return a("admin.customer.creditGrants.status.pending");case"depleted":return a("admin.customer.creditGrants.status.depleted");case"expired":return a("admin.customer.creditGrants.status.expired");case"voided":return a("admin.customer.creditGrants.status.voided");default:return r}},A=()=>{if(!t.amount||!t.remaining_amount)return 0;const r=parseFloat(t.amount),n=parseFloat(t.remaining_amount);return(r-n)/r*100},T=async r=>{try{m(n=>({loading:{...n.loading,metadata:!0}})),await I.put(`/api/credit-grants/${d}`,r),v.success(a("common.saved")),G()}catch(n){console.error(n),v.error(w(n))}finally{m(n=>({loading:{...n.loading,metadata:!1}}))}},y=()=>{m(r=>({editing:{...r.editing,metadata:!0}}))};return e.jsxs(ee,{direction:"column",spacing:2.5,sx:{mb:4},children:[e.jsxs(s,{children:[e.jsxs(i,{className:"page-header",direction:"row",justifyContent:"space-between",alignItems:"center",children:[e.jsxs(i,{direction:"row",alignItems:"center",sx:{fontWeight:"normal",cursor:"pointer"},onClick:k,children:[e.jsx(W,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(o,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:a("admin.customer.creditGrants.title")})]}),t.metadata.invoice_id&&e.jsx(b,{variant:"outlined",size:"small",onClick:()=>N(`/admin/billing/${t.metadata.invoice_id}`),children:a("admin.customer.creditGrants.viewInvoice")})]}),e.jsxs(s,{mt:4,mb:3,sx:{display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(i,{direction:"row",justifyContent:"space-between",alignItems:"center",children:e.jsxs(i,{direction:"column",spacing:.5,children:[e.jsx(o,{variant:"h2",sx:{fontWeight:600},children:t.name||`${a("admin.customer.creditGrants.grant")} ${t.id.slice(-8)}`}),e.jsx(U,{text:t.id})]})}),e.jsxs(i,{className:"section-body",justifyContent:"flex-start",flexWrap:"wrap",sx:{"hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(u,{label:a("common.status"),value:e.jsx($,{status:t.status,label:S(t.status)}),divider:!0}),e.jsx(u,{label:a("admin.customer.creditGrants.originalAmount"),value:e.jsxs(i,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(g,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(o,{variant:"body2",sx:{color:"text.secondary"},children:C(_(t.amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(u,{label:a("common.remainingCredit"),value:e.jsxs(i,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(g,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(o,{variant:"body2",color:f?"error.main":"text.secondary",children:C(_(t.remaining_amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(u,{label:a("admin.customer.creditGrants.usage"),value:e.jsxs(o,{variant:"body2",color:f?"error.main":"text.secondary",children:[A().toFixed(1),"%"]})})]})]}),e.jsx(x,{})]}),e.jsxs(i,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".credit-grant-column-1":{minWidth:{xs:"100%",lg:"600px"}},".credit-grant-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(s,{flex:1,className:"credit-grant-column-1",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(s,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(l,{title:a("admin.details")}),e.jsxs(q,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(c,{label:a("common.customer"),value:e.jsxs(i,{direction:"row",alignItems:"center",spacing:1,children:[e.jsx(g,{src:z(t.customer?.did,t.customer?.updated_at?new Date(t.customer.updated_at).toISOString():"",24),alt:t.customer?.name,sx:{width:24,height:24}}),e.jsx(o,{children:t.customer?.name})]})}),e.jsx(c,{label:a("common.scope"),value:e.jsx(o,{children:t.applicability_config?.scope?.prices?a("common.specific"):a("common.general")})}),e.jsx(c,{label:a("admin.creditProduct.priority.label"),value:e.jsx(o,{children:t.priority})}),e.jsx(c,{label:a("common.createdAt"),value:h(t.created_at)}),e.jsx(c,{label:a("common.effectiveDate"),value:h(t.effective_at?t.effective_at*1e3:t.created_at)}),t.expires_at&&e.jsx(c,{label:a("common.expirationDate"),value:h(t.expires_at*1e3)}),t.chain_detail?.mint?.hash&&t.paymentMethod?.type==="arcblock"&&e.jsx(c,{label:a("common.mintTxHash"),value:e.jsx(H,{details:{arcblock:{tx_hash:t.chain_detail.mint.hash,payer:""}},method:t.paymentMethod,mode:"dashboard"})})]})]}),e.jsx(x,{}),t.items&&t.items.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.creditProduct.associatedPrices.label")}),e.jsx(s,{className:"section-body",children:e.jsx(Z,{data:t.items,currency:t.paymentCurrency,mode:"dashboard"})})]}),e.jsx(x,{})]}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.creditTransactions.title")}),e.jsx(s,{className:"section-body",children:e.jsx(O,{customer_id:t.customer_id,credit_grant_id:t.id,showAdminColumns:!0,showTimeFilter:!0,mode:"dashboard"})})]}),e.jsx(x,{}),e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("admin.events.title")}),e.jsx(s,{className:"section-body",children:e.jsx(K,{features:{toolbar:!1},object_id:t.id})})]})]}),e.jsx(s,{className:"credit-grant-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:e.jsxs(s,{className:"section",children:[e.jsx(l,{title:a("common.metadata.label"),children:e.jsx(b,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:p.editing.metadata,onClick:y,children:a("common.edit")})}),e.jsxs(s,{className:"section-body",children:[e.jsx(Y,{data:t.metadata,handleEditMetadata:y}),p.editing.metadata&&e.jsx(V,{data:t,loading:p.loading.metadata,onSave:T,onCancel:()=>m(r=>({editing:{...r.editing,metadata:!1}}))})]})]})})]})]})}const ee=F(i)``;export{fe as default};
@@ -1 +1 @@
1
- import{g as V,j as e,q as b,a3 as j,N as E,x as N,w as A,bH as z,r as T,A as U,B as i,bv as $,Y as h,bf as H}from"./vendor-mui-BXZut9Pz.js";import{cy as G,V as I,a6 as X,W as Y,Y as Q,P as Z,Z as k}from"./vendor-blocklet-B67R14so.js";import{a as W,i as P,E as J,az as K,X as ee,aX as y,be as te,aW as D,bf as se,bg as ae,C as ie,aA as oe,bh as ne,h as re,R as le,F as ce,d as me,aa as de,ab as ue,N as xe,j as M,ac as pe,e as L,k as F}from"./index-B4yaPb7B.js";import{S as he}from"./safe-did-address-CRTPYo34.js";import{C as ge}from"./copyable-CprMHdhV.js";import{D as je}from"./drawer-form-CQjNFFWk.js";import{a as fe}from"./credit-overview-CPId2vzk.js";import{E as ye}from"./list-CvM46TsP.js";import{I as _}from"./info-metric-ukWq8INi.js";import{I as l}from"./info-row-CaPaNF4L.js";import{I as be}from"./list-ZaBapEXW.js";import{M as ve}from"./editor-vZvxDUTl.js";import{P as we}from"./list-YNWVqjwW.js";import{P as ke}from"./list-Cd1O-aDi.js";import{R as Le}from"./list-BzgF4i3i.js";import{S as g}from"./header-ivXuPt06.js";import{S as Ie}from"./list-DtEjqlED.js";import{g as _e}from"./util-B8B3fsMa.js";import{M as Ne}from"./list-B2b-s8wM.js";import{I as Pe}from"./info-row-group-Cxo-4Gk5.js";import"./vendor-react-BPknnnEA.js";import"./collapse-CSrlJ0eG.js";import"./table-BN3WBnr3.js";import"./cache-state-lld4zuDg.js";import"./link-DsltSF2Q.js";import"./filter-toolbar-VvmMATj0.js";import"./lodash-B4Ozcv0x.js";import"./product-select-_72p-5lF.js";import"./info-card-C9dRgztS.js";import"./action-C2c0yWuW.js";import"./actions-BEUwbsq1.js";import"./click-boundary-Bi28Y0Fq.js";import"./form-CnrBCyTJ.js";import"./actions-JHsqbHpB.js";import"./actions-DeCPtfTK.js";import"./index-ASk8vU2H.js";import"./description-BHxdy5I3.js";import"./status-3Swm2gK5.js";var Ce=G();const Se=V(Ce);function v(t){const s=Object.assign({data:{},showLogo:!1},t),{t:u}=I(),{settings:o}=W(),m=Se(o.paymentMethods.map(n=>n.payment_currencies));return X(s.data)?e.jsx(b,{sx:{color:"text.secondary"},children:u("common.none")}):e.jsx(j,{direction:"column",sx:{alignItems:"flex-start",width:"100%"},children:Object.entries(s.data).map(([n,d])=>{const f=m.find(w=>w.id===n);return f?e.jsxs(j,{direction:"row",spacing:1,sx:{alignItems:"center",width:"100%",maxWidth:"280px"},children:[s?.showLogo&&e.jsx(E,{src:f.logo,alt:f.symbol,style:{width:"18px",height:"18px"}}),e.jsx(b,{sx:{color:"text.secondary",width:"32px",minWidth:100},children:f.symbol}),e.jsx(b,{sx:{color:"text.primary",flex:1,textAlign:"right"},children:P(d,f.decimal,6,!1)})]},n):null})})}function De(){const{t}=I(),{control:s}=J();Y(()=>{K().catch(o=>{console.error("Failed to preload phone validator:",o)})});const u=ee({control:s,name:"address.country"});return e.jsxs(j,{direction:"column",spacing:1,sx:{".MuiFormLabel-root":{color:"text.primary",mt:1,mb:.5}},children:[e.jsx(y,{name:"name",variant:"outlined",errorPosition:"right",rules:{required:t("payment.checkout.required"),minLength:{value:2,message:t("common.minLength",{len:2})},maxLength:{value:30,message:t("common.maxLength",{len:30})}},inputProps:{maxLength:30},label:t("payment.checkout.customer.name")}),e.jsx(y,{name:"email",variant:"outlined",errorPosition:"right",rules:{required:t("payment.checkout.required"),validate:o=>te(o)?!0:t("payment.checkout.invalid")},label:t("payment.checkout.customer.email")}),e.jsx(D,{className:"base-label",children:t("payment.checkout.customer.phone")}),e.jsx(se,{name:"phone",variant:"outlined",countryFieldName:"address.country",errorPosition:"right",placeholder:t("payment.checkout.customer.phonePlaceholder"),rules:{required:t("payment.checkout.required"),validate:async o=>await ae(o)?!0:t("payment.checkout.invalid")}}),e.jsx(D,{className:"base-label",children:t("payment.checkout.billing.required")}),e.jsx(ie,{name:"address.country",control:s,render:({field:o})=>e.jsx(oe,{...o,ref:o.ref,sx:{pl:"6px"}})}),e.jsx(y,{name:"address.state",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.state"),placeholder:t("payment.checkout.billing.state"),inputProps:{maxLength:50},rules:{maxLength:{value:50,message:t("common.maxLength",{len:50})}}}),e.jsx(y,{name:"address.city",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.city"),placeholder:t("payment.checkout.billing.city"),inputProps:{maxLength:50},rules:{maxLength:{value:50,message:t("common.maxLength",{len:50})}}}),e.jsx(y,{name:"address.line1",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.line1"),placeholder:t("payment.checkout.billing.line1"),inputProps:{maxLength:100},rules:{maxLength:{value:100,message:t("common.maxLength",{len:100})}}}),e.jsx(y,{name:"address.line2",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.line2"),placeholder:t("payment.checkout.billing.line2"),inputProps:{maxLength:100},rules:{maxLength:{value:100,message:t("common.maxLength",{len:100})}}}),e.jsx(y,{name:"address.postal_code",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.postal_code"),placeholder:t("payment.checkout.billing.postal_code"),rules:{maxLength:{value:20,message:t("common.maxLength",{len:20})},validate:o=>ne(o,u)?!0:t("payment.checkout.invalid")}})]})}function Me({data:t,loading:s,onSave:u,onCancel:o}){const{t:m}=I(),n=re({defaultValues:{name:t.name||"",email:t.email||"",phone:t.phone||"",address:Object.assign({country:"",state:"",city:"",line1:"",line2:"",postal_code:""},t.address||{},{country:le(t.address?.country||"")?t.address?.country:"us"})}}),d=()=>{n.handleSubmit(async f=>{await u(f),n.reset(),o(null)})()};return e.jsx(je,{icon:e.jsx(z,{}),text:m("payment.customer.update"),width:520,addons:null,open:!0,hideLiveMode:!0,onClose:o,footer:e.jsxs(N,{variant:"contained",color:"primary",disabled:s,onClick:d,sx:{width:"100%"},children:[s&&e.jsx(A,{size:"small"})," ",m("common.save")]}),children:e.jsx(ce,{...n,children:e.jsx(De,{})})})}const Fe=async t=>{const[s,u]=await Promise.all([L.get(`/api/customers/${t}`).then(o=>o.data),L.get(`/api/customers/${t}/summary`).then(o=>o.data)]);return{customer:s,summary:u}},x="column",p="flex-start";function Ee(t,s){const u=[],o=s.reduce((m,n)=>m.concat(n.payment_currencies),[]);return t.balance&&u.push({currency:"USD",balance:P(t.balance,2)}),t.token_balance&&Object.keys(t.token_balance).forEach(m=>{const n=o.find(d=>d.id===m);n&&t.token_balance[m]!=="0"&&u.push({currency:n.symbol,balance:P(t.token_balance[m],n.decimal)})}),u}function bt(t){const{t:s}=I(),{isMobile:u}=me(),{settings:o,livemode:m}=W(),[n,d]=Q({adding:{price:!1},editing:{metadata:!1,customer:!1},loading:{metadata:!1,customer:!1}}),{loading:f,error:w,data:a,runAsync:C}=Z(()=>Fe(t.id)),q=T.useMemo(()=>{const c=de.find(r=>r[1]===a?.customer?.address?.country);return c?ue(c):{name:""}},[a]);if(w)return e.jsx(U,{severity:"error",children:w.message});if(f||!a)return e.jsx(A,{});const B=async c=>{try{d(r=>({loading:{...r.loading,metadata:!0}})),await L.put(`/api/customers/${t.id}`,c).then(r=>r.data),k.success(s("common.saved")),C()}catch(r){console.error(r),k.error(F(r))}finally{d(r=>({loading:{...r.loading,metadata:!1}}))}},O=async c=>{try{d(r=>({loading:{...r.loading,customer:!0}})),await L.put(`/api/customers/${t.id}`,c).then(r=>r.data),k.success(s("common.saved")),C()}catch(r){console.error(r),k.error(F(r))}finally{d(r=>({loading:{...r.loading,customer:!1}}))}},R=Ee(a.customer,o.paymentMethods),S=()=>{d(c=>({editing:{...c.editing,metadata:!0}}))};return e.jsxs(Ae,{direction:"column",spacing:2.5,sx:{mb:4},children:[e.jsxs(i,{children:[e.jsxs(j,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(j,{direction:"row",onClick:()=>_e("/admin/customers"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx($,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(b,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:s("admin.customers")})]}),e.jsx(N,{variant:"outlined",color:"primary",size:"small",disabled:n.editing.customer,onClick:()=>d(c=>({editing:{...c.editing,customer:!0}})),children:s("common.edit")})]}),e.jsxs(i,{sx:{mt:4,mb:3,display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(j,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(j,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(E,{title:a.customer.name,src:xe(a.customer?.did,a.customer?.updated_at?new Date(a.customer.updated_at).toISOString():"",52),alt:a.customer.name,variant:"circular",sx:{width:52,height:52}}),e.jsx(b,{variant:"h2",sx:{fontWeight:600},children:a.customer.name})]})}),e.jsxs(j,{className:"section-body",sx:{justifyContent:"flex-start",flexWrap:"wrap","hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(_,{label:s("admin.customer.email"),value:a.customer.email,divider:!0}),e.jsx(_,{label:s("admin.customer.phone"),value:a.customer.phone,divider:!0}),e.jsx(_,{label:s("common.id"),value:e.jsx(ge,{text:t.id,style:{marginLeft:4}}),divider:!0})]})]}),e.jsx(h,{})]}),e.jsxs(j,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".payment-link-column-1":{minWidth:{xs:"100%",lg:"600px"}},".payment-link-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(i,{className:"payment-link-column-1",sx:{flex:1,gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.creditGrants.title"),mb:0}),e.jsx(fe,{customerId:t.id,settings:o,mode:"dashboard"})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(g,{title:s("admin.details")}),e.jsxs(Pe,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xxl:"repeat(2, 1fr)"},"@container (min-width: 1050px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xxl:"row"},alignItems:{xs:"flex-start",xxl:"center"},"@container (min-width: 1050px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(l,{label:s("common.did"),value:e.jsx(he,{did:a.customer.did,chainId:m?"main":"beta",showQrcode:!0})}),e.jsx(l,{label:s("admin.customer.name"),value:a.customer.name}),e.jsx(l,{label:s("common.createdAt"),value:M(a.customer.created_at)}),e.jsx(l,{label:s("admin.customer.invoicePrefix"),value:a.customer.invoice_prefix}),a.customer.google_play_uuid&&e.jsx(l,{label:s("admin.customer.googlePlayUuid"),value:a.customer.google_play_uuid}),a.customer.app_store_uuid&&e.jsx(l,{label:s("admin.customer.appStoreUuid"),value:a.customer.app_store_uuid}),e.jsx(l,{label:s("common.updatedAt"),value:M(a.customer.updated_at)}),n.editing.customer&&e.jsx(Me,{data:a.customer,loading:n.loading.customer,onSave:O,onCancel:()=>d(c=>({editing:{...c.editing,customer:!1}}))})]})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.subscriptions"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(Ie,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["active","trialing","paused","past_due","canceled"].join(",")})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.invoices"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(be,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["open","paid","uncollectible","draft","void"].join(","),include_staking:!0})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.payments"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(we,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.payouts"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(ke,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["paid","pending","failed","canceled"].join(",")})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.refunds"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(Le,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["succeeded","canceled","failed","requires_action","pending"].join(",")})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.events.title")}),e.jsx(i,{className:"section-body",children:e.jsx(ye,{features:{toolbar:!1},object_id:a.customer.id})})]})]}),u&&e.jsx(h,{}),e.jsxs(i,{className:"payment-link-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.metrics")}),e.jsxs(i,{className:"section-body",sx:{".info-row-value":{width:"100%"}},children:[e.jsx(l,{label:s("admin.customer.spent"),value:e.jsx(v,{data:a.summary?.paid,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.stake"),value:e.jsx(v,{data:a.summary?.stake,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.token"),value:e.jsx(v,{data:a.summary?.token,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.due"),value:e.jsx(v,{data:a.summary?.due,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.refund"),value:e.jsx(v,{data:a.summary?.refunded,showLogo:!0}),direction:x,alignItems:p}),R.map(c=>e.jsx(l,{label:s("admin.customer.balance",{currency:c.currency}),value:c.balance,direction:x,alignItems:p},c.currency))]})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.customer.address.label")}),e.jsxs(i,{className:"section-body",children:[e.jsx(l,{label:s("admin.customer.address.country"),value:a.customer.address?.country?e.jsxs(i,{sx:{display:"flex",alignItems:"center",flexWrap:"nowrap",gap:.5,cursor:"pointer"},children:[e.jsx(pe,{iso2:a.customer.address?.country,style:{display:"flex",width:24}}),e.jsx(b,{children:q?.name})]}):"",direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.state"),value:a.customer.address?.state,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.city"),value:a.customer.address?.city,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.line1"),value:a.customer.address?.line1,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.line2"),value:a.customer.address?.line2,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.postal_code"),value:a.customer.address?.postal_code,direction:x,alignItems:p})]})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("common.metadata.label"),children:e.jsx(N,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:n.editing.metadata,onClick:S,children:s("common.edit")})}),e.jsxs(i,{className:"section-body",children:[e.jsx(Ne,{data:a.customer.metadata,handleEditMetadata:S}),n.editing.metadata&&e.jsx(ve,{data:a.customer,loading:n.loading.metadata,onSave:B,onCancel:()=>d(c=>({editing:{...c.editing,metadata:!1}}))})]})]})]})]})]})}const Ae=H(j)``;export{bt as default};
1
+ import{g as V,j as e,q as b,a3 as j,N as E,x as N,w as A,bH as z,r as T,A as U,B as i,bv as $,Y as h,bf as H}from"./vendor-mui-BXZut9Pz.js";import{cy as G,V as I,a6 as X,W as Y,Y as Q,P as Z,Z as k}from"./vendor-blocklet-B8V2HFST.js";import{a as W,i as P,E as J,az as K,X as ee,aX as y,be as te,aW as D,bf as se,bg as ae,C as ie,aA as oe,bh as ne,h as re,R as le,F as ce,d as me,aa as de,ab as ue,N as xe,j as M,ac as pe,e as L,k as F}from"./index-Bfp56O3W.js";import{S as he}from"./safe-did-address-Bj0hfqCH.js";import{C as ge}from"./copyable-Dn7WoFib.js";import{D as je}from"./drawer-form-CSWrmdZI.js";import{a as fe}from"./credit-overview-hFT3I5RJ.js";import{E as ye}from"./list-CQ5uQIra.js";import{I as _}from"./info-metric-DwDA6oTc.js";import{I as l}from"./info-row-Cr8bdDz0.js";import{I as be}from"./list-CMRLDBem.js";import{M as ve}from"./editor-BzrYE3Ds.js";import{P as we}from"./list-DiFKB2Fh.js";import{P as ke}from"./list-qrTTpMns.js";import{R as Le}from"./list-0fajnTAx.js";import{S as g}from"./header-ivXuPt06.js";import{S as Ie}from"./list-BaGkIr9x.js";import{g as _e}from"./util-Dp629jKU.js";import{M as Ne}from"./list-B6NGNObl.js";import{I as Pe}from"./info-row-group-qhfbrxfY.js";import"./vendor-react-BPknnnEA.js";import"./collapse-CSrlJ0eG.js";import"./table-CyJj8e85.js";import"./cache-state-lld4zuDg.js";import"./link-Dhj5mzaG.js";import"./filter-toolbar-DpJmPWVP.js";import"./lodash-B4Ozcv0x.js";import"./product-select-VFuyl5ev.js";import"./info-card-Xtng8th6.js";import"./action-B9qBcxnd.js";import"./actions-BYX1WnBr.js";import"./click-boundary-Cozpjijr.js";import"./form-nz7nSyN7.js";import"./actions-C8z5APgU.js";import"./actions-BvdAKBBR.js";import"./index-DA2h2xQ0.js";import"./description-Ci4-GOSF.js";import"./status-DlEqz2pS.js";var Ce=G();const Se=V(Ce);function v(t){const s=Object.assign({data:{},showLogo:!1},t),{t:u}=I(),{settings:o}=W(),m=Se(o.paymentMethods.map(n=>n.payment_currencies));return X(s.data)?e.jsx(b,{sx:{color:"text.secondary"},children:u("common.none")}):e.jsx(j,{direction:"column",sx:{alignItems:"flex-start",width:"100%"},children:Object.entries(s.data).map(([n,d])=>{const f=m.find(w=>w.id===n);return f?e.jsxs(j,{direction:"row",spacing:1,sx:{alignItems:"center",width:"100%",maxWidth:"280px"},children:[s?.showLogo&&e.jsx(E,{src:f.logo,alt:f.symbol,style:{width:"18px",height:"18px"}}),e.jsx(b,{sx:{color:"text.secondary",width:"32px",minWidth:100},children:f.symbol}),e.jsx(b,{sx:{color:"text.primary",flex:1,textAlign:"right"},children:P(d,f.decimal,6,!1)})]},n):null})})}function De(){const{t}=I(),{control:s}=J();Y(()=>{K().catch(o=>{console.error("Failed to preload phone validator:",o)})});const u=ee({control:s,name:"address.country"});return e.jsxs(j,{direction:"column",spacing:1,sx:{".MuiFormLabel-root":{color:"text.primary",mt:1,mb:.5}},children:[e.jsx(y,{name:"name",variant:"outlined",errorPosition:"right",rules:{required:t("payment.checkout.required"),minLength:{value:2,message:t("common.minLength",{len:2})},maxLength:{value:30,message:t("common.maxLength",{len:30})}},inputProps:{maxLength:30},label:t("payment.checkout.customer.name")}),e.jsx(y,{name:"email",variant:"outlined",errorPosition:"right",rules:{required:t("payment.checkout.required"),validate:o=>te(o)?!0:t("payment.checkout.invalid")},label:t("payment.checkout.customer.email")}),e.jsx(D,{className:"base-label",children:t("payment.checkout.customer.phone")}),e.jsx(se,{name:"phone",variant:"outlined",countryFieldName:"address.country",errorPosition:"right",placeholder:t("payment.checkout.customer.phonePlaceholder"),rules:{required:t("payment.checkout.required"),validate:async o=>await ae(o)?!0:t("payment.checkout.invalid")}}),e.jsx(D,{className:"base-label",children:t("payment.checkout.billing.required")}),e.jsx(ie,{name:"address.country",control:s,render:({field:o})=>e.jsx(oe,{...o,ref:o.ref,sx:{pl:"6px"}})}),e.jsx(y,{name:"address.state",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.state"),placeholder:t("payment.checkout.billing.state"),inputProps:{maxLength:50},rules:{maxLength:{value:50,message:t("common.maxLength",{len:50})}}}),e.jsx(y,{name:"address.city",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.city"),placeholder:t("payment.checkout.billing.city"),inputProps:{maxLength:50},rules:{maxLength:{value:50,message:t("common.maxLength",{len:50})}}}),e.jsx(y,{name:"address.line1",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.line1"),placeholder:t("payment.checkout.billing.line1"),inputProps:{maxLength:100},rules:{maxLength:{value:100,message:t("common.maxLength",{len:100})}}}),e.jsx(y,{name:"address.line2",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.line2"),placeholder:t("payment.checkout.billing.line2"),inputProps:{maxLength:100},rules:{maxLength:{value:100,message:t("common.maxLength",{len:100})}}}),e.jsx(y,{name:"address.postal_code",variant:"outlined",errorPosition:"right",label:t("payment.checkout.billing.postal_code"),placeholder:t("payment.checkout.billing.postal_code"),rules:{maxLength:{value:20,message:t("common.maxLength",{len:20})},validate:o=>ne(o,u)?!0:t("payment.checkout.invalid")}})]})}function Me({data:t,loading:s,onSave:u,onCancel:o}){const{t:m}=I(),n=re({defaultValues:{name:t.name||"",email:t.email||"",phone:t.phone||"",address:Object.assign({country:"",state:"",city:"",line1:"",line2:"",postal_code:""},t.address||{},{country:le(t.address?.country||"")?t.address?.country:"us"})}}),d=()=>{n.handleSubmit(async f=>{await u(f),n.reset(),o(null)})()};return e.jsx(je,{icon:e.jsx(z,{}),text:m("payment.customer.update"),width:520,addons:null,open:!0,hideLiveMode:!0,onClose:o,footer:e.jsxs(N,{variant:"contained",color:"primary",disabled:s,onClick:d,sx:{width:"100%"},children:[s&&e.jsx(A,{size:"small"})," ",m("common.save")]}),children:e.jsx(ce,{...n,children:e.jsx(De,{})})})}const Fe=async t=>{const[s,u]=await Promise.all([L.get(`/api/customers/${t}`).then(o=>o.data),L.get(`/api/customers/${t}/summary`).then(o=>o.data)]);return{customer:s,summary:u}},x="column",p="flex-start";function Ee(t,s){const u=[],o=s.reduce((m,n)=>m.concat(n.payment_currencies),[]);return t.balance&&u.push({currency:"USD",balance:P(t.balance,2)}),t.token_balance&&Object.keys(t.token_balance).forEach(m=>{const n=o.find(d=>d.id===m);n&&t.token_balance[m]!=="0"&&u.push({currency:n.symbol,balance:P(t.token_balance[m],n.decimal)})}),u}function bt(t){const{t:s}=I(),{isMobile:u}=me(),{settings:o,livemode:m}=W(),[n,d]=Q({adding:{price:!1},editing:{metadata:!1,customer:!1},loading:{metadata:!1,customer:!1}}),{loading:f,error:w,data:a,runAsync:C}=Z(()=>Fe(t.id)),q=T.useMemo(()=>{const c=de.find(r=>r[1]===a?.customer?.address?.country);return c?ue(c):{name:""}},[a]);if(w)return e.jsx(U,{severity:"error",children:w.message});if(f||!a)return e.jsx(A,{});const B=async c=>{try{d(r=>({loading:{...r.loading,metadata:!0}})),await L.put(`/api/customers/${t.id}`,c).then(r=>r.data),k.success(s("common.saved")),C()}catch(r){console.error(r),k.error(F(r))}finally{d(r=>({loading:{...r.loading,metadata:!1}}))}},O=async c=>{try{d(r=>({loading:{...r.loading,customer:!0}})),await L.put(`/api/customers/${t.id}`,c).then(r=>r.data),k.success(s("common.saved")),C()}catch(r){console.error(r),k.error(F(r))}finally{d(r=>({loading:{...r.loading,customer:!1}}))}},R=Ee(a.customer,o.paymentMethods),S=()=>{d(c=>({editing:{...c.editing,metadata:!0}}))};return e.jsxs(Ae,{direction:"column",spacing:2.5,sx:{mb:4},children:[e.jsxs(i,{children:[e.jsxs(j,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(j,{direction:"row",onClick:()=>_e("/admin/customers"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx($,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(b,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:s("admin.customers")})]}),e.jsx(N,{variant:"outlined",color:"primary",size:"small",disabled:n.editing.customer,onClick:()=>d(c=>({editing:{...c.editing,customer:!0}})),children:s("common.edit")})]}),e.jsxs(i,{sx:{mt:4,mb:3,display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(j,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(j,{direction:"row",spacing:1,sx:{alignItems:"center"},children:[e.jsx(E,{title:a.customer.name,src:xe(a.customer?.did,a.customer?.updated_at?new Date(a.customer.updated_at).toISOString():"",52),alt:a.customer.name,variant:"circular",sx:{width:52,height:52}}),e.jsx(b,{variant:"h2",sx:{fontWeight:600},children:a.customer.name})]})}),e.jsxs(j,{className:"section-body",sx:{justifyContent:"flex-start",flexWrap:"wrap","hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(_,{label:s("admin.customer.email"),value:a.customer.email,divider:!0}),e.jsx(_,{label:s("admin.customer.phone"),value:a.customer.phone,divider:!0}),e.jsx(_,{label:s("common.id"),value:e.jsx(ge,{text:t.id,style:{marginLeft:4}}),divider:!0})]})]}),e.jsx(h,{})]}),e.jsxs(j,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".payment-link-column-1":{minWidth:{xs:"100%",lg:"600px"}},".payment-link-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(i,{className:"payment-link-column-1",sx:{flex:1,gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.creditGrants.title"),mb:0}),e.jsx(fe,{customerId:t.id,settings:o,mode:"dashboard"})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(g,{title:s("admin.details")}),e.jsxs(Pe,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xxl:"repeat(2, 1fr)"},"@container (min-width: 1050px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xxl:"row"},alignItems:{xs:"flex-start",xxl:"center"},"@container (min-width: 1050px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(l,{label:s("common.did"),value:e.jsx(he,{did:a.customer.did,chainId:m?"main":"beta",showQrcode:!0})}),e.jsx(l,{label:s("admin.customer.name"),value:a.customer.name}),e.jsx(l,{label:s("common.createdAt"),value:M(a.customer.created_at)}),e.jsx(l,{label:s("admin.customer.invoicePrefix"),value:a.customer.invoice_prefix}),a.customer.google_play_uuid&&e.jsx(l,{label:s("admin.customer.googlePlayUuid"),value:a.customer.google_play_uuid}),a.customer.app_store_uuid&&e.jsx(l,{label:s("admin.customer.appStoreUuid"),value:a.customer.app_store_uuid}),e.jsx(l,{label:s("common.updatedAt"),value:M(a.customer.updated_at)}),n.editing.customer&&e.jsx(Me,{data:a.customer,loading:n.loading.customer,onSave:O,onCancel:()=>d(c=>({editing:{...c.editing,customer:!1}}))})]})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.subscriptions"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(Ie,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["active","trialing","paused","past_due","canceled"].join(",")})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.invoices"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(be,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["open","paid","uncollectible","draft","void"].join(","),include_staking:!0})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.payments"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(we,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.payouts"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(ke,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["paid","pending","failed","canceled"].join(",")})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.refunds"),mb:0}),e.jsx(i,{className:"section-body",children:e.jsx(Le,{features:{customer:!1,toolbar:!1},customer_id:a.customer.id,status:["succeeded","canceled","failed","requires_action","pending"].join(",")})})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.events.title")}),e.jsx(i,{className:"section-body",children:e.jsx(ye,{features:{toolbar:!1},object_id:a.customer.id})})]})]}),u&&e.jsx(h,{}),e.jsxs(i,{className:"payment-link-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.metrics")}),e.jsxs(i,{className:"section-body",sx:{".info-row-value":{width:"100%"}},children:[e.jsx(l,{label:s("admin.customer.spent"),value:e.jsx(v,{data:a.summary?.paid,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.stake"),value:e.jsx(v,{data:a.summary?.stake,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.token"),value:e.jsx(v,{data:a.summary?.token,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.due"),value:e.jsx(v,{data:a.summary?.due,showLogo:!0}),direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.refund"),value:e.jsx(v,{data:a.summary?.refunded,showLogo:!0}),direction:x,alignItems:p}),R.map(c=>e.jsx(l,{label:s("admin.customer.balance",{currency:c.currency}),value:c.balance,direction:x,alignItems:p},c.currency))]})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("admin.customer.address.label")}),e.jsxs(i,{className:"section-body",children:[e.jsx(l,{label:s("admin.customer.address.country"),value:a.customer.address?.country?e.jsxs(i,{sx:{display:"flex",alignItems:"center",flexWrap:"nowrap",gap:.5,cursor:"pointer"},children:[e.jsx(pe,{iso2:a.customer.address?.country,style:{display:"flex",width:24}}),e.jsx(b,{children:q?.name})]}):"",direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.state"),value:a.customer.address?.state,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.city"),value:a.customer.address?.city,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.line1"),value:a.customer.address?.line1,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.line2"),value:a.customer.address?.line2,direction:x,alignItems:p}),e.jsx(l,{label:s("admin.customer.address.postal_code"),value:a.customer.address?.postal_code,direction:x,alignItems:p})]})]}),e.jsx(h,{}),e.jsxs(i,{className:"section",children:[e.jsx(g,{title:s("common.metadata.label"),children:e.jsx(N,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:n.editing.metadata,onClick:S,children:s("common.edit")})}),e.jsxs(i,{className:"section-body",children:[e.jsx(Ne,{data:a.customer.metadata,handleEditMetadata:S}),n.editing.metadata&&e.jsx(ve,{data:a.customer,loading:n.loading.metadata,onSave:B,onCancel:()=>d(c=>({editing:{...c.editing,metadata:!1}}))})]})]})]})]})]})}const Ae=H(j)``;export{bt as default};
@@ -1,4 +1,4 @@
1
- import{r as A,j as e,A as j,w as G,B as i,a3 as s,bv as N,q as a,x as S,N as d,Y as u,bf as T}from"./vendor-mui-BXZut9Pz.js";import{V as k,P as Y}from"./vendor-blocklet-B67R14so.js";import{u as M,a2 as P,a3 as g,i as f,j as x,N as B,p as H,A as F,e as R}from"./index-B4yaPb7B.js";import{I as n}from"./info-metric-ukWq8INi.js";import{S as y}from"./header-ivXuPt06.js";import{C as W}from"./credit-grant-item-list-DQcvdSRs.js";import{I as l}from"./info-row-CaPaNF4L.js";import{I as z}from"./info-row-group-Cxo-4Gk5.js";import{u as L}from"./browser-DF2vfpBa.js";import{i as $}from"./did-Bqcz-NjH.js";import{e as q,a as E}from"./vendor-react-BPknnnEA.js";import"./util-B8B3fsMa.js";import"./lodash-B4Ozcv0x.js";import"./copyable-CprMHdhV.js";const O=o=>R.get(`/api/credit-grants/${o}`).then(c=>c.data);function ce(){const{id:o}=q(),c=E(),{t:r}=k(),{session:p}=M(),v=L(),{loading:b,error:h,data:t}=Y(()=>O(o)),w=A.useCallback(()=>{c("/customer",{replace:!0})},[c]);if(t?.customer?.did&&p?.user?.did&&!$(t.customer.did,p.user.did))return e.jsx(j,{severity:"error",children:r("common.accessDenied")});if(h)return e.jsx(j,{severity:"error",children:h.message});if(b||!t)return e.jsx(G,{});const C=t?.status==="depleted",I=m=>{switch(m){case"granted":return r("admin.customer.creditGrants.status.granted");case"pending":return r("admin.customer.creditGrants.status.pending");case"depleted":return r("admin.customer.creditGrants.status.depleted");case"expired":return r("admin.customer.creditGrants.status.expired");case"voided":return r("admin.customer.creditGrants.status.voided");default:return m}},_=()=>{if(!t.amount||!t.remaining_amount)return 0;const m=parseFloat(t.amount),D=parseFloat(t.remaining_amount);return(m-D)/m*100};return e.jsxs(U,{children:[e.jsxs(i,{children:[e.jsxs(s,{className:"page-header",direction:"row",justifyContent:"space-between",alignItems:"center",sx:{position:"relative"},children:[v?e.jsx(i,{}):e.jsxs(s,{direction:"row",onClick:w,alignItems:"center",sx:{fontWeight:"normal",cursor:"pointer"},children:[e.jsx(N,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(a,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:r("admin.customer.creditGrants.title")})]}),t.metadata?.invoice_id&&e.jsx(S,{variant:"outlined",size:"small",onClick:()=>c(`/customer/invoice/${t.metadata.invoice_id}`),children:r("admin.customer.creditGrants.viewInvoice")})]}),e.jsxs(i,{mt:4,sx:{display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(s,{direction:"row",justifyContent:"space-between",alignItems:"center",children:e.jsx(s,{direction:"row",alignItems:"center",flexWrap:"wrap",gap:1,children:e.jsx(s,{direction:"column",alignItems:"flex-start",justifyContent:"space-around",children:e.jsx(a,{variant:"h2",color:"text.primary",children:t.name||t.id})})})}),e.jsxs(s,{className:"section-body",justifyContent:"flex-start",flexWrap:"wrap",sx:{"hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(n,{label:r("common.status"),value:e.jsx(P,{status:t.status,label:I(t.status)})}),e.jsx(n,{label:r("admin.customer.creditGrants.originalAmount"),value:e.jsxs(s,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(d,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(a,{variant:"body2",children:g(f(t.amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(n,{label:r("common.remainingCredit"),value:e.jsxs(s,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(d,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(a,{variant:"body2",children:g(f(t.remaining_amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(n,{label:r("admin.customer.creditGrants.usage"),value:e.jsxs(a,{variant:"body2",color:C?"error.main":"text.primary",children:[_().toFixed(1),"%"]}),divider:!0}),e.jsx(n,{label:r("common.effectiveDate"),value:x(t.effective_at?t.effective_at*1e3:t.created_at,"YYYY-MM-DD HH:mm:ss")}),t.expires_at?e.jsx(n,{label:r("common.expirationDate"),value:x(t.expires_at*1e3,"YYYY-MM-DD HH:mm:ss")}):null]})]})]}),e.jsxs(i,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(y,{title:r("admin.details")}),e.jsxs(z,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(l,{label:r("common.customer"),value:e.jsxs(s,{direction:"row",alignItems:"center",spacing:1,children:[e.jsx(d,{src:B(t.customer?.did,t.customer?.updated_at?new Date(t.customer.updated_at).toISOString():"",24),alt:t.customer?.name,sx:{width:24,height:24}}),e.jsx(a,{children:t.customer?.name})]})}),e.jsx(l,{label:r("common.scope"),value:e.jsx(a,{children:t.applicability_config?.scope?.prices?r("common.specific"):r("common.general")})}),e.jsx(l,{label:r("admin.creditProduct.priority.label"),value:e.jsx(a,{children:t.priority})}),e.jsx(l,{label:r("common.createdAt"),value:x(t.created_at)}),t.chain_detail?.mint?.hash&&t.paymentMethod?.type==="arcblock"&&e.jsx(l,{label:r("common.mintTxHash"),value:e.jsx(H,{details:{arcblock:{tx_hash:t.chain_detail.mint.hash,payer:""}},method:t.paymentMethod,mode:"customer"})})]})]}),e.jsx(u,{}),t.items&&t.items.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(i,{className:"section",children:[e.jsx(y,{title:r("admin.creditProduct.associatedPrices.label")}),e.jsx(i,{className:"section-body",children:e.jsx(W,{data:t.items,currency:t.paymentCurrency})})]}),e.jsx(u,{})]}),e.jsx(u,{}),e.jsxs(i,{className:"section",children:[e.jsx(a,{variant:"h3",className:"section-header",children:r("admin.creditTransactions.title")}),e.jsx(i,{className:"section-body",children:e.jsx(F,{customer_id:t.customer_id,credit_grant_id:t.id,showAdminColumns:!1,showTimeFilter:!0})})]})]})}const U=T(s)`
1
+ import{r as A,j as e,A as j,w as G,B as i,a3 as s,bv as N,q as a,x as S,N as d,Y as u,bf as T}from"./vendor-mui-BXZut9Pz.js";import{V as k,P as Y}from"./vendor-blocklet-B8V2HFST.js";import{u as M,a2 as P,a3 as g,i as f,j as x,N as B,p as H,A as F,e as R}from"./index-Bfp56O3W.js";import{I as n}from"./info-metric-DwDA6oTc.js";import{S as y}from"./header-ivXuPt06.js";import{C as W}from"./credit-grant-item-list-B_vTdJGs.js";import{I as l}from"./info-row-Cr8bdDz0.js";import{I as z}from"./info-row-group-qhfbrxfY.js";import{u as L}from"./browser-QPNAlSRH.js";import{i as $}from"./did-Bqcz-NjH.js";import{e as q,a as E}from"./vendor-react-BPknnnEA.js";import"./util-Dp629jKU.js";import"./lodash-B4Ozcv0x.js";import"./copyable-Dn7WoFib.js";const O=o=>R.get(`/api/credit-grants/${o}`).then(c=>c.data);function ce(){const{id:o}=q(),c=E(),{t:r}=k(),{session:p}=M(),v=L(),{loading:b,error:h,data:t}=Y(()=>O(o)),w=A.useCallback(()=>{c("/customer",{replace:!0})},[c]);if(t?.customer?.did&&p?.user?.did&&!$(t.customer.did,p.user.did))return e.jsx(j,{severity:"error",children:r("common.accessDenied")});if(h)return e.jsx(j,{severity:"error",children:h.message});if(b||!t)return e.jsx(G,{});const C=t?.status==="depleted",I=m=>{switch(m){case"granted":return r("admin.customer.creditGrants.status.granted");case"pending":return r("admin.customer.creditGrants.status.pending");case"depleted":return r("admin.customer.creditGrants.status.depleted");case"expired":return r("admin.customer.creditGrants.status.expired");case"voided":return r("admin.customer.creditGrants.status.voided");default:return m}},_=()=>{if(!t.amount||!t.remaining_amount)return 0;const m=parseFloat(t.amount),D=parseFloat(t.remaining_amount);return(m-D)/m*100};return e.jsxs(U,{children:[e.jsxs(i,{children:[e.jsxs(s,{className:"page-header",direction:"row",justifyContent:"space-between",alignItems:"center",sx:{position:"relative"},children:[v?e.jsx(i,{}):e.jsxs(s,{direction:"row",onClick:w,alignItems:"center",sx:{fontWeight:"normal",cursor:"pointer"},children:[e.jsx(N,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(a,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:r("admin.customer.creditGrants.title")})]}),t.metadata?.invoice_id&&e.jsx(S,{variant:"outlined",size:"small",onClick:()=>c(`/customer/invoice/${t.metadata.invoice_id}`),children:r("admin.customer.creditGrants.viewInvoice")})]}),e.jsxs(i,{mt:4,sx:{display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(s,{direction:"row",justifyContent:"space-between",alignItems:"center",children:e.jsx(s,{direction:"row",alignItems:"center",flexWrap:"wrap",gap:1,children:e.jsx(s,{direction:"column",alignItems:"flex-start",justifyContent:"space-around",children:e.jsx(a,{variant:"h2",color:"text.primary",children:t.name||t.id})})})}),e.jsxs(s,{className:"section-body",justifyContent:"flex-start",flexWrap:"wrap",sx:{"hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(n,{label:r("common.status"),value:e.jsx(P,{status:t.status,label:I(t.status)})}),e.jsx(n,{label:r("admin.customer.creditGrants.originalAmount"),value:e.jsxs(s,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(d,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(a,{variant:"body2",children:g(f(t.amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(n,{label:r("common.remainingCredit"),value:e.jsxs(s,{direction:"row",alignItems:"center",spacing:.5,children:[e.jsx(d,{src:t.paymentCurrency?.logo,sx:{width:16,height:16},alt:t.paymentCurrency?.symbol}),e.jsx(a,{variant:"body2",children:g(f(t.remaining_amount,t.paymentCurrency.decimal),t.paymentCurrency.symbol)})]}),divider:!0}),e.jsx(n,{label:r("admin.customer.creditGrants.usage"),value:e.jsxs(a,{variant:"body2",color:C?"error.main":"text.primary",children:[_().toFixed(1),"%"]}),divider:!0}),e.jsx(n,{label:r("common.effectiveDate"),value:x(t.effective_at?t.effective_at*1e3:t.created_at,"YYYY-MM-DD HH:mm:ss")}),t.expires_at?e.jsx(n,{label:r("common.expirationDate"),value:x(t.expires_at*1e3,"YYYY-MM-DD HH:mm:ss")}):null]})]})]}),e.jsxs(i,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(y,{title:r("admin.details")}),e.jsxs(z,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(l,{label:r("common.customer"),value:e.jsxs(s,{direction:"row",alignItems:"center",spacing:1,children:[e.jsx(d,{src:B(t.customer?.did,t.customer?.updated_at?new Date(t.customer.updated_at).toISOString():"",24),alt:t.customer?.name,sx:{width:24,height:24}}),e.jsx(a,{children:t.customer?.name})]})}),e.jsx(l,{label:r("common.scope"),value:e.jsx(a,{children:t.applicability_config?.scope?.prices?r("common.specific"):r("common.general")})}),e.jsx(l,{label:r("admin.creditProduct.priority.label"),value:e.jsx(a,{children:t.priority})}),e.jsx(l,{label:r("common.createdAt"),value:x(t.created_at)}),t.chain_detail?.mint?.hash&&t.paymentMethod?.type==="arcblock"&&e.jsx(l,{label:r("common.mintTxHash"),value:e.jsx(H,{details:{arcblock:{tx_hash:t.chain_detail.mint.hash,payer:""}},method:t.paymentMethod,mode:"customer"})})]})]}),e.jsx(u,{}),t.items&&t.items.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(i,{className:"section",children:[e.jsx(y,{title:r("admin.creditProduct.associatedPrices.label")}),e.jsx(i,{className:"section-body",children:e.jsx(W,{data:t.items,currency:t.paymentCurrency})})]}),e.jsx(u,{})]}),e.jsx(u,{}),e.jsxs(i,{className:"section",children:[e.jsx(a,{variant:"h3",className:"section-header",children:r("admin.creditTransactions.title")}),e.jsx(i,{className:"section-body",children:e.jsx(F,{customer_id:t.customer_id,credit_grant_id:t.id,showAdminColumns:!1,showTimeFilter:!0})})]})]})}const U=T(s)`
2
2
  margin-bottom: 24px;
3
3
  gap: 24px;
4
4
  flex-direction: column;
@@ -1 +1 @@
1
- import{r as v,j as e,w as K,q as C,B as p,a2 as V,a3 as b,x as P,N as G,A as J,z as le,bv as me,Y as R,bH as ue,bf as pe}from"./vendor-mui-BXZut9Pz.js";import{V as B,O as xe,P as Q,$ as fe,Y as he,Z as T}from"./vendor-blocklet-B67R14so.js";import{b9 as E,n as X,j as O,T as ee,e as k,d as oe,a as te,aM as ge,Y as q,f as je,I as ye,b8 as z,k as F,v as Z}from"./index-B4yaPb7B.js";import{C as ne}from"./copyable-CprMHdhV.js";import{E as be}from"./list-CvM46TsP.js";import{I as A}from"./info-metric-ukWq8INi.js";import{I as w}from"./info-row-CaPaNF4L.js";import{I as Ce}from"./info-row-group-Cxo-4Gk5.js";import{M as ve}from"./editor-vZvxDUTl.js";import{M as _e}from"./list-B2b-s8wM.js";import{S as M}from"./header-ivXuPt06.js";import{g as we}from"./util-B8B3fsMa.js";import{L as U,a as Se}from"./vendor-react-BPknnnEA.js";import{P as Re,a as ae,C as Me,A as De}from"./currency-restrictions-Dsupz2ce.js";import"./table-BN3WBnr3.js";import"./lodash-B4Ozcv0x.js";import"./form-CnrBCyTJ.js";import"./index-oy7LrXGT.js";import"./collapse-CSrlJ0eG.js";import"./drawer-form-CQjNFFWk.js";import"./currency-select-C8j7QQMP.js";import"./currency-GstdXsJf.js";import"./product-select-_72p-5lF.js";import"./form-AFzUvoFE.js";import"./info-card-C9dRgztS.js";import"./uploader-BLdAbLR6.js";import"./tax-code-select-j2arPbaE.js";import"./collapse-BvbJGg1V.js";import"./actions-BEUwbsq1.js";import"./link-DMWJcQvZ.js";import"./link-DsltSF2Q.js";import"./description-BHxdy5I3.js";import"./status-3Swm2gK5.js";const Le=(s,o={})=>{const h=new URLSearchParams;return h.set("coupon_id",s),Object.keys(o).forEach(x=>{const r=o[x];r!==""&&r!==void 0&&r!==null&&(typeof r=="object"?Object.keys(r).length>0&&h.set(x,JSON.stringify(r)):h.set(x,String(r)))}),k.get(`/api/promotion-codes?${h.toString()}`).then(x=>x.data)};function Te({couponId:s}){const{t:o}=B(),[h,x]=v.useState(!1),[r,y]=v.useState(null),[d,c]=xe(`promotion-codes-${s}`,{defaultValue:{pageSize:20,page:1}}),{data:l={list:[],count:0},refresh:a,loading:_}=Q(()=>Le(s,d),{refreshDeps:[d,s]});E("promotion-code.created",()=>a(),[]),E("promotion-code.updated",()=>a(),[]),E("promotion-code.deleted",()=>a(),[]),v.useEffect(()=>{a()},[d,s]);const S=(t,u)=>{t==="edit"&&u?(y(u),x(!0)):a()},j=()=>{x(!1),y(null)},m=l?.list||[];if(_)return e.jsx(K,{});const W=[{label:o("admin.promotionCode.code"),name:"code",options:{filter:!0,customBodyRenderLite:(t,u)=>{const i=m?.[u];return e.jsx(ne,{text:i.code,children:e.jsx(U,{to:`/admin/products/coupons/promotion-codes/${i.id}`,children:e.jsx(C,{sx:{color:"text.primary",fontWeight:500,mr:1},children:i.code})})})}}},{label:o("admin.promotionCode.status"),name:"active",options:{filter:!0,customBodyRenderLite:(t,u)=>{const i=m?.[u],$=i.expires_at&&Math.floor(Date.now()/1e3)>i.expires_at,N=i.max_redemptions&&i.times_redeemed>=i.max_redemptions;let D=o("admin.promotionCode.active"),L="success";return i.active||(D=o("admin.promotionCode.inactive"),L="default"),$?(D=o("admin.promotionCode.expired"),L="warning"):N&&(D=o("admin.promotionCode.maxedOut"),L="warning"),e.jsx(X,{label:D,color:L})}}},{label:o("admin.promotionCode.redemptions"),name:"redemptions",options:{filter:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u],$=i.max_redemptions||o("admin.coupon.unlimited");return`${i.times_redeemed||0} / ${$}`}}},{label:o("admin.promotionCode.expires"),name:"expires_at",options:{filter:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u];return i.expires_at?O(i.expires_at*1e3):"—"}}},{label:o("admin.promotionCode.created"),name:"created_at",options:{filter:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u];return O(i.created_at)}}},{label:o("admin.promotionCode.actions"),name:"actions",options:{filter:!1,sort:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u];return e.jsx(Re,{data:i,onChange:S,variant:"compact"})}}}],I=({page:t,rowsPerPage:u})=>{d.pageSize!==u?c(i=>({...i,pageSize:u,page:1})):d.page!==t+1&&c(i=>({...i,page:t+1}))};return e.jsxs(e.Fragment,{children:[e.jsx(ee,{hasRowLink:!1,toolbar:!1,footer:!1,data:m,columns:W,options:{count:l?.count,page:d.page-1,rowsPerPage:d.pageSize,onSearchChange:t=>{c(t?{...d,q:{"like-code":t},pageSize:100,page:1}:{...d,pageSize:100,page:1,q:void 0})}},loading:_,onChange:I}),e.jsx(ae,{open:h,onClose:j,onSubmit:a,couponId:s,promotionCode:r,isEditing:!0})]})}function Pe({open:s,onClose:o,onSave:h,initialName:x,initialDescription:r="",loading:y=!1}){const{t:d}=B(),[c,l]=v.useState(x),[a,_]=v.useState(r);v.useEffect(()=>{s&&(l(x),_(r))},[s,x,r]);const S=async()=>{c.trim()&&(await h({name:c.trim(),description:a.trim()}),o())},j=()=>{l(x),_(r),o()};return e.jsx(fe,{open:s,onClose:j,maxWidth:"sm",fullWidth:!0,title:d("admin.coupon.updateCouponDetails"),PaperProps:{sx:{borderRadius:2}},actions:e.jsxs(b,{direction:"row",spacing:2,children:[e.jsx(P,{variant:"outlined",onClick:j,disabled:y,children:d("common.cancel")}),e.jsx(P,{variant:"contained",onClick:S,disabled:y||!c.trim()||c.trim()===x&&a.trim()===r,children:d("admin.coupon.updateCouponButton")})]}),children:e.jsxs(p,{children:[e.jsx(C,{variant:"h6",sx:{mb:2},children:d("admin.coupon.name")}),e.jsx(V,{autoFocus:!0,fullWidth:!0,value:c,onChange:m=>l(m.target.value),variant:"outlined",sx:{mb:1},inputProps:{maxLength:64}}),e.jsx(C,{variant:"body2",sx:{color:"text.secondary",mb:3},children:d("admin.coupon.nameWillAppear")}),e.jsx(C,{variant:"h6",sx:{mb:2},children:d("admin.coupon.desc")}),e.jsx(V,{fullWidth:!0,value:a,onChange:m=>_(m.target.value),variant:"outlined",multiline:!0,minRows:2,maxRows:4,sx:{mb:1},placeholder:d("admin.coupon.desc"),slotProps:{htmlInput:{maxLength:250}}}),e.jsx(C,{variant:"body2",sx:{color:"text.secondary"},children:d("admin.coupon.descriptionInternal")})]})})}function Oe({products:s}){const{t:o}=B(),{isMobile:h}=oe(),{settings:x}=te(),r=c=>{if(!c.prices||c.prices.length===0)return null;if(c.prices.length===1){const l=c.prices[0];if(l){const a=q(x.paymentMethods,l.currency_id??"")||x.baseCurrency;return je(l,a)}}return o("admin.price.count",{count:c.prices.length})},y=h?{width:24,height:24}:{width:48,height:48},d=[{label:o("admin.subscription.product"),name:"name",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return e.jsxs(b,{sx:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:{xs:1,sm:2}},children:[e.jsx(p,{children:a.images&&a.images.length>0?e.jsx(G,{src:a.images[0],alt:a.name,variant:"rounded",sx:y},a.id):e.jsx(G,{variant:"rounded",sx:y,children:a.name.slice(0,1)},a.id)}),e.jsxs(p,{children:[e.jsx(C,{sx:{color:"text.primary",fontWeight:600},children:e.jsx(U,{to:`/admin/products/${a.id}`,children:e.jsx(ge,{text:a.name,maxLength:h?20:50,useWidth:!0})})}),!h&&e.jsx(C,{sx:{color:"text.secondary",whiteSpace:"nowrap"},children:r(a)})]})]})}}},h&&{label:o("admin.product.pricing"),name:"prices",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return e.jsx(U,{to:`/admin/products/${a.id}`,children:r(a)})}}},{label:o("admin.product.type.label"),name:"type",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return o(`admin.product.type.${a.type}`)}}},{label:o("common.created"),name:"created_at",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return O(a.created_at)}}}].filter(Boolean);return e.jsx(ee,{data:s,columns:d,loading:!1,footer:!1,toolbar:!1,components:{TableToolbar:()=>null,TableFooter:()=>null},mobileTDFlexDirection:"row",options:{count:s.length,page:0,rowsPerPage:100,selectableRows:"none",pagination:!1},emptyNodeText:o("admin.coupon.noApplicableProducts")})}const $e=s=>k.get(`/api/coupons/${s}`).then(o=>o.data);function ho(s){const{t:o}=B(),{isMobile:h}=oe(),x=Se(),{settings:r,setLivemode:y}=te(),[d,c]=v.useState(!1),[l,a]=v.useState(!1),[_,S]=v.useState(!1),[j,m]=he({editing:{metadata:!1},loading:{metadata:!1,coupon:!1,delete:!1}}),{loading:W,error:I,data:t,runAsync:u}=Q(()=>$e(s.id),{onSuccess:n=>{y(!!n.livemode)}});if(I)return e.jsx(J,{severity:"error",children:I.message});if(W||!t)return e.jsx(K,{});const i=n=>async f=>{try{m(g=>({loading:{...g.loading,[n]:!0}})),await k.put(`/api/coupons/${s.id}`,f),T.success(o("common.saved")),z("coupon.updated"),u()}catch(g){console.error(g),T.error(F(g))}finally{m(g=>({loading:{...g.loading,[n]:!1}}))}},$=async n=>{try{m(f=>({loading:{...f.loading,metadata:!0}})),await k.put(`/api/coupons/${s.id}`,{metadata:n.metadata}),T.success(o("common.saved")),z("coupon.updated"),u()}catch(f){console.error(f),T.error(F(f))}finally{m(f=>({loading:{...f.loading,metadata:!1}}))}},N=async n=>{await i("coupon")(n)},D=async()=>{try{m(n=>({loading:{...n.loading,delete:!0}})),await k.delete(`/api/coupons/${s.id}`),T.success(o("admin.coupon.deletedSuccessfully")),z("coupon.deleted"),x("/admin/products/coupons")}catch(n){console.error(n),T.error(F(n))}finally{m(n=>({loading:{...n.loading,delete:!1}})),S(!1)}},L=()=>{S(!0)},H=!t?.locked&&(!t?.promotion_codes||t.promotion_codes.length===0),Y=()=>{m(n=>({editing:{...n.editing,metadata:!0}}))},se=n=>{let f="";if(n.percent_off&&n.percent_off>0&&(f=`${n.percent_off}%`),n.amount_off&&n.amount_off!=="0"){const g=q(r.paymentMethods,n.currency_id)||r.baseCurrency;f=`${Z(n.amount_off,g.decimal)} ${g.symbol}`}return f?o(`admin.coupon.couponTerms.${n.duration}`,{couponOff:f,months:n.duration_in_months}):o("admin.coupon.noDiscount")},ie=()=>{if(t.percent_off&&t.percent_off>0)return o("admin.coupon.couponTermsPercentage",{percent:t.percent_off});if(t.amount_off&&t.amount_off!=="0"){const n=q(r.paymentMethods,t.currency_id)||r.baseCurrency;return o("admin.coupon.couponTermsFixedAmount",{amount:Z(t.amount_off,n.decimal),symbol:n.symbol})}return o("admin.coupon.noDiscount")},re=()=>t.duration==="repeating"&&t.duration_in_months?o(`admin.coupon.couponTermsDuration.${t.duration}`,{months:t.duration_in_months}):o(`admin.coupon.couponTermsDuration.${t.duration}`),ce=()=>{const n=t.max_redemptions?t.max_redemptions.toString():o("admin.coupon.unlimited");return`${t.times_redeemed||0} / ${n}`},de=(()=>{const n=r.paymentMethods?.flatMap(g=>g.payment_currencies)||[];if(t.percent_off)return n;const f=new Set;return t.currency_id&&f.add(t.currency_id),t.currency_options&&typeof t.currency_options=="object"&&Object.keys(t.currency_options).forEach(g=>{f.add(g)}),n.filter(g=>f.has(g.id))})();return e.jsxs(ke,{direction:"column",spacing:2.5,sx:{mb:4},children:[e.jsxs(p,{children:[!t.valid&&e.jsxs(J,{severity:"warning",children:[e.jsx(le,{children:o("admin.coupon.inactive")}),o("admin.coupon.inactiveTip")]}),e.jsxs(b,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(b,{direction:"row",onClick:()=>we("/admin/products/coupons"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx(me,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(C,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:o("admin.coupons")})]}),e.jsxs(b,{direction:"row",spacing:2,children:[e.jsx(P,{variant:"contained",color:"primary",onClick:()=>a(!0),children:o("common.edit")}),H&&e.jsx(P,{variant:"outlined",color:"error",onClick:L,disabled:j.loading.delete,title:!H&&t?.promotion_codes?.length>0?o("admin.coupon.cannotDeleteWithPromotionCodes"):void 0,children:j.loading.delete?o("common.deleting"):o("common.delete")})]})]}),e.jsxs(p,{sx:{mt:4,mb:3,display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(b,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(b,{direction:"column",sx:{alignItems:"flex-start",justifyContent:"space-around"},children:[e.jsx(C,{variant:"h2",sx:{color:"text.primary"},children:t.name}),e.jsx(C,{variant:"subtitle1",sx:{color:"text.lighter"},children:se(t)})]})}),e.jsxs(b,{className:"section-body",sx:{justifyContent:"flex-start",flexWrap:"wrap","hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(A,{label:o("admin.coupon.id"),value:e.jsx(ne,{text:s.id,style:{marginLeft:4}}),divider:!0}),e.jsx(A,{label:o("admin.coupon.redemptions"),value:ce(),divider:!0}),e.jsx(A,{label:o("common.status"),value:e.jsx(X,{label:t.valid?o("common.active"):o("common.inactive"),color:t.valid?"success":"default"}),divider:!0}),e.jsx(A,{label:o("common.created"),value:O(t.created_at),divider:!0})]})]}),e.jsx(R,{})]}),e.jsxs(b,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".coupon-column-1":{minWidth:{xs:"100%",lg:"600px"}},".coupon-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(p,{className:"coupon-column-1",sx:{flex:1,gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(p,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(M,{title:o("common.details")}),e.jsxs(Ce,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(w,{label:o("admin.coupon.name"),value:t.name}),t.description&&e.jsx(w,{label:o("admin.coupon.desc"),value:t.description}),e.jsx(w,{label:o("admin.coupon.discount"),value:ie()}),e.jsx(w,{label:o("admin.coupon.duration"),value:re()}),e.jsx(w,{label:o("admin.coupon.maxRedemptions"),value:t.max_redemptions||o("admin.coupon.unlimited")}),e.jsx(w,{label:o("admin.coupon.timesRedeemed"),value:t.times_redeemed||0}),e.jsx(w,{label:o("admin.coupon.expires"),value:t.redeem_by?O(t.redeem_by*1e3):o("common.never")}),e.jsx(w,{label:o("admin.coupon.updated"),value:O(t.updated_at)})]})]}),e.jsx(R,{}),t.currency_options&&Object.keys(t.currency_options).length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.currencies")}),e.jsx(p,{className:"section-body",children:e.jsx(Me,{currencyOptions:t.currency_options,type:"coupon"})})]}),e.jsx(R,{})]}),t.applied_products&&t.applied_products.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.applicableProducts")}),e.jsx(p,{className:"section-body",children:e.jsx(Oe,{products:t.applied_products})})]}),e.jsx(R,{})]}),e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.promotionCodes"),children:e.jsx(P,{variant:"text",color:"inherit",size:"small",startIcon:e.jsx(ue,{}),sx:{color:"text.link"},onClick:()=>c(!0),children:o("admin.coupon.addPromotionCode")})}),e.jsx(p,{className:"section-body",children:e.jsx(Te,{couponId:s.id})})]}),e.jsx(R,{}),e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.activeRedemptions")}),e.jsx(p,{className:"section-body",children:e.jsx(De,{couponId:s.id})})]}),e.jsx(R,{}),e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("common.events")}),e.jsx(p,{className:"section-body",children:e.jsx(be,{features:{toolbar:!1},object_id:t.id})})]})]}),h&&e.jsx(R,{}),e.jsx(p,{className:"coupon-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("common.metadata.label"),children:e.jsx(P,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:j.editing.metadata,onClick:Y,children:o("common.edit")})}),e.jsxs(p,{className:"section-body",children:[e.jsx(_e,{data:t.metadata,handleEditMetadata:Y}),j.editing.metadata&&e.jsx(ve,{data:t,loading:j.loading.metadata,onSave:$,onCancel:()=>m(n=>({editing:{...n.editing,metadata:!1}}))})]})]})})]}),e.jsx(ae,{open:d,onClose:()=>c(!1),onSubmit:()=>c(!1),couponId:s.id,availableCurrencies:de}),e.jsx(Pe,{open:l,onClose:()=>a(!1),onSave:N,initialName:t.name,initialDescription:t.description||"",loading:j.loading.coupon}),_&&e.jsx(ye,{onConfirm:D,onCancel:()=>S(!1),title:o("admin.coupon.deleteConfirmTitle"),message:o("admin.coupon.deleteConfirmMessage"),loading:j.loading.delete})]})}const ke=pe(b)``;export{ho as default};
1
+ import{r as v,j as e,w as K,q as C,B as p,a2 as V,a3 as b,x as P,N as G,A as J,z as le,bv as me,Y as R,bH as ue,bf as pe}from"./vendor-mui-BXZut9Pz.js";import{V as B,O as xe,P as Q,$ as fe,Y as he,Z as T}from"./vendor-blocklet-B8V2HFST.js";import{b9 as E,n as X,j as O,T as ee,e as k,d as oe,a as te,aM as ge,Y as q,f as je,I as ye,b8 as z,k as F,v as Z}from"./index-Bfp56O3W.js";import{C as ne}from"./copyable-Dn7WoFib.js";import{E as be}from"./list-CQ5uQIra.js";import{I as A}from"./info-metric-DwDA6oTc.js";import{I as w}from"./info-row-Cr8bdDz0.js";import{I as Ce}from"./info-row-group-qhfbrxfY.js";import{M as ve}from"./editor-BzrYE3Ds.js";import{M as _e}from"./list-B6NGNObl.js";import{S as M}from"./header-ivXuPt06.js";import{g as we}from"./util-Dp629jKU.js";import{L as U,a as Se}from"./vendor-react-BPknnnEA.js";import{P as Re,a as ae,C as Me,A as De}from"./currency-restrictions-DummyP0l.js";import"./table-CyJj8e85.js";import"./lodash-B4Ozcv0x.js";import"./form-nz7nSyN7.js";import"./index-HSIuOZNi.js";import"./collapse-CSrlJ0eG.js";import"./drawer-form-CSWrmdZI.js";import"./currency-select-3BZ7dBe5.js";import"./currency-GstdXsJf.js";import"./product-select-VFuyl5ev.js";import"./form-DPTZI-Fw.js";import"./info-card-Xtng8th6.js";import"./uploader-CV9IVKh1.js";import"./tax-code-select-CoXANTPX.js";import"./collapse-BvbJGg1V.js";import"./actions-BYX1WnBr.js";import"./link-DMWJcQvZ.js";import"./link-Dhj5mzaG.js";import"./description-Ci4-GOSF.js";import"./status-DlEqz2pS.js";const Le=(s,o={})=>{const h=new URLSearchParams;return h.set("coupon_id",s),Object.keys(o).forEach(x=>{const r=o[x];r!==""&&r!==void 0&&r!==null&&(typeof r=="object"?Object.keys(r).length>0&&h.set(x,JSON.stringify(r)):h.set(x,String(r)))}),k.get(`/api/promotion-codes?${h.toString()}`).then(x=>x.data)};function Te({couponId:s}){const{t:o}=B(),[h,x]=v.useState(!1),[r,y]=v.useState(null),[d,c]=xe(`promotion-codes-${s}`,{defaultValue:{pageSize:20,page:1}}),{data:l={list:[],count:0},refresh:a,loading:_}=Q(()=>Le(s,d),{refreshDeps:[d,s]});E("promotion-code.created",()=>a(),[]),E("promotion-code.updated",()=>a(),[]),E("promotion-code.deleted",()=>a(),[]),v.useEffect(()=>{a()},[d,s]);const S=(t,u)=>{t==="edit"&&u?(y(u),x(!0)):a()},j=()=>{x(!1),y(null)},m=l?.list||[];if(_)return e.jsx(K,{});const W=[{label:o("admin.promotionCode.code"),name:"code",options:{filter:!0,customBodyRenderLite:(t,u)=>{const i=m?.[u];return e.jsx(ne,{text:i.code,children:e.jsx(U,{to:`/admin/products/coupons/promotion-codes/${i.id}`,children:e.jsx(C,{sx:{color:"text.primary",fontWeight:500,mr:1},children:i.code})})})}}},{label:o("admin.promotionCode.status"),name:"active",options:{filter:!0,customBodyRenderLite:(t,u)=>{const i=m?.[u],$=i.expires_at&&Math.floor(Date.now()/1e3)>i.expires_at,N=i.max_redemptions&&i.times_redeemed>=i.max_redemptions;let D=o("admin.promotionCode.active"),L="success";return i.active||(D=o("admin.promotionCode.inactive"),L="default"),$?(D=o("admin.promotionCode.expired"),L="warning"):N&&(D=o("admin.promotionCode.maxedOut"),L="warning"),e.jsx(X,{label:D,color:L})}}},{label:o("admin.promotionCode.redemptions"),name:"redemptions",options:{filter:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u],$=i.max_redemptions||o("admin.coupon.unlimited");return`${i.times_redeemed||0} / ${$}`}}},{label:o("admin.promotionCode.expires"),name:"expires_at",options:{filter:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u];return i.expires_at?O(i.expires_at*1e3):"—"}}},{label:o("admin.promotionCode.created"),name:"created_at",options:{filter:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u];return O(i.created_at)}}},{label:o("admin.promotionCode.actions"),name:"actions",options:{filter:!1,sort:!1,customBodyRenderLite:(t,u)=>{const i=m?.[u];return e.jsx(Re,{data:i,onChange:S,variant:"compact"})}}}],I=({page:t,rowsPerPage:u})=>{d.pageSize!==u?c(i=>({...i,pageSize:u,page:1})):d.page!==t+1&&c(i=>({...i,page:t+1}))};return e.jsxs(e.Fragment,{children:[e.jsx(ee,{hasRowLink:!1,toolbar:!1,footer:!1,data:m,columns:W,options:{count:l?.count,page:d.page-1,rowsPerPage:d.pageSize,onSearchChange:t=>{c(t?{...d,q:{"like-code":t},pageSize:100,page:1}:{...d,pageSize:100,page:1,q:void 0})}},loading:_,onChange:I}),e.jsx(ae,{open:h,onClose:j,onSubmit:a,couponId:s,promotionCode:r,isEditing:!0})]})}function Pe({open:s,onClose:o,onSave:h,initialName:x,initialDescription:r="",loading:y=!1}){const{t:d}=B(),[c,l]=v.useState(x),[a,_]=v.useState(r);v.useEffect(()=>{s&&(l(x),_(r))},[s,x,r]);const S=async()=>{c.trim()&&(await h({name:c.trim(),description:a.trim()}),o())},j=()=>{l(x),_(r),o()};return e.jsx(fe,{open:s,onClose:j,maxWidth:"sm",fullWidth:!0,title:d("admin.coupon.updateCouponDetails"),PaperProps:{sx:{borderRadius:2}},actions:e.jsxs(b,{direction:"row",spacing:2,children:[e.jsx(P,{variant:"outlined",onClick:j,disabled:y,children:d("common.cancel")}),e.jsx(P,{variant:"contained",onClick:S,disabled:y||!c.trim()||c.trim()===x&&a.trim()===r,children:d("admin.coupon.updateCouponButton")})]}),children:e.jsxs(p,{children:[e.jsx(C,{variant:"h6",sx:{mb:2},children:d("admin.coupon.name")}),e.jsx(V,{autoFocus:!0,fullWidth:!0,value:c,onChange:m=>l(m.target.value),variant:"outlined",sx:{mb:1},inputProps:{maxLength:64}}),e.jsx(C,{variant:"body2",sx:{color:"text.secondary",mb:3},children:d("admin.coupon.nameWillAppear")}),e.jsx(C,{variant:"h6",sx:{mb:2},children:d("admin.coupon.desc")}),e.jsx(V,{fullWidth:!0,value:a,onChange:m=>_(m.target.value),variant:"outlined",multiline:!0,minRows:2,maxRows:4,sx:{mb:1},placeholder:d("admin.coupon.desc"),slotProps:{htmlInput:{maxLength:250}}}),e.jsx(C,{variant:"body2",sx:{color:"text.secondary"},children:d("admin.coupon.descriptionInternal")})]})})}function Oe({products:s}){const{t:o}=B(),{isMobile:h}=oe(),{settings:x}=te(),r=c=>{if(!c.prices||c.prices.length===0)return null;if(c.prices.length===1){const l=c.prices[0];if(l){const a=q(x.paymentMethods,l.currency_id??"")||x.baseCurrency;return je(l,a)}}return o("admin.price.count",{count:c.prices.length})},y=h?{width:24,height:24}:{width:48,height:48},d=[{label:o("admin.subscription.product"),name:"name",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return e.jsxs(b,{sx:{flexDirection:"row",flexWrap:"wrap",alignItems:"center",gap:{xs:1,sm:2}},children:[e.jsx(p,{children:a.images&&a.images.length>0?e.jsx(G,{src:a.images[0],alt:a.name,variant:"rounded",sx:y},a.id):e.jsx(G,{variant:"rounded",sx:y,children:a.name.slice(0,1)},a.id)}),e.jsxs(p,{children:[e.jsx(C,{sx:{color:"text.primary",fontWeight:600},children:e.jsx(U,{to:`/admin/products/${a.id}`,children:e.jsx(ge,{text:a.name,maxLength:h?20:50,useWidth:!0})})}),!h&&e.jsx(C,{sx:{color:"text.secondary",whiteSpace:"nowrap"},children:r(a)})]})]})}}},h&&{label:o("admin.product.pricing"),name:"prices",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return e.jsx(U,{to:`/admin/products/${a.id}`,children:r(a)})}}},{label:o("admin.product.type.label"),name:"type",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return o(`admin.product.type.${a.type}`)}}},{label:o("common.created"),name:"created_at",options:{customBodyRenderLite:(c,l)=>{const a=s[l];return O(a.created_at)}}}].filter(Boolean);return e.jsx(ee,{data:s,columns:d,loading:!1,footer:!1,toolbar:!1,components:{TableToolbar:()=>null,TableFooter:()=>null},mobileTDFlexDirection:"row",options:{count:s.length,page:0,rowsPerPage:100,selectableRows:"none",pagination:!1},emptyNodeText:o("admin.coupon.noApplicableProducts")})}const $e=s=>k.get(`/api/coupons/${s}`).then(o=>o.data);function ho(s){const{t:o}=B(),{isMobile:h}=oe(),x=Se(),{settings:r,setLivemode:y}=te(),[d,c]=v.useState(!1),[l,a]=v.useState(!1),[_,S]=v.useState(!1),[j,m]=he({editing:{metadata:!1},loading:{metadata:!1,coupon:!1,delete:!1}}),{loading:W,error:I,data:t,runAsync:u}=Q(()=>$e(s.id),{onSuccess:n=>{y(!!n.livemode)}});if(I)return e.jsx(J,{severity:"error",children:I.message});if(W||!t)return e.jsx(K,{});const i=n=>async f=>{try{m(g=>({loading:{...g.loading,[n]:!0}})),await k.put(`/api/coupons/${s.id}`,f),T.success(o("common.saved")),z("coupon.updated"),u()}catch(g){console.error(g),T.error(F(g))}finally{m(g=>({loading:{...g.loading,[n]:!1}}))}},$=async n=>{try{m(f=>({loading:{...f.loading,metadata:!0}})),await k.put(`/api/coupons/${s.id}`,{metadata:n.metadata}),T.success(o("common.saved")),z("coupon.updated"),u()}catch(f){console.error(f),T.error(F(f))}finally{m(f=>({loading:{...f.loading,metadata:!1}}))}},N=async n=>{await i("coupon")(n)},D=async()=>{try{m(n=>({loading:{...n.loading,delete:!0}})),await k.delete(`/api/coupons/${s.id}`),T.success(o("admin.coupon.deletedSuccessfully")),z("coupon.deleted"),x("/admin/products/coupons")}catch(n){console.error(n),T.error(F(n))}finally{m(n=>({loading:{...n.loading,delete:!1}})),S(!1)}},L=()=>{S(!0)},H=!t?.locked&&(!t?.promotion_codes||t.promotion_codes.length===0),Y=()=>{m(n=>({editing:{...n.editing,metadata:!0}}))},se=n=>{let f="";if(n.percent_off&&n.percent_off>0&&(f=`${n.percent_off}%`),n.amount_off&&n.amount_off!=="0"){const g=q(r.paymentMethods,n.currency_id)||r.baseCurrency;f=`${Z(n.amount_off,g.decimal)} ${g.symbol}`}return f?o(`admin.coupon.couponTerms.${n.duration}`,{couponOff:f,months:n.duration_in_months}):o("admin.coupon.noDiscount")},ie=()=>{if(t.percent_off&&t.percent_off>0)return o("admin.coupon.couponTermsPercentage",{percent:t.percent_off});if(t.amount_off&&t.amount_off!=="0"){const n=q(r.paymentMethods,t.currency_id)||r.baseCurrency;return o("admin.coupon.couponTermsFixedAmount",{amount:Z(t.amount_off,n.decimal),symbol:n.symbol})}return o("admin.coupon.noDiscount")},re=()=>t.duration==="repeating"&&t.duration_in_months?o(`admin.coupon.couponTermsDuration.${t.duration}`,{months:t.duration_in_months}):o(`admin.coupon.couponTermsDuration.${t.duration}`),ce=()=>{const n=t.max_redemptions?t.max_redemptions.toString():o("admin.coupon.unlimited");return`${t.times_redeemed||0} / ${n}`},de=(()=>{const n=r.paymentMethods?.flatMap(g=>g.payment_currencies)||[];if(t.percent_off)return n;const f=new Set;return t.currency_id&&f.add(t.currency_id),t.currency_options&&typeof t.currency_options=="object"&&Object.keys(t.currency_options).forEach(g=>{f.add(g)}),n.filter(g=>f.has(g.id))})();return e.jsxs(ke,{direction:"column",spacing:2.5,sx:{mb:4},children:[e.jsxs(p,{children:[!t.valid&&e.jsxs(J,{severity:"warning",children:[e.jsx(le,{children:o("admin.coupon.inactive")}),o("admin.coupon.inactiveTip")]}),e.jsxs(b,{className:"page-header",direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:[e.jsxs(b,{direction:"row",onClick:()=>we("/admin/products/coupons"),sx:{alignItems:"center",fontWeight:"normal",cursor:"pointer"},children:[e.jsx(me,{fontSize:"small",sx:{mr:.5,color:"text.secondary"}}),e.jsx(C,{variant:"h6",sx:{color:"text.secondary",fontWeight:"normal"},children:o("admin.coupons")})]}),e.jsxs(b,{direction:"row",spacing:2,children:[e.jsx(P,{variant:"contained",color:"primary",onClick:()=>a(!0),children:o("common.edit")}),H&&e.jsx(P,{variant:"outlined",color:"error",onClick:L,disabled:j.loading.delete,title:!H&&t?.promotion_codes?.length>0?o("admin.coupon.cannotDeleteWithPromotionCodes"):void 0,children:j.loading.delete?o("common.deleting"):o("common.delete")})]})]}),e.jsxs(p,{sx:{mt:4,mb:3,display:"flex",gap:{xs:2,sm:2,md:5},flexWrap:"wrap",flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:{xs:"flex-start",sm:"flex-start",md:"center"}},children:[e.jsx(b,{direction:"row",sx:{justifyContent:"space-between",alignItems:"center"},children:e.jsxs(b,{direction:"column",sx:{alignItems:"flex-start",justifyContent:"space-around"},children:[e.jsx(C,{variant:"h2",sx:{color:"text.primary"},children:t.name}),e.jsx(C,{variant:"subtitle1",sx:{color:"text.lighter"},children:se(t)})]})}),e.jsxs(b,{className:"section-body",sx:{justifyContent:"flex-start",flexWrap:"wrap","hr.MuiDivider-root:last-child":{display:"none"},flexDirection:{xs:"column",sm:"column",md:"row"},alignItems:"flex-start",gap:{xs:1,sm:1,md:3}},children:[e.jsx(A,{label:o("admin.coupon.id"),value:e.jsx(ne,{text:s.id,style:{marginLeft:4}}),divider:!0}),e.jsx(A,{label:o("admin.coupon.redemptions"),value:ce(),divider:!0}),e.jsx(A,{label:o("common.status"),value:e.jsx(X,{label:t.valid?o("common.active"):o("common.inactive"),color:t.valid?"success":"default"}),divider:!0}),e.jsx(A,{label:o("common.created"),value:O(t.created_at),divider:!0})]})]}),e.jsx(R,{})]}),e.jsxs(b,{sx:{flexDirection:{xs:"column",lg:"row"},gap:{xs:2.5,md:4},".coupon-column-1":{minWidth:{xs:"100%",lg:"600px"}},".coupon-column-2":{width:{xs:"100%",md:"100%",lg:"320px"},maxWidth:{xs:"100%",md:"33%"}}},children:[e.jsxs(p,{className:"coupon-column-1",sx:{flex:1,gap:2.5,display:"flex",flexDirection:"column"},children:[e.jsxs(p,{className:"section",sx:{containerType:"inline-size"},children:[e.jsx(M,{title:o("common.details")}),e.jsxs(Ce,{sx:{display:"grid",gridTemplateColumns:{xs:"repeat(1, 1fr)",xl:"repeat(2, 1fr)"},"@container (min-width: 1000px)":{gridTemplateColumns:"repeat(2, 1fr)"},".info-row-wrapper":{gap:1,flexDirection:{xs:"column",xl:"row"},alignItems:{xs:"flex-start",xl:"center"},"@container (min-width: 1000px)":{flexDirection:"row",alignItems:"center"}}},children:[e.jsx(w,{label:o("admin.coupon.name"),value:t.name}),t.description&&e.jsx(w,{label:o("admin.coupon.desc"),value:t.description}),e.jsx(w,{label:o("admin.coupon.discount"),value:ie()}),e.jsx(w,{label:o("admin.coupon.duration"),value:re()}),e.jsx(w,{label:o("admin.coupon.maxRedemptions"),value:t.max_redemptions||o("admin.coupon.unlimited")}),e.jsx(w,{label:o("admin.coupon.timesRedeemed"),value:t.times_redeemed||0}),e.jsx(w,{label:o("admin.coupon.expires"),value:t.redeem_by?O(t.redeem_by*1e3):o("common.never")}),e.jsx(w,{label:o("admin.coupon.updated"),value:O(t.updated_at)})]})]}),e.jsx(R,{}),t.currency_options&&Object.keys(t.currency_options).length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.currencies")}),e.jsx(p,{className:"section-body",children:e.jsx(Me,{currencyOptions:t.currency_options,type:"coupon"})})]}),e.jsx(R,{})]}),t.applied_products&&t.applied_products.length>0&&e.jsxs(e.Fragment,{children:[e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.applicableProducts")}),e.jsx(p,{className:"section-body",children:e.jsx(Oe,{products:t.applied_products})})]}),e.jsx(R,{})]}),e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.promotionCodes"),children:e.jsx(P,{variant:"text",color:"inherit",size:"small",startIcon:e.jsx(ue,{}),sx:{color:"text.link"},onClick:()=>c(!0),children:o("admin.coupon.addPromotionCode")})}),e.jsx(p,{className:"section-body",children:e.jsx(Te,{couponId:s.id})})]}),e.jsx(R,{}),e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("admin.coupon.activeRedemptions")}),e.jsx(p,{className:"section-body",children:e.jsx(De,{couponId:s.id})})]}),e.jsx(R,{}),e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("common.events")}),e.jsx(p,{className:"section-body",children:e.jsx(be,{features:{toolbar:!1},object_id:t.id})})]})]}),h&&e.jsx(R,{}),e.jsx(p,{className:"coupon-column-2",sx:{gap:2.5,display:"flex",flexDirection:"column"},children:e.jsxs(p,{className:"section",children:[e.jsx(M,{title:o("common.metadata.label"),children:e.jsx(P,{variant:"text",color:"inherit",size:"small",sx:{color:"text.link"},disabled:j.editing.metadata,onClick:Y,children:o("common.edit")})}),e.jsxs(p,{className:"section-body",children:[e.jsx(_e,{data:t.metadata,handleEditMetadata:Y}),j.editing.metadata&&e.jsx(ve,{data:t,loading:j.loading.metadata,onSave:$,onCancel:()=>m(n=>({editing:{...n.editing,metadata:!1}}))})]})]})})]}),e.jsx(ae,{open:d,onClose:()=>c(!1),onSubmit:()=>c(!1),couponId:s.id,availableCurrencies:de}),e.jsx(Pe,{open:l,onClose:()=>a(!1),onSave:N,initialName:t.name,initialDescription:t.description||"",loading:j.loading.coupon}),_&&e.jsx(ye,{onConfirm:D,onCancel:()=>S(!1),title:o("admin.coupon.deleteConfirmTitle"),message:o("admin.coupon.deleteConfirmMessage"),loading:j.loading.delete})]})}const ke=pe(b)``;export{ho as default};