@opexa/portal-components 0.0.1055 → 0.0.1057

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.
@@ -0,0 +1,2 @@
1
+ import type { Query } from '../../types';
2
+ export declare const useRestrictWithdrawalsToVerifiedMembersQuery: Query<boolean | null>;
@@ -0,0 +1,31 @@
1
+ import { useQuery } from '@tanstack/react-query';
2
+ import invariant from 'tiny-invariant';
3
+ import { getRestrictWithdrawalsToVerifiedMembers } from '../../services/account.js';
4
+ import { getQueryClient } from '../../utils/getQueryClient.js';
5
+ import { getRestrictWithdrawalsToVerifiedMembersQueryKey, getSessionQueryKey, } from '../../utils/queryKeys.js';
6
+ import { getSession } from '../services/getSession.js';
7
+ import { useSessionQuery } from './useSessionQuery.js';
8
+ export const useRestrictWithdrawalsToVerifiedMembersQuery = (config) => {
9
+ const sessionQuery = useSessionQuery();
10
+ const query = useQuery({
11
+ ...config,
12
+ enabled: config?.enabled === false
13
+ ? false
14
+ : sessionQuery.data?.status === 'authenticated',
15
+ queryKey: getRestrictWithdrawalsToVerifiedMembersQueryKey(),
16
+ queryFn: async ({ signal }) => {
17
+ const session = await getQueryClient().fetchQuery({
18
+ queryKey: getSessionQueryKey(),
19
+ queryFn: async () => getSession(),
20
+ });
21
+ invariant(session.status === 'authenticated');
22
+ return await getRestrictWithdrawalsToVerifiedMembers({
23
+ signal,
24
+ headers: {
25
+ Authorization: `Bearer ${session.token}`,
26
+ },
27
+ });
28
+ },
29
+ });
30
+ return query;
31
+ };
@@ -8,6 +8,7 @@ import { useIsMayaSessionValidQuery } from '../../../client/hooks/useIsMayaSessi
8
8
  import { useMayaAuth } from '../../../client/hooks/useMayaAuth.js';
9
9
  import { useMemberVerificationQuery } from '../../../client/hooks/useMemberVerificationQuery.js';
10
10
  import { usePaymentSettingsQuery } from '../../../client/hooks/usePaymentSettingsQuery.js';
11
+ import { useRestrictWithdrawalsToVerifiedMembersQuery } from '../../../client/hooks/useRestrictWithdrawalsToVerifiedMembersQuery.js';
11
12
  import { useWalletQuery } from '../../../client/hooks/useWalletQuery.js';
12
13
  import { AlertCircleIcon } from '../../../icons/AlertCircleIcon.js';
13
14
  import { SpinnerIcon } from '../../../icons/SpinnerIcon.js';
@@ -57,6 +58,8 @@ export function Withdrawal() {
57
58
  const isMayaSessionValid = isMayaSessionValidQuery.data ?? true;
58
59
  const memberVerificationQuery = useMemberVerificationQuery();
59
60
  const memberVerification = memberVerificationQuery.data;
61
+ const restrictWithdrawalsToVerifiedMembersQuery = useRestrictWithdrawalsToVerifiedMembersQuery();
62
+ const restrictWithdrawalsToVerifiedMembers = restrictWithdrawalsToVerifiedMembersQuery.data ?? false;
60
63
  const enabledPaymentMethods = (() => {
61
64
  const l = [];
62
65
  if (onMaya) {
@@ -148,16 +151,15 @@ export function Withdrawal() {
148
151
  if (parseDecimal(wallet?.balance, 0) < 1) {
149
152
  return _jsx(InsufficientBalance, {});
150
153
  }
154
+ if (memberVerification?.status === 'PENDING') {
155
+ return _jsx(_AccountVerificationPending, {});
156
+ }
151
157
  if (!memberVerification ||
152
158
  (memberVerification.status !== 'APPROVED' &&
153
- memberVerification.status !== 'VERIFIED' &&
154
- memberVerification.status !== 'PENDING') ||
155
- allowUnverifiedAccounts) {
159
+ memberVerification.status !== 'VERIFIED') ||
160
+ (!allowUnverifiedAccounts && restrictWithdrawalsToVerifiedMembers)) {
156
161
  return _jsx(AccountVerificationRequired, {});
157
162
  }
158
- if (memberVerification.status === 'PENDING') {
159
- return _jsx(_AccountVerificationPending, {});
160
- }
161
163
  if (enabledPaymentMethods.length <= 0) {
162
164
  return _jsx(NoAvailablePaymentMethods, {});
163
165
  }
@@ -406,6 +406,10 @@ export interface RequireFirstDepositQuery {
406
406
  export declare const getGoogleClientId: (options?: GraphQLRequestOptions) => Promise<string | null>;
407
407
  export declare const getFacebookClientId: (options?: GraphQLRequestOptions) => Promise<string | null>;
408
408
  export declare const getRequireFirstDeposit: (options?: GraphQLRequestOptions) => Promise<boolean | null>;
409
+ export interface RestrictWithdrawalsToVerifiedMembersQuery {
410
+ restrictWithdrawalsToVerifiedMembers?: boolean | null;
411
+ }
412
+ export declare const getRestrictWithdrawalsToVerifiedMembers: (options?: GraphQLRequestOptions) => Promise<boolean | null>;
409
413
  export interface UnlinkGoogleMutation {
410
414
  unlinkGoogle: boolean;
411
415
  }
@@ -1,7 +1,7 @@
1
1
  import { cache } from 'react';
2
2
  import { ACCOUNT_GRAPHQL_ENDPOINT } from '../constants/index.js';
3
3
  import { graphqlRequest } from './graphqlRequest.js';
4
- import { ANNOUNCEMENTS, APPROVE_MEMBER_VERIFICATION__NEXT, CREATE_MEMBER_VERIFICATION, CREATE_MEMBER_VERIFICATION__NEXT, DELETE_MEMBER_ACCOUNT, FACEBOOK_CLIENT_ID, GENERATE_SUMSUB_VERIFICATION_TOKEN, GOOGLE_CLIENT_ID, MEMBER_ACCOUNT, MEMBER_VERIFICATION, PAYMENT_SETTINGS, POINTS_CLUB_SETTINGS, PROFILE_COMPLETION, REFERRAL_CODE, REGISTER_MAYA_MEMBER_ACCOUNT, REGISTER_MEMBER_ACCOUNT, REGISTER_MEMBER_ACCOUNT__NEXT, REGISTER_MEMBER_ACCOUNT_BY_MOBILE_NUMBER, REGISTER_MEMBER_ACCOUNT_BY_NAME, REGISTER_MEMBER_ACCOUNT_VIA_MOBILE, REQUIRE_FIRST_DEPOSIT, RESET_PASSWORD, UNLINK_FACEBOOK, UNLINK_GOOGLE, UPDATE_MEMBER_ACCOUNT, UPDATE_MEMBER_VERIFICATION, UPDATE_MEMBER_VERIFICATION__NEXT, UPDATE_MOBILE_NUMBER, UPDATE_REFERRAL_CODE, VERIFY_MOBILE_NUMBER, } from './queries.js';
4
+ import { ANNOUNCEMENTS, APPROVE_MEMBER_VERIFICATION__NEXT, CREATE_MEMBER_VERIFICATION, CREATE_MEMBER_VERIFICATION__NEXT, DELETE_MEMBER_ACCOUNT, FACEBOOK_CLIENT_ID, GENERATE_SUMSUB_VERIFICATION_TOKEN, GOOGLE_CLIENT_ID, MEMBER_ACCOUNT, MEMBER_VERIFICATION, PAYMENT_SETTINGS, POINTS_CLUB_SETTINGS, PROFILE_COMPLETION, REFERRAL_CODE, REGISTER_MAYA_MEMBER_ACCOUNT, REGISTER_MEMBER_ACCOUNT, REGISTER_MEMBER_ACCOUNT__NEXT, REGISTER_MEMBER_ACCOUNT_BY_MOBILE_NUMBER, REGISTER_MEMBER_ACCOUNT_BY_NAME, REGISTER_MEMBER_ACCOUNT_VIA_MOBILE, REQUIRE_FIRST_DEPOSIT, RESET_PASSWORD, RESTRICT_WITHDRAWALS_TO_VERIFIED_MEMBERS, UNLINK_FACEBOOK, UNLINK_GOOGLE, UPDATE_MEMBER_ACCOUNT, UPDATE_MEMBER_VERIFICATION, UPDATE_MEMBER_VERIFICATION__NEXT, UPDATE_MOBILE_NUMBER, UPDATE_REFERRAL_CODE, VERIFY_MOBILE_NUMBER, } from './queries.js';
5
5
  import { sha256 } from './sha256.js';
6
6
  export const getMemberAccount = cache(async (options) => {
7
7
  const res = await graphqlRequest(ACCOUNT_GRAPHQL_ENDPOINT, MEMBER_ACCOUNT, undefined, options);
@@ -280,6 +280,10 @@ export const getRequireFirstDeposit = cache(async (options) => {
280
280
  const res = await graphqlRequest(ACCOUNT_GRAPHQL_ENDPOINT, REQUIRE_FIRST_DEPOSIT, undefined, options);
281
281
  return res.requireFirstDeposit ?? null;
282
282
  });
283
+ export const getRestrictWithdrawalsToVerifiedMembers = cache(async (options) => {
284
+ const res = await graphqlRequest(ACCOUNT_GRAPHQL_ENDPOINT, RESTRICT_WITHDRAWALS_TO_VERIFIED_MEMBERS, undefined, options);
285
+ return res.restrictWithdrawalsToVerifiedMembers ?? null;
286
+ });
283
287
  export const unlinkGoogle = async (id, options) => {
284
288
  await graphqlRequest(ACCOUNT_GRAPHQL_ENDPOINT, UNLINK_GOOGLE, { input: { id } }, options);
285
289
  };
@@ -140,6 +140,7 @@ export declare const FAVORITE_GAMES = "\n query FavoriteGames {\n favoriteGa
140
140
  export declare const GOOGLE_CLIENT_ID = "\n query GoogleClientId {\n googleClientId\n }\n";
141
141
  export declare const FACEBOOK_CLIENT_ID = "\n query FacebookClientId {\n facebookClientId\n }\n";
142
142
  export declare const REQUIRE_FIRST_DEPOSIT = "\n query RequireFirstDeposit {\n requireFirstDeposit\n }\n";
143
+ export declare const RESTRICT_WITHDRAWALS_TO_VERIFIED_MEMBERS = "\n query RestrictWithdrawalsToVerifiedMembers {\n restrictWithdrawalsToVerifiedMembers\n }\n";
143
144
  export declare const UNLINK_GOOGLE = "\n mutation UnlinkGoogle($input: UnlinkGoogleInput!) {\n unlinkGoogle(input: $input)\n }\n";
144
145
  export declare const UNLINK_FACEBOOK = "\n mutation UnlinkFacebook($input: UnlinkFacebookInput!) {\n unlinkFacebook(input: $input)\n }\n";
145
146
  export declare const TOURNAMENTS = "\n query Tournaments(\n $first: Int\n $after: Cursor\n $filter: TournamentFilterInput\n ) {\n tournaments(first: $first, after: $after, filter: $filter) {\n totalCount\n pageInfo {\n hasNextPage\n endCursor\n }\n edges {\n node {\n ... on MultiplierTournament {\n id\n type\n name\n winnersCount\n status\n description\n activationStartDateTime\n activationEndDateTime\n topPayouts {\n id\n multiplier\n amount\n member {\n id\n name\n }\n }\n currentLeaderboard {\n totalCount\n edges {\n node {\n ... on TournamentLeaderboard {\n id\n username\n multiplier\n dateTimeCreated\n prize\n }\n }\n }\n }\n previousLeaderboard {\n totalCount\n edges {\n node {\n ... on TournamentLeaderboard {\n id\n username\n multiplier\n dateTimeCreated\n prize\n }\n }\n }\n }\n enabledGameProviders\n frequency\n mode\n mobileBanner {\n id\n url\n mimeType\n }\n webBanner {\n id\n url\n mimeType\n }\n rewardSettings\n }\n }\n }\n }\n }\n";
@@ -3277,6 +3277,11 @@ export const REQUIRE_FIRST_DEPOSIT = /* GraphQL */ `
3277
3277
  requireFirstDeposit
3278
3278
  }
3279
3279
  `;
3280
+ export const RESTRICT_WITHDRAWALS_TO_VERIFIED_MEMBERS = /* GraphQL */ `
3281
+ query RestrictWithdrawalsToVerifiedMembers {
3282
+ restrictWithdrawalsToVerifiedMembers
3283
+ }
3284
+ `;
3280
3285
  export const UNLINK_GOOGLE = /* GraphQL */ `
3281
3286
  mutation UnlinkGoogle($input: UnlinkGoogleInput!) {
3282
3287
  unlinkGoogle(input: $input)
@@ -50,3 +50,4 @@ export declare const getSessionHealthQueryKey: () => QueryKey;
50
50
  export declare const getGoogleClientIdQueryKey: () => QueryKey;
51
51
  export declare const getFacebookClientIdQueryKey: () => QueryKey;
52
52
  export declare const getRequireFirstDepositQueryKey: () => QueryKey;
53
+ export declare const getRestrictWithdrawalsToVerifiedMembersQueryKey: () => QueryKey;
@@ -47,3 +47,4 @@ export const getSessionHealthQueryKey = () => [PARENT_KEY, 'sessionHealth'].filt
47
47
  export const getGoogleClientIdQueryKey = () => [PARENT_KEY, 'googleClientId'].filter(Boolean);
48
48
  export const getFacebookClientIdQueryKey = () => [PARENT_KEY, 'facebookClientId'].filter(Boolean);
49
49
  export const getRequireFirstDepositQueryKey = () => [PARENT_KEY, 'requireFirstDeposit'].filter(Boolean);
50
+ export const getRestrictWithdrawalsToVerifiedMembersQueryKey = () => [PARENT_KEY, 'restrictWithdrawalsToVerifiedMembers'].filter(Boolean);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opexa/portal-components",
3
- "version": "0.0.1055",
3
+ "version": "0.0.1057",
4
4
  "exports": {
5
5
  "./ui/*": {
6
6
  "types": "./dist/ui/*/index.d.ts",