@opexa/portal-components 0.0.946 → 0.0.947

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 (189) hide show
  1. package/dist/client/hooks/useGlobalStore.d.ts +1 -0
  2. package/dist/client/hooks/useGlobalStore.js +13 -0
  3. package/dist/components/DepositWithdrawal/Deposit/AurixPayPayMayaDeposit/AurixPayGrabPayDeposit.js +2 -21
  4. package/dist/components/KYC/KYCDefault/KYCDefault.d.ts +1 -0
  5. package/dist/components/KYC/KYCDefault/KYCDefault.js +3 -2
  6. package/dist/components/KYC/KYCDefault/PersonalInformation.js +7 -0
  7. package/dist/components/KYC/KYCDefault/useKYCDefault.d.ts +2 -1
  8. package/dist/components/KYC/KYCDefault/useKYCDefault.js +2 -1
  9. package/dist/components/KYC/KYCReview.d.ts +1 -0
  10. package/dist/components/KYC/KYCReview.js +20 -0
  11. package/dist/components/SingleSignOn/SingleSignOn.d.ts +1 -1
  12. package/dist/components/SingleSignOn/SingleSignOn.js +15 -7
  13. package/dist/handlers/index.d.ts +2 -2
  14. package/dist/ui/QrCode/QrCode.d.ts +25 -25
  15. package/dist/ui/QrCode/qrCode.recipe.d.ts +5 -5
  16. package/package.json +1 -1
  17. package/dist/assets/providers/alize.png +0 -0
  18. package/dist/assets/providers/bigtime-gaming.png +0 -0
  19. package/dist/assets/providers/bng.png +0 -0
  20. package/dist/assets/providers/boongo.png +0 -0
  21. package/dist/assets/providers/btg.png +0 -0
  22. package/dist/assets/providers/cq9.png +0 -0
  23. package/dist/assets/providers/darwin.png +0 -0
  24. package/dist/assets/providers/digitain.png +0 -0
  25. package/dist/assets/providers/evolution.png +0 -0
  26. package/dist/assets/providers/fantasma-games.png +0 -0
  27. package/dist/assets/providers/fc.png +0 -0
  28. package/dist/assets/providers/fp.png +0 -0
  29. package/dist/assets/providers/habanero.png +0 -0
  30. package/dist/assets/providers/hacksaw.png +0 -0
  31. package/dist/assets/providers/jdb.png +0 -0
  32. package/dist/assets/providers/jili.png +0 -0
  33. package/dist/assets/providers/leap.png +0 -0
  34. package/dist/assets/providers/live-22-metaverse.png +0 -0
  35. package/dist/assets/providers/netent.png +0 -0
  36. package/dist/assets/providers/no-limit.png +0 -0
  37. package/dist/assets/providers/pg.png +0 -0
  38. package/dist/assets/providers/pgsoft.png +0 -0
  39. package/dist/assets/providers/pragmatic-play.png +0 -0
  40. package/dist/assets/providers/realtime-gaming.png +0 -0
  41. package/dist/assets/providers/redtiger.png +0 -0
  42. package/dist/assets/providers/rtg.png +0 -0
  43. package/dist/assets/providers/sagaming.png +0 -0
  44. package/dist/client/hooks/useAiOGCashDepositMutation.d.ts +0 -4
  45. package/dist/client/hooks/useAiOGCashDepositMutation.js +0 -90
  46. package/dist/client/hooks/useAiOGrabPayDepositMutation.d.ts +0 -4
  47. package/dist/client/hooks/useAiOGrabPayDepositMutation.js +0 -80
  48. package/dist/client/hooks/useAiOPalawanPayDepositMutation.d.ts +0 -4
  49. package/dist/client/hooks/useAiOPalawanPayDepositMutation.js +0 -80
  50. package/dist/client/hooks/useAiOPayMayaDepositMutation.d.ts +0 -4
  51. package/dist/client/hooks/useAiOPayMayaDepositMutation.js +0 -80
  52. package/dist/components/Banner/Banner.client.d.ts +0 -12
  53. package/dist/components/Banner/Banner.client.js +0 -49
  54. package/dist/components/DepositWithdrawal/AiOPaymentMethods.d.ts +0 -11
  55. package/dist/components/DepositWithdrawal/AiOPaymentMethods.js +0 -55
  56. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositAlert.d.ts +0 -1
  57. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositAlert.js +0 -99
  58. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositDetails.d.ts +0 -1
  59. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositDetails.js +0 -17
  60. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.d.ts +0 -1
  61. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHDepositForm.js +0 -116
  62. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHQRCode.d.ts +0 -3
  63. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit/QRPHQRCode.js +0 -69
  64. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDeposit.d.ts +0 -1
  65. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDeposit.js +0 -10
  66. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositAlert.d.ts +0 -1
  67. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositAlert.js +0 -99
  68. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.d.ts +0 -25
  69. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositContext.js +0 -2
  70. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositDetails.d.ts +0 -1
  71. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositDetails.js +0 -17
  72. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositForm.d.ts +0 -1
  73. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHDepositForm.js +0 -116
  74. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHQRCode.d.ts +0 -3
  75. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/QRPHQRCode.js +0 -69
  76. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.d.ts +0 -13
  77. package/dist/components/DepositWithdrawal/Deposit/QRPHDeposit__legacy/useQRPHDeposit.js +0 -85
  78. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGCashDeposit/AiOGCashDeposit.d.ts +0 -1
  79. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGCashDeposit/AiOGCashDeposit.js +0 -173
  80. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGrabPayDeposit/AiOGrabPayDeposit.d.ts +0 -1
  81. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOGrabPayDeposit/AiOGrabPayDeposit.js +0 -171
  82. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPalawanPayDeposit/AiOPalawanPayDeposit.d.ts +0 -1
  83. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPalawanPayDeposit/AiOPalawanPayDeposit.js +0 -171
  84. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPayMayaDeposit/AiOPayMayaDeposit.d.ts +0 -1
  85. package/dist/components/DepositWithdrawal/Deposit__legacy/AiOPayMayaDeposit/AiOPayMayaDeposit.js +0 -171
  86. package/dist/components/DepositWithdrawal/Deposit__legacy/AvailablePromos.d.ts +0 -8
  87. package/dist/components/DepositWithdrawal/Deposit__legacy/AvailablePromos.js +0 -33
  88. package/dist/components/DepositWithdrawal/Deposit__legacy/Deposit.d.ts +0 -1
  89. package/dist/components/DepositWithdrawal/Deposit__legacy/Deposit.js +0 -120
  90. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashDeposit/GCashDeposit.d.ts +0 -1
  91. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashDeposit/GCashDeposit.js +0 -163
  92. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashWebpayDeposit/GCashWebpayDeposit.d.ts +0 -1
  93. package/dist/components/DepositWithdrawal/Deposit__legacy/GCashWebpayDeposit/GCashWebpayDeposit.js +0 -165
  94. package/dist/components/DepositWithdrawal/Deposit__legacy/LibanganDeposit/LibanganDeposit.d.ts +0 -1
  95. package/dist/components/DepositWithdrawal/Deposit__legacy/LibanganDeposit/LibanganDeposit.js +0 -186
  96. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaAppDeposit/MayaAppDeposit.d.ts +0 -1
  97. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaAppDeposit/MayaAppDeposit.js +0 -157
  98. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaDeposit/MayaDeposit.d.ts +0 -1
  99. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaDeposit/MayaDeposit.js +0 -163
  100. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaWebpayDeposit/MayaWebpayDeposit.d.ts +0 -1
  101. package/dist/components/DepositWithdrawal/Deposit__legacy/MayaWebpayDeposit/MayaWebpayDeposit.js +0 -166
  102. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDeposit.d.ts +0 -1
  103. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDeposit.js +0 -10
  104. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositAlert.d.ts +0 -1
  105. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositAlert.js +0 -99
  106. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositContext.d.ts +0 -25
  107. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositContext.js +0 -2
  108. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositDetails.d.ts +0 -1
  109. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositDetails.js +0 -19
  110. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositForm.d.ts +0 -1
  111. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/OnlineBankDepositForm.js +0 -115
  112. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/useOnlineBankDeposit.d.ts +0 -13
  113. package/dist/components/DepositWithdrawal/Deposit__legacy/OnlineBankDeposit/useOnlineBankDeposit.js +0 -81
  114. package/dist/components/DepositWithdrawal/Deposit__legacy/PisoPayDeposit/PisoPayDeposit.d.ts +0 -1
  115. package/dist/components/DepositWithdrawal/Deposit__legacy/PisoPayDeposit/PisoPayDeposit.js +0 -180
  116. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDeposit.d.ts +0 -1
  117. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDeposit.js +0 -10
  118. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositAlert.d.ts +0 -1
  119. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositAlert.js +0 -99
  120. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositContext.d.ts +0 -25
  121. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositContext.js +0 -2
  122. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositDetails.d.ts +0 -1
  123. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositDetails.js +0 -17
  124. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositForm.d.ts +0 -1
  125. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHDepositForm.js +0 -116
  126. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHQRCode.d.ts +0 -3
  127. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/QRPHQRCode.js +0 -69
  128. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/useQRPHDeposit.d.ts +0 -13
  129. package/dist/components/DepositWithdrawal/Deposit__legacy/QRPHDeposit/useQRPHDeposit.js +0 -85
  130. package/dist/components/DigitainLauncher/Loading.d.ts +0 -1
  131. package/dist/components/DigitainLauncher/Loading.js +0 -5
  132. package/dist/components/Jackpots/JackpotsCarousel/JackpotsCarouselItem.module.css +0 -184
  133. package/dist/components/Jackpots/JackpotsList/JackpotsListItem.module.css +0 -184
  134. package/dist/components/KYC/BasicInformation.d.ts +0 -1
  135. package/dist/components/KYC/BasicInformation.js +0 -101
  136. package/dist/components/KYC/IdentityVerification.d.ts +0 -1
  137. package/dist/components/KYC/IdentityVerification.js +0 -120
  138. package/dist/components/KYC/Indicator.d.ts +0 -1
  139. package/dist/components/KYC/Indicator.js +0 -8
  140. package/dist/components/KYC/KYC.lazy.d.ts +0 -6
  141. package/dist/components/KYC/KYC.lazy.js +0 -45
  142. package/dist/components/KYC/KYCContext.d.ts +0 -6
  143. package/dist/components/KYC/KYCContext.js +0 -2
  144. package/dist/components/KYC/KYCDefault/BasicInformation.d.ts +0 -1
  145. package/dist/components/KYC/KYCDefault/BasicInformation.js +0 -101
  146. package/dist/components/KYC/KYCVerificationStatus.d.ts +0 -1
  147. package/dist/components/KYC/KYCVerificationStatus.js +0 -10
  148. package/dist/components/KYC/KYCVerificationStatus.lazy.d.ts +0 -1
  149. package/dist/components/KYC/KYCVerificationStatus.lazy.js +0 -36
  150. package/dist/components/KYC/PersonalInformation.d.ts +0 -1
  151. package/dist/components/KYC/PersonalInformation.js +0 -122
  152. package/dist/components/KYC/useKYC.d.ts +0 -25
  153. package/dist/components/KYC/useKYC.js +0 -38
  154. package/dist/components/KYCNotRequired/KYCNotRequired.d.ts +0 -0
  155. package/dist/components/KYCNotRequired/KYCNotRequired.js +0 -1
  156. package/dist/components/PortalProvider/AndroidOnlyComponents.d.ts +0 -1
  157. package/dist/components/PortalProvider/AndroidOnlyComponents.js +0 -12
  158. package/dist/components/PortalProvider/CXDTokenObserver.d.ts +0 -1
  159. package/dist/components/PortalProvider/CXDTokenObserver.js +0 -30
  160. package/dist/components/PortalProvider/LinkGoogleAccountObserver.d.ts +0 -1
  161. package/dist/components/PortalProvider/LinkGoogleAccountObserver.js +0 -29
  162. package/dist/components/Quests/MultiWageringQuest.d.ts +0 -1
  163. package/dist/components/Quests/MultiWageringQuest.js +0 -111
  164. package/dist/components/SessionWatcher/SessionWatcher.d.ts +0 -1
  165. package/dist/components/SessionWatcher/SessionWatcher.js +0 -20
  166. package/dist/components/SessionWatcher/index.d.ts +0 -1
  167. package/dist/components/SessionWatcher/index.js +0 -1
  168. package/dist/components/SignIn/utils.d.ts +0 -8
  169. package/dist/components/SignIn/utils.js +0 -26
  170. package/dist/constants/Branches.d.ts +0 -2
  171. package/dist/constants/Branches.js +0 -42
  172. package/dist/images/game-providers/ALPHACHINKO.png +0 -0
  173. package/dist/images/responsible-gaming-yellow.png +0 -0
  174. package/dist/third-parties/FacebookPixel/FacebookPixel.d.ts +0 -4
  175. package/dist/third-parties/FacebookPixel/FacebookPixel.js +0 -4
  176. package/dist/third-parties/FacebookPixel/api.d.ts +0 -0
  177. package/dist/third-parties/FacebookPixel/api.js +0 -1
  178. package/dist/third-parties/FacebookPixel/index.d.ts +0 -1
  179. package/dist/third-parties/FacebookPixel/index.js +0 -1
  180. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.d.ts +0 -4
  181. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.js +0 -4
  182. package/dist/third-parties/GoogleRecaptcha/api.d.ts +0 -0
  183. package/dist/third-parties/GoogleRecaptcha/api.js +0 -1
  184. package/dist/third-parties/GoogleRecaptcha/index.d.ts +0 -1
  185. package/dist/third-parties/GoogleRecaptcha/index.js +0 -1
  186. package/dist/third-parties/index.d.ts +0 -2
  187. package/dist/third-parties/index.js +0 -2
  188. package/dist/utils/getLocaleInfo.d.ts +0 -79
  189. package/dist/utils/getLocaleInfo.js +0 -175
@@ -1,85 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- import invariant from 'tiny-invariant';
3
- import { useShallow } from 'zustand/shallow';
4
- import { useCreateQRPHDepositMutation } from '../../../../client/hooks/useCreateQRPHDepositMutation.js';
5
- import { useDepositQuery } from '../../../../client/hooks/useDepositQuery.js';
6
- import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
7
- import { useMemberVerificationQuery } from '../../../../client/hooks/useMemberVerificationQuery.js';
8
- import { getQueryClient } from '../../../../utils/getQueryClient.js';
9
- import { getDepositsCountQueryKey } from '../../../../utils/queryKeys.js';
10
- export function useQRPHDeposit() {
11
- const globalStore = useGlobalStore(useShallow((ctx) => ({
12
- kycVerificationStatus: ctx.kycVerificationStatus,
13
- })));
14
- const [deposit, setDeposit] = useState(null);
15
- const verificationQuery = useMemberVerificationQuery();
16
- const verificationStatus = verificationQuery.data?.status ?? 'UNVERIFIED';
17
- const [status, setStatus] = useState('waiting');
18
- const view = status === 'verification-failed' ||
19
- status === 'verification-waiting' ||
20
- status === 'verification-success' ||
21
- status === 'verification-processing'
22
- ? 'qrCode'
23
- : 'form';
24
- const mutation = useCreateQRPHDepositMutation({
25
- onMutate() {
26
- setStatus('processing');
27
- },
28
- onSuccess(data) {
29
- const queryClient = getQueryClient();
30
- invariant(data.qrCode);
31
- setStatus('verification-waiting');
32
- queryClient.invalidateQueries({ queryKey: getDepositsCountQueryKey() });
33
- setDeposit(data);
34
- },
35
- onError() {
36
- setStatus('failed');
37
- },
38
- });
39
- const generateQRCode = (input) => {
40
- //handle new kyc process
41
- if (verificationStatus === 'PENDING' ||
42
- verificationStatus === 'UNVERIFIED' ||
43
- verificationStatus === 'REJECTED' ||
44
- verificationStatus === 'CREATED') {
45
- globalStore.kycVerificationStatus.setOpen(true);
46
- return;
47
- }
48
- else {
49
- mutation.mutate({
50
- amount: input.amount,
51
- promo: input.promo ?? undefined,
52
- });
53
- }
54
- };
55
- const query = useDepositQuery(deposit?.id, {
56
- enabled: !!deposit,
57
- refetchInterval: 5000,
58
- });
59
- useEffect(() => {
60
- if (query.data?.status === 'APPROVED' ||
61
- query.data?.status === 'CONFIRMED') {
62
- setStatus('verification-success');
63
- }
64
- if (query.data?.status === 'CANCELLED' ||
65
- query.data?.status === 'REJECTED' ||
66
- query.data?.status === 'FAILED') {
67
- setStatus('verification-failed');
68
- }
69
- }, [query.data?.status]);
70
- const reset = () => {
71
- setDeposit(null);
72
- setStatus('waiting');
73
- };
74
- const verify = () => {
75
- setStatus('verification-processing');
76
- };
77
- return {
78
- view,
79
- status,
80
- verify,
81
- reset,
82
- deposit,
83
- generateQRCode,
84
- };
85
- }
@@ -1 +0,0 @@
1
- export declare function AiOGCashDeposit(): import("react/jsx-runtime").JSX.Element;
@@ -1,173 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { zodResolver } from '@hookform/resolvers/zod';
3
- import Link from 'next/link';
4
- import { useEffect, useState } from 'react';
5
- import { Controller, useForm } from 'react-hook-form';
6
- import invariant from 'tiny-invariant';
7
- import { z } from 'zod';
8
- import { useShallow } from 'zustand/shallow';
9
- import { useCreateAiOGCashDepositMutation } from '../../../../client/hooks/useAiOGCashDepositMutation.js';
10
- import { useAvailablePromosQuery } from '../../../../client/hooks/useAvailablePromosQuery.js';
11
- import { useDepositsCountQuery } from '../../../../client/hooks/useDepositsCountQuery.js';
12
- import { useDisclosure } from '../../../../client/hooks/useDisclosure.js';
13
- import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
14
- import { useMemberVerificationQuery } from '../../../../client/hooks/useMemberVerificationQuery.js';
15
- import { usePaymentSettingsQuery } from '../../../../client/hooks/usePaymentSettingsQuery.js';
16
- import { AlertCircleIcon } from '../../../../icons/AlertCircleIcon.js';
17
- import { ChevronDownIcon } from '../../../../icons/ChevronDownIcon.js';
18
- import { ChevronUpIcon } from '../../../../icons/ChevronUpIcon.js';
19
- import { SpinnerIcon } from '../../../../icons/SpinnerIcon.js';
20
- import { XIcon } from '../../../../icons/XIcon.js';
21
- import { AlertDialog } from '../../../../ui/AlertDialog/index.js';
22
- import { Button } from '../../../../ui/Button/index.js';
23
- import { Field } from '../../../../ui/Field/index.js';
24
- import { NumberInput } from '../../../../ui/NumberInput/index.js';
25
- import { Portal } from '../../../../ui/Portal/index.js';
26
- import { getQueryClient } from '../../../../utils/getQueryClient.js';
27
- import { parseDecimal } from '../../../../utils/parseDecimal.js';
28
- import { getDepositsCountQueryKey } from '../../../../utils/queryKeys.js';
29
- import { AmountChoices } from '../../AmountChoices.js';
30
- import { useDepositWithdrawalPropsContext } from '../../DepositWithdrawalContext.js';
31
- import { explainError } from '../../utils.js';
32
- import { AvailablePromos } from '../AvailablePromos.js';
33
- export function AiOGCashDeposit() {
34
- const depositWithdrawalProps = useDepositWithdrawalPropsContext();
35
- const disclosure = useDisclosure();
36
- const globalStore = useGlobalStore(useShallow((ctx) => ({
37
- depositWithdrawal: ctx.depositWithdrawal,
38
- kycVerificationStatus: ctx.kycVerificationStatus,
39
- })));
40
- const verificationQuery = useMemberVerificationQuery();
41
- const verificationStatus = verificationQuery.data?.status ?? 'UNVERIFIED';
42
- const [status, setStatus] = useState('waiting');
43
- const createDepositMutation = useCreateAiOGCashDepositMutation({
44
- onMutate() {
45
- disclosure.setOpen(true);
46
- setStatus('processing');
47
- },
48
- onSuccess(data) {
49
- const queryClient = getQueryClient();
50
- invariant(data.checkoutUrl);
51
- window.open(data.checkoutUrl, '_blank', 'noopener,noreferrer');
52
- queryClient.invalidateQueries({
53
- queryKey: getDepositsCountQueryKey(),
54
- });
55
- setStatus('success');
56
- },
57
- onError() {
58
- setStatus('failed');
59
- },
60
- });
61
- const depositsCountQuery = useDepositsCountQuery();
62
- const depositsCount = depositsCountQuery.data ?? 0;
63
- const paymentSettingsQuery = usePaymentSettingsQuery();
64
- const paymentSettings = paymentSettingsQuery.data;
65
- const gatewaySettings = paymentSettings?.aioGCashDepositGatewaySettings;
66
- const maximumAmount = parseDecimal(gatewaySettings?.maximumAmount, 0);
67
- const minimumAmount = depositsCount <= 0
68
- ? parseDecimal(paymentSettingsQuery.data?.minimumFirstDepositAmount, 0)
69
- : parseDecimal(gatewaySettings?.minimumAmount, 0);
70
- const promosQuery = useAvailablePromosQuery();
71
- const promos = promosQuery.data ?? [];
72
- const definition = z
73
- .object({
74
- amount: z.string().superRefine((val, ctx) => {
75
- const n = parseDecimal(val, 0);
76
- if (n < minimumAmount) {
77
- ctx.addIssue({
78
- type: 'number',
79
- code: z.ZodIssueCode.too_small,
80
- inclusive: true,
81
- minimum: minimumAmount,
82
- message: `Please enter ${minimumAmount.toLocaleString()} or more to proceed with your deposit.`,
83
- });
84
- }
85
- if (n > maximumAmount) {
86
- ctx.addIssue({
87
- type: 'number',
88
- code: z.ZodIssueCode.too_big,
89
- inclusive: true,
90
- maximum: maximumAmount,
91
- message: `Maximum amount is ${maximumAmount.toLocaleString()}`,
92
- });
93
- }
94
- }),
95
- promo: z.string().optional().nullable(),
96
- })
97
- .superRefine((value, ctx) => {
98
- const promo = promos.find((o) => o.id === value.promo);
99
- const promoMinAmount = parseDecimal(promo?.minimumDepositAmount, 0);
100
- const promoMaxAmount = parseDecimal(promo?.maximumDepositAmount, 0);
101
- const amount = parseDecimal(value.amount, 0);
102
- if (promo && amount < promoMinAmount) {
103
- ctx.addIssue({
104
- path: ['amount'],
105
- code: z.ZodIssueCode.custom,
106
- message: `Minimum amount for this promo is ${promoMinAmount.toLocaleString()}`,
107
- });
108
- }
109
- if (promo && amount > promoMaxAmount) {
110
- ctx.addIssue({
111
- path: ['amount'],
112
- code: z.ZodIssueCode.custom,
113
- message: `Maximum amount for this promo is ${promoMaxAmount}`,
114
- });
115
- }
116
- });
117
- const form = useForm({
118
- mode: 'all',
119
- resolver: zodResolver(definition),
120
- defaultValues: {
121
- amount: '0',
122
- promo: globalStore.depositWithdrawal.promo ?? null,
123
- },
124
- });
125
- useEffect(() => {
126
- if (minimumAmount) {
127
- form.reset({
128
- amount: minimumAmount.toString(),
129
- promo: form.getValues('promo') ?? null,
130
- });
131
- }
132
- }, [form, minimumAmount]);
133
- return (_jsxs("form", { onSubmit: form.handleSubmit(async (data) => {
134
- if (verificationStatus === 'PENDING' ||
135
- verificationStatus === 'UNVERIFIED' ||
136
- verificationStatus === 'REJECTED' ||
137
- verificationStatus === 'CREATED') {
138
- globalStore.kycVerificationStatus.setOpen(true);
139
- return;
140
- }
141
- else {
142
- createDepositMutation.reset();
143
- createDepositMutation.mutate({
144
- amount: data.amount.toString(),
145
- promo: data.promo ?? undefined,
146
- redirectUrl: window.location.origin.includes('localhost')
147
- ? 'https://uat.powerplay.ph'
148
- : window.location.origin,
149
- });
150
- }
151
- }), noValidate: true, children: [_jsx(Controller, { control: form.control, name: "amount", render: (o) => (_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, children: [_jsxs(NumberInput.Root, { min: 0, step: 1, value: o.field.value, onValueChange: (details) => {
152
- o.field.onChange(details.value);
153
- }, allowMouseWheel: true, children: [_jsx(NumberInput.Label, { children: "Enter amount you want to deposit" }), _jsxs(NumberInput.Control, { children: [_jsx(NumberInput.Input, {}), _jsx(NumberInput.IncrementTrigger, { children: _jsx(ChevronUpIcon, {}) }), _jsx(NumberInput.DecrementTrigger, { children: _jsx(ChevronDownIcon, {}) })] })] }), _jsx(Field.ErrorText, { children: form.formState.errors.amount?.message })] })) }), _jsx(AmountChoices, { value: parseDecimal(form.watch('amount'), 0), onChange: (value) => {
154
- form.setValue('amount', value.toString(), {
155
- shouldTouch: true,
156
- shouldDirty: true,
157
- shouldValidate: true,
158
- });
159
- }, min: minimumAmount, max: maximumAmount, className: "mt-lg" }), _jsx(Controller, { control: form.control, name: "promo", render: (o) => (_jsx(AvailablePromos, { value: o.field.value, onChange: (value) => {
160
- o.field.onChange(value);
161
- globalStore.depositWithdrawal.setPromo(null);
162
- }, className: "mt-3xl" })) }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: createDepositMutation.isPending, children: "Deposit" }), _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" }), "."] }), _jsx(AlertDialog.Root, { open: disclosure.open, onOpenChange: (details) => {
163
- disclosure.setOpen(details.open);
164
- if (!details.open) {
165
- setStatus('waiting');
166
- form.reset();
167
- }
168
- }, 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, { children: _jsx(XIcon, {}) }), _jsxs(AlertDialog.Header, { children: [status === 'processing' && (_jsx(SpinnerIcon, { className: "size-12 text-text-brand-primary-600" })), status === '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, {}) })), status === 'failed' && (_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: [_jsxs(AlertDialog.Title, { children: [status === 'processing' && 'Processing Deposit', status === 'success' && 'Deposit Successful', status === 'failed' && 'Deposit Failed'] }), _jsxs(AlertDialog.Description, { children: [status === 'processing' &&
169
- "We're verifying your account and amount. Please hold a moment.", status === 'success' && (_jsxs(_Fragment, { children: ["Your deposit has been successfully processed. ", _jsx("br", {}), " If you are not redirected automatically, click", ' ', !!createDepositMutation.data?.checkoutUrl && (_jsx("a", { href: createDepositMutation.data?.checkoutUrl, target: "_blank", rel: "noopener noreferrer", className: "text-text-brand underline underline-offset-2", children: "here" })), "."] })), status === 'failed' &&
170
- explainError(createDepositMutation?.error?.name)] })] }), (status === 'failed' || status === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
171
- api.setOpen(false);
172
- }, children: status === 'failed' ? 'Try Again' : 'Ok' })) }) }))] }) })] }) })] }));
173
- }
@@ -1 +0,0 @@
1
- export declare function AiOGrabPayDeposit(): import("react/jsx-runtime").JSX.Element;
@@ -1,171 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { zodResolver } from '@hookform/resolvers/zod';
3
- import Link from 'next/link';
4
- import { useEffect, useState } from 'react';
5
- import { Controller, useForm } from 'react-hook-form';
6
- import invariant from 'tiny-invariant';
7
- import { z } from 'zod';
8
- import { useShallow } from 'zustand/shallow';
9
- import { useCreateAiOGrabPayDepositMutation } from '../../../../client/hooks/useAiOGrabPayDepositMutation.js';
10
- import { useAvailablePromosQuery } from '../../../../client/hooks/useAvailablePromosQuery.js';
11
- import { useDepositsCountQuery } from '../../../../client/hooks/useDepositsCountQuery.js';
12
- import { useDisclosure } from '../../../../client/hooks/useDisclosure.js';
13
- import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
14
- import { useMemberVerificationQuery } from '../../../../client/hooks/useMemberVerificationQuery.js';
15
- import { usePaymentSettingsQuery } from '../../../../client/hooks/usePaymentSettingsQuery.js';
16
- import { AlertCircleIcon } from '../../../../icons/AlertCircleIcon.js';
17
- import { ChevronDownIcon } from '../../../../icons/ChevronDownIcon.js';
18
- import { ChevronUpIcon } from '../../../../icons/ChevronUpIcon.js';
19
- import { SpinnerIcon } from '../../../../icons/SpinnerIcon.js';
20
- import { XIcon } from '../../../../icons/XIcon.js';
21
- import { AlertDialog } from '../../../../ui/AlertDialog/index.js';
22
- import { Button } from '../../../../ui/Button/index.js';
23
- import { Field } from '../../../../ui/Field/index.js';
24
- import { NumberInput } from '../../../../ui/NumberInput/index.js';
25
- import { Portal } from '../../../../ui/Portal/index.js';
26
- import { getQueryClient } from '../../../../utils/getQueryClient.js';
27
- import { parseDecimal } from '../../../../utils/parseDecimal.js';
28
- import { getDepositsCountQueryKey } from '../../../../utils/queryKeys.js';
29
- import { AmountChoices } from '../../AmountChoices.js';
30
- import { useDepositWithdrawalPropsContext } from '../../DepositWithdrawalContext.js';
31
- import { explainError } from '../../utils.js';
32
- import { AvailablePromos } from '../AvailablePromos.js';
33
- export function AiOGrabPayDeposit() {
34
- const depositWithdrawalProps = useDepositWithdrawalPropsContext();
35
- const disclosure = useDisclosure();
36
- const globalStore = useGlobalStore(useShallow((ctx) => ({
37
- depositWithdrawal: ctx.depositWithdrawal,
38
- kycVerificationStatus: ctx.kycVerificationStatus,
39
- })));
40
- const verificationQuery = useMemberVerificationQuery();
41
- const verificationStatus = verificationQuery.data?.status ?? 'UNVERIFIED';
42
- const [status, setStatus] = useState('waiting');
43
- const createDepositMutation = useCreateAiOGrabPayDepositMutation({
44
- onMutate() {
45
- disclosure.setOpen(true);
46
- setStatus('processing');
47
- },
48
- onSuccess(data) {
49
- const queryClient = getQueryClient();
50
- invariant(data.checkoutUrl);
51
- window.open(data.checkoutUrl, '_blank', 'noopener,noreferrer');
52
- queryClient.invalidateQueries({ queryKey: getDepositsCountQueryKey() });
53
- setStatus('success');
54
- },
55
- onError() {
56
- setStatus('failed');
57
- },
58
- });
59
- const depositsCountQuery = useDepositsCountQuery();
60
- const depositsCount = depositsCountQuery.data ?? 0;
61
- const paymentSettingsQuery = usePaymentSettingsQuery();
62
- const paymentSettings = paymentSettingsQuery.data;
63
- const gatewaySettings = paymentSettings?.aioGrabPayDepositGatewaySettings;
64
- const maximumAmount = parseDecimal(gatewaySettings?.maximumAmount, 0);
65
- const minimumAmount = depositsCount <= 0
66
- ? parseDecimal(paymentSettingsQuery.data?.minimumFirstDepositAmount, 0)
67
- : parseDecimal(gatewaySettings?.minimumAmount, 0);
68
- const promosQuery = useAvailablePromosQuery();
69
- const promos = promosQuery.data ?? [];
70
- const definition = z
71
- .object({
72
- amount: z.string().superRefine((val, ctx) => {
73
- const n = parseDecimal(val, 0);
74
- if (n < minimumAmount) {
75
- ctx.addIssue({
76
- type: 'number',
77
- code: z.ZodIssueCode.too_small,
78
- inclusive: true,
79
- minimum: minimumAmount,
80
- message: `Please enter ${minimumAmount.toLocaleString()} or more to proceed with your deposit.`,
81
- });
82
- }
83
- if (n > maximumAmount) {
84
- ctx.addIssue({
85
- type: 'number',
86
- code: z.ZodIssueCode.too_big,
87
- inclusive: true,
88
- maximum: maximumAmount,
89
- message: `Maximum amount is ${maximumAmount.toLocaleString()}`,
90
- });
91
- }
92
- }),
93
- promo: z.string().optional().nullable(),
94
- })
95
- .superRefine((value, ctx) => {
96
- const promo = promos.find((o) => o.id === value.promo);
97
- const promoMinAmount = parseDecimal(promo?.minimumDepositAmount, 0);
98
- const promoMaxAmount = parseDecimal(promo?.maximumDepositAmount, 0);
99
- const amount = parseDecimal(value.amount, 0);
100
- if (promo && amount < promoMinAmount) {
101
- ctx.addIssue({
102
- path: ['amount'],
103
- code: z.ZodIssueCode.custom,
104
- message: `Minimum amount for this promo is ${promoMinAmount.toLocaleString()}`,
105
- });
106
- }
107
- if (promo && amount > promoMaxAmount) {
108
- ctx.addIssue({
109
- path: ['amount'],
110
- code: z.ZodIssueCode.custom,
111
- message: `Maximum amount for this promo is ${promoMaxAmount}`,
112
- });
113
- }
114
- });
115
- const form = useForm({
116
- mode: 'all',
117
- resolver: zodResolver(definition),
118
- defaultValues: {
119
- amount: '0',
120
- promo: globalStore.depositWithdrawal.promo ?? null,
121
- },
122
- });
123
- useEffect(() => {
124
- if (minimumAmount) {
125
- form.reset({
126
- amount: minimumAmount.toString(),
127
- promo: form.getValues('promo') ?? null,
128
- });
129
- }
130
- }, [form, minimumAmount]);
131
- return (_jsxs("form", { onSubmit: form.handleSubmit(async (data) => {
132
- if (verificationStatus === 'PENDING' ||
133
- verificationStatus === 'UNVERIFIED' ||
134
- verificationStatus === 'REJECTED' ||
135
- verificationStatus === 'CREATED') {
136
- globalStore.kycVerificationStatus.setOpen(true);
137
- return;
138
- }
139
- else {
140
- createDepositMutation.reset();
141
- createDepositMutation.mutate({
142
- amount: data.amount.toString(),
143
- promo: data.promo ?? undefined,
144
- redirectUrl: window.location.origin.includes('localhost')
145
- ? 'https://uat.powerplay.ph'
146
- : window.location.origin,
147
- });
148
- }
149
- }), noValidate: true, children: [_jsx(Controller, { control: form.control, name: "amount", render: (o) => (_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, children: [_jsxs(NumberInput.Root, { min: 0, step: 1, value: o.field.value, onValueChange: (details) => {
150
- o.field.onChange(details.value);
151
- }, allowMouseWheel: true, children: [_jsx(NumberInput.Label, { children: "Enter amount you want to deposit" }), _jsxs(NumberInput.Control, { children: [_jsx(NumberInput.Input, {}), _jsx(NumberInput.IncrementTrigger, { children: _jsx(ChevronUpIcon, {}) }), _jsx(NumberInput.DecrementTrigger, { children: _jsx(ChevronDownIcon, {}) })] })] }), _jsx(Field.ErrorText, { children: form.formState.errors.amount?.message })] })) }), _jsx(AmountChoices, { value: parseDecimal(form.watch('amount'), 0), onChange: (value) => {
152
- form.setValue('amount', value.toString(), {
153
- shouldTouch: true,
154
- shouldDirty: true,
155
- shouldValidate: true,
156
- });
157
- }, min: minimumAmount, max: maximumAmount, className: "mt-lg" }), _jsx(Controller, { control: form.control, name: "promo", render: (o) => (_jsx(AvailablePromos, { value: o.field.value, onChange: (value) => {
158
- o.field.onChange(value);
159
- globalStore.depositWithdrawal.setPromo(null);
160
- }, className: "mt-3xl" })) }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: createDepositMutation.isPending, children: "Deposit" }), _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" }), "."] }), _jsx(AlertDialog.Root, { open: disclosure.open, onOpenChange: (details) => {
161
- disclosure.setOpen(details.open);
162
- if (!details.open) {
163
- setStatus('waiting');
164
- form.reset();
165
- }
166
- }, 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, { children: _jsx(XIcon, {}) }), _jsxs(AlertDialog.Header, { children: [status === 'processing' && (_jsx(SpinnerIcon, { className: "size-12 text-text-brand-primary-600" })), status === '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, {}) })), status === 'failed' && (_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: [_jsxs(AlertDialog.Title, { children: [status === 'processing' && 'Processing Deposit', status === 'success' && 'Deposit Successful', status === 'failed' && 'Deposit Failed'] }), _jsxs(AlertDialog.Description, { children: [status === 'processing' &&
167
- "We're verifying your account and amount. Please hold a moment.", status === 'success' && (_jsxs(_Fragment, { children: ["Your deposit has been successfully processed. ", _jsx("br", {}), " If you are not redirected automatically, click", ' ', !!createDepositMutation.data?.checkoutUrl && (_jsx("a", { href: createDepositMutation.data?.checkoutUrl, target: "_blank", rel: "noopener noreferrer", className: "text-text-brand underline underline-offset-2", children: "here" })), "."] })), status === 'failed' &&
168
- explainError(createDepositMutation?.error?.name)] })] }), (status === 'failed' || status === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
169
- api.setOpen(false);
170
- }, children: status === 'failed' ? 'Try Again' : 'Ok' })) }) }))] }) })] }) })] }));
171
- }
@@ -1 +0,0 @@
1
- export declare function AiOPalawanPayDeposit(): import("react/jsx-runtime").JSX.Element;
@@ -1,171 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { zodResolver } from '@hookform/resolvers/zod';
3
- import Link from 'next/link';
4
- import { useEffect, useState } from 'react';
5
- import { Controller, useForm } from 'react-hook-form';
6
- import invariant from 'tiny-invariant';
7
- import { z } from 'zod';
8
- import { useShallow } from 'zustand/shallow';
9
- import { useCreateAiOPalawanPayDepositMutation } from '../../../../client/hooks/useAiOPalawanPayDepositMutation.js';
10
- import { useAvailablePromosQuery } from '../../../../client/hooks/useAvailablePromosQuery.js';
11
- import { useDepositsCountQuery } from '../../../../client/hooks/useDepositsCountQuery.js';
12
- import { useDisclosure } from '../../../../client/hooks/useDisclosure.js';
13
- import { useGlobalStore } from '../../../../client/hooks/useGlobalStore.js';
14
- import { useMemberVerificationQuery } from '../../../../client/hooks/useMemberVerificationQuery.js';
15
- import { usePaymentSettingsQuery } from '../../../../client/hooks/usePaymentSettingsQuery.js';
16
- import { AlertCircleIcon } from '../../../../icons/AlertCircleIcon.js';
17
- import { ChevronDownIcon } from '../../../../icons/ChevronDownIcon.js';
18
- import { ChevronUpIcon } from '../../../../icons/ChevronUpIcon.js';
19
- import { SpinnerIcon } from '../../../../icons/SpinnerIcon.js';
20
- import { XIcon } from '../../../../icons/XIcon.js';
21
- import { AlertDialog } from '../../../../ui/AlertDialog/index.js';
22
- import { Button } from '../../../../ui/Button/index.js';
23
- import { Field } from '../../../../ui/Field/index.js';
24
- import { NumberInput } from '../../../../ui/NumberInput/index.js';
25
- import { Portal } from '../../../../ui/Portal/index.js';
26
- import { getQueryClient } from '../../../../utils/getQueryClient.js';
27
- import { parseDecimal } from '../../../../utils/parseDecimal.js';
28
- import { getDepositsCountQueryKey } from '../../../../utils/queryKeys.js';
29
- import { AmountChoices } from '../../AmountChoices.js';
30
- import { useDepositWithdrawalPropsContext } from '../../DepositWithdrawalContext.js';
31
- import { explainError } from '../../utils.js';
32
- import { AvailablePromos } from '../AvailablePromos.js';
33
- export function AiOPalawanPayDeposit() {
34
- const depositWithdrawalProps = useDepositWithdrawalPropsContext();
35
- const disclosure = useDisclosure();
36
- const globalStore = useGlobalStore(useShallow((ctx) => ({
37
- depositWithdrawal: ctx.depositWithdrawal,
38
- kycVerificationStatus: ctx.kycVerificationStatus,
39
- })));
40
- const verificationQuery = useMemberVerificationQuery();
41
- const verificationStatus = verificationQuery.data?.status ?? 'UNVERIFIED';
42
- const [status, setStatus] = useState('waiting');
43
- const createDepositMutation = useCreateAiOPalawanPayDepositMutation({
44
- onMutate() {
45
- disclosure.setOpen(true);
46
- setStatus('processing');
47
- },
48
- onSuccess(data) {
49
- const queryClient = getQueryClient();
50
- invariant(data.checkoutUrl);
51
- window.open(data.checkoutUrl, '_blank', 'noopener,noreferrer');
52
- queryClient.invalidateQueries({ queryKey: getDepositsCountQueryKey() });
53
- setStatus('success');
54
- },
55
- onError() {
56
- setStatus('failed');
57
- },
58
- });
59
- const depositsCountQuery = useDepositsCountQuery();
60
- const depositsCount = depositsCountQuery.data ?? 0;
61
- const paymentSettingsQuery = usePaymentSettingsQuery();
62
- const paymentSettings = paymentSettingsQuery.data;
63
- const gatewaySettings = paymentSettings?.aioPalawanPayDepositGatewaySettings;
64
- const maximumAmount = parseDecimal(gatewaySettings?.maximumAmount, 0);
65
- const minimumAmount = depositsCount <= 0
66
- ? parseDecimal(paymentSettingsQuery.data?.minimumFirstDepositAmount, 0)
67
- : parseDecimal(gatewaySettings?.minimumAmount, 0);
68
- const promosQuery = useAvailablePromosQuery();
69
- const promos = promosQuery.data ?? [];
70
- const definition = z
71
- .object({
72
- amount: z.string().superRefine((val, ctx) => {
73
- const n = parseDecimal(val, 0);
74
- if (n < minimumAmount) {
75
- ctx.addIssue({
76
- type: 'number',
77
- code: z.ZodIssueCode.too_small,
78
- inclusive: true,
79
- minimum: minimumAmount,
80
- message: `Please enter ${minimumAmount.toLocaleString()} or more to proceed with your deposit.`,
81
- });
82
- }
83
- if (n > maximumAmount) {
84
- ctx.addIssue({
85
- type: 'number',
86
- code: z.ZodIssueCode.too_big,
87
- inclusive: true,
88
- maximum: maximumAmount,
89
- message: `Maximum amount is ${maximumAmount.toLocaleString()}`,
90
- });
91
- }
92
- }),
93
- promo: z.string().optional().nullable(),
94
- })
95
- .superRefine((value, ctx) => {
96
- const promo = promos.find((o) => o.id === value.promo);
97
- const promoMinAmount = parseDecimal(promo?.minimumDepositAmount, 0);
98
- const promoMaxAmount = parseDecimal(promo?.maximumDepositAmount, 0);
99
- const amount = parseDecimal(value.amount, 0);
100
- if (promo && amount < promoMinAmount) {
101
- ctx.addIssue({
102
- path: ['amount'],
103
- code: z.ZodIssueCode.custom,
104
- message: `Minimum amount for this promo is ${promoMinAmount.toLocaleString()}`,
105
- });
106
- }
107
- if (promo && amount > promoMaxAmount) {
108
- ctx.addIssue({
109
- path: ['amount'],
110
- code: z.ZodIssueCode.custom,
111
- message: `Maximum amount for this promo is ${promoMaxAmount}`,
112
- });
113
- }
114
- });
115
- const form = useForm({
116
- mode: 'all',
117
- resolver: zodResolver(definition),
118
- defaultValues: {
119
- amount: '0',
120
- promo: globalStore.depositWithdrawal.promo ?? null,
121
- },
122
- });
123
- useEffect(() => {
124
- if (minimumAmount) {
125
- form.reset({
126
- amount: minimumAmount.toString(),
127
- promo: form.getValues('promo') ?? null,
128
- });
129
- }
130
- }, [form, minimumAmount]);
131
- return (_jsxs("form", { onSubmit: form.handleSubmit(async (data) => {
132
- if (verificationStatus === 'PENDING' ||
133
- verificationStatus === 'UNVERIFIED' ||
134
- verificationStatus === 'REJECTED' ||
135
- verificationStatus === 'CREATED') {
136
- globalStore.kycVerificationStatus.setOpen(true);
137
- return;
138
- }
139
- else {
140
- createDepositMutation.reset();
141
- createDepositMutation.mutate({
142
- amount: data.amount.toString(),
143
- promo: data.promo ?? undefined,
144
- redirectUrl: window.location.origin.includes('localhost')
145
- ? 'https://uat.powerplay.ph'
146
- : window.location.origin,
147
- });
148
- }
149
- }), noValidate: true, children: [_jsx(Controller, { control: form.control, name: "amount", render: (o) => (_jsxs(Field.Root, { invalid: !!form.formState.errors.amount, children: [_jsxs(NumberInput.Root, { min: 0, step: 1, value: o.field.value, onValueChange: (details) => {
150
- o.field.onChange(details.value);
151
- }, allowMouseWheel: true, children: [_jsx(NumberInput.Label, { children: "Enter amount you want to deposit" }), _jsxs(NumberInput.Control, { children: [_jsx(NumberInput.Input, {}), _jsx(NumberInput.IncrementTrigger, { children: _jsx(ChevronUpIcon, {}) }), _jsx(NumberInput.DecrementTrigger, { children: _jsx(ChevronDownIcon, {}) })] })] }), _jsx(Field.ErrorText, { children: form.formState.errors.amount?.message })] })) }), _jsx(AmountChoices, { value: parseDecimal(form.watch('amount'), 0), onChange: (value) => {
152
- form.setValue('amount', value.toString(), {
153
- shouldTouch: true,
154
- shouldDirty: true,
155
- shouldValidate: true,
156
- });
157
- }, min: minimumAmount, max: maximumAmount, className: "mt-lg" }), _jsx(Controller, { control: form.control, name: "promo", render: (o) => (_jsx(AvailablePromos, { value: o.field.value, onChange: (value) => {
158
- o.field.onChange(value);
159
- globalStore.depositWithdrawal.setPromo(null);
160
- }, className: "mt-3xl" })) }), _jsx(Button, { type: "submit", className: "mt-3xl", disabled: createDepositMutation.isPending, children: "Deposit" }), _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" }), "."] }), _jsx(AlertDialog.Root, { open: disclosure.open, onOpenChange: (details) => {
161
- disclosure.setOpen(details.open);
162
- if (!details.open) {
163
- setStatus('waiting');
164
- form.reset();
165
- }
166
- }, 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, { children: _jsx(XIcon, {}) }), _jsxs(AlertDialog.Header, { children: [status === 'processing' && (_jsx(SpinnerIcon, { className: "size-12 text-text-brand-primary-600" })), status === '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, {}) })), status === 'failed' && (_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: [_jsxs(AlertDialog.Title, { children: [status === 'processing' && 'Processing Deposit', status === 'success' && 'Deposit Successful', status === 'failed' && 'Deposit Failed'] }), _jsxs(AlertDialog.Description, { children: [status === 'processing' &&
167
- "We're verifying your account and amount. Please hold a moment.", status === 'success' && (_jsxs(_Fragment, { children: ["Your deposit has been successfully processed. ", _jsx("br", {}), " If you are not redirected automatically, click", ' ', !!createDepositMutation.data?.checkoutUrl && (_jsx("a", { href: createDepositMutation.data?.checkoutUrl, target: "_blank", rel: "noopener noreferrer", className: "text-text-brand underline underline-offset-2", children: "here" })), "."] })), status === 'failed' &&
168
- explainError(createDepositMutation?.error?.name)] })] }), (status === 'failed' || status === 'success') && (_jsx(AlertDialog.Footer, { children: _jsx(AlertDialog.Context, { children: (api) => (_jsx(Button, { onClick: () => {
169
- api.setOpen(false);
170
- }, children: status === 'failed' ? 'Try Again' : 'Ok' })) }) }))] }) })] }) })] }));
171
- }
@@ -1 +0,0 @@
1
- export declare function AiOPayMayaDeposit(): import("react/jsx-runtime").JSX.Element;