@opexa/portal-components 0.0.218 → 0.0.220
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.
- package/dist/client/hooks/useCreateDigitainGameSessionMutatio.d.ts +1 -1
- package/dist/client/hooks/useCreateDigitainGameSessionMutatio.js +8 -2
- package/dist/components/DepositWithdrawal/Deposit/PisoPayDeposit/PisoPayDeposit.js +9 -6
- package/dist/components/DepositWithdrawal/Withdrawal/PisoPayWithdrawal/PisoPayWithdrawal.js +4 -1
- package/dist/components/DigitainLauncher/DigitainLauncher.d.ts +4 -0
- package/dist/components/DigitainLauncher/DigitainLauncher.js +13 -0
- package/dist/components/DigitainLauncher/DigitianContainter.d.ts +5 -0
- package/dist/components/DigitainLauncher/DigitianContainter.js +40 -0
- package/dist/components/DigitainLauncher/types.d.ts +49 -0
- package/dist/components/DigitainLauncher/types.js +1 -0
- package/dist/components/DigitainLauncher/utils.d.ts +3 -0
- package/dist/components/DigitainLauncher/utils.js +63 -0
- package/dist/components/FavoriteGames/FavoriteGames.client.js +7 -2
- package/dist/components/Games/Game.js +2 -2
- package/dist/components/shared/IdDocumentField.d.ts +9 -0
- package/dist/components/shared/IdDocumentField.js +41 -0
- package/dist/components/shared/SelfieField.d.ts +9 -0
- package/dist/components/shared/SelfieField.js +39 -0
- package/dist/services/queries.d.ts +3 -3
- package/dist/services/queries.js +17 -4
- package/dist/services/wallet.d.ts +4 -2
- package/dist/services/wallet.js +3 -4
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { FavoriteGame, Game, GameSession, Mutation } from '../../types';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const useCreateDigitainGameSessionMutation: Mutation<GameSession | null, Game | FavoriteGame>;
|
|
@@ -6,13 +6,19 @@ import { createGameSession, getGameSession } from '../../services/wallet.js';
|
|
|
6
6
|
import { createPoll } from '../../utils/createPoll.js';
|
|
7
7
|
import { getCreateDigitainGameSessionMutationKey } from '../../utils/mutationKeys.js';
|
|
8
8
|
import { getSession } from '../services/getSession.js';
|
|
9
|
-
|
|
9
|
+
import { useSessionQuery } from './useSessionQuery.js';
|
|
10
|
+
export const useCreateDigitainGameSessionMutation = (config) => {
|
|
11
|
+
const session = useSessionQuery();
|
|
10
12
|
return useMutation({
|
|
11
13
|
...config,
|
|
12
|
-
mutationKey:
|
|
14
|
+
mutationKey: [
|
|
15
|
+
getCreateDigitainGameSessionMutationKey(),
|
|
16
|
+
session.data?.status,
|
|
17
|
+
],
|
|
13
18
|
mutationFn: async (game) => {
|
|
14
19
|
const id = ObjectId.generate(ObjectType.GameSession).toString();
|
|
15
20
|
const session = await getSession();
|
|
21
|
+
console.log('Creating Digitain game session');
|
|
16
22
|
invariant(session.status === 'authenticated');
|
|
17
23
|
await createGameSession({
|
|
18
24
|
id,
|
|
@@ -146,16 +146,19 @@ export function PisoPayDeposit() {
|
|
|
146
146
|
});
|
|
147
147
|
}
|
|
148
148
|
}, [form, minimumAmount]);
|
|
149
|
-
const depositId = ObjectId.generate(ObjectType.Deposit).toString();
|
|
150
|
-
const url = new URL(window.location.href);
|
|
151
|
-
const rootDomain = url.hostname;
|
|
152
149
|
return (_jsxs("form", { onSubmit: form.handleSubmit(async (data) => {
|
|
150
|
+
const id = ObjectId.generate(ObjectType.Deposit).toString();
|
|
151
|
+
const domain = window.location.hostname === 'localhost'
|
|
152
|
+
? 'https://uat.powerplay.ph'
|
|
153
|
+
: window.location.origin;
|
|
153
154
|
createDepositMutation.reset();
|
|
154
155
|
createDepositMutation.mutate({
|
|
155
|
-
id
|
|
156
|
+
id,
|
|
156
157
|
amount: data.amount.toString(),
|
|
157
|
-
|
|
158
|
-
|
|
158
|
+
redirectionUrl: `${domain}/pisopay/checkout/${id}`,
|
|
159
|
+
...(data.promo && {
|
|
160
|
+
promo: data.promo,
|
|
161
|
+
}),
|
|
159
162
|
});
|
|
160
163
|
}), 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) => {
|
|
161
164
|
o.field.onChange(details.value);
|
|
@@ -78,7 +78,10 @@ export function PisoPayWithdrawal() {
|
|
|
78
78
|
.string()
|
|
79
79
|
.min(8, 'Password must be 8 or more characters')
|
|
80
80
|
.max(64, 'Password must be not be more than 64 characters'),
|
|
81
|
-
accountNumber: z
|
|
81
|
+
accountNumber: z
|
|
82
|
+
.string()
|
|
83
|
+
.min(4, 'Account number must be 4 or more characters')
|
|
84
|
+
.trim(),
|
|
82
85
|
bankCode: z.string().min(1, 'Bank is required').trim(),
|
|
83
86
|
});
|
|
84
87
|
const form = useForm({
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import Script from 'next/script';
|
|
3
|
+
import { getSession } from '../../server/services/getSession.js';
|
|
4
|
+
import { DigitainContainer } from './DigitianContainter.js';
|
|
5
|
+
import { defaultDigitainParams, getDigitainLaunchToken } from './utils.js';
|
|
6
|
+
export async function DigitainLauncher(props) {
|
|
7
|
+
const session = await getSession();
|
|
8
|
+
const params = defaultDigitainParams;
|
|
9
|
+
if (session.status === 'authenticated') {
|
|
10
|
+
params.token = await getDigitainLaunchToken();
|
|
11
|
+
}
|
|
12
|
+
return (_jsxs(_Fragment, { children: [_jsx(Script, { src: `//${props.hostname}/js/partner/bootstrapper.min.js` }), _jsx(DigitainContainer, { params: params })] }));
|
|
13
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useEffect, useState } from 'react';
|
|
4
|
+
import { useCreateDigitainGameSessionMutation } from '../../client/hooks/useCreateDigitainGameSessionMutatio.js';
|
|
5
|
+
import { useSessionQuery } from '../../client/hooks/useSessionQuery.js';
|
|
6
|
+
export function DigitainContainer(props) {
|
|
7
|
+
const session = useSessionQuery();
|
|
8
|
+
const [loading, setLoading] = useState(false);
|
|
9
|
+
const [sportsBookLoaded, setSportsBookLoaded] = useState(false);
|
|
10
|
+
const digitainSession = useCreateDigitainGameSessionMutation();
|
|
11
|
+
useEffect(() => {
|
|
12
|
+
console.log('did account change?', session.data?.status);
|
|
13
|
+
setLoading(true);
|
|
14
|
+
let attempts = 0;
|
|
15
|
+
const maxAttempts = 5; // e.g. wait up to ~10 seconds
|
|
16
|
+
console.log('Waiting for Bootstrapper to load...');
|
|
17
|
+
function checkAndBoot() {
|
|
18
|
+
if (typeof window !== 'undefined' && window.Bootstrapper) {
|
|
19
|
+
const params = {
|
|
20
|
+
...props.params,
|
|
21
|
+
token: digitainSession.data?.launchUrl,
|
|
22
|
+
};
|
|
23
|
+
window.Bootstrapper.boot(params, { name: 'AsianView' }).then(() => {
|
|
24
|
+
console.log('Sportsbook booted!');
|
|
25
|
+
});
|
|
26
|
+
setLoading(false);
|
|
27
|
+
setSportsBookLoaded(true);
|
|
28
|
+
clearInterval(intervalId);
|
|
29
|
+
}
|
|
30
|
+
else if (++attempts >= maxAttempts) {
|
|
31
|
+
setLoading(false);
|
|
32
|
+
console.warn('Bootstrapper did not load in time.');
|
|
33
|
+
clearInterval(intervalId);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const intervalId = setInterval(checkAndBoot, 500);
|
|
37
|
+
return () => clearInterval(intervalId);
|
|
38
|
+
}, [props.params, session.data?.status, digitainSession.data?.launchUrl]);
|
|
39
|
+
return _jsx("div", { id: "digitain-container" });
|
|
40
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export interface DigitainBootstrapperParams {
|
|
2
|
+
server: string;
|
|
3
|
+
containerId: string;
|
|
4
|
+
token: string;
|
|
5
|
+
parent?: string[];
|
|
6
|
+
sportPartner?: string;
|
|
7
|
+
defaultLanguage?: string;
|
|
8
|
+
projectTheme?: 'default' | 'alternative';
|
|
9
|
+
view?: string;
|
|
10
|
+
bottomNavBar?: boolean;
|
|
11
|
+
oddsFormatList?: [0 | 1 | 2 | 3 | 4 | 5];
|
|
12
|
+
oddsFormat?: 0 | 1 | 2 | 3 | 4 | 5;
|
|
13
|
+
zIndex?: {
|
|
14
|
+
closed?: number;
|
|
15
|
+
opened?: number;
|
|
16
|
+
fullOpened?: number;
|
|
17
|
+
};
|
|
18
|
+
initialRoute?: {
|
|
19
|
+
path: string;
|
|
20
|
+
qs?: Record<string, string | number | boolean | undefined | null>;
|
|
21
|
+
hashData?: string;
|
|
22
|
+
};
|
|
23
|
+
betslipBookNumber?: number;
|
|
24
|
+
betslipCopyLinkUrl?: string;
|
|
25
|
+
}
|
|
26
|
+
interface BootstrapperOptions {
|
|
27
|
+
name: 'Mobile' | 'AsianView' | 'EsportView' | 'LatinoView' | 'ModernView' | 'SimpleEast';
|
|
28
|
+
}
|
|
29
|
+
interface SportAppEventData {
|
|
30
|
+
path?: string;
|
|
31
|
+
qs?: Record<string, unknown>;
|
|
32
|
+
hashData?: string;
|
|
33
|
+
additionalData?: Record<string, unknown>;
|
|
34
|
+
}
|
|
35
|
+
type SportAppEventListener = (event: {
|
|
36
|
+
data: SportAppEventData;
|
|
37
|
+
}) => void;
|
|
38
|
+
interface SportAppInstance {
|
|
39
|
+
dispatchEvent: (eventName: 'sportAppEventDispatch', payload: {
|
|
40
|
+
type: number;
|
|
41
|
+
message?: unknown;
|
|
42
|
+
command?: unknown;
|
|
43
|
+
}) => void;
|
|
44
|
+
addEventListener: (eventName: 'sportAppEventDispatch', listener: SportAppEventListener) => void;
|
|
45
|
+
}
|
|
46
|
+
export interface DigitiainBootstrapperInterface {
|
|
47
|
+
boot: (params: DigitainBootstrapperParams, options: BootstrapperOptions) => Promise<SportAppInstance>;
|
|
48
|
+
}
|
|
49
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ObjectId } from '@opexa/object-id';
|
|
2
|
+
import { env } from 'process';
|
|
3
|
+
import invariant from 'tiny-invariant';
|
|
4
|
+
import { getSession } from '../../server/services/getSession.js';
|
|
5
|
+
import { getGames } from '../../services/cmsPortal.js';
|
|
6
|
+
import { ObjectType } from '../../services/ObjectType.js';
|
|
7
|
+
import { createGameSession, getGameSession } from '../../services/wallet.js';
|
|
8
|
+
import { createPoll } from '../../utils/createPoll.js';
|
|
9
|
+
export const defaultDigitainParams = {
|
|
10
|
+
server: env.NEXT_PUBLIC_ENVIRONMENT === 'development'
|
|
11
|
+
? 'sport-uat.ofwin.fun'
|
|
12
|
+
: 'sport.ofwin.fun',
|
|
13
|
+
containerId: 'digitain-container',
|
|
14
|
+
token: '',
|
|
15
|
+
defaultLanguage: 'en',
|
|
16
|
+
oddsFormatList: [2],
|
|
17
|
+
oddsFormat: 2,
|
|
18
|
+
zIndex: {
|
|
19
|
+
closed: 1990,
|
|
20
|
+
opened: 1923,
|
|
21
|
+
fullOpened: 1827,
|
|
22
|
+
},
|
|
23
|
+
initialRoute: {
|
|
24
|
+
path: '/results',
|
|
25
|
+
hashData: '',
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
export const getDigitainLaunchToken = async () => {
|
|
29
|
+
const session = await getSession();
|
|
30
|
+
const digitainGameQuery = await getGames({
|
|
31
|
+
filter: {
|
|
32
|
+
provider: {
|
|
33
|
+
equal: 'DIGITAIN',
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
const digitainGame = digitainGameQuery.edges[0]?.node;
|
|
38
|
+
const sessionId = ObjectId.generate(ObjectType.GameSession).toString();
|
|
39
|
+
await createGameSession({
|
|
40
|
+
game: digitainGame.reference,
|
|
41
|
+
id: sessionId,
|
|
42
|
+
}, {
|
|
43
|
+
headers: {
|
|
44
|
+
Authorization: `Bearer ${session.token}`,
|
|
45
|
+
...(session.domain && {
|
|
46
|
+
Domain: session.domain,
|
|
47
|
+
}),
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
const gameSession = await createPoll(async () => {
|
|
51
|
+
invariant(session.status === 'authenticated');
|
|
52
|
+
return await getGameSession(sessionId, {
|
|
53
|
+
headers: {
|
|
54
|
+
Authorization: `Bearer ${session.token}`,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
}, {
|
|
58
|
+
until: (r) => !!r?.launchOptions,
|
|
59
|
+
interval: 1000,
|
|
60
|
+
maxAttempt: 5,
|
|
61
|
+
})();
|
|
62
|
+
return gameSession?.launchOptions?.token || '';
|
|
63
|
+
};
|
|
@@ -18,7 +18,12 @@ import { GameLaunchTrigger } from '../GameLaunch/index.js';
|
|
|
18
18
|
export function FavoriteGames__client(props) {
|
|
19
19
|
const [emblaRef, emblaApi] = useEmblaCarousel({
|
|
20
20
|
align: 'start',
|
|
21
|
-
slidesToScroll:
|
|
21
|
+
slidesToScroll: 3,
|
|
22
|
+
breakpoints: {
|
|
23
|
+
'(min-width: 1024px)': {
|
|
24
|
+
slidesToScroll: 6,
|
|
25
|
+
},
|
|
26
|
+
},
|
|
22
27
|
});
|
|
23
28
|
const [prevBtnDisabled, setPrevBtnDisabled] = useState(true);
|
|
24
29
|
const [nextBtnDisabled, setNextBtnDisabled] = useState(true);
|
|
@@ -63,7 +68,7 @@ function Item({ game, className, }) {
|
|
|
63
68
|
});
|
|
64
69
|
},
|
|
65
70
|
});
|
|
66
|
-
return (_jsxs(GameLaunchTrigger, { game: game, className: twMerge('relative block w-full shadow-sm', className?.thumbnailRoot), children: [session?.status === 'authenticated' && (_jsx("div", { role: "button", onClick: (e) => {
|
|
71
|
+
return (_jsxs(GameLaunchTrigger, { game: game, className: twMerge('animate-scale-in relative block w-full shadow-sm transition-transform duration-200 hover:-translate-y-1', className?.thumbnailRoot), children: [session?.status === 'authenticated' && (_jsx("div", { role: "button", onClick: (e) => {
|
|
67
72
|
e.preventDefault();
|
|
68
73
|
e.stopPropagation();
|
|
69
74
|
if (unmarkGameAsFavoriteMutation.isPending)
|
|
@@ -49,7 +49,7 @@ export function Game(props) {
|
|
|
49
49
|
const classNames = isString(props.className)
|
|
50
50
|
? { root: props.className }
|
|
51
51
|
: (props.className ?? {});
|
|
52
|
-
return (_jsxs(GameLaunchTrigger, { game: game, className: twMerge('animate-scale-in relative block w-full shadow-sm', classNames.root), "aria-label": `Play ${game.name} game`, children: [props.badge === 'new' && (_jsx(BadgeNew, { className: "absolute left-0 top-0 size-[3.75rem]" })), props.badge === 'top' && (_jsx(BadgeTop, { className: "absolute left-0 top-0 size-[3.75rem]" })), props.badge === 'popular' && (_jsx(BadgePopular, { className: "absolute left-0 top-0 size-[3.75rem]" })), session?.status === 'authenticated' && (_jsx("div", { role: "button", onClick: (e) => {
|
|
52
|
+
return (_jsxs(GameLaunchTrigger, { game: game, className: twMerge('animate-scale-in group relative block w-full shadow-sm transition-transform duration-200 md:hover:-translate-y-1', classNames.root), "aria-label": `Play ${game.name} game`, children: [props.badge === 'new' && (_jsx(BadgeNew, { className: "absolute left-0 top-0 size-[3.75rem]" })), props.badge === 'top' && (_jsx(BadgeTop, { className: "absolute left-0 top-0 size-[3.75rem]" })), props.badge === 'popular' && (_jsx(BadgePopular, { className: "absolute left-0 top-0 size-[3.75rem]" })), session?.status === 'authenticated' && (_jsx("div", { role: "button", onClick: (e) => {
|
|
53
53
|
e.preventDefault();
|
|
54
54
|
e.stopPropagation();
|
|
55
55
|
if (markGameAsFavoriteMutation.isPending)
|
|
@@ -65,7 +65,7 @@ export function Game(props) {
|
|
|
65
65
|
}, "aria-label": markedAsFavorite
|
|
66
66
|
? 'Unmark as favorite game'
|
|
67
67
|
: 'Mark as favorite game', "aria-disabled": markGameAsFavoriteMutation.isPending ||
|
|
68
|
-
unmarkGameAsFavoriteMutation.isPending, className: "rounded-xs absolute right-2 top-2 flex size-9 items-center justify-center bg-black/65 blur-[0.5px]", children: _jsx(Star01Icon, { className: twMerge('size-5', markedAsFavorite
|
|
68
|
+
unmarkGameAsFavoriteMutation.isPending, className: "rounded-xs absolute right-2 top-2 flex size-9 items-center justify-center bg-black/65 opacity-100 blur-[0.5px] transition-opacity duration-200 md:opacity-0 md:group-hover:opacity-100", children: _jsx(Star01Icon, { className: twMerge('hover:text-yellow-400 size-5 text-white transition-colors duration-200', markedAsFavorite
|
|
69
69
|
? 'fill-yellow-400 text-yellow-400'
|
|
70
70
|
: 'text-white') }) })), _jsx(Image, { src: getGameImageUrl({
|
|
71
71
|
reference: game.reference,
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
export interface IdDocumentFieldProps {
|
|
3
|
+
value?: string;
|
|
4
|
+
onChange?: (value: string) => void;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
export declare function IdDocumentField(props: IdDocumentFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import { useControllableState } from '../../client/hooks/useControllableState.js';
|
|
5
|
+
import { useFileQuery } from '../../client/hooks/useFileQuery.js';
|
|
6
|
+
import { useUploadImageFileMutation } from '../../client/hooks/useUploadImageFileMutation.js';
|
|
7
|
+
import { toaster } from '../../client/utils/toaster.js';
|
|
8
|
+
export function IdDocumentField(props) {
|
|
9
|
+
const [value, setValue] = useControllableState({
|
|
10
|
+
value: props.value,
|
|
11
|
+
defaultValue: props.defaultValue ?? '',
|
|
12
|
+
onChange: props.onChange,
|
|
13
|
+
});
|
|
14
|
+
const fileQuery = useFileQuery(value, {
|
|
15
|
+
refetchInterval(ctx) {
|
|
16
|
+
return !ctx.state.data || ctx.state.data.status === 'UPLOADING'
|
|
17
|
+
? 1000
|
|
18
|
+
: false;
|
|
19
|
+
},
|
|
20
|
+
});
|
|
21
|
+
const uploadImageFileMutation = useUploadImageFileMutation({
|
|
22
|
+
onSuccess(id) {
|
|
23
|
+
setValue(id);
|
|
24
|
+
},
|
|
25
|
+
onMutate() {
|
|
26
|
+
setValue('');
|
|
27
|
+
},
|
|
28
|
+
onError(error) {
|
|
29
|
+
toaster.error({
|
|
30
|
+
title: 'Upload Failed',
|
|
31
|
+
description: error.message,
|
|
32
|
+
});
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
return (_jsx("div", { className: twMerge('relative', props.className), style: props.style, children: _jsx("input", { type: "file", accept: "image/png,image/jpeg,image/jpg", onChange: (e) => {
|
|
36
|
+
const file = e.target.files?.[0];
|
|
37
|
+
if (file) {
|
|
38
|
+
uploadImageFileMutation.mutate({ file });
|
|
39
|
+
}
|
|
40
|
+
}, className: "sr-only" }) }));
|
|
41
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react';
|
|
2
|
+
export interface SelfieFieldProps {
|
|
3
|
+
value?: string;
|
|
4
|
+
onChange?: (value: string) => void;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
className?: string;
|
|
7
|
+
style?: CSSProperties;
|
|
8
|
+
}
|
|
9
|
+
export declare function SelfieField(props: SelfieFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { twMerge } from 'tailwind-merge';
|
|
4
|
+
import { useControllableState } from '../../client/hooks/useControllableState.js';
|
|
5
|
+
import { useFileQuery } from '../../client/hooks/useFileQuery.js';
|
|
6
|
+
import { useUploadImageFileMutation } from '../../client/hooks/useUploadImageFileMutation.js';
|
|
7
|
+
import { toaster } from '../../client/utils/toaster.js';
|
|
8
|
+
export function SelfieField(props) {
|
|
9
|
+
const [value, setValue] = useControllableState({
|
|
10
|
+
value: props.value,
|
|
11
|
+
defaultValue: props.defaultValue ?? '',
|
|
12
|
+
onChange: props.onChange,
|
|
13
|
+
});
|
|
14
|
+
const fileQuery = useFileQuery(value, {
|
|
15
|
+
refetchInterval({ state }) {
|
|
16
|
+
return !state.data || state.data.status === 'UPLOADING' ? 1000 : false;
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
const uploadImageFileMutation = useUploadImageFileMutation({
|
|
20
|
+
onSuccess(id) {
|
|
21
|
+
setValue(id);
|
|
22
|
+
},
|
|
23
|
+
onMutate() {
|
|
24
|
+
setValue('');
|
|
25
|
+
},
|
|
26
|
+
onError(error) {
|
|
27
|
+
toaster.error({
|
|
28
|
+
title: 'Upload Failed',
|
|
29
|
+
description: error.message,
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
});
|
|
33
|
+
return (_jsx("div", { className: twMerge('relative', props.className), style: props.style, children: _jsx("input", { type: "file", accept: "image/png,image/jpeg,image/jpg", onChange: (e) => {
|
|
34
|
+
const file = e.target.files?.[0];
|
|
35
|
+
if (file) {
|
|
36
|
+
uploadImageFileMutation.mutate({ file });
|
|
37
|
+
}
|
|
38
|
+
}, className: "sr-only" }) }));
|
|
39
|
+
}
|
|
@@ -19,7 +19,7 @@ export declare const CREATE_MAYA_APP_WITHDRAWAL = "\n mutation CreateMayaAppWit
|
|
|
19
19
|
export declare const CREATE_BANK_WITHDRAWAL = "\n mutation CreateBankWithdrawal($input: CreateBankWithdrawalInput!) {\n createBankWithdrawal(input: $input) {\n ... on MobileNumberNotVerifiedError {\n name: __typename\n message\n }\n }\n }\n";
|
|
20
20
|
export declare const CREATE_AIO_INSTAPAY_WITHDRAWAL = "\n mutation CreateAIOInstapayWithdrawal(\n $input: CreateAIOInstapayWithdrawalInput!\n ) {\n createAIOInstapayWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on InvalidTransactionPasswordError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on TransactionPasswordNotSetError {\n name: __typename\n message\n }\n }\n }\n";
|
|
21
21
|
export declare const CREATE_VENTAJA_WITHDRAWAL = "\n mutation CreateVentajaWithdrawal($input: CreateVentajaWithdrawalInput!) {\n createVentajaWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
22
|
-
export declare const CREATE_PISO_PAY_WITHDRAWAL = "\n mutation CreatePisopayWithdrawal($input:
|
|
22
|
+
export declare const CREATE_PISO_PAY_WITHDRAWAL = "\n mutation CreatePisopayWithdrawal(\n $input: CreatePisoPayRemittanceWithdrawalInput!\n $transactionPassword: String!\n ) {\n createPisoPayRemittanceWithdrawal(\n input: $input\n transactionPassword: $transactionPassword\n ) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on InvalidTransactionPasswordError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on TransactionPasswordNotSetError {\n name: __typename\n message\n }\n }\n }\n";
|
|
23
23
|
export declare const CREATE_MANUAL_UPI_WITHDRAWAL = "\n mutation CreateManualUPIWithdrawal($input: CreateManualUPIWithdrawalInput!) {\n createManualUPIWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
24
24
|
export declare const CREATE_MANUAL_BANK_WITHDRAWAL = "\n mutation CreateManualBankWithdrawal(\n $input: CreateManualBankWithdrawalInput!\n ) {\n createManualBankWithdrawal(input: $input) {\n ... on AccountNotVerifiedError {\n name: __typename\n message\n }\n ... on InvalidWithdrawalAmountError {\n name: __typename\n message\n }\n ... on WithdrawalDailyLimitExceededError {\n name: __typename\n message\n }\n ... on NotEnoughBalanceError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
25
25
|
export declare const INSTAPAY_BANK_LIST = "\n query InstapayBankList {\n instapayBankList {\n id\n code\n name\n }\n }\n";
|
|
@@ -28,14 +28,14 @@ export declare const DEPOSIT_RECORDS = "\n query DepositRecords(\n $after: C
|
|
|
28
28
|
export declare const CREATE_GCASH_DEPOSIT = "\n mutation CreateGCashDeposit($input: CreateGCashDepositInput!) {\n createGCashDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on ReCAPTCHAVerificationFailedError {\n name: __typename\n message\n }\n }\n }\n";
|
|
29
29
|
export declare const CREATE_GCASH_DIRECT_WEBPAY_DEPOSIT = "\n mutation CreateGCashDirectWebpayDeposit(\n $input: CreateGCashDirectWebpayDepositInput!\n ) {\n createGCashDirectWebpayDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
30
30
|
export declare const CREATE_LIBANGAN_DEPOSIT = "\n mutation CreateLibanganDeposit($input: CreateLibanganDepositInput!) {\n createLibanganDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
31
|
-
export declare const CREATE_PISO_PAY_DEPOSIT = "\n mutation CreatePisoPayDeposit($input:
|
|
31
|
+
export declare const CREATE_PISO_PAY_DEPOSIT = "\n mutation CreatePisoPayDeposit($input: CreatePisoPayCheckoutDepositInput!) {\n createPisoPayCheckoutDeposit(input: $input) {\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n }\n }\n";
|
|
32
32
|
export declare const CREATE_MAYA_DEPOSIT = "\n mutation CreateMayaDeposit($input: CreateMayaDepositInput!) {\n createMayaDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
33
33
|
export declare const CREATE_MAYA_APP_DEPOSIT = "\n mutation CreateMayaAppDeposit($input: CreateMayaAppDepositInput!) {\n createMayaAppDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
34
34
|
export declare const CREATE_AIO_QRPH_DEPOSIT = "\n mutation CreateAIOQRPHDeposit($input: CreateAIOQRPHDepositInput!) {\n createAIOQRPHDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on ReCAPTCHAVerificationFailedError {\n name: __typename\n message\n }\n }\n }\n";
|
|
35
35
|
export declare const CREATE_AIO_ONLINE_BANK_DEPOSIT = "\n mutation CreateAIOOnlineBankDeposit(\n $input: CreateAIOOnlineBankDepositInput!\n ) {\n createAIOOnlineBankDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n }\n }\n";
|
|
36
36
|
export declare const CREATE_MANUAL_BANK_DEPOSIT = "\n mutation CreateManualBankDeposit($input: CreateManualBankDepositInput!) {\n createManualBankDeposit(input: $input) {\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on FileDoesNotExistError {\n name: __typename\n message\n }\n ... on FileNotReadyError {\n name: __typename\n message\n }\n }\n }\n";
|
|
37
37
|
export declare const CREATE_MANUAL_UPI_DEPOSIT = "\n mutation CreateManualUPIDeposit($input: CreateManualUPIDepositInput!) {\n createManualUPIDeposit(input: $input) {\n ... on DepositPromoMaximumAmountExceededError {\n name: __typename\n message\n }\n ... on DepositPromoMinimumAmountNotMetError {\n name: __typename\n message\n }\n ... on MaximumDepositAmountExceededError {\n name: __typename\n message\n }\n ... on MinimumDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on MinimumFirstDepositAmountNotMetError {\n name: __typename\n message\n }\n ... on PromoNotEnabledError {\n name: __typename\n message\n }\n ... on WalletDoesNotExistError {\n name: __typename\n message\n }\n ... on UPIReferenceNotAvailableError {\n name: __typename\n message\n }\n }\n }\n";
|
|
38
|
-
export declare const DEPOSIT = "\n query Deposit($id: ObjectId!) {\n node(id: $id) {\n ... on GCashDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n ... on MayaDeposit {\n id\n type\n status\n checkoutUrl\n }\n ... on MayaAppDeposit {\n id\n type\n status\n error\n }\n ... on BankDeposit {\n id\n type\n status\n error\n }\n ... on ManualDeposit {\n id\n type\n status\n error\n }\n ... on QRPHDeposit {\n id\n type\n status\n qrCode\n error\n }\n ... on OnlineBankDeposit {\n id\n type\n status\n vca\n error\n }\n ... on GCashDirectWebpayDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n ... on LibanganDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n }\n }\n";
|
|
38
|
+
export declare const DEPOSIT = "\n query Deposit($id: ObjectId!) {\n node(id: $id) {\n ... on GCashDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n ... on MayaDeposit {\n id\n type\n status\n checkoutUrl\n }\n ... on MayaAppDeposit {\n id\n type\n status\n error\n }\n ... on BankDeposit {\n id\n type\n status\n error\n }\n ... on ManualDeposit {\n id\n type\n status\n error\n }\n ... on QRPHDeposit {\n id\n type\n status\n qrCode\n error\n }\n ... on OnlineBankDeposit {\n id\n type\n status\n vca\n error\n }\n ... on GCashDirectWebpayDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n ... on LibanganDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n ... on PisoPayCheckoutDeposit {\n id\n type\n status\n checkoutUrl\n error\n }\n }\n }\n";
|
|
39
39
|
export declare const DEPOSITS_COUNT = "\n query DepositsCount {\n member {\n depositsCount\n }\n }\n";
|
|
40
40
|
export declare const TOUCH_GCASH_DEPOSIT = "\n mutation TouchGCashDeposit($input: TouchGCashDepositInput!) {\n touchGCashDeposit(input: $input)\n }\n";
|
|
41
41
|
export declare const TOUCH_QRPH_DEPOSIT = "\n mutation TouchQRPHDeposit($input: TouchQRPHDepositInput!) {\n touchQRPHDeposit(input: $input)\n }\n";
|
package/dist/services/queries.js
CHANGED
|
@@ -491,8 +491,14 @@ export const CREATE_VENTAJA_WITHDRAWAL = /* GraphQL */ `
|
|
|
491
491
|
}
|
|
492
492
|
`;
|
|
493
493
|
export const CREATE_PISO_PAY_WITHDRAWAL = /* GraphQL */ `
|
|
494
|
-
mutation CreatePisopayWithdrawal(
|
|
495
|
-
|
|
494
|
+
mutation CreatePisopayWithdrawal(
|
|
495
|
+
$input: CreatePisoPayRemittanceWithdrawalInput!
|
|
496
|
+
$transactionPassword: String!
|
|
497
|
+
) {
|
|
498
|
+
createPisoPayRemittanceWithdrawal(
|
|
499
|
+
input: $input
|
|
500
|
+
transactionPassword: $transactionPassword
|
|
501
|
+
) {
|
|
496
502
|
... on AccountNotVerifiedError {
|
|
497
503
|
name: __typename
|
|
498
504
|
message
|
|
@@ -736,8 +742,8 @@ export const CREATE_LIBANGAN_DEPOSIT = /* GraphQL */ `
|
|
|
736
742
|
}
|
|
737
743
|
`;
|
|
738
744
|
export const CREATE_PISO_PAY_DEPOSIT = /* GraphQL */ `
|
|
739
|
-
mutation CreatePisoPayDeposit($input:
|
|
740
|
-
|
|
745
|
+
mutation CreatePisoPayDeposit($input: CreatePisoPayCheckoutDepositInput!) {
|
|
746
|
+
createPisoPayCheckoutDeposit(input: $input) {
|
|
741
747
|
... on WalletDoesNotExistError {
|
|
742
748
|
name: __typename
|
|
743
749
|
message
|
|
@@ -1053,6 +1059,13 @@ export const DEPOSIT = /* GraphQL */ `
|
|
|
1053
1059
|
checkoutUrl
|
|
1054
1060
|
error
|
|
1055
1061
|
}
|
|
1062
|
+
... on PisoPayCheckoutDeposit {
|
|
1063
|
+
id
|
|
1064
|
+
type
|
|
1065
|
+
status
|
|
1066
|
+
checkoutUrl
|
|
1067
|
+
error
|
|
1068
|
+
}
|
|
1056
1069
|
}
|
|
1057
1070
|
}
|
|
1058
1071
|
`;
|
|
@@ -300,10 +300,12 @@ export interface CreatePisoPayWithdrawalMutationVariables {
|
|
|
300
300
|
amount: string;
|
|
301
301
|
bankCode: string;
|
|
302
302
|
accountNumber: string;
|
|
303
|
-
transactionPassword: string;
|
|
304
303
|
};
|
|
304
|
+
transactionPassword: string;
|
|
305
305
|
}
|
|
306
|
-
export type CreatePisoPayWithdrawalInput = Simplify<CreatePisoPayWithdrawalMutationVariables['input']
|
|
306
|
+
export type CreatePisoPayWithdrawalInput = Simplify<CreatePisoPayWithdrawalMutationVariables['input'] & {
|
|
307
|
+
transactionPassword: string;
|
|
308
|
+
}>;
|
|
307
309
|
export declare const createPisoPayWithdrawal: (input: CreatePisoPayWithdrawalInput, options?: GraphQLRequestOptions) => Promise<void>;
|
|
308
310
|
export interface CreateMayaWithdrawalMutation {
|
|
309
311
|
createMayaWithdrawal?: null | CreateWithdrawalError;
|
package/dist/services/wallet.js
CHANGED
|
@@ -202,11 +202,10 @@ export const createGCashWithdrawal = async (input, options) => {
|
|
|
202
202
|
}
|
|
203
203
|
};
|
|
204
204
|
export const createPisoPayWithdrawal = async (input, options) => {
|
|
205
|
+
const { transactionPassword, ...others } = input;
|
|
205
206
|
const res = await graphqlRequest(WALLET_GRAPHQL_ENDPOINT, CREATE_PISO_PAY_WITHDRAWAL, {
|
|
206
|
-
input:
|
|
207
|
-
|
|
208
|
-
transactionPassword: await sha256(input.transactionPassword),
|
|
209
|
-
},
|
|
207
|
+
input: others,
|
|
208
|
+
transactionPassword: await sha256(transactionPassword),
|
|
210
209
|
}, options);
|
|
211
210
|
if (res.createPisopayWithdrawal) {
|
|
212
211
|
const error = new Error();
|