@opexa/portal-components 0.0.925 → 0.0.926

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 (201) hide show
  1. package/dist/assets/providers/alize.png +0 -0
  2. package/dist/assets/providers/bigtime-gaming.png +0 -0
  3. package/dist/assets/providers/bng.png +0 -0
  4. package/dist/assets/providers/boongo.png +0 -0
  5. package/dist/assets/providers/btg.png +0 -0
  6. package/dist/assets/providers/cq9.png +0 -0
  7. package/dist/assets/providers/darwin.png +0 -0
  8. package/dist/assets/providers/digitain.png +0 -0
  9. package/dist/assets/providers/evolution.png +0 -0
  10. package/dist/assets/providers/fantasma-games.png +0 -0
  11. package/dist/assets/providers/fc.png +0 -0
  12. package/dist/assets/providers/fp.png +0 -0
  13. package/dist/assets/providers/habanero.png +0 -0
  14. package/dist/assets/providers/hacksaw.png +0 -0
  15. package/dist/assets/providers/jdb.png +0 -0
  16. package/dist/assets/providers/jili.png +0 -0
  17. package/dist/assets/providers/leap.png +0 -0
  18. package/dist/assets/providers/live-22-metaverse.png +0 -0
  19. package/dist/assets/providers/netent.png +0 -0
  20. package/dist/assets/providers/no-limit.png +0 -0
  21. package/dist/assets/providers/pg.png +0 -0
  22. package/dist/assets/providers/pgsoft.png +0 -0
  23. package/dist/assets/providers/pragmatic-play.png +0 -0
  24. package/dist/assets/providers/realtime-gaming.png +0 -0
  25. package/dist/assets/providers/redtiger.png +0 -0
  26. package/dist/assets/providers/rtg.png +0 -0
  27. package/dist/assets/providers/sagaming.png +0 -0
  28. package/dist/client/hooks/useAiOGCashDepositMutation.d.ts +4 -0
  29. package/dist/client/hooks/useAiOGCashDepositMutation.js +90 -0
  30. package/dist/client/hooks/useAiOGrabPayDepositMutation.d.ts +4 -0
  31. package/dist/client/hooks/useAiOGrabPayDepositMutation.js +80 -0
  32. package/dist/client/hooks/useAiOPalawanPayDepositMutation.d.ts +4 -0
  33. package/dist/client/hooks/useAiOPalawanPayDepositMutation.js +80 -0
  34. package/dist/client/hooks/useAiOPayMayaDepositMutation.d.ts +4 -0
  35. package/dist/client/hooks/useAiOPayMayaDepositMutation.js +80 -0
  36. package/dist/client/hooks/useRedeemVoucherMutation.d.ts +3 -0
  37. package/dist/client/hooks/useRedeemVoucherMutation.js +24 -0
  38. package/dist/components/Banner/Banner.client.d.ts +12 -0
  39. package/dist/components/Banner/Banner.client.js +49 -0
  40. package/dist/components/DepositWithdrawal/AiOPaymentMethods.d.ts +11 -0
  41. package/dist/components/DepositWithdrawal/AiOPaymentMethods.js +55 -0
  42. package/dist/components/DepositWithdrawal/Deposit/AurixPayPayMayaDeposit/AurixPayGrabPayDeposit.js +21 -2
  43. package/dist/components/DepositWithdrawal/Deposit/Deposit.js +6 -1
  44. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositAlert.d.ts +1 -0
  45. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositAlert.js +99 -0
  46. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositDetails.d.ts +1 -0
  47. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositDetails.js +17 -0
  48. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.d.ts +1 -0
  49. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.js +116 -0
  50. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHQRCode.d.ts +3 -0
  51. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHQRCode.js +69 -0
  52. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDeposit.d.ts +1 -0
  53. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDeposit.js +10 -0
  54. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositAlert.d.ts +1 -0
  55. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositAlert.js +99 -0
  56. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.d.ts +25 -0
  57. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.js +2 -0
  58. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositDetails.d.ts +1 -0
  59. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositDetails.js +17 -0
  60. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositForm.d.ts +1 -0
  61. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositForm.js +116 -0
  62. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHQRCode.d.ts +3 -0
  63. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHQRCode.js +69 -0
  64. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.d.ts +13 -0
  65. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.js +85 -0
  66. package/dist/components/DepositWithdrawal/Deposit/Voucher/Voucher.d.ts +1 -0
  67. package/dist/components/DepositWithdrawal/Deposit/Voucher/Voucher.js +86 -0
  68. package/dist/components/DepositWithdrawal/Deposit/Voucher/definition.d.ts +11 -0
  69. package/dist/components/DepositWithdrawal/Deposit/Voucher/definition.js +6 -0
  70. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGCashDeposit/AiOGCashDeposit.d.ts +1 -0
  71. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGCashDeposit/AiOGCashDeposit.js +173 -0
  72. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGrabPayDeposit/AiOGrabPayDeposit.d.ts +1 -0
  73. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGrabPayDeposit/AiOGrabPayDeposit.js +171 -0
  74. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPalawanPayDeposit/AiOPalawanPayDeposit.d.ts +1 -0
  75. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPalawanPayDeposit/AiOPalawanPayDeposit.js +171 -0
  76. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPayMayaDeposit/AiOPayMayaDeposit.d.ts +1 -0
  77. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPayMayaDeposit/AiOPayMayaDeposit.js +171 -0
  78. package/dist/components/DepositWithdrawal/Deposit__legacy/AvailablePromos.d.ts +8 -0
  79. package/dist/components/DepositWithdrawal/Deposit__legacy/AvailablePromos.js +33 -0
  80. package/dist/components/DepositWithdrawal/Deposit__legacy/Deposit.d.ts +1 -0
  81. package/dist/components/DepositWithdrawal/Deposit__legacy/Deposit.js +120 -0
  82. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashDeposit/GCashDeposit.d.ts +1 -0
  83. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashDeposit/GCashDeposit.js +163 -0
  84. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashWebpayDeposit/GCashWebpayDeposit.d.ts +1 -0
  85. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashWebpayDeposit/GCashWebpayDeposit.js +165 -0
  86. package/dist/components/DepositWithdrawal/Deposit__legacy/LibanganDeposit/LibanganDeposit.d.ts +1 -0
  87. package/dist/components/DepositWithdrawal/Deposit__legacy/LibanganDeposit/LibanganDeposit.js +186 -0
  88. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaAppDeposit/MayaAppDeposit.d.ts +1 -0
  89. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaAppDeposit/MayaAppDeposit.js +157 -0
  90. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaDeposit/MayaDeposit.d.ts +1 -0
  91. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaDeposit/MayaDeposit.js +163 -0
  92. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaWebpayDeposit/MayaWebpayDeposit.d.ts +1 -0
  93. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaWebpayDeposit/MayaWebpayDeposit.js +166 -0
  94. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDeposit.d.ts +1 -0
  95. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDeposit.js +10 -0
  96. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositAlert.d.ts +1 -0
  97. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositAlert.js +99 -0
  98. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositContext.d.ts +25 -0
  99. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositContext.js +2 -0
  100. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositDetails.d.ts +1 -0
  101. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositDetails.js +19 -0
  102. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositForm.d.ts +1 -0
  103. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositForm.js +115 -0
  104. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/useOnlineBankDeposit.d.ts +13 -0
  105. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/useOnlineBankDeposit.js +81 -0
  106. package/dist/components/DepositWithdrawal/Deposit__legacy/PisoPayDeposit/PisoPayDeposit.d.ts +1 -0
  107. package/dist/components/DepositWithdrawal/Deposit__legacy/PisoPayDeposit/PisoPayDeposit.js +180 -0
  108. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDeposit.d.ts +1 -0
  109. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDeposit.js +10 -0
  110. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositAlert.d.ts +1 -0
  111. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositAlert.js +99 -0
  112. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositContext.d.ts +25 -0
  113. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositContext.js +2 -0
  114. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositDetails.d.ts +1 -0
  115. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositDetails.js +17 -0
  116. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositForm.d.ts +1 -0
  117. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositForm.js +116 -0
  118. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHQRCode.d.ts +3 -0
  119. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHQRCode.js +69 -0
  120. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/useQRPHDeposit.d.ts +13 -0
  121. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/useQRPHDeposit.js +85 -0
  122. package/dist/components/DepositWithdrawal/PaymentMethods.js +9 -2
  123. package/dist/components/DepositWithdrawal/utils.d.ts +1 -1
  124. package/dist/components/DepositWithdrawal/utils.js +1 -0
  125. package/dist/components/DigitainLauncher/Loading.d.ts +1 -0
  126. package/dist/components/DigitainLauncher/Loading.js +5 -0
  127. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +184 -0
  128. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +184 -0
  129. package/dist/components/KYC/BasicInformation.d.ts +1 -0
  130. package/dist/components/KYC/BasicInformation.js +101 -0
  131. package/dist/components/KYC/IdentityVerification.d.ts +1 -0
  132. package/dist/components/KYC/IdentityVerification.js +120 -0
  133. package/dist/components/KYC/Indicator.d.ts +1 -0
  134. package/dist/components/KYC/Indicator.js +8 -0
  135. package/dist/components/KYC/KYC.lazy.d.ts +6 -0
  136. package/dist/components/KYC/KYC.lazy.js +45 -0
  137. package/dist/components/KYC/KYCContext.d.ts +6 -0
  138. package/dist/components/KYC/KYCContext.js +2 -0
  139. package/dist/components/KYC/KYCDefault/BasicInformation.d.ts +1 -0
  140. package/dist/components/KYC/KYCDefault/BasicInformation.js +101 -0
  141. package/dist/components/KYC/KYCNonPagCor/PersonalInformation.js +51 -5
  142. package/dist/components/KYC/KYCNonPagCor/useKYCNonPagCor.js +5 -3
  143. package/dist/components/KYC/KYCVerificationStatus.d.ts +1 -0
  144. package/dist/components/KYC/KYCVerificationStatus.js +10 -0
  145. package/dist/components/KYC/KYCVerificationStatus.lazy.d.ts +1 -0
  146. package/dist/components/KYC/KYCVerificationStatus.lazy.js +36 -0
  147. package/dist/components/KYC/PersonalInformation.d.ts +1 -0
  148. package/dist/components/KYC/PersonalInformation.js +122 -0
  149. package/dist/components/KYC/useKYC.d.ts +25 -0
  150. package/dist/components/KYC/useKYC.js +38 -0
  151. package/dist/components/KYCNotRequired/KYCNotRequired.d.ts +0 -0
  152. package/dist/components/KYCNotRequired/KYCNotRequired.js +1 -0
  153. package/dist/components/PortalProvider/AndroidOnlyComponents.d.ts +1 -0
  154. package/dist/components/PortalProvider/AndroidOnlyComponents.js +12 -0
  155. package/dist/components/PortalProvider/CXDTokenObserver.d.ts +1 -0
  156. package/dist/components/PortalProvider/CXDTokenObserver.js +30 -0
  157. package/dist/components/PortalProvider/LinkGoogleAccountObserver.d.ts +1 -0
  158. package/dist/components/PortalProvider/LinkGoogleAccountObserver.js +29 -0
  159. package/dist/components/Quests/MultiWageringQuest.d.ts +1 -0
  160. package/dist/components/Quests/MultiWageringQuest.js +111 -0
  161. package/dist/components/SessionWatcher/SessionWatcher.d.ts +1 -0
  162. package/dist/components/SessionWatcher/SessionWatcher.js +20 -0
  163. package/dist/components/SessionWatcher/index.d.ts +1 -0
  164. package/dist/components/SessionWatcher/index.js +1 -0
  165. package/dist/components/SignIn/utils.d.ts +8 -0
  166. package/dist/components/SignIn/utils.js +26 -0
  167. package/dist/components/SingleSignOn/SingleSignOn.d.ts +1 -1
  168. package/dist/components/SingleSignOn/SingleSignOn.js +7 -15
  169. package/dist/constants/Branches.d.ts +2 -0
  170. package/dist/constants/Branches.js +42 -0
  171. package/dist/icons/CelebrationIcon.d.ts +2 -0
  172. package/dist/icons/CelebrationIcon.js +4 -0
  173. package/dist/images/game-providers/ALPHACHINKO.png +0 -0
  174. package/dist/images/responsible-gaming-yellow.png +0 -0
  175. package/dist/images/voucher-lazada.png +0 -0
  176. package/dist/images/voucher-ticket.png +0 -0
  177. package/dist/services/queries.d.ts +1 -0
  178. package/dist/services/queries.js +18 -0
  179. package/dist/services/wallet.d.ts +25 -0
  180. package/dist/services/wallet.js +19 -1
  181. package/dist/third-parties/FacebookPixel/FacebookPixel.d.ts +4 -0
  182. package/dist/third-parties/FacebookPixel/FacebookPixel.js +4 -0
  183. package/dist/third-parties/FacebookPixel/api.d.ts +0 -0
  184. package/dist/third-parties/FacebookPixel/api.js +1 -0
  185. package/dist/third-parties/FacebookPixel/index.d.ts +1 -0
  186. package/dist/third-parties/FacebookPixel/index.js +1 -0
  187. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.d.ts +4 -0
  188. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.js +4 -0
  189. package/dist/third-parties/GoogleRecaptcha/api.d.ts +0 -0
  190. package/dist/third-parties/GoogleRecaptcha/api.js +1 -0
  191. package/dist/third-parties/GoogleRecaptcha/index.d.ts +1 -0
  192. package/dist/third-parties/GoogleRecaptcha/index.js +1 -0
  193. package/dist/third-parties/index.d.ts +2 -0
  194. package/dist/third-parties/index.js +2 -0
  195. package/dist/ui/QrCode/QrCode.d.ts +25 -25
  196. package/dist/ui/QrCode/qrCode.recipe.d.ts +5 -5
  197. package/dist/utils/getLocaleInfo.d.ts +79 -0
  198. package/dist/utils/getLocaleInfo.js +175 -0
  199. package/dist/utils/mutationKeys.d.ts +1 -0
  200. package/dist/utils/mutationKeys.js +4 -0
  201. package/package.json +1 -1
@@ -8,6 +8,7 @@ import { AlertCircleIcon } from '../../../icons/AlertCircleIcon.js';
8
8
  import { SpinnerIcon } from '../../../icons/SpinnerIcon.js';
9
9
  import { onMobileDevice } from '../../../utils/onMobileDevice.js';
10
10
  import { PaymentMethods } from '../PaymentMethods.js';
11
+ import { Voucher } from './Voucher/Voucher.js';
11
12
  const QRPHDeposit = lazy(() => import('./QRPHDeposit/QRPHDeposit.js').then((m) => ({ default: m.QRPHDeposit })));
12
13
  const GCashDeposit = lazy(() => import('./GCashDeposit/GCashDeposit.js').then((m) => ({
13
14
  default: m.GCashDeposit,
@@ -145,6 +146,10 @@ export function Deposit() {
145
146
  enabled: paymentSettings?.aurixPayQrphDepositGatewaySettings?.[enabledKey] &&
146
147
  !featureFlag.enabled,
147
148
  },
149
+ {
150
+ method: 'VOUCHER',
151
+ enabled: featureFlag.enabled,
152
+ }
148
153
  ];
149
154
  paymentMethods.forEach((o) => {
150
155
  if (o.enabled) {
@@ -177,7 +182,7 @@ export function Deposit() {
177
182
  const AurixPayPayMayaDeposit = aurixComponents?.payMaya;
178
183
  const AurixPayGrabPayDeposit = aurixComponents?.grabPay;
179
184
  const AurixPayQRPHDeposit = aurixComponents?.qrph;
180
- return (_jsxs(_Fragment, { children: [_jsx(PaymentMethods, { value: paymentMethod, onChange: handlePaymentMethodChange, options: enabledPaymentMethods }), _jsxs(Suspense, { fallback: _jsx(SpinnerIcon, { className: "mx-auto size-6" }), children: [paymentMethod === 'QRPH' && _jsx(QRPHDeposit, {}), paymentMethod === 'GCASH' && _jsx(GCashDeposit, {}), paymentMethod === 'MAYA' && _jsx(MayaDeposit, {}), paymentMethod === 'MAYA_APP' && _jsx(MayaAppDeposit, {}), paymentMethod === 'ONLINE_BANK' && _jsx(OnlineBankDeposit, {}), paymentMethod === 'LIBANGAN_PAY_IN' && _jsx(LibanganDeposit, {}), paymentMethod === 'PISO_PAY' && _jsx(PisoPayDeposit, {}), paymentMethod === 'AIO_GCASH' && _jsx(AiOGCashDeposit, {}), paymentMethod === 'AIO_PAY_MAYA' && _jsx(AiOPayMayaDeposit, {}), paymentMethod === 'AIO_GRAB_PAY' && _jsx(AiOGrabPayDeposit, {}), paymentMethod === 'AIO_PALAWAN_PAY' && _jsx(AiOPalawanPayDeposit, {}), paymentMethod === 'GCASH_WEBPAY' && _jsx(GCashWebpayDeposit, {}), paymentMethod === 'MAYA_WEBPAY' && _jsx(MayaWebpayDeposit, {}), paymentMethod === 'AURIX_PAY_GCASH' && AurixPayGCashDeposit && (_jsx(AurixPayGCashDeposit, {})), paymentMethod === 'AURIX_PAY_PAYMAYA' && AurixPayPayMayaDeposit && (_jsx(AurixPayPayMayaDeposit, {})), paymentMethod === 'AURIX_PAY_GRAB_PAY' && AurixPayGrabPayDeposit && (_jsx(AurixPayGrabPayDeposit, {})), paymentMethod === 'AURIX_PAY_QRPH' && AurixPayQRPHDeposit && (_jsx(AurixPayQRPHDeposit, {}))] })] }));
185
+ return (_jsxs(_Fragment, { children: [_jsx(PaymentMethods, { value: paymentMethod, onChange: handlePaymentMethodChange, options: enabledPaymentMethods }), _jsxs(Suspense, { fallback: _jsx(SpinnerIcon, { className: "mx-auto size-6" }), children: [paymentMethod === 'QRPH' && _jsx(QRPHDeposit, {}), paymentMethod === 'GCASH' && _jsx(GCashDeposit, {}), paymentMethod === 'MAYA' && _jsx(MayaDeposit, {}), paymentMethod === 'MAYA_APP' && _jsx(MayaAppDeposit, {}), paymentMethod === 'ONLINE_BANK' && _jsx(OnlineBankDeposit, {}), paymentMethod === 'LIBANGAN_PAY_IN' && _jsx(LibanganDeposit, {}), paymentMethod === 'PISO_PAY' && _jsx(PisoPayDeposit, {}), paymentMethod === 'AIO_GCASH' && _jsx(AiOGCashDeposit, {}), paymentMethod === 'AIO_PAY_MAYA' && _jsx(AiOPayMayaDeposit, {}), paymentMethod === 'AIO_GRAB_PAY' && _jsx(AiOGrabPayDeposit, {}), paymentMethod === 'AIO_PALAWAN_PAY' && _jsx(AiOPalawanPayDeposit, {}), paymentMethod === 'GCASH_WEBPAY' && _jsx(GCashWebpayDeposit, {}), paymentMethod === 'MAYA_WEBPAY' && _jsx(MayaWebpayDeposit, {}), paymentMethod === 'VOUCHER' && _jsx(Voucher, {}), paymentMethod === 'AURIX_PAY_GCASH' && AurixPayGCashDeposit && (_jsx(AurixPayGCashDeposit, {})), paymentMethod === 'AURIX_PAY_PAYMAYA' && AurixPayPayMayaDeposit && (_jsx(AurixPayPayMayaDeposit, {})), paymentMethod === 'AURIX_PAY_GRAB_PAY' && AurixPayGrabPayDeposit && (_jsx(AurixPayGrabPayDeposit, {})), paymentMethod === 'AURIX_PAY_QRPH' && AurixPayQRPHDeposit && (_jsx(AurixPayQRPHDeposit, {}))] })] }));
181
186
  }
182
187
  function MayaSessionSessionExpired() {
183
188
  return (_jsxs("div", { className: "py-xl", children: [_jsx("div", { className: "mx-auto flex size-12 items-center justify-center rounded-full bg-bg-warning-secondary", children: _jsx(AlertCircleIcon, { className: "size-6 text-text-featured-icon-light-warning" }) }), _jsx("h2", { className: "mt-lg text-center font-semibold text-lg", children: "Session Expired" }), _jsx("p", { className: "mx-auto mt-xs max-w-[25rem] text-center text-sm text-text-tertiary-600", children: "Your session has timed out. To continue with deposits or withdrawals, Please try reloading the app." })] }));
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositAlert(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AlertCircleIcon } from '../../../../icons/AlertCircleIcon.js';
3
+ import { SpinnerIcon } from '../../../../icons/SpinnerIcon.js';
4
+ import { XIcon } from '../../../../icons/XIcon.js';
5
+ import { AlertDialog } from '../../../../ui/AlertDialog/index.js';
6
+ import { Button } from '../../../../ui/Button/index.js';
7
+ import { Portal } from '../../../../ui/Portal/index.js';
8
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
9
+ export function QRPHDepositAlert() {
10
+ const context = useQRPHDepositContext();
11
+ const details = useDetails();
12
+ return (_jsx(AlertDialog.Root, { open: context.status !== 'waiting' &&
13
+ context.status !== 'verification-waiting', onOpenChange: (details) => {
14
+ if (!details.open) {
15
+ context.reset();
16
+ }
17
+ }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(AlertDialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+2)]" }), _jsx(AlertDialog.Positioner, { className: "!z-[calc(var(--z-dialog)+3)]", children: _jsxs(AlertDialog.Content, { children: [_jsx(AlertDialog.CloseTrigger, { disabled: details.type === 'loading', children: _jsx(XIcon, {}) }), _jsxs(AlertDialog.Header, { children: [details.type === 'loading' && (_jsx(SpinnerIcon, { className: "size-12 text-text-brand-primary-600" })), details.type === 'success' && (_jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-bg-success-secondary text-text-featured-icon-light-success", children: _jsx(AlertCircleIcon, {}) })), details.type === 'erorr' && (_jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-bg-error-secondary text-text-featured-icon-light-error", children: _jsx(AlertCircleIcon, {}) }))] }), _jsxs(AlertDialog.Body, { children: [_jsx(AlertDialog.Title, { children: details.title }), _jsx(AlertDialog.Description, { children: details.description })] }), (details.type === 'erorr' || details.type === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
18
+ api.setOpen(false);
19
+ }, children: details.type === 'success' ? 'Ok' : 'Try Again' })) }) }))] }) })] }) }));
20
+ }
21
+ function useDetails() {
22
+ const context = useQRPHDepositContext();
23
+ const title = (() => {
24
+ let s = '';
25
+ if (context.status === 'processing') {
26
+ s = 'Processing Deposit';
27
+ }
28
+ else if (context.status === 'failed') {
29
+ s = 'Deposit Failed';
30
+ }
31
+ else if (context.status === 'verification-success') {
32
+ s = 'Deposit Successful';
33
+ }
34
+ else if (context.status === 'verification-processing') {
35
+ s = 'Verifying Deposit';
36
+ }
37
+ else if (context.status === 'verification-failed') {
38
+ if (context.deposit?.status === 'CANCELLED') {
39
+ s = 'Deposit Cancelled';
40
+ }
41
+ else if (context.deposit?.status === 'REJECTED') {
42
+ s = 'Deposit Rejected';
43
+ }
44
+ else {
45
+ s = 'Deposit Failed';
46
+ }
47
+ }
48
+ return s;
49
+ })();
50
+ const description = (() => {
51
+ let d = '';
52
+ if (context.status === 'processing') {
53
+ d = "We're verifying your account and amount. Please hold a moment.";
54
+ }
55
+ else if (context.status === 'failed') {
56
+ d =
57
+ 'Something went wrong while processing your deposit. ' +
58
+ 'Please try again or contact support.';
59
+ }
60
+ else if (context.status === 'verification-success') {
61
+ d = 'Your deposit has been successfully processed.';
62
+ }
63
+ else if (context.status === 'verification-processing') {
64
+ d = 'Your deposit is being processed.';
65
+ }
66
+ else if (context.status === 'verification-failed') {
67
+ if (context.deposit?.status === 'CANCELLED') {
68
+ d = 'Your deposit has been cancelled.';
69
+ }
70
+ else if (context.deposit?.status === 'REJECTED') {
71
+ d = 'Your deposit has been rejected.';
72
+ }
73
+ else if (context.deposit?.status === 'FAILED') {
74
+ d = context.deposit.error ?? 'Your deposit has failed.';
75
+ }
76
+ else {
77
+ d =
78
+ 'Something went wrong while processing your deposit. ' +
79
+ 'Please try again or contact support.';
80
+ }
81
+ }
82
+ return d;
83
+ })();
84
+ const type = (() => {
85
+ if (context.status === 'failed' ||
86
+ context.status === 'verification-failed') {
87
+ return 'erorr';
88
+ }
89
+ if (context.status === 'verification-success') {
90
+ return 'success';
91
+ }
92
+ return 'loading';
93
+ })();
94
+ return {
95
+ type,
96
+ title,
97
+ description,
98
+ };
99
+ }
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositDetails(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { QrCode02Icon } from '../../../../icons/QrCode02Icon.js';
3
+ import { XIcon } from '../../../../icons/XIcon.js';
4
+ import { Button } from '../../../../ui/Button/index.js';
5
+ import { Dialog } from '../../../../ui/Dialog/index.js';
6
+ import { Portal } from '../../../../ui/Portal/index.js';
7
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
8
+ import { QRPHQRCode } from './QRPHQRCode.js';
9
+ export function QRPHDepositDetails() {
10
+ const context = useQRPHDepositContext();
11
+ if (context.view !== 'qrCode')
12
+ return null;
13
+ return (_jsxs("div", { className: "rounded-lg bg-bg-primary-alt p-2xl", children: [_jsx("p", { className: "text-center font-semibold text-lg lg:text-xl", children: "QR Code" }), _jsx("p", { className: "mt-3 text-center text-sm text-text-secondary-700 lg:text-base", children: "Scan the QR code below with your banking app, or upload it to complete your deposit." }), _jsx(QRPHQRCode, { qrCodeString: context.deposit?.qrCode ?? '' }), _jsx("div", { className: "mt-6 flex flex-col gap-4 lg:flex-row", children: _jsx(Button, { size: "sm", variant: "outline", colorScheme: "gray", onClick: context.reset, children: "Generate New QR Code" }) }), _jsx(Instruction, {})] }));
14
+ }
15
+ function Instruction() {
16
+ return (_jsxs("p", { className: "mt-6 text-center text-text-tertiary-600 text-xs", children: ["Need help using the QR Code?", ' ', _jsxs(Dialog.Root, { lazyMount: true, unmountOnExit: true, children: [_jsx(Dialog.Trigger, { className: "text-text-warning-primary-600", children: "See instructions" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+2)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+3)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto w-[calc(100%-2rem)] overflow-y-auto rounded-lg p-4xl lg:w-[33.625rem]", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs(Dialog.Body, { children: [_jsxs("div", { className: "flex items-center gap-xl", children: [_jsx("div", { className: "flex size-11 items-center justify-center rounded-lg border border-border-primary text-gray-700 text-text-secondary-700 shadow-xs", children: _jsx(QrCode02Icon, { className: "size-6" }) }), _jsx(Dialog.Title, { className: "font-semibold text-lg", children: "How to Use the QR Code for Payment" })] }), _jsx(Dialog.Description, { className: "mt-5", children: "Follow these simple steps to complete your transaction:" }), _jsxs("ol", { className: "mt-3 list-inside list-decimal space-y-3", children: [_jsx("li", { children: "Open your preferred banking or EMI mobile app and select 'Transfer Money' or 'Pay via QR'" }), _jsx("li", { children: "Scan or upload the generated QR Ph code. If prompted by the app, enter the amount to be sent." }), _jsx("li", { children: "Proceed with the transfer or payment." })] })] })] }) })] })] })] }));
17
+ }
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositForm(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,116 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { zodResolver } from '@hookform/resolvers/zod';
3
+ import Link from 'next/link';
4
+ import { useEffect } from 'react';
5
+ import { Controller, useForm } from 'react-hook-form';
6
+ import { z } from 'zod';
7
+ import { useShallow } from 'zustand/shallow';
8
+ import { useAvailablePromosQuery } from '../../../../client/hooks/useAvailablePromosQuery.js';
9
+ import { useDepositsCountQuery } from '../../../../client/hooks/useDepositsCountQuery.js';
10
+ import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
11
+ import { usePaymentSettingsQuery } from '../../../../client/hooks/usePaymentSettingsQuery.js';
12
+ import { Button } from '../../../../ui/Button/index.js';
13
+ import { Field } from '../../../../ui/Field/index.js';
14
+ import { parseDecimal } from '../../../../utils/parseDecimal.js';
15
+ import { AmountChoices } from '../../AmountChoices.js';
16
+ import { useDepositWithdrawalPropsContext } from '../../DepositWithdrawalContext.js';
17
+ import { AvailablePromos } from '../AvailablePromos.js';
18
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
19
+ export function QRPHDepositForm() {
20
+ const depositWithdrawalProps = useDepositWithdrawalPropsContext();
21
+ const globalStore = useGlobalStore(useShallow((ctx) => ({
22
+ depositWithdrawal: ctx.depositWithdrawal,
23
+ })));
24
+ const context = useQRPHDepositContext();
25
+ const depositsCountQuery = useDepositsCountQuery();
26
+ const depositsCount = depositsCountQuery.data ?? 0;
27
+ const paymentSettingsQuery = usePaymentSettingsQuery();
28
+ const paymentSettings = paymentSettingsQuery.data;
29
+ const gatewaySettings = paymentSettings?.qrphDepositGatewaySettings;
30
+ const maximumAmount = parseDecimal(gatewaySettings?.maximumAmount, 0);
31
+ const minimumAmount = depositsCount <= 0
32
+ ? parseDecimal(paymentSettingsQuery.data?.minimumFirstDepositAmount, 0)
33
+ : parseDecimal(gatewaySettings?.minimumAmount, 0);
34
+ const promosQuery = useAvailablePromosQuery();
35
+ const promos = promosQuery.data ?? [];
36
+ const definition = z
37
+ .object({
38
+ amount: z.string().superRefine((val, ctx) => {
39
+ const n = parseDecimal(val, 0);
40
+ if (val.includes('.')) {
41
+ ctx.addIssue({
42
+ code: z.ZodIssueCode.custom,
43
+ message: 'Amount must be a whole number',
44
+ });
45
+ return;
46
+ }
47
+ if (n < minimumAmount) {
48
+ ctx.addIssue({
49
+ type: 'number',
50
+ code: z.ZodIssueCode.too_small,
51
+ inclusive: true,
52
+ minimum: minimumAmount,
53
+ message: `Minimum amount is ${minimumAmount.toLocaleString()}`,
54
+ });
55
+ }
56
+ if (n > maximumAmount) {
57
+ ctx.addIssue({
58
+ type: 'number',
59
+ code: z.ZodIssueCode.too_big,
60
+ inclusive: true,
61
+ maximum: maximumAmount,
62
+ message: `Maximum amount is ${maximumAmount.toLocaleString()}`,
63
+ });
64
+ }
65
+ }),
66
+ promo: z.string().optional().nullable(),
67
+ })
68
+ .superRefine((value, ctx) => {
69
+ const promo = promos.find((o) => o.id === value.promo);
70
+ const promoMinAmount = parseDecimal(promo?.minimumDepositAmount, 0);
71
+ const promoMaxAmount = parseDecimal(promo?.maximumDepositAmount, 0);
72
+ const amount = parseDecimal(value.amount, 0);
73
+ if (promo && amount < promoMinAmount) {
74
+ ctx.addIssue({
75
+ path: ['amount'],
76
+ code: z.ZodIssueCode.custom,
77
+ message: `Minimum amount for this promo is ${promoMinAmount.toLocaleString()}`,
78
+ });
79
+ }
80
+ if (promo && amount > promoMaxAmount) {
81
+ ctx.addIssue({
82
+ path: ['amount'],
83
+ code: z.ZodIssueCode.custom,
84
+ message: `Maximum amount for this promo is ${promoMaxAmount}`,
85
+ });
86
+ }
87
+ });
88
+ const form = useForm({
89
+ mode: 'all',
90
+ resolver: zodResolver(definition),
91
+ defaultValues: {
92
+ amount: '0',
93
+ promo: globalStore.depositWithdrawal.promo ?? null,
94
+ },
95
+ });
96
+ useEffect(() => {
97
+ if (minimumAmount) {
98
+ form.reset({
99
+ amount: minimumAmount.toString(),
100
+ promo: form.getValues('promo') ?? null,
101
+ });
102
+ }
103
+ }, [form, minimumAmount]);
104
+ if (context.view !== 'form')
105
+ return null;
106
+ return (_jsxs("form", { onSubmit: form.handleSubmit(context.generateQRCode), noValidate: true, children: [_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, className: "mt-3xl", children: [_jsx(Field.Label, { children: "Enter the amount you want to deposit" }), _jsx(Field.Input, { type: "number", ...form.register('amount') }), _jsx(Field.ErrorText, { children: form.formState.errors.amount?.message })] }), _jsx(AmountChoices, { value: parseDecimal(form.watch('amount'), 0), onChange: (value) => {
107
+ form.setValue('amount', value.toString(), {
108
+ shouldTouch: true,
109
+ shouldDirty: true,
110
+ shouldValidate: true,
111
+ });
112
+ }, min: minimumAmount, max: maximumAmount, className: "mt-lg" }), _jsx(Controller, { control: form.control, name: "promo", render: (o) => (_jsx(AvailablePromos, { value: o.field.value, onChange: (value) => {
113
+ o.field.onChange(value);
114
+ globalStore.depositWithdrawal.setPromo(null);
115
+ }, className: "mt-3xl" })) }), _jsx(Button, { type: "submit", className: "mt-3xl", children: "Deposit" }), depositWithdrawalProps.hasPrivacyPolicyAndTermsOfUse && (_jsxs("p", { className: "mt-lg text-text-tertiary-600 text-xs", children: ["By depositing, you agree to our", ' ', _jsx(Link, { href: depositWithdrawalProps.termsOfUseUrl ?? '/terms-of-use', onClick: () => globalStore.depositWithdrawal.setOpen(false), className: "text-text-warning-primary-600 underline underline-offset-2", children: "Terms of Use" }), ' ', "and", ' ', _jsx(Link, { href: depositWithdrawalProps.privacyPolicyUrl ?? '/privacy-policy', onClick: () => globalStore.depositWithdrawal.setOpen(false), className: "text-text-warning-primary-600 underline underline-offset-2", children: "Privacy Policy" }), "."] }))] }));
116
+ }
@@ -0,0 +1,3 @@
1
+ export declare function QRPHQRCode(props: {
2
+ qrCodeString: string;
3
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,69 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Capacitor } from '@capacitor/core';
4
+ import { Directory, Filesystem } from '@capacitor/filesystem';
5
+ import Image from 'next/image';
6
+ import { toaster } from '../../../../client/utils/toaster.js';
7
+ import qrphIcon from '../../../../images/qrph-icon.png';
8
+ import { QrCode } from '../../../../ui/QrCode/index.js';
9
+ export function QRPHQRCode(props) {
10
+ async function handleNativeDownload() {
11
+ const QRCode = await import('qrcode');
12
+ const dataUrl = await QRCode.toDataURL(props.qrCodeString, {
13
+ type: 'image/png',
14
+ color: {
15
+ light: '#FFFFFF',
16
+ dark: '#000000',
17
+ },
18
+ });
19
+ const base64 = dataUrl.split(',')[1];
20
+ try {
21
+ await Filesystem.writeFile({
22
+ path: `qrcode-${Date.now()}.png`,
23
+ data: base64,
24
+ directory: Directory.Documents,
25
+ });
26
+ toaster.success({
27
+ title: 'QR Code successfully saved to your device',
28
+ description: 'To continue with your deposit, please upload the QR code in your banking app.',
29
+ });
30
+ }
31
+ catch (error) {
32
+ console.log(error, 'error');
33
+ toaster.error({
34
+ title: 'Failed to save QR Code',
35
+ description: 'An error occurred while saving the QR code to your device.',
36
+ });
37
+ }
38
+ }
39
+ async function handleWebDownload() {
40
+ try {
41
+ const QRCode = await import('qrcode');
42
+ const dataUrl = await QRCode.toDataURL(props.qrCodeString, {
43
+ type: 'image/png',
44
+ color: {
45
+ light: '#FFFFFF',
46
+ dark: '#000000',
47
+ },
48
+ });
49
+ const link = document.createElement('a');
50
+ link.href = dataUrl;
51
+ link.download = `qrcode-${Date.now()}.png`;
52
+ document.body.appendChild(link);
53
+ link.click();
54
+ document.body.removeChild(link);
55
+ toaster.success({
56
+ title: 'QR Code successfully saved to your device',
57
+ description: 'To continue with your deposit, please upload the QR code in your banking app.',
58
+ });
59
+ }
60
+ catch (error) {
61
+ console.log(error, 'error');
62
+ toaster.error({
63
+ title: 'Failed to save QR Code',
64
+ description: 'An error occurred while saving the QR code to your device.',
65
+ });
66
+ }
67
+ }
68
+ return (_jsxs(QrCode.Root, { value: props.qrCodeString, className: "mx-auto mt-6 w-[12.5rem] rounded-lg border border-border-primary bg-bg-brand-secondary-alt p-5 lg:w-[13rem] lg:p-6", children: [_jsxs("div", { className: "relative", children: [_jsx(QrCode.Frame, { className: "mx-auto size-[10rem] rounded-[0.25rem] border border-border-primary bg-white", children: _jsx(QrCode.Pattern, {}) }), _jsx(QrCode.Overlay, { className: "bg-white p-0.5", children: _jsx(Image, { src: qrphIcon, alt: "", className: "size-8", width: 40, height: 40 }) })] }), Capacitor.isNativePlatform() ? (_jsx("button", { type: "button", onClick: handleNativeDownload, className: "mt-5 block w-full text-center font-semibold text-sm text-text-secondary-700", children: "Download QR Code to Device" })) : (_jsx("button", { type: "button", onClick: handleWebDownload, className: "mt-5 block w-full text-center font-semibold text-sm text-text-secondary-700", children: "Download QR Code" }))] }));
69
+ }
@@ -0,0 +1 @@
1
+ export declare function QRPHDeposit(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { QRPHDepositAlert } from './QRPHDepositAlert.js';
3
+ import { QRPHDepositContext } from './QRPHDepositContext.js';
4
+ import { QRPHDepositDetails } from './QRPHDepositDetails.js';
5
+ import { QRPHDepositForm } from './QRPHDepositForm.js';
6
+ import { useQRPHDeposit } from './useQRPHDeposit.js';
7
+ export function QRPHDeposit() {
8
+ const context = useQRPHDeposit();
9
+ return (_jsxs(QRPHDepositContext, { value: context, children: [_jsx(QRPHDepositForm, {}), _jsx(QRPHDepositDetails, {}), _jsx(QRPHDepositAlert, {})] }));
10
+ }
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositAlert(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,99 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AlertCircleIcon } from '../../../../icons/AlertCircleIcon.js';
3
+ import { SpinnerIcon } from '../../../../icons/SpinnerIcon.js';
4
+ import { XIcon } from '../../../../icons/XIcon.js';
5
+ import { AlertDialog } from '../../../../ui/AlertDialog/index.js';
6
+ import { Button } from '../../../../ui/Button/index.js';
7
+ import { Portal } from '../../../../ui/Portal/index.js';
8
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
9
+ export function QRPHDepositAlert() {
10
+ const context = useQRPHDepositContext();
11
+ const details = useDetails();
12
+ return (_jsx(AlertDialog.Root, { open: context.status !== 'waiting' &&
13
+ context.status !== 'verification-waiting', onOpenChange: (details) => {
14
+ if (!details.open) {
15
+ context.reset();
16
+ }
17
+ }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(AlertDialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+2)]" }), _jsx(AlertDialog.Positioner, { className: "!z-[calc(var(--z-dialog)+3)]", children: _jsxs(AlertDialog.Content, { children: [_jsx(AlertDialog.CloseTrigger, { disabled: details.type === 'loading', children: _jsx(XIcon, {}) }), _jsxs(AlertDialog.Header, { children: [details.type === 'loading' && (_jsx(SpinnerIcon, { className: "size-12 text-text-brand-primary-600" })), details.type === 'success' && (_jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-bg-success-secondary text-text-featured-icon-light-success", children: _jsx(AlertCircleIcon, {}) })), details.type === 'erorr' && (_jsx("div", { className: "flex size-12 items-center justify-center rounded-full bg-bg-error-secondary text-text-featured-icon-light-error", children: _jsx(AlertCircleIcon, {}) }))] }), _jsxs(AlertDialog.Body, { children: [_jsx(AlertDialog.Title, { children: details.title }), _jsx(AlertDialog.Description, { children: details.description })] }), (details.type === 'erorr' || details.type === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
18
+ api.setOpen(false);
19
+ }, children: details.type === 'success' ? 'Ok' : 'Try Again' })) }) }))] }) })] }) }));
20
+ }
21
+ function useDetails() {
22
+ const context = useQRPHDepositContext();
23
+ const title = (() => {
24
+ let s = '';
25
+ if (context.status === 'processing') {
26
+ s = 'Processing Deposit';
27
+ }
28
+ else if (context.status === 'failed') {
29
+ s = 'Deposit Failed';
30
+ }
31
+ else if (context.status === 'verification-success') {
32
+ s = 'Deposit Successful';
33
+ }
34
+ else if (context.status === 'verification-processing') {
35
+ s = 'Verifying Deposit';
36
+ }
37
+ else if (context.status === 'verification-failed') {
38
+ if (context.deposit?.status === 'CANCELLED') {
39
+ s = 'Deposit Cancelled';
40
+ }
41
+ else if (context.deposit?.status === 'REJECTED') {
42
+ s = 'Deposit Rejected';
43
+ }
44
+ else {
45
+ s = 'Deposit Failed';
46
+ }
47
+ }
48
+ return s;
49
+ })();
50
+ const description = (() => {
51
+ let d = '';
52
+ if (context.status === 'processing') {
53
+ d = "We're verifying your account and amount. Please hold a moment.";
54
+ }
55
+ else if (context.status === 'failed') {
56
+ d =
57
+ 'Something went wrong while processing your deposit. ' +
58
+ 'Please try again or contact support.';
59
+ }
60
+ else if (context.status === 'verification-success') {
61
+ d = 'Your deposit has been successfully processed.';
62
+ }
63
+ else if (context.status === 'verification-processing') {
64
+ d = 'Your deposit is being processed.';
65
+ }
66
+ else if (context.status === 'verification-failed') {
67
+ if (context.deposit?.status === 'CANCELLED') {
68
+ d = 'Your deposit has been cancelled.';
69
+ }
70
+ else if (context.deposit?.status === 'REJECTED') {
71
+ d = 'Your deposit has been rejected.';
72
+ }
73
+ else if (context.deposit?.status === 'FAILED') {
74
+ d = context.deposit.error ?? 'Your deposit has failed.';
75
+ }
76
+ else {
77
+ d =
78
+ 'Something went wrong while processing your deposit. ' +
79
+ 'Please try again or contact support.';
80
+ }
81
+ }
82
+ return d;
83
+ })();
84
+ const type = (() => {
85
+ if (context.status === 'failed' ||
86
+ context.status === 'verification-failed') {
87
+ return 'erorr';
88
+ }
89
+ if (context.status === 'verification-success') {
90
+ return 'success';
91
+ }
92
+ return 'loading';
93
+ })();
94
+ return {
95
+ type,
96
+ title,
97
+ description,
98
+ };
99
+ }
@@ -0,0 +1,25 @@
1
+ export declare const QRPHDepositContext: (props: {
2
+ value: {
3
+ view: "form" | "qrCode";
4
+ status: "waiting" | "failed" | "processing" | "verification-waiting" | "verification-processing" | "verification-failed" | "verification-success";
5
+ verify: () => void;
6
+ reset: () => void;
7
+ deposit: import("../../../../types").Deposit | null;
8
+ generateQRCode: (input: {
9
+ amount: string;
10
+ promo?: string | null;
11
+ }) => void;
12
+ };
13
+ } & {
14
+ children?: import("react").ReactNode | undefined;
15
+ }) => React.ReactNode, useQRPHDepositContext: () => {
16
+ view: "form" | "qrCode";
17
+ status: "waiting" | "failed" | "processing" | "verification-waiting" | "verification-processing" | "verification-failed" | "verification-success";
18
+ verify: () => void;
19
+ reset: () => void;
20
+ deposit: import("../../../../types").Deposit | null;
21
+ generateQRCode: (input: {
22
+ amount: string;
23
+ promo?: string | null;
24
+ }) => void;
25
+ };
@@ -0,0 +1,2 @@
1
+ import { createContext } from '../../../../client/utils/createContext.js';
2
+ export const [QRPHDepositContext, useQRPHDepositContext] = createContext();
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositDetails(): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,17 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { QrCode02Icon } from '../../../../icons/QrCode02Icon.js';
3
+ import { XIcon } from '../../../../icons/XIcon.js';
4
+ import { Button } from '../../../../ui/Button/index.js';
5
+ import { Dialog } from '../../../../ui/Dialog/index.js';
6
+ import { Portal } from '../../../../ui/Portal/index.js';
7
+ import { useQRPHDepositContext } from './QRPHDepositContext.js';
8
+ import { QRPHQRCode } from './QRPHQRCode.js';
9
+ export function QRPHDepositDetails() {
10
+ const context = useQRPHDepositContext();
11
+ if (context.view !== 'qrCode')
12
+ return null;
13
+ return (_jsxs("div", { className: "rounded-lg bg-bg-primary-alt p-2xl", children: [_jsx("p", { className: "text-center font-semibold text-lg lg:text-xl", children: "QR Code" }), _jsx("p", { className: "mt-3 text-center text-sm text-text-secondary-700 lg:text-base", children: "Scan the QR code below with your banking app, or upload it to complete your deposit." }), _jsx(QRPHQRCode, { qrCodeString: context.deposit?.qrCode ?? '' }), _jsx("div", { className: "mt-6 flex flex-col gap-4 lg:flex-row", children: _jsx(Button, { size: "sm", variant: "outline", colorScheme: "gray", onClick: context.reset, children: "Generate New QR Code" }) }), _jsx(Instruction, {})] }));
14
+ }
15
+ function Instruction() {
16
+ return (_jsxs("p", { className: "mt-6 text-center text-text-tertiary-600 text-xs", children: ["Need help using the QR Code?", ' ', _jsxs(Dialog.Root, { lazyMount: true, unmountOnExit: true, children: [_jsx(Dialog.Trigger, { className: "text-text-warning-primary-600", children: "See instructions" }), _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "!z-[calc(var(--z-dialog)+2)]" }), _jsx(Dialog.Positioner, { className: "!z-[calc(var(--z-dialog)+3)] flex items-center justify-center", children: _jsxs(Dialog.Content, { className: "mx-auto w-[calc(100%-2rem)] overflow-y-auto rounded-lg p-4xl lg:w-[33.625rem]", children: [_jsx(Dialog.CloseTrigger, { children: _jsx(XIcon, {}) }), _jsxs(Dialog.Body, { children: [_jsxs("div", { className: "flex items-center gap-xl", children: [_jsx("div", { className: "flex size-11 items-center justify-center rounded-lg border border-border-primary text-gray-700 text-text-secondary-700 shadow-xs", children: _jsx(QrCode02Icon, { className: "size-6" }) }), _jsx(Dialog.Title, { className: "font-semibold text-lg", children: "How to Use the QR Code for Payment" })] }), _jsx(Dialog.Description, { className: "mt-5", children: "Follow these simple steps to complete your transaction:" }), _jsxs("ol", { className: "mt-3 list-inside list-decimal space-y-3", children: [_jsx("li", { children: "Open your preferred banking or EMI mobile app and select 'Transfer Money' or 'Pay via QR'" }), _jsx("li", { children: "Scan or upload the generated QR Ph code. If prompted by the app, enter the amount to be sent." }), _jsx("li", { children: "Proceed with the transfer or payment." })] })] })] }) })] })] })] }));
17
+ }
@@ -0,0 +1 @@
1
+ export declare function QRPHDepositForm(): import("react/jsx-runtime").JSX.Element | null;