@opexa/portal-components 0.0.576 → 0.0.578

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 (65) hide show
  1. package/dist/client/hooks/useCreateGameSessionMutation.js +1 -1
  2. package/dist/components/Banner/Banner.client.d.ts +12 -0
  3. package/dist/components/Banner/Banner.client.js +49 -0
  4. package/dist/components/Disclaimer/useDisclaimer.js +9 -2
  5. package/dist/components/GameExit/GameExit.lazy.d.ts +6 -0
  6. package/dist/components/GameExit/GameExit.lazy.js +43 -0
  7. package/dist/components/GameExit/index.d.ts +2 -0
  8. package/dist/components/GameExit/index.js +1 -0
  9. package/dist/components/PortalProvider/CXDTokenObserver.js +11 -11
  10. package/dist/components/SignIn/utils.d.ts +8 -0
  11. package/dist/components/SignIn/utils.js +26 -0
  12. package/dist/components/TopProgress/TopProgressBar.client.d.ts +3 -0
  13. package/dist/components/TopProgress/TopProgressBar.client.js +9 -0
  14. package/dist/components/TopProgress/TopProgressBar.js +1 -1
  15. package/dist/constants/Branches.d.ts +2 -0
  16. package/dist/constants/Branches.js +42 -0
  17. package/dist/handlers/index.d.ts +7 -7
  18. package/dist/services/queries.d.ts +2 -2
  19. package/dist/services/queries.js +2 -0
  20. package/dist/third-parties/FacebookPixel/FacebookPixel.d.ts +4 -0
  21. package/dist/third-parties/FacebookPixel/FacebookPixel.js +4 -0
  22. package/dist/third-parties/FacebookPixel/api.d.ts +0 -0
  23. package/dist/third-parties/FacebookPixel/api.js +1 -0
  24. package/dist/third-parties/FacebookPixel/index.d.ts +1 -0
  25. package/dist/third-parties/FacebookPixel/index.js +1 -0
  26. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.d.ts +4 -0
  27. package/dist/third-parties/GoogleRecaptcha/GoogleRecaptcha.js +4 -0
  28. package/dist/third-parties/GoogleRecaptcha/api.d.ts +0 -0
  29. package/dist/third-parties/GoogleRecaptcha/api.js +1 -0
  30. package/dist/third-parties/GoogleRecaptcha/index.d.ts +1 -0
  31. package/dist/third-parties/GoogleRecaptcha/index.js +1 -0
  32. package/dist/third-parties/index.d.ts +2 -0
  33. package/dist/third-parties/index.js +2 -0
  34. package/dist/types/index.d.ts +1 -0
  35. package/dist/ui/AlertDialog/AlertDialog.d.ts +55 -55
  36. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +5 -5
  37. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  38. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  39. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  40. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  41. package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
  42. package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
  43. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  44. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  45. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  46. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  47. package/dist/ui/Dialog/Dialog.d.ts +33 -33
  48. package/dist/ui/Dialog/dialog.recipe.d.ts +3 -3
  49. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  50. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  51. package/dist/ui/Menu/Menu.d.ts +90 -90
  52. package/dist/ui/Menu/menu.recipe.d.ts +5 -5
  53. package/dist/ui/Popover/Popover.d.ts +55 -55
  54. package/dist/ui/Popover/popover.recipe.d.ts +5 -5
  55. package/dist/ui/Progress/Progress.d.ts +27 -27
  56. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  57. package/dist/ui/Select/Select.d.ts +45 -45
  58. package/dist/ui/Select/select.recipe.d.ts +3 -3
  59. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  60. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  61. package/package.json +1 -1
  62. package/dist/components/AccountInfo/GoogleDisconnect.d.ts +0 -7
  63. package/dist/components/AccountInfo/GoogleDisconnect.js +0 -11
  64. package/dist/icons/LinkBrokenIcon.d.ts +0 -2
  65. package/dist/icons/LinkBrokenIcon.js +0 -4
@@ -20,7 +20,7 @@ export const useCreateGameSessionMutation = (config) => {
20
20
  await createGameSession__legacy({
21
21
  id,
22
22
  game: 'reference' in game ? game.reference : game.id,
23
- homepageUrl: window.location.origin,
23
+ homepageUrl: `${window.location.origin}?game-exit=true`,
24
24
  }, {
25
25
  headers: {
26
26
  Authorization: `Bearer ${session.token}`,
@@ -0,0 +1,12 @@
1
+ import type { ImageProps } from 'next/image';
2
+ export interface BannerEntry {
3
+ src: ImageProps['src'];
4
+ redirectUrl?: string;
5
+ }
6
+ export interface BannerProps {
7
+ banners: BannerEntry[];
8
+ imageWidth?: number | [mobile: number, desktop: number];
9
+ imageHeight?: number | [mobile: number, desktop: number];
10
+ className?: string;
11
+ }
12
+ export declare function Banner__client(props: BannerProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,49 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import emblaCarouselAutoplay from 'embla-carousel-autoplay';
4
+ import useEmblaCarousel, {} from 'embla-carousel-react';
5
+ import isMobile from 'is-mobile';
6
+ import Image from 'next/image';
7
+ import Link from 'next/link';
8
+ import { Fragment, useEffect, useState } from 'react';
9
+ import { twMerge } from 'tailwind-merge';
10
+ import { dataAttr } from '../../utils/dataAttr.js';
11
+ export function Banner__client(props) {
12
+ const [emblaRef, emblaApi] = useEmblaCarousel({
13
+ loop: true,
14
+ align: 'start',
15
+ }, [
16
+ emblaCarouselAutoplay({
17
+ playOnInit: true,
18
+ delay: 5000,
19
+ }),
20
+ ]);
21
+ const [currentIndex, setCurrentIndex] = useState(0);
22
+ useEffect(() => {
23
+ function handler(detail) {
24
+ setCurrentIndex(detail?.selectedScrollSnap() ?? 0);
25
+ }
26
+ emblaApi?.on('scroll', handler);
27
+ emblaApi?.on('init', handler);
28
+ return () => {
29
+ emblaApi?.on('init', handler);
30
+ emblaApi?.off('scroll', handler);
31
+ };
32
+ }, [emblaApi]);
33
+ const imageWidth = !props.imageWidth
34
+ ? [400, 1200]
35
+ : Array.isArray(props.imageWidth)
36
+ ? props.imageWidth
37
+ : [props.imageWidth, props.imageWidth];
38
+ const imageHeight = !props.imageHeight
39
+ ? [225, 300]
40
+ : Array.isArray(props.imageHeight)
41
+ ? props.imageHeight
42
+ : [props.imageHeight, props.imageHeight];
43
+ return (_jsxs("div", { className: twMerge('relative', props.className), children: [_jsx("div", { ref: emblaRef, className: "overflow-hidden", children: _jsx("div", { className: "flex gap-2", children: props.banners.map((banner, index) => {
44
+ const img = (_jsx(Image, { src: banner.src, alt: "", width: isMobile() ? imageWidth[0] : imageWidth[1], height: isMobile() ? imageHeight[0] : imageHeight[1], className: "block h-auto w-full", priority: index === 0 }));
45
+ return (_jsx(Fragment, { children: !banner.redirectUrl ? (_jsx("div", { className: "w-full shrink-0", children: img })) : (_jsx(Link, { href: banner.redirectUrl, className: "block w-full shrink-0", "aria-label": `Open ${banner.redirectUrl}`, children: img })) }, index));
46
+ }) }) }), _jsx("div", { className: "absolute bottom-lg left-1/2 flex w-fit -translate-x-1/2 gap-2", children: props.banners.map((_, index) => (_jsx("button", { type: "button", className: "ui-active:bg-brand-500 bg-gray-300 size-3 shrink-0 rounded-full border border-white transition-all duration-300 ui-active:w-9", onClick: () => {
47
+ emblaApi?.scrollTo(index);
48
+ }, "aria-label": `Go to slide ${index + 1}`, "data-active": dataAttr(index === currentIndex) }, index))) })] }));
49
+ }
@@ -1,3 +1,4 @@
1
+ import { useSearchParams } from 'next/navigation';
1
2
  import { useTimeout } from 'usehooks-ts';
2
3
  import { useShallow } from 'zustand/shallow';
3
4
  import { useGlobalStore } from '../../client/hooks/useGlobalStore.js';
@@ -5,16 +6,22 @@ import { useSessionQuery } from '../../client/hooks/useSessionQuery.js';
5
6
  export function useDisclaimer() {
6
7
  'use no memo';
7
8
  const sessionQuery = useSessionQuery();
9
+ const searchParams = useSearchParams();
8
10
  const disclaimerStore = useGlobalStore(useShallow((state) => state.disclaimer));
11
+ // Check if game-exit parameter is present
12
+ const gameExitParam = searchParams.get('game-exit');
13
+ const shouldShowDisclaimer = gameExitParam !== 'true';
9
14
  useTimeout(() => {
10
- disclaimerStore.setOpen(true);
15
+ if (shouldShowDisclaimer) {
16
+ disclaimerStore.setOpen(true);
17
+ }
11
18
  }, 0);
12
19
  return {
13
20
  open: sessionQuery.isLoading
14
21
  ? false
15
22
  : sessionQuery.data?.status === 'authenticated'
16
23
  ? false
17
- : disclaimerStore.open,
24
+ : shouldShowDisclaimer && disclaimerStore.open,
18
25
  close: () => {
19
26
  disclaimerStore.setOpen(false);
20
27
  },
@@ -0,0 +1,6 @@
1
+ import { type ImageProps } from 'next/image';
2
+ export interface GameExitProps {
3
+ logo?: ImageProps['src'];
4
+ message?: string;
5
+ }
6
+ export declare function GameExit(props: GameExitProps): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,43 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import Image, {} from 'next/image';
4
+ import { useSearchParams } from 'next/navigation';
5
+ import { useEffect, useState } from 'react';
6
+ import { twMerge } from 'tailwind-merge';
7
+ import { Button } from '../../ui/Button/index.js';
8
+ import { Dialog } from '../../ui/Dialog/index.js';
9
+ import { Portal } from '../../ui/Portal/index.js';
10
+ export function GameExit(props) {
11
+ const searchParams = useSearchParams();
12
+ const [isOpen, setIsOpen] = useState(false);
13
+ const [isClient, setIsClient] = useState(false);
14
+ useEffect(() => {
15
+ setIsClient(true);
16
+ }, []);
17
+ useEffect(() => {
18
+ if (!isClient)
19
+ return;
20
+ const gameExitParam = searchParams.get('game-exit');
21
+ if (gameExitParam === 'true') {
22
+ setIsOpen(true);
23
+ }
24
+ }, [searchParams, isClient]);
25
+ const handleClose = () => {
26
+ setIsOpen(false);
27
+ // Redirect to the same page without the game-exit parameter
28
+ const url = new URL(window.location.href);
29
+ url.searchParams.delete('game-exit');
30
+ window.location.href = url.toString();
31
+ };
32
+ // Don't render anything until we're on the client side
33
+ if (!isClient) {
34
+ return null;
35
+ }
36
+ return (_jsx(Dialog.Root, { open: isOpen, onOpenChange: (details) => {
37
+ setIsOpen(details.open);
38
+ }, lazyMount: true, unmountOnExit: true, closeOnEscape: false, closeOnInteractOutside: false, children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, { className: "z-popover" }), _jsx(Dialog.Positioner, { className: "z-popover", children: _jsxs(Dialog.Content, { className: twMerge('relative flex h-full w-full flex-col items-center overflow-hidden rounded-2xl p-8 shadow-2xl', 'lg:mx-auto lg:h-auto lg:max-h-[90vh] lg:w-[480px] lg:p-10', 'fade-in-0 zoom-in-95 animate-in duration-300'), children: [props.logo && (_jsx("div", { className: "w-full", children: _jsx(Image, { src: props.logo, alt: "", width: 200, height: 100, className: "h-auto w-[7.5rem]", draggable: false }) })), _jsxs("div", { className: "w-full grow", children: [_jsx(Dialog.Title, { className: "mt-3xl text-center font-semibold text-brand-400 text-lg", children: "Game Exit" }), _jsx(Dialog.Description, { className: 'mt-lg mb-lg px-4 text-center leading-2xl', children: props.message ||
39
+ 'You have successfully quit the game. Thank you for playing!' })] }), _jsx(Dialog.Context, { children: (api) => (_jsx(Button, { type: "button", className: "mt-3 py-2.5", onClick: () => {
40
+ handleClose();
41
+ api.setOpen(false);
42
+ }, children: "OK" })) })] }) })] }) }));
43
+ }
@@ -0,0 +1,2 @@
1
+ export type { GameExitProps } from './GameExit.lazy';
2
+ export { GameExit } from './GameExit.lazy';
@@ -0,0 +1 @@
1
+ export { GameExit } from './GameExit.lazy.js';
@@ -1,30 +1,30 @@
1
1
  'use client';
2
2
  import { addHours } from 'date-fns';
3
3
  import { clamp } from 'lodash-es';
4
- import { useSearchParams } from 'next/navigation';
5
4
  import { useLocalStorage, useTimeout } from 'usehooks-ts';
6
5
  import { useAccountQuery } from '../../client/hooks/useAccountQuery.js';
7
6
  export function CXDTokenObserver() {
8
- const searchParams = useSearchParams();
9
- const cxdToken = searchParams.get('cxd');
10
- const accountQuery = useAccountQuery();
11
- const account = accountQuery.data;
12
- const [cxd, setCxd, removeCxd] = useLocalStorage('WebPortalCellxpertCxd', null);
7
+ const { data: account } = useAccountQuery();
8
+ const accountCxd = {
9
+ cxd: account?.cellxpertDetails?.cxd,
10
+ };
11
+ const [cxd, setCxd, removeCxd] = useLocalStorage('cxd', null);
13
12
  const now = new Date();
14
- const shouldTimeoutRun = cxdToken && account;
15
13
  const removeCxdUntilInMs = cxd?.timestamp
16
14
  ? clamp(cxd.timestamp - now.getTime(), 0, Infinity)
17
15
  : 0;
18
16
  useTimeout(() => {
19
- const isSame = cxd?.cxd === cxdToken;
17
+ const isSame = cxd?.cxd === accountCxd.cxd;
20
18
  if (!isSame) {
21
19
  const extendedTimestamp = addHours(new Date(), 6).getTime();
22
20
  setCxd({
23
- cxd: cxdToken,
21
+ cxd: accountCxd.cxd,
24
22
  timestamp: extendedTimestamp,
25
23
  });
26
24
  }
27
- }, shouldTimeoutRun ? 100 : null);
28
- useTimeout(() => removeCxd(), shouldTimeoutRun ? removeCxdUntilInMs : null);
25
+ }, account ? 100 : null);
26
+ useTimeout(() => {
27
+ removeCxd();
28
+ }, account ? removeCxdUntilInMs : null);
29
29
  return null;
30
30
  }
@@ -0,0 +1,8 @@
1
+ type Options = {
2
+ accountName?: string;
3
+ siteName?: string;
4
+ signInOptions?: 'MOBILE_NUMBER' | 'NAME_AND_PASSWORD';
5
+ };
6
+ export type ErrorCode = 'MEMBER_ACCOUNT_BLACKLISTED' | 'MEMBER_ACCOUNT_SUSPENDED' | 'INVALID_RECAPTCHA_RESPONSE' | 'MEMBER_NOT_FOUND' | 'RATE_LIMIT_REACH' | 'NOT_READY_TO_SEND_VERIFICATION_ERROR' | 'Forbidden';
7
+ export declare function getFriendlyErrorMessage(code: ErrorCode, options?: Options): string;
8
+ export {};
@@ -0,0 +1,26 @@
1
+ export function getFriendlyErrorMessage(code, options) {
2
+ const accountName = options?.accountName ?? '';
3
+ const siteName = options?.siteName ?? '';
4
+ const signInOptions = options?.signInOptions ?? 'NAME_AND_PASSWORD';
5
+ switch (code) {
6
+ case 'MEMBER_ACCOUNT_BLACKLISTED':
7
+ return `Your account ${accountName} has been blacklisted due to a serious violation of our policies. For more information or to appeal, please contact the ${siteName} Chat Support team.`;
8
+ case 'MEMBER_ACCOUNT_SUSPENDED':
9
+ return `Your account ${accountName} has been temporarily suspended. Please reach out to the ${siteName} Chat Support team to learn more and get help with resolving the issue.`;
10
+ case 'INVALID_RECAPTCHA_RESPONSE':
11
+ return 'Invalid reCAPTCHA response';
12
+ case 'MEMBER_NOT_FOUND':
13
+ return 'Account not found. Please check your username and try again.';
14
+ case 'RATE_LIMIT_REACH':
15
+ return 'Rate limit exceeded';
16
+ case 'NOT_READY_TO_SEND_VERIFICATION_ERROR':
17
+ return 'Your account is not ready to send verification requests. Please try again later.';
18
+ case 'Forbidden':
19
+ if (signInOptions === 'MOBILE_NUMBER') {
20
+ return 'Invalid verification code. Please check the code and try again.';
21
+ }
22
+ return 'Invalid username or password, please try again.';
23
+ default:
24
+ return 'Something went wrong. Please try again later.';
25
+ }
26
+ }
@@ -0,0 +1,3 @@
1
+ import type { ComponentProps } from 'react';
2
+ import type { TopProgressBar } from './TopProgressBar';
3
+ export declare function TopProgressBarClient(props: ComponentProps<typeof TopProgressBar>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import dynamic from 'next/dynamic';
4
+ const ClientTopProgressBar = dynamic(() => import('./TopProgressBar.js').then((mod) => mod.TopProgressBar), {
5
+ ssr: false,
6
+ });
7
+ export function TopProgressBarClient(props) {
8
+ return _jsx(ClientTopProgressBar, { ...props });
9
+ }
@@ -137,7 +137,7 @@ export const TopProgressBar = ({ preset = 'Gold', customPreset, }) => {
137
137
  clearTimers();
138
138
  };
139
139
  }, [clearTimers, finishProgress, startProgress]);
140
- return (_jsx("div", { "aria-hidden": true, className: "pointer-events-none fixed top-0 right-0 left-0 z-[9999]", children: _jsx("div", { className: twMerge('h-[3px] transition-[width,opacity] duration-200 ease-out', visible ? 'opacity-100' : 'opacity-0'), style: {
140
+ return (_jsx("div", { "aria-hidden": "true", className: "pointer-events-none fixed top-0 right-0 left-0 z-[9999]", children: _jsx("div", { className: twMerge('h-[3px] transition-[width,opacity] duration-200 ease-out', visible ? 'opacity-100' : 'opacity-0'), style: {
141
141
  width: `${progress}%`,
142
142
  background: customPreset ?? PRESET_BG[preset],
143
143
  boxShadow: '0 0 10px rgba(255, 255, 255, 0.6)',
@@ -0,0 +1,2 @@
1
+ import type { Branch } from '../types';
2
+ export declare const BRANCHES: Branch[];
@@ -0,0 +1,42 @@
1
+ export const BRANCHES = [
2
+ {
3
+ code: 'BRCAL',
4
+ name: 'Bingo Republic 2nd floor Primark Center Deparo St., Caloocan City',
5
+ },
6
+ {
7
+ code: 'BRNAG',
8
+ name: 'Bingo Republic 3rd floor Robinsons Mall, Naga City, Camarines Sur',
9
+ },
10
+ {
11
+ code: 'BRANT',
12
+ name: 'Bingo Republic 2nd floor Robinsons Mall, San Vicente,Antique',
13
+ },
14
+ {
15
+ code: 'BRCLA',
16
+ name: 'Clark',
17
+ },
18
+ {
19
+ code: 'BRLAG',
20
+ name: 'Laguna',
21
+ },
22
+ {
23
+ code: 'BREAS',
24
+ name: 'Eastwood City, Quezon City',
25
+ },
26
+ {
27
+ code: 'BRMAR',
28
+ name: 'Bingo ng Bayan 4th floor Marikina Public Market, Marikina City',
29
+ },
30
+ {
31
+ code: 'BRILO',
32
+ name: 'Iloilo',
33
+ },
34
+ {
35
+ code: 'BRFIM',
36
+ name: 'Fisher Mall,Quezon City',
37
+ },
38
+ {
39
+ code: 'BRCAC',
40
+ name: 'Villa Caceres Hotel, Naga City,Camsur',
41
+ },
42
+ ];
@@ -6,13 +6,6 @@ interface Context {
6
6
  params: Promise<Params>;
7
7
  }
8
8
  export declare const GET: (req: NextRequest, { params }: Context) => Promise<NextResponse<{
9
- ok: false;
10
- message: string;
11
- __error?: unknown;
12
- } | {
13
- ok: true;
14
- data: import("../types").Session;
15
- }> | NextResponse<{
16
9
  ok: true;
17
10
  data?: never;
18
11
  } | {
@@ -26,6 +19,13 @@ export declare const GET: (req: NextRequest, { params }: Context) => Promise<Nex
26
19
  } | {
27
20
  ok: true;
28
21
  data: Record<string, unknown>;
22
+ }> | NextResponse<{
23
+ ok: false;
24
+ message: string;
25
+ __error?: unknown;
26
+ } | {
27
+ ok: true;
28
+ data: import("../types").Session;
29
29
  }>>;
30
30
  export declare const DELETE: (req: NextRequest, { params }: Context) => Promise<NextResponse<{
31
31
  ok: true;
@@ -110,10 +110,10 @@ export declare const COMPLETE_ONBOARDING = "\n mutation CompleteOnboarding($inp
110
110
  export declare const SKIP_ONBOARDING = "\n mutation SkipOnboarding {\n skipOnboarding\n }\n";
111
111
  export declare const QUEST_PROGRAM_FRAGMENT = "\n fragment QuestProgramFragment on QuestProgram {\n status\n type\n name\n description\n }\n";
112
112
  export declare const DAILY_CHECKIN_FRAGMENT = "\n \n fragment QuestProgramFragment on QuestProgram {\n status\n type\n name\n description\n }\n\n fragment DailyCheckinQuestFragment on DailyCheckInQuest {\n id\n name\n description\n type\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n endDateTime\n dateTimeCreated\n lastCheckInDate\n startDateTime\n checkInStreak\n\n thirdDayBonusAmount\n seventhDayBonusAmount\n sixthDayBonusAmount\n }\n";
113
- export declare const WAGERING_FRAGMENT = "\n fragment WageringQuestFragment on WageringQuest {\n bonus\n id\n name\n type\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n targetTurnover\n endDateTime\n dateTimeCreated\n stages{\n targetTurnover\n bonusTurnoverRequirementMultiplier\n bonusAmount\n cleared\n dateTimeCleared\n }\n }\n";
113
+ export declare const WAGERING_FRAGMENT = "\n fragment WageringQuestFragment on WageringQuest {\n bonus\n id\n name\n type\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n targetTurnover\n endDateTime\n dateTimeCreated\n stage\n dateTimeCompleted\n stages{\n targetTurnover\n bonusTurnoverRequirementMultiplier\n bonusAmount\n cleared\n dateTimeCleared\n }\n }\n";
114
114
  export declare const JOURNEY_FRAGMENT = "\n fragment JourneyQuestFragment on JourneyQuest {\n id\n name\n description\n program {\n ...QuestProgramFragment\n }\n status\n type\n progressPercentage\n bonus\n bonusAwarded\n dateTimeCreated\n endDateTime\n milestones {\n id\n type\n name\n bonusAmount\n cleared\n description\n }\n }\n";
115
115
  export declare const ONBOARDING_QUEST_FRAGMENT = "\n fragment OnboardingQuestFragment on OnboardingQuest {\n id\n name\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n type\n progressPercentage\n bonus\n endDateTime\n dateTimeCreated\n firstDepositCompleted\n accountVerificationCompleted\n }\n";
116
- export declare const AVAILABLE_QUESTS = "\n \n fragment WageringQuestFragment on WageringQuest {\n bonus\n id\n name\n type\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n targetTurnover\n endDateTime\n dateTimeCreated\n stages{\n targetTurnover\n bonusTurnoverRequirementMultiplier\n bonusAmount\n cleared\n dateTimeCleared\n }\n }\n\n \n \n fragment QuestProgramFragment on QuestProgram {\n status\n type\n name\n description\n }\n\n fragment DailyCheckinQuestFragment on DailyCheckInQuest {\n id\n name\n description\n type\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n endDateTime\n dateTimeCreated\n lastCheckInDate\n startDateTime\n checkInStreak\n\n thirdDayBonusAmount\n seventhDayBonusAmount\n sixthDayBonusAmount\n }\n\n \n fragment OnboardingQuestFragment on OnboardingQuest {\n id\n name\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n type\n progressPercentage\n bonus\n endDateTime\n dateTimeCreated\n firstDepositCompleted\n accountVerificationCompleted\n }\n\n \n fragment JourneyQuestFragment on JourneyQuest {\n id\n name\n description\n program {\n ...QuestProgramFragment\n }\n status\n type\n progressPercentage\n bonus\n bonusAwarded\n dateTimeCreated\n endDateTime\n milestones {\n id\n type\n name\n bonusAmount\n cleared\n description\n }\n }\n\n\n query AvailableQuests {\n availableQuests {\n ... on Quest {\n ... on WageringQuest {\n ...WageringQuestFragment\n }\n ... on DailyCheckInQuest {\n ...DailyCheckinQuestFragment\n }\n ... on OnboardingQuest {\n ...OnboardingQuestFragment\n }\n ... on JourneyQuest {\n ...JourneyQuestFragment\n }\n }\n }\n }\n";
116
+ export declare const AVAILABLE_QUESTS = "\n \n fragment WageringQuestFragment on WageringQuest {\n bonus\n id\n name\n type\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n targetTurnover\n endDateTime\n dateTimeCreated\n stage\n dateTimeCompleted\n stages{\n targetTurnover\n bonusTurnoverRequirementMultiplier\n bonusAmount\n cleared\n dateTimeCleared\n }\n }\n\n \n \n fragment QuestProgramFragment on QuestProgram {\n status\n type\n name\n description\n }\n\n fragment DailyCheckinQuestFragment on DailyCheckInQuest {\n id\n name\n description\n type\n program {\n ...QuestProgramFragment\n }\n\n status\n progressPercentage\n turnover\n endDateTime\n dateTimeCreated\n lastCheckInDate\n startDateTime\n checkInStreak\n\n thirdDayBonusAmount\n seventhDayBonusAmount\n sixthDayBonusAmount\n }\n\n \n fragment OnboardingQuestFragment on OnboardingQuest {\n id\n name\n description\n program {\n ...QuestProgramFragment\n }\n\n status\n type\n progressPercentage\n bonus\n endDateTime\n dateTimeCreated\n firstDepositCompleted\n accountVerificationCompleted\n }\n\n \n fragment JourneyQuestFragment on JourneyQuest {\n id\n name\n description\n program {\n ...QuestProgramFragment\n }\n status\n type\n progressPercentage\n bonus\n bonusAwarded\n dateTimeCreated\n endDateTime\n milestones {\n id\n type\n name\n bonusAmount\n cleared\n description\n }\n }\n\n\n query AvailableQuests {\n availableQuests {\n ... on Quest {\n ... on WageringQuest {\n ...WageringQuestFragment\n }\n ... on DailyCheckInQuest {\n ...DailyCheckinQuestFragment\n }\n ... on OnboardingQuest {\n ...OnboardingQuestFragment\n }\n ... on JourneyQuest {\n ...JourneyQuestFragment\n }\n }\n }\n }\n";
117
117
  export declare const AVAILABLE_QUEST_IDS = "\n query AvailableQuestIds {\n availableQuests {\n ... on Node {\n id\n }\n }\n }\n";
118
118
  export declare const CHECK_IN_DAILY_QUEST = "\n mutation checkInDailyCheckInQuest($input: CheckInDailyCheckInQuestInput!) {\n checkInDailyCheckInQuest(input: $input)\n }\n";
119
119
  export declare const TOP_WINS = "\n query TopWins($first: Int) {\n topWins(first: $first) {\n id\n game {\n id\n name\n type\n provider\n }\n member {\n id\n name\n }\n multiplier\n payout\n }\n }\n";
@@ -2429,6 +2429,8 @@ export const WAGERING_FRAGMENT = /* GraphQL */ `
2429
2429
  targetTurnover
2430
2430
  endDateTime
2431
2431
  dateTimeCreated
2432
+ stage
2433
+ dateTimeCompleted
2432
2434
  stages{
2433
2435
  targetTurnover
2434
2436
  bonusTurnoverRequirementMultiplier
@@ -0,0 +1,4 @@
1
+ export interface FacebookPixelProps {
2
+ fbId: string;
3
+ }
4
+ export declare function FacebookPixel(props: FacebookPixelProps): null;
@@ -0,0 +1,4 @@
1
+ export function FacebookPixel(props) {
2
+ console.log(props);
3
+ return null;
4
+ }
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ export * from './FacebookPixel';
@@ -0,0 +1 @@
1
+ export * from './FacebookPixel.js';
@@ -0,0 +1,4 @@
1
+ export interface GoogleRecaptchaProps {
2
+ siteKey: string;
3
+ }
4
+ export declare function GoogleRecaptcha(props: GoogleRecaptchaProps): null;
@@ -0,0 +1,4 @@
1
+ export function GoogleRecaptcha(props) {
2
+ console.log(props);
3
+ return null;
4
+ }
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1 @@
1
+ export * from './GoogleRecaptcha';
@@ -0,0 +1 @@
1
+ export * from './GoogleRecaptcha.js';
@@ -0,0 +1,2 @@
1
+ export * from './FacebookPixel';
2
+ export * from './GoogleRecaptcha';
@@ -0,0 +1,2 @@
1
+ export * from './FacebookPixel/index.js';
2
+ export * from './GoogleRecaptcha/index.js';
@@ -746,6 +746,7 @@ export interface Quest {
746
746
  accountVerificationCompleted?: boolean;
747
747
  milestones?: JourneyQuestMilestone[];
748
748
  stages?: WageringQuestStage[];
749
+ dateTimeCompleted?: string;
749
750
  }
750
751
  interface TopWinGame {
751
752
  id: string;