@opexa/portal-components 0.0.576 → 0.0.577

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 (50) hide show
  1. package/dist/client/hooks/useCreateGameSessionMutation.js +1 -1
  2. package/dist/components/Disclaimer/useDisclaimer.js +9 -2
  3. package/dist/components/GameExit/GameExit.lazy.d.ts +6 -0
  4. package/dist/components/GameExit/GameExit.lazy.js +43 -0
  5. package/dist/components/GameExit/index.d.ts +2 -0
  6. package/dist/components/GameExit/index.js +1 -0
  7. package/dist/components/TopProgress/TopProgressBar.client.d.ts +3 -0
  8. package/dist/components/TopProgress/TopProgressBar.client.js +9 -0
  9. package/dist/components/TopProgress/TopProgressBar.js +1 -1
  10. package/dist/handlers/index.d.ts +7 -7
  11. package/dist/services/queries.d.ts +2 -2
  12. package/dist/services/queries.js +2 -0
  13. package/dist/types/index.d.ts +1 -0
  14. package/dist/ui/AlertDialog/AlertDialog.d.ts +55 -55
  15. package/dist/ui/AlertDialog/alertDialog.recipe.d.ts +5 -5
  16. package/dist/ui/Badge/Badge.d.ts +12 -12
  17. package/dist/ui/Badge/badge.anatomy.d.ts +1 -1
  18. package/dist/ui/Badge/badge.recipe.d.ts +3 -3
  19. package/dist/ui/Carousel/Carousel.d.ts +99 -99
  20. package/dist/ui/Carousel/carousel.recipe.d.ts +11 -11
  21. package/dist/ui/Checkbox/Checkbox.d.ts +23 -23
  22. package/dist/ui/Checkbox/checkbox.recipe.d.ts +3 -3
  23. package/dist/ui/Clipboard/Clipboard.d.ts +18 -18
  24. package/dist/ui/Clipboard/clipboard.recipe.d.ts +3 -3
  25. package/dist/ui/Collapsible/Collapsible.d.ts +20 -20
  26. package/dist/ui/Collapsible/collapsible.recipe.d.ts +5 -5
  27. package/dist/ui/Combobox/Combobox.d.ts +42 -42
  28. package/dist/ui/Combobox/combobox.recipe.d.ts +3 -3
  29. package/dist/ui/DatePicker/DatePicker.d.ts +72 -72
  30. package/dist/ui/DatePicker/datePicker.recipe.d.ts +3 -3
  31. package/dist/ui/Dialog/Dialog.d.ts +33 -33
  32. package/dist/ui/Dialog/dialog.recipe.d.ts +3 -3
  33. package/dist/ui/Drawer/Drawer.d.ts +33 -33
  34. package/dist/ui/Drawer/drawer.recipe.d.ts +3 -3
  35. package/dist/ui/Menu/Menu.d.ts +307 -307
  36. package/dist/ui/Menu/menu.recipe.d.ts +17 -17
  37. package/dist/ui/PasswordInput/PasswordInput.d.ts +18 -18
  38. package/dist/ui/PasswordInput/passwordInput.recipe.d.ts +3 -3
  39. package/dist/ui/Popover/Popover.d.ts +88 -88
  40. package/dist/ui/Popover/popover.recipe.d.ts +8 -8
  41. package/dist/ui/Progress/Progress.d.ts +27 -27
  42. package/dist/ui/Progress/progress.recipe.d.ts +3 -3
  43. package/dist/ui/Select/Select.d.ts +45 -45
  44. package/dist/ui/Select/select.recipe.d.ts +3 -3
  45. package/dist/ui/Table/Table.d.ts +21 -21
  46. package/dist/ui/Table/table.anatomy.d.ts +1 -1
  47. package/dist/ui/Table/table.recipe.d.ts +3 -3
  48. package/dist/ui/Tabs/Tabs.d.ts +15 -15
  49. package/dist/ui/Tabs/tabs.recipe.d.ts +3 -3
  50. package/package.json +1 -1
@@ -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}`,
@@ -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';
@@ -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)',
@@ -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
@@ -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;