@enigma-lake/tower-play-controller-sdk 1.0.0
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/README.md +202 -0
- package/dist/components/AutoManualPlayStateProvider/AutoManualPlayProvider.d.ts +9 -0
- package/dist/components/AutoManualPlayStateProvider/AutoManualPlayStateContext.d.ts +28 -0
- package/dist/components/AutoManualPlayStateProvider/index.d.ts +1 -0
- package/dist/components/base/AutoPlayController/AutoPlayController.d.ts +2 -0
- package/dist/components/base/AutoPlayController/index.d.ts +1 -0
- package/dist/components/base/Button/Button.d.ts +21 -0
- package/dist/components/base/Button/index.d.ts +1 -0
- package/dist/components/base/ChevronIcon/ChevronIcon.d.ts +5 -0
- package/dist/components/base/ChevronIcon/index.d.ts +1 -0
- package/dist/components/base/DifficultySelector/DifficultySelector.d.ts +14 -0
- package/dist/components/base/DifficultySelector/Selector.d.ts +3 -0
- package/dist/components/base/DifficultySelector/types.d.ts +16 -0
- package/dist/components/base/GroupRow/GroupRow.d.ts +6 -0
- package/dist/components/base/GroupRow/index.d.ts +1 -0
- package/dist/components/base/Input/Input.d.ts +3 -0
- package/dist/components/base/Input/cleanInputNumber.d.ts +2 -0
- package/dist/components/base/Input/index.d.ts +1 -0
- package/dist/components/base/InputWithIcon/InputWithIcon.d.ts +15 -0
- package/dist/components/base/InputWithIcon/index.d.ts +1 -0
- package/dist/components/base/InputWithSwitch/InputWithSwitch.d.ts +15 -0
- package/dist/components/base/InputWithSwitch/index.d.ts +1 -0
- package/dist/components/base/ManualPlayController/ManualPlayController.d.ts +2 -0
- package/dist/components/base/ManualPlayController/index.d.ts +1 -0
- package/dist/components/base/PlayController/PlayController.d.ts +15 -0
- package/dist/components/base/SelectMenu/GoldIcon.d.ts +1 -0
- package/dist/components/base/SelectMenu/SelectMenu.d.ts +11 -0
- package/dist/components/base/SelectMenu/SweepsIcon.d.ts +1 -0
- package/dist/components/base/SelectMenu/index.d.ts +1 -0
- package/dist/components/base/Switch/Switch.d.ts +10 -0
- package/dist/components/base/index.d.ts +6 -0
- package/dist/components/hooks/usePlayController.d.ts +27 -0
- package/dist/components/index.d.ts +4 -0
- package/dist/components/utils.d.ts +5 -0
- package/dist/index.d.ts +101 -0
- package/dist/index.mjs +568 -0
- package/dist/index.mjs.map +1 -0
- package/dist/style.css +1 -0
- package/dist/types/gameMode.d.ts +9 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/playController.d.ts +53 -0
- package/package.json +84 -0
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,568 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
+
import cx from 'classnames';
|
|
3
|
+
import { useCallback, useMemo, useEffect, Fragment, createContext, useContext, useRef, useState } from 'react';
|
|
4
|
+
import { Switch as Switch$1, Menu, MenuButton, MenuItems, MenuItem } from '@headlessui/react';
|
|
5
|
+
import { Currency, sendSetUserCurrencyEvent } from '@enigma-lake/zoot-platform-sdk';
|
|
6
|
+
|
|
7
|
+
var GAME_MODE;
|
|
8
|
+
(function (GAME_MODE) {
|
|
9
|
+
GAME_MODE["MANUAL"] = "manual";
|
|
10
|
+
GAME_MODE["AUTOPLAY"] = "autoplay";
|
|
11
|
+
})(GAME_MODE || (GAME_MODE = {}));
|
|
12
|
+
var AUTO_PLAY_STATE;
|
|
13
|
+
(function (AUTO_PLAY_STATE) {
|
|
14
|
+
AUTO_PLAY_STATE["IDLE"] = "idle";
|
|
15
|
+
AUTO_PLAY_STATE["SELECTING"] = "selecting";
|
|
16
|
+
AUTO_PLAY_STATE["PLAYING"] = "playing";
|
|
17
|
+
})(AUTO_PLAY_STATE || (AUTO_PLAY_STATE = {}));
|
|
18
|
+
|
|
19
|
+
var styles_button = {"base":"Button-module__base___muNxk","base__theme-ghost":"Button-module__base__theme-ghost___I5-LJ","base__theme-primary":"Button-module__base__theme-primary___Zuswb","base__state-disabled":"Button-module__base__state-disabled___EU5tH","buttonCashout":"Button-module__buttonCashout___LG-Yr","buttonCashout__active":"Button-module__buttonCashout__active___qnE3h","buttonSweeps":"Button-module__buttonSweeps___0snDQ","buttonSweeps__active":"Button-module__buttonSweeps__active___PXIFH","buttonGold":"Button-module__buttonGold___DAj-d","buttonGold__active":"Button-module__buttonGold__active___vsi7m"};
|
|
20
|
+
|
|
21
|
+
const themes = {
|
|
22
|
+
primary: "primary",
|
|
23
|
+
success: "success",
|
|
24
|
+
ghost: "ghost",
|
|
25
|
+
};
|
|
26
|
+
const Button = ({ disabled, roleType, className = "", theme = "primary", ...props }) => {
|
|
27
|
+
return (jsx("button", { ...props, className: cx(styles_button.base, styles_button[`base__theme-${theme}`], className, {
|
|
28
|
+
[styles_button["base__state-disabled"]]: disabled,
|
|
29
|
+
}), disabled: disabled, "data-role": `role-${roleType}-button` }));
|
|
30
|
+
};
|
|
31
|
+
Button.themes = themes;
|
|
32
|
+
|
|
33
|
+
var styles_group = {"base":"GroupRow-module__base___b241-","label":"GroupRow-module__label___Du57P","group":"GroupRow-module__group___V7xa6","groupItem":"GroupRow-module__groupItem___yNSX8","x2":"GroupRow-module__x2___9bLae","last":"GroupRow-module__last___ArsSn","gap-2":"GroupRow-module__gap-2___1eib1"};
|
|
34
|
+
|
|
35
|
+
const GroupRow = ({ children, label, className, ...restProps }) => {
|
|
36
|
+
return (jsxs("div", { ...restProps, className: cx(styles_group.base, className), children: [label && jsx("div", { className: styles_group.label, children: label }), jsx("div", { className: styles_group.group, children: children })] }));
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const ALLOWED_SEPARATORS = [",", "."];
|
|
40
|
+
function findFirstSeparatorIndex(value) {
|
|
41
|
+
const index = [...value].findIndex((char) => ALLOWED_SEPARATORS.includes(char));
|
|
42
|
+
return index !== -1 ? index : undefined;
|
|
43
|
+
}
|
|
44
|
+
function cleanInputNumber(value) {
|
|
45
|
+
const cleaned = value.replace(/[^0-9,.]/g, "");
|
|
46
|
+
if (cleaned === "0") {
|
|
47
|
+
return cleaned;
|
|
48
|
+
}
|
|
49
|
+
const trimmed = cleaned.replace(/^0+(?!$)/, "").replace(/(,|\.){2,}/g, "$1");
|
|
50
|
+
const separatorIndex = findFirstSeparatorIndex(trimmed);
|
|
51
|
+
if (separatorIndex === undefined) {
|
|
52
|
+
return trimmed;
|
|
53
|
+
}
|
|
54
|
+
const integerPart = trimmed.slice(0, separatorIndex).replace(/[,.]/g, "") || "0";
|
|
55
|
+
const decimalPart = trimmed.slice(separatorIndex + 1).replace(/[,.]/g, "");
|
|
56
|
+
return `${integerPart}.${decimalPart}`;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
var styles$3 = {"base":"Input-module__base___IifiA","disabled":"Input-module__disabled___WqyKa"};
|
|
60
|
+
|
|
61
|
+
const Input = ({ onChange, disabled, className, ...restProps }) => {
|
|
62
|
+
const handleChange = useCallback((event) => {
|
|
63
|
+
if (!disabled) {
|
|
64
|
+
event.target.value = cleanInputNumber(event.target.value);
|
|
65
|
+
onChange?.(event);
|
|
66
|
+
}
|
|
67
|
+
}, [disabled, onChange]);
|
|
68
|
+
return (jsx("input", { ...restProps, disabled: disabled, onChange: handleChange, className: cx(styles$3.base, className, { [styles$3.disabled]: disabled }) }));
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
var styles$2 = {"base":"Switch-module__base___gj2ey","switcher":"Switch-module__switcher___gHXIx","gold":"Switch-module__gold___oewnb","sweeps":"Switch-module__sweeps___yS-IY","unchecked":"Switch-module__unchecked___ooSS2","disabled":"Switch-module__disabled___lMRv0","thumb":"Switch-module__thumb___1wJ9D","move-right":"Switch-module__move-right___ca-6D","label":"Switch-module__label___pG2uz"};
|
|
72
|
+
|
|
73
|
+
const Switch = ({ enabled, onSwitch, disabled, currency, isPlaying, }) => {
|
|
74
|
+
const switcherClassName = useMemo(() => cx(styles$2.switcher, styles$2[currency], {
|
|
75
|
+
[styles$2.checked]: enabled,
|
|
76
|
+
[styles$2.unchecked]: !enabled,
|
|
77
|
+
[styles$2.disabled]: disabled,
|
|
78
|
+
}), [enabled, currency, disabled]);
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
const handleGlobalKeyDown = (event) => {
|
|
81
|
+
const focusedElement = document.activeElement;
|
|
82
|
+
if (event.code === "Space" &&
|
|
83
|
+
focusedElement?.getAttribute("role") === "switch") {
|
|
84
|
+
event.preventDefault();
|
|
85
|
+
event.stopPropagation();
|
|
86
|
+
event.stopImmediatePropagation();
|
|
87
|
+
focusedElement.blur();
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
// Attach global event listener
|
|
91
|
+
window.addEventListener("keydown", handleGlobalKeyDown, true);
|
|
92
|
+
// Cleanup event listener on unmount
|
|
93
|
+
return () => {
|
|
94
|
+
window.removeEventListener("keydown", handleGlobalKeyDown, true);
|
|
95
|
+
};
|
|
96
|
+
}, []);
|
|
97
|
+
return (jsx(Switch$1, { checked: enabled, onChange: onSwitch, as: Fragment, disabled: isPlaying, children: jsxs("div", { className: styles$2.base, children: [jsx("span", { className: styles$2.label, children: "Auto" }), jsx("div", { className: switcherClassName, children: jsx("span", { className: cx(styles$2.thumb, { [styles$2["move-right"]]: enabled }) }) })] }) }));
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
var styles$1 = {"base":"InputWithIcon-module__base___FwgXx","icon":"InputWithIcon-module__icon___KtOjW","input":"InputWithIcon-module__input___mQFr9","inputWithLabel":"InputWithIcon-module__inputWithLabel___06L8W","label":"InputWithIcon-module__label___O28vw","gold":"InputWithIcon-module__gold___GlVw1","sweeps":"InputWithIcon-module__sweeps___J4JdJ"};
|
|
101
|
+
|
|
102
|
+
const InputWithIcon = ({ children, switcherConfig, disabled, currency, label, className, ...restProps }) => {
|
|
103
|
+
return (jsxs("div", { className: cx(styles$1.base, className, {
|
|
104
|
+
[styles$1.disabled]: switcherConfig?.disabled,
|
|
105
|
+
}), children: [label && (jsx("span", { className: cx(styles$1.label, styles$1[currency]), children: label })), jsx(Input, { ...restProps, className: cx(styles$1.input, {
|
|
106
|
+
[styles$1.inputWithLabel]: label !== undefined,
|
|
107
|
+
}), disabled: disabled }), switcherConfig && jsx(Switch, { ...switcherConfig }), children && jsx("div", { className: cx(styles$1.icon), children: children })] }));
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
const GoldIcon = () => (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: [jsx("path", { opacity: "0.39", d: "M7.41645 14.1044C11.0357 14.1044 13.9697 11.136 13.9697 7.47417C13.9697 3.81236 11.0357 0.843872 7.41645 0.843872C3.79725 0.843872 0.863281 3.81236 0.863281 7.47417C0.863281 11.136 3.79725 14.1044 7.41645 14.1044Z", fill: "#F2BF0B" }), jsx("path", { d: "M7.49933 13.5066C5.90609 13.5066 4.37818 12.8736 3.25163 11.7471C2.12508 10.6205 1.49219 9.09258 1.49219 7.49944C1.49219 5.90626 2.12508 4.37833 3.25163 3.25178C4.37818 2.12523 5.90609 1.49234 7.49933 1.49234C8.32641 1.48979 9.14495 1.6605 9.90213 1.99347C9.92954 2.00654 9.9541 2.02489 9.97447 2.04746C9.99484 2.07003 10.0105 2.0964 10.0207 2.12503C10.0308 2.15367 10.0352 2.18402 10.0336 2.21437C10.032 2.2447 10.0244 2.27444 10.0113 2.30186C9.98737 2.3563 9.94287 2.39903 9.88746 2.42071C9.83205 2.44238 9.77036 2.44123 9.71579 2.4175C9.01511 2.11018 8.25801 1.95261 7.49287 1.95492C6.19268 1.95633 4.93427 2.41409 3.93705 3.24836C2.93984 4.08263 2.26711 5.24047 2.03619 6.51997C1.80527 7.79947 2.03081 9.11941 2.67348 10.2497C3.31615 11.3799 4.33517 12.2487 5.55286 12.7045C6.77048 13.1603 8.10948 13.1743 9.3364 12.7439C10.5632 12.3135 11.6001 11.466 12.2661 10.3494C12.9322 9.23282 13.1852 7.91786 12.9809 6.63384C12.7767 5.34981 12.1281 4.17822 11.1485 3.32338C11.1125 3.28223 11.0928 3.22938 11.0929 3.17472C11.0931 3.12006 11.1132 3.06732 11.1494 3.02638C11.1856 2.98544 11.2355 2.9591 11.2897 2.95227C11.344 2.94544 11.3988 2.9586 11.4441 2.98929C12.3644 3.79366 13.0174 4.85964 13.316 6.04489C13.6146 7.23014 13.5444 8.47827 13.1151 9.62268C12.6857 10.767 11.9174 11.7531 10.9128 12.4495C9.90824 13.1457 8.71519 13.519 7.49287 13.5194L7.49933 13.5066Z", fill: "#F2BF0B" }), jsx("path", { d: "M7.50001 14.6249C6.09085 14.6249 4.71327 14.207 3.54156 13.4241C2.36986 12.6412 1.45664 11.5284 0.91736 10.2265C0.378089 8.92454 0.236989 7.49197 0.511905 6.10986C0.78683 4.72775 1.46542 3.45819 2.46187 2.46175C3.45832 1.4653 4.72787 0.786705 6.10996 0.511786C7.49213 0.236866 8.92467 0.377965 10.2266 0.91724C11.5286 1.45651 12.6413 2.36974 13.4242 3.54145C14.2071 4.71314 14.625 6.09069 14.625 7.49988C14.6233 9.38901 13.8721 11.2003 12.5363 12.5362C11.2004 13.872 9.38914 14.6232 7.50001 14.6249ZM7.50001 1.01735C6.21784 1.01735 4.96455 1.39754 3.8985 2.10986C2.83246 2.82216 2.00158 3.83459 1.51093 5.01912C1.02028 6.20365 0.891903 7.50707 1.14203 8.76452C1.39216 10.022 2.00956 11.1771 2.91617 12.0837C3.82276 12.9903 4.97784 13.6077 6.23536 13.8578C7.4928 14.1079 8.79625 13.9796 9.98076 13.489C11.1653 12.9983 12.1777 12.1674 12.89 11.1014C13.6024 10.0354 13.9825 8.78204 13.9825 7.49988C13.9791 5.78165 13.2951 4.13477 12.0801 2.91979C10.8651 1.70481 9.21822 1.02075 7.50001 1.01735Z", fill: "#F2BF0B" }), jsx("path", { d: "M10.1591 10.5131C9.43158 10.7452 8.6739 10.8686 7.91043 10.8794C6.91972 10.9596 5.93706 10.6482 5.17347 10.012C4.86218 9.70525 4.61761 9.33743 4.45509 8.93173C4.29258 8.52596 4.21562 8.09104 4.22904 7.65417C4.22904 5.37982 5.94443 4.22981 8.08386 4.22981C8.72897 4.20483 9.37215 4.31423 9.97274 4.55104L9.61934 5.95163C9.13325 5.7425 8.60617 5.64587 8.07741 5.66894C7.8189 5.63999 7.55711 5.6683 7.31067 5.75187C7.06423 5.83544 6.83925 5.9722 6.65165 6.15248C6.46397 6.33274 6.31837 6.5521 6.22499 6.79497C6.13161 7.03784 6.09288 7.29828 6.11149 7.5578C6.0892 7.80993 6.12113 8.0639 6.20512 8.30265C6.2892 8.5414 6.42332 8.75939 6.59859 8.94195C6.77387 9.12461 6.98628 9.26753 7.2214 9.36124C7.45653 9.45496 7.709 9.4972 7.96181 9.48522C8.14782 9.49377 8.33407 9.47423 8.51429 9.42738V8.29664H7.60841V6.94745H10.1783L10.1591 10.5131Z", fill: "#F2BF0B" })] }));
|
|
111
|
+
|
|
112
|
+
const SweepsIcon = () => (jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none", children: [jsx("path", { opacity: "0.39", d: "M7.41174 14.4521C11.2215 14.4521 14.3099 11.3275 14.3099 7.47291C14.3099 3.61837 11.2215 0.493652 7.41174 0.493652C3.60206 0.493652 0.513672 3.61837 0.513672 7.47291C0.513672 11.3275 3.60206 14.4521 7.41174 14.4521Z", fill: "#0DE83D" }), jsx("path", { d: "M8.35827 6.34123C8.33727 6.1169 8.25066 5.94313 8.09843 5.81991C7.94619 5.6951 7.75459 5.6327 7.52362 5.6327C7.35827 5.6327 7.21522 5.6643 7.09449 5.72749C6.97375 5.7891 6.87992 5.87441 6.81299 5.98341C6.74738 6.09084 6.71457 6.21327 6.71457 6.35071C6.71457 6.46603 6.73688 6.56556 6.7815 6.64929C6.82743 6.73302 6.88714 6.80332 6.96063 6.86019C7.03543 6.91548 7.11549 6.96209 7.20079 7C7.28609 7.03633 7.36811 7.06635 7.44685 7.09005L7.84055 7.21327C7.96916 7.25118 8.10105 7.30253 8.23622 7.3673C8.37139 7.43207 8.49672 7.51738 8.6122 7.62322C8.72769 7.72907 8.82087 7.86019 8.89173 8.01659C8.96391 8.17299 9 8.36019 9 8.5782C9 8.85308 8.94094 9.09716 8.82283 9.31043C8.70604 9.5237 8.53609 9.69194 8.31299 9.81517C8.09121 9.93839 7.82283 10 7.50787 10C7.20604 10 6.94488 9.94234 6.72441 9.82701C6.50394 9.71169 6.33136 9.54818 6.20669 9.33649C6.08202 9.12322 6.01312 8.87046 6 8.5782H6.61024C6.62205 8.75355 6.66929 8.89968 6.75197 9.01659C6.83596 9.13191 6.94291 9.21801 7.07283 9.27488C7.20407 9.33017 7.34777 9.35782 7.50394 9.35782C7.67585 9.35782 7.82874 9.32543 7.9626 9.26066C8.09777 9.19431 8.20407 9.10269 8.2815 8.98578C8.35892 8.8673 8.39764 8.72907 8.39764 8.57109C8.39764 8.42733 8.36352 8.30964 8.29528 8.21801C8.22835 8.12638 8.13714 8.05055 8.02165 7.99052C7.90748 7.93049 7.77822 7.87757 7.63386 7.83175L7.15748 7.67536C6.83465 7.56951 6.57874 7.4139 6.38976 7.20853C6.2021 7.00316 6.10827 6.73144 6.10827 6.39336C6.10827 6.11374 6.17126 5.86967 6.29724 5.66114C6.42323 5.45261 6.59383 5.29068 6.80906 5.17536C7.02428 5.05845 7.26706 5 7.5374 5C7.81037 5 8.05118 5.05766 8.25984 5.17299C8.46982 5.28831 8.63517 5.44708 8.75591 5.64929C8.87664 5.84992 8.93963 6.08057 8.94488 6.34123H8.35827Z", fill: "#0DE83D" }), jsx("path", { d: "M7.50006 13.8228C5.82297 13.8228 4.21465 13.1566 3.0288 11.9708C1.84296 10.7849 1.17676 9.17656 1.17676 7.49957C1.17676 5.82253 1.84296 4.21419 3.0288 3.02834C4.21465 1.8425 5.82297 1.1763 7.50006 1.1763C8.37068 1.17362 9.2323 1.35331 10.0293 1.7038C10.0582 1.71756 10.084 1.73688 10.1055 1.76064C10.1269 1.7844 10.1434 1.81215 10.1541 1.84229C10.1648 1.87244 10.1694 1.90439 10.1677 1.93633C10.166 1.96826 10.1581 1.99956 10.1443 2.02842C10.1191 2.08573 10.0722 2.13071 10.0139 2.15353C9.95556 2.17634 9.89062 2.17513 9.83318 2.15015C9.09562 1.82665 8.29868 1.6608 7.49327 1.66323C6.12465 1.66471 4.8 2.14656 3.7503 3.02474C2.7006 3.90292 1.99247 5.1217 1.74939 6.46855C1.50632 7.81539 1.74373 9.20479 2.42022 10.3946C3.09672 11.5842 4.16937 12.4988 5.45115 12.9786C6.73285 13.4583 8.14233 13.4731 9.43383 13.02C10.7252 12.567 11.8167 11.6749 12.5177 10.4996C13.2189 9.32417 13.4851 7.94001 13.2701 6.5884C13.0552 5.2368 12.3725 4.00354 11.3413 3.10371C11.3034 3.0604 11.2826 3.00476 11.2828 2.94723C11.283 2.88969 11.3041 2.83418 11.3423 2.79108C11.3804 2.74799 11.4329 2.72026 11.49 2.71307C11.5471 2.70588 11.6048 2.71974 11.6524 2.75204C12.6211 3.59875 13.3086 4.72083 13.6229 5.96845C13.9372 7.21609 13.8633 8.52992 13.4114 9.73456C12.9594 10.9391 12.1507 11.9771 11.0932 12.7101C10.0358 13.443 8.77991 13.8359 7.49327 13.8363L7.50006 13.8228Z", fill: "#0DE83D" }), jsx("path", { d: "M7.50001 15C6.01668 15 4.5666 14.5601 3.33323 13.736C2.09986 12.9119 1.13857 11.7406 0.570905 10.3701C0.00325189 8.99965 -0.145274 7.49168 0.144111 6.03682C0.433505 4.58197 1.14781 3.24559 2.1967 2.19671C3.2456 1.14781 4.58197 0.433502 6.0368 0.144114C7.49171 -0.145275 8.99965 0.00324947 10.3701 0.570907C11.7406 1.13856 12.9119 2.09986 13.736 3.33323C14.5602 4.56659 15 6.01664 15 7.5C14.9982 9.48856 14.2075 11.3951 12.8014 12.8014C11.3952 14.2075 9.48857 14.9982 7.50001 15ZM7.50001 0.676288C6.15036 0.676288 4.83111 1.07649 3.70895 1.82629C2.5868 2.57609 1.71218 3.64181 1.19572 4.88868C0.679241 6.13555 0.544108 7.50757 0.807402 8.83121C1.0707 10.1549 1.72059 11.3708 2.67491 12.3251C3.62922 13.2794 4.84509 13.9293 6.1688 14.1926C7.49242 14.4559 8.86448 14.3208 10.1113 13.8043C11.3582 13.2878 12.4239 12.4132 13.1737 11.291C13.9235 10.1689 14.3237 8.84965 14.3237 7.5C14.3202 5.69134 13.6001 3.95778 12.3212 2.67886C11.0422 1.39993 9.30865 0.679862 7.50001 0.676288Z", fill: "#0DE83D" })] }));
|
|
113
|
+
|
|
114
|
+
var style_select$1 = {"button":"SelectMenu-module__button___N-HeB","menu":"SelectMenu-module__menu___c5jvZ","menuItems":"SelectMenu-module__menuItems___BX1YQ","menuItem":"SelectMenu-module__menuItem___eXbi3","selected":"SelectMenu-module__selected___XyADw","disabled":"SelectMenu-module__disabled___jiTPl"};
|
|
115
|
+
|
|
116
|
+
var style_chevron = {"chevron":"ChevronIcon-module__chevron___lif8s","open":"ChevronIcon-module__open___niD1n","disable":"ChevronIcon-module__disable___8n-xg"};
|
|
117
|
+
|
|
118
|
+
const ChevronIcon = ({ open, disabled, }) => {
|
|
119
|
+
return (jsx("svg", { width: "15", height: "15", viewBox: "0 0 24 24", fill: "none", children: jsx("path", { className: cx(style_chevron.chevron, {
|
|
120
|
+
[style_chevron.open]: open,
|
|
121
|
+
[style_chevron.disabled]: disabled,
|
|
122
|
+
}), d: "M6 9L12 15L18 9", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
const capitalize$1 = (str) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
126
|
+
const getIcon = (option) => option === Currency.SWEEPS ? jsx(SweepsIcon, {}) : jsx(GoldIcon, {});
|
|
127
|
+
const SelectMenu = ({ currencies, selectedCurrency, setSelectedCurrency, disabled = false, }) => {
|
|
128
|
+
const handleClick = (e) => {
|
|
129
|
+
if (disabled) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
const target = e.target;
|
|
133
|
+
const value = target.dataset.value;
|
|
134
|
+
if (!value) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
setSelectedCurrency({ currency: value });
|
|
138
|
+
};
|
|
139
|
+
return (jsx(Menu, { as: "div", className: cx(style_select$1.menu), children: ({ open }) => (jsxs(Fragment$1, { children: [jsxs(MenuButton, { className: cx(style_select$1.button, {
|
|
140
|
+
[style_select$1.disabled]: disabled,
|
|
141
|
+
}), disabled: disabled, as: "div", children: [getIcon(selectedCurrency), jsx(ChevronIcon, { open: open, disabled: disabled })] }), jsx(MenuItems, { anchor: { to: "top start" }, className: cx(style_select$1.menuItems), children: currencies.map((option) => (jsxs(MenuItem, { as: "div", "data-value": option, onClick: handleClick, className: cx(style_select$1.menuItem, {
|
|
142
|
+
[style_select$1.selected]: String(selectedCurrency) === String(option),
|
|
143
|
+
}), children: [getIcon(option), capitalize$1(String(option))] }, `element-${option}`))) })] })) }));
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
const AutoManualPlayStateContext = createContext(undefined);
|
|
147
|
+
const useAutoManualPlayState = () => {
|
|
148
|
+
const context = useContext(AutoManualPlayStateContext);
|
|
149
|
+
if (!context) {
|
|
150
|
+
throw new Error("useAutoManualPlayStateState must be used within a AutoManualPlayStateProvider");
|
|
151
|
+
}
|
|
152
|
+
return context;
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
const usePlayController = () => {
|
|
156
|
+
const { config, autoPlay: { setNumberOfPlays, numberOfPlays, setPlayedRounds, playedRounds, selection, setState, state, }, } = useAutoManualPlayState();
|
|
157
|
+
const { currentCurrency, currencies, winText } = config.currencyOptions;
|
|
158
|
+
const { isPlaying, canCashout, disabledController, showAutoPlayToast, autoPlayDelay = 1500, playHook, } = config.playOptions;
|
|
159
|
+
const { playAmount, playLimits, setPlayAmount } = playHook?.() ?? {};
|
|
160
|
+
const minPlayAmount = playLimits?.[currentCurrency]?.limits.min ?? 0;
|
|
161
|
+
const maxPlayAmount = playLimits?.[currentCurrency]?.limits.max ?? 0;
|
|
162
|
+
const playIntervalRef = useRef(null);
|
|
163
|
+
const isAutoplayActiveRef = useRef(false);
|
|
164
|
+
const stopAutoplay = () => {
|
|
165
|
+
isAutoplayActiveRef.current = false;
|
|
166
|
+
if (playIntervalRef.current) {
|
|
167
|
+
clearTimeout(playIntervalRef.current);
|
|
168
|
+
playIntervalRef.current = null;
|
|
169
|
+
}
|
|
170
|
+
setState(AUTO_PLAY_STATE.SELECTING);
|
|
171
|
+
setTimeout(() => {
|
|
172
|
+
setPlayedRounds(0);
|
|
173
|
+
}, 1500);
|
|
174
|
+
};
|
|
175
|
+
const loopRounds = (currentPlayedRounds, remainingPlays) => {
|
|
176
|
+
if (!isAutoplayActiveRef.current) {
|
|
177
|
+
return;
|
|
178
|
+
}
|
|
179
|
+
if (remainingPlays < 1 || numberOfPlays === 0) {
|
|
180
|
+
setNumberOfPlays(Infinity);
|
|
181
|
+
stopAutoplay();
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
setPlayedRounds(currentPlayedRounds + 1);
|
|
185
|
+
setNumberOfPlays((prev) => Math.max(prev - 1, 0));
|
|
186
|
+
config.onAutoPlay(selection, () => {
|
|
187
|
+
if (!isAutoplayActiveRef.current) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
playIntervalRef.current = setTimeout(() => loopRounds(currentPlayedRounds + 1, remainingPlays - 1), autoPlayDelay);
|
|
191
|
+
}, stopAutoplay);
|
|
192
|
+
};
|
|
193
|
+
const handleAutoPlay = () => {
|
|
194
|
+
if (disabledController) {
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
if (selection.length === 0) {
|
|
198
|
+
showAutoPlayToast?.({
|
|
199
|
+
type: "info",
|
|
200
|
+
message: "Please select at least one tile to start autoplay.",
|
|
201
|
+
});
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
isAutoplayActiveRef.current = true;
|
|
205
|
+
setState(AUTO_PLAY_STATE.PLAYING);
|
|
206
|
+
loopRounds(playedRounds, numberOfPlays);
|
|
207
|
+
};
|
|
208
|
+
const isDisabled = () => disabledController || isPlaying;
|
|
209
|
+
const isAutoplayDisabled = () => disabledController || state === AUTO_PLAY_STATE.PLAYING;
|
|
210
|
+
const adjustPlayAmount = (multiplier) => {
|
|
211
|
+
if (isDisabled()) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
const newAmount = Math.max(minPlayAmount, Math.min(playAmount * multiplier, maxPlayAmount));
|
|
215
|
+
setPlayAmount(Number(newAmount.toFixed(2)));
|
|
216
|
+
};
|
|
217
|
+
const onChangeAmount = (event) => {
|
|
218
|
+
if (isDisabled()) {
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
setPlayAmount(Number(event.currentTarget.value));
|
|
222
|
+
};
|
|
223
|
+
const onBlurAmount = (event) => {
|
|
224
|
+
if (isDisabled()) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
const newAmount = Number(event.currentTarget.value);
|
|
228
|
+
setPlayAmount(Math.max(minPlayAmount, Math.min(newAmount, maxPlayAmount)));
|
|
229
|
+
};
|
|
230
|
+
const isValidPlayAmount = playAmount >= minPlayAmount && playAmount <= maxPlayAmount;
|
|
231
|
+
return {
|
|
232
|
+
currentCurrency,
|
|
233
|
+
currencies,
|
|
234
|
+
playAmount,
|
|
235
|
+
minPlayAmount,
|
|
236
|
+
maxPlayAmount,
|
|
237
|
+
setPlayAmount,
|
|
238
|
+
adjustPlayAmount,
|
|
239
|
+
onChangeAmount,
|
|
240
|
+
onBlurAmount,
|
|
241
|
+
playOptions: config.playOptions,
|
|
242
|
+
isValidPlayAmount,
|
|
243
|
+
winText,
|
|
244
|
+
manualPlay: {
|
|
245
|
+
isDisabled,
|
|
246
|
+
onPlay: config.onPlay,
|
|
247
|
+
canCashout,
|
|
248
|
+
},
|
|
249
|
+
autoPlay: {
|
|
250
|
+
isDisabled: isAutoplayDisabled,
|
|
251
|
+
state,
|
|
252
|
+
onPlay: handleAutoPlay,
|
|
253
|
+
onStopPlay: stopAutoplay,
|
|
254
|
+
},
|
|
255
|
+
};
|
|
256
|
+
};
|
|
257
|
+
|
|
258
|
+
var SELECTORS;
|
|
259
|
+
(function (SELECTORS) {
|
|
260
|
+
SELECTORS["RISK"] = "Risk";
|
|
261
|
+
})(SELECTORS || (SELECTORS = {}));
|
|
262
|
+
var RiskTypes;
|
|
263
|
+
(function (RiskTypes) {
|
|
264
|
+
RiskTypes["LOW"] = "LOW";
|
|
265
|
+
RiskTypes["MEDIUM"] = "MEDIUM";
|
|
266
|
+
RiskTypes["HIGH"] = "HIGH";
|
|
267
|
+
})(RiskTypes || (RiskTypes = {}));
|
|
268
|
+
|
|
269
|
+
const PLAY_HALVE = 0.5;
|
|
270
|
+
const PLAY_DOUBLE = 2;
|
|
271
|
+
|
|
272
|
+
const PlayAmountControl = ({ playAmount, minPlayAmount, maxPlayAmount, isDisabled, adjustPlayAmount, onChangeAmount, onBlurAmount, currentCurrency, currencies, disableInput, }) => {
|
|
273
|
+
return (jsxs(GroupRow, { children: [jsx(InputWithIcon, { className: styles_group.groupItem, value: playAmount, type: "number", onChange: onChangeAmount, onBlur: onBlurAmount, placeholder: minPlayAmount.toString(), max: maxPlayAmount, min: minPlayAmount, disabled: isDisabled() || disableInput, currency: currentCurrency, label: "Play Amount", children: jsx(SelectMenu, { currencies: currencies, selectedCurrency: currentCurrency, setSelectedCurrency: sendSetUserCurrencyEvent, disabled: isDisabled() }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount(PLAY_HALVE), theme: "ghost", disabled: isDisabled(), children: jsx("span", { className: styles_group.x2, children: "-" }) }), jsx(Button, { className: styles_group.groupItem, onClick: () => adjustPlayAmount(PLAY_DOUBLE), theme: "ghost", disabled: isDisabled(), children: jsx("span", { className: cx(styles_group.x2, styles_group.last), children: "+" }) })] }));
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
const hexToRgb = (hex) => {
|
|
277
|
+
const shorthandRegex = /^#?([a-f\d])([a-f\d])([a-f\d])$/i;
|
|
278
|
+
hex = hex.replace(shorthandRegex, (_, r, g, b) => r + r + g + g + b + b);
|
|
279
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
|
|
280
|
+
return result
|
|
281
|
+
? `${parseInt(result[1], 16)}, ${parseInt(result[2], 16)}, ${parseInt(result[3], 16)}`
|
|
282
|
+
: null;
|
|
283
|
+
};
|
|
284
|
+
const selectButton = (gameMode) => {
|
|
285
|
+
const role = `role-${gameMode}-button`;
|
|
286
|
+
const buttons = document.querySelectorAll(`[data-role="${role}"]`);
|
|
287
|
+
return buttons[0];
|
|
288
|
+
};
|
|
289
|
+
const addPressedClass = (gameMode, activeClassName) => {
|
|
290
|
+
const button = selectButton(gameMode);
|
|
291
|
+
if (!button) {
|
|
292
|
+
return;
|
|
293
|
+
}
|
|
294
|
+
if (!button.classList.contains(activeClassName)) {
|
|
295
|
+
button.classList.add(activeClassName);
|
|
296
|
+
}
|
|
297
|
+
};
|
|
298
|
+
const removePressedClass = (gameMode, activeClassName) => {
|
|
299
|
+
const button = selectButton(gameMode);
|
|
300
|
+
if (!button) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
if (button.classList.contains(activeClassName)) {
|
|
304
|
+
button.classList.remove(activeClassName);
|
|
305
|
+
}
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const AutoPlayController = () => {
|
|
309
|
+
const { currentCurrency, currencies, playAmount, minPlayAmount, maxPlayAmount, isValidPlayAmount, adjustPlayAmount, onChangeAmount, onBlurAmount, playOptions, autoPlay: { isDisabled, state, onPlay, onStopPlay }, } = usePlayController();
|
|
310
|
+
const roleButton = GAME_MODE.AUTOPLAY;
|
|
311
|
+
const activeClassName = useMemo(() => {
|
|
312
|
+
const baseClass = currentCurrency === Currency.GOLD
|
|
313
|
+
? styles_button.buttonGold__active
|
|
314
|
+
: styles_button.buttonSweeps__active;
|
|
315
|
+
return baseClass;
|
|
316
|
+
}, [currentCurrency]);
|
|
317
|
+
const getClassName = useMemo(() => {
|
|
318
|
+
if (state === AUTO_PLAY_STATE.PLAYING) {
|
|
319
|
+
return styles_button.buttonCashout;
|
|
320
|
+
}
|
|
321
|
+
return currentCurrency === Currency.GOLD
|
|
322
|
+
? styles_button.buttonGold
|
|
323
|
+
: styles_button.buttonSweeps;
|
|
324
|
+
}, [currentCurrency, state]);
|
|
325
|
+
const handleKeyPress = useCallback((event) => {
|
|
326
|
+
if (event.code !== "Space") {
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
const button = selectButton(roleButton);
|
|
330
|
+
if (!button) {
|
|
331
|
+
return;
|
|
332
|
+
}
|
|
333
|
+
event.preventDefault();
|
|
334
|
+
event.stopPropagation();
|
|
335
|
+
const canTrigger = !isDisabled() || state === AUTO_PLAY_STATE.PLAYING;
|
|
336
|
+
if (canTrigger) {
|
|
337
|
+
addPressedClass(roleButton, activeClassName);
|
|
338
|
+
button.click();
|
|
339
|
+
}
|
|
340
|
+
}, [activeClassName, isDisabled, roleButton, state]);
|
|
341
|
+
const handleKeyUp = useCallback((event) => {
|
|
342
|
+
if (event.code !== "Space") {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
const button = selectButton(roleButton);
|
|
346
|
+
if (!button) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
event.preventDefault();
|
|
350
|
+
event.stopPropagation();
|
|
351
|
+
removePressedClass(roleButton, activeClassName);
|
|
352
|
+
}, [activeClassName, roleButton]);
|
|
353
|
+
useEffect(() => {
|
|
354
|
+
window.addEventListener("keydown", handleKeyPress, true);
|
|
355
|
+
window.addEventListener("keyup", handleKeyUp, true);
|
|
356
|
+
return () => {
|
|
357
|
+
window.removeEventListener("keydown", handleKeyPress, true);
|
|
358
|
+
window.removeEventListener("keyup", handleKeyUp, true);
|
|
359
|
+
};
|
|
360
|
+
}, [handleKeyPress, handleKeyUp]);
|
|
361
|
+
const isButtonDisabled = state === AUTO_PLAY_STATE.PLAYING
|
|
362
|
+
? false
|
|
363
|
+
: isDisabled() || !isValidPlayAmount;
|
|
364
|
+
const buttonLabel = state === AUTO_PLAY_STATE.PLAYING ? "Stop Autoplay" : "Start Autoplay";
|
|
365
|
+
const buttonAction = state === AUTO_PLAY_STATE.PLAYING ? onStopPlay : onPlay;
|
|
366
|
+
return (jsxs(Fragment$1, { children: [jsx(PlayAmountControl, { playAmount: playAmount, minPlayAmount: minPlayAmount, maxPlayAmount: maxPlayAmount, isDisabled: isDisabled, adjustPlayAmount: adjustPlayAmount, onChangeAmount: onChangeAmount, onBlurAmount: onBlurAmount, currentCurrency: currentCurrency, currencies: currencies, disableInput: playOptions.disableInput }), jsx(Button, { disabled: isButtonDisabled, className: getClassName, onClick: buttonAction, roleType: roleButton, children: buttonLabel })] }));
|
|
367
|
+
};
|
|
368
|
+
|
|
369
|
+
const ManualPlayController = () => {
|
|
370
|
+
const { config } = useAutoManualPlayState();
|
|
371
|
+
const { currentCurrency, currencies, playAmount, playOptions, minPlayAmount, maxPlayAmount, isValidPlayAmount, adjustPlayAmount, onChangeAmount, onBlurAmount, manualPlay: { isDisabled, onPlay, canCashout }, } = usePlayController();
|
|
372
|
+
const roleButton = GAME_MODE.MANUAL;
|
|
373
|
+
const activeClassName = useMemo(() => {
|
|
374
|
+
return currentCurrency === Currency.GOLD
|
|
375
|
+
? styles_button.buttonGold__active
|
|
376
|
+
: styles_button.buttonSweeps__active;
|
|
377
|
+
}, [currentCurrency]);
|
|
378
|
+
const handleKeyPress = useCallback((event) => {
|
|
379
|
+
if (event.code !== "Space") {
|
|
380
|
+
return;
|
|
381
|
+
}
|
|
382
|
+
const button = selectButton(roleButton);
|
|
383
|
+
if (!button || isDisabled()) {
|
|
384
|
+
return;
|
|
385
|
+
}
|
|
386
|
+
event.preventDefault();
|
|
387
|
+
event.stopPropagation();
|
|
388
|
+
addPressedClass(roleButton, activeClassName);
|
|
389
|
+
button.click();
|
|
390
|
+
}, [roleButton, isDisabled, activeClassName]);
|
|
391
|
+
const handleKeyUp = useCallback((event) => {
|
|
392
|
+
if (event.code !== "Space") {
|
|
393
|
+
return;
|
|
394
|
+
}
|
|
395
|
+
const button = selectButton(roleButton);
|
|
396
|
+
if (!button) {
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
event.preventDefault();
|
|
400
|
+
event.stopPropagation();
|
|
401
|
+
removePressedClass(roleButton, activeClassName);
|
|
402
|
+
}, [roleButton, activeClassName]);
|
|
403
|
+
useEffect(() => {
|
|
404
|
+
window.addEventListener("keydown", handleKeyPress, true);
|
|
405
|
+
window.addEventListener("keyup", handleKeyUp, true);
|
|
406
|
+
return () => {
|
|
407
|
+
window.removeEventListener("keydown", handleKeyPress, true);
|
|
408
|
+
window.removeEventListener("keyup", handleKeyUp, true);
|
|
409
|
+
};
|
|
410
|
+
}, [handleKeyPress, handleKeyUp]);
|
|
411
|
+
const isButtonDisabled = isDisabled() || !isValidPlayAmount;
|
|
412
|
+
return (jsxs(Fragment$1, { children: [jsx(PlayAmountControl, { playAmount: playAmount, minPlayAmount: minPlayAmount, maxPlayAmount: maxPlayAmount, isDisabled: isDisabled, adjustPlayAmount: adjustPlayAmount, onChangeAmount: onChangeAmount, onBlurAmount: onBlurAmount, currentCurrency: currentCurrency, currencies: currencies, disableInput: playOptions.disableInput }), canCashout ? (jsxs(Button, { disabled: config.playOptions.disabledController ||
|
|
413
|
+
!config.playOptions.isPlaying, className: styles_button.buttonCashout, onClick: config.onCashout, roleType: roleButton, children: ["Cashout ", config.currencyOptions.winText] })) : (jsx(Button, { disabled: isButtonDisabled, className: cx({
|
|
414
|
+
[styles_button.buttonGold]: currentCurrency === Currency.GOLD,
|
|
415
|
+
[styles_button.buttonSweeps]: currentCurrency !== Currency.GOLD,
|
|
416
|
+
}), onClick: onPlay, roleType: roleButton, children: "Play now" }))] }));
|
|
417
|
+
};
|
|
418
|
+
|
|
419
|
+
var styles_ui = {"base":"UI-module__base___wThyQ","betForm":"UI-module__betForm___hQkYd","disabled":"UI-module__disabled___dnZJX","auto":"UI-module__auto___5peb8"};
|
|
420
|
+
|
|
421
|
+
var style_difficulty = {"base":"DifficultySelector-module__base___lDaQ-"};
|
|
422
|
+
|
|
423
|
+
var style_select = {"base":"Selector-module__base___-q0yf","label":"Selector-module__label___JJdbd","button":"Selector-module__button___MeRoC","menu":"Selector-module__menu___P0ROg","menuItems":"Selector-module__menuItems___chFk2","menuItem":"Selector-module__menuItem___isa4c","selected":"Selector-module__selected___nUJtR","disabled":"Selector-module__disabled___f1qGJ"};
|
|
424
|
+
|
|
425
|
+
const capitalize = (str) => str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
426
|
+
const Selector = ({ currentValue, label, riskColor, values, onSelect, disabled, }) => {
|
|
427
|
+
const handleClick = (e) => {
|
|
428
|
+
if (disabled) {
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
const target = e.target;
|
|
432
|
+
const value = target.dataset.value;
|
|
433
|
+
if (!value) {
|
|
434
|
+
return;
|
|
435
|
+
}
|
|
436
|
+
onSelect(value);
|
|
437
|
+
};
|
|
438
|
+
return (jsxs("div", { className: cx(style_select.base), children: [label && jsx("span", { className: cx(style_select.label), children: label }), jsx(Menu, { as: "div", className: cx(style_select.menu), children: ({ open }) => (jsxs(Fragment$1, { children: [jsxs(MenuButton, { className: cx(style_select.button, {
|
|
439
|
+
[style_select.disabled]: disabled,
|
|
440
|
+
}), style: { color: riskColor }, disabled: disabled, children: [capitalize(String(currentValue)), jsx(ChevronIcon, { open: open, disabled: disabled })] }), jsx(MenuItems, { anchor: { to: "top start" }, className: cx(style_select.menuItems), children: values.map((value) => (jsx(MenuItem, { as: "div", "data-value": value, onClick: handleClick, className: cx(style_select.menuItem, {
|
|
441
|
+
[style_select.selected]: String(currentValue) === String(value),
|
|
442
|
+
}), children: capitalize(String(value)) }, `element-${value}`))) })] })) })] }));
|
|
443
|
+
};
|
|
444
|
+
|
|
445
|
+
const DifficultySelector = ({ playOptions, dropdownConfig, }) => {
|
|
446
|
+
const { risks, disabledMenu, currentRisk, onRiskChange } = playOptions;
|
|
447
|
+
const riskColor = useRef(dropdownConfig.riskColorConfig[RiskTypes.LOW]);
|
|
448
|
+
function onRiskSelected(value) {
|
|
449
|
+
riskColor.current = dropdownConfig.riskColorConfig[value];
|
|
450
|
+
onRiskChange(value);
|
|
451
|
+
}
|
|
452
|
+
return (jsx("div", { className: style_difficulty.base, children: jsx(Selector, { currentValue: currentRisk, label: SELECTORS.RISK, values: risks, onSelect: onRiskSelected, disabled: disabledMenu, riskColor: riskColor.current }) }));
|
|
453
|
+
};
|
|
454
|
+
|
|
455
|
+
var styles = {"base":"InputWithSwitch-module__base___vjLoh","icon":"InputWithSwitch-module__icon___upeAL","input":"InputWithSwitch-module__input___K6RCD","label":"InputWithSwitch-module__label___tEjpj","gold":"InputWithSwitch-module__gold___MO4qj","sweeps":"InputWithSwitch-module__sweeps___jvyQd"};
|
|
456
|
+
|
|
457
|
+
const InputWithSwitch = ({ children, switcherConfig, disabled, currency, label, className, ...restProps }) => {
|
|
458
|
+
return (jsxs("div", { className: cx(styles.base, className, {
|
|
459
|
+
[styles.disabled]: switcherConfig.disabled,
|
|
460
|
+
}), children: [label && (jsx("span", { className: cx(styles.label, styles[currency]), children: label })), jsx(Switch, { ...switcherConfig }), jsx(Input, { ...restProps, className: cx(styles.input), disabled: disabled, max: 99 }), jsx("div", { className: cx(styles.icon), children: children })] }));
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
const AutoManualPlayProvider = ({ children, config, }) => {
|
|
464
|
+
const [mode, setMode] = useState(GAME_MODE.MANUAL);
|
|
465
|
+
const [autoplayState, setAutoplayState] = useState(AUTO_PLAY_STATE.IDLE);
|
|
466
|
+
const [isAutoPlaying, setIsAutoPlaying] = useState(false);
|
|
467
|
+
const [playedRounds, setPlayedRounds] = useState(0);
|
|
468
|
+
const [numberOfPlays, setNumberOfPlays] = useState(Infinity);
|
|
469
|
+
const [selection, setSelection] = useState([]);
|
|
470
|
+
const startAutoplay = useCallback((numPlays) => {
|
|
471
|
+
setMode(GAME_MODE.AUTOPLAY);
|
|
472
|
+
setAutoplayState(AUTO_PLAY_STATE.SELECTING);
|
|
473
|
+
setNumberOfPlays(numPlays);
|
|
474
|
+
setPlayedRounds(0); // Reset when starting autoplay
|
|
475
|
+
}, []);
|
|
476
|
+
const stopAutoplay = useCallback(() => {
|
|
477
|
+
setMode(GAME_MODE.MANUAL);
|
|
478
|
+
setAutoplayState(AUTO_PLAY_STATE.IDLE);
|
|
479
|
+
setIsAutoPlaying(false);
|
|
480
|
+
}, []);
|
|
481
|
+
const updateAutoplayState = useCallback((newState) => setAutoplayState(newState), []);
|
|
482
|
+
const playManualMode = useCallback(() => {
|
|
483
|
+
setMode(GAME_MODE.MANUAL);
|
|
484
|
+
setAutoplayState(AUTO_PLAY_STATE.IDLE);
|
|
485
|
+
}, []);
|
|
486
|
+
const resetState = useCallback(() => {
|
|
487
|
+
setMode(GAME_MODE.MANUAL);
|
|
488
|
+
setAutoplayState(AUTO_PLAY_STATE.IDLE);
|
|
489
|
+
setPlayedRounds(0);
|
|
490
|
+
setNumberOfPlays(0);
|
|
491
|
+
setSelection([]);
|
|
492
|
+
}, []);
|
|
493
|
+
const toggleMode = useCallback(() => {
|
|
494
|
+
if (config.playOptions.isPlaying ||
|
|
495
|
+
config.playOptions.disabledController ||
|
|
496
|
+
autoplayState === AUTO_PLAY_STATE.PLAYING) {
|
|
497
|
+
return;
|
|
498
|
+
}
|
|
499
|
+
setNumberOfPlays(Infinity);
|
|
500
|
+
setMode((prevMode) => prevMode === GAME_MODE.MANUAL ? GAME_MODE.AUTOPLAY : GAME_MODE.MANUAL);
|
|
501
|
+
}, [autoplayState, config.playOptions]);
|
|
502
|
+
const updateSelection = useCallback((values) => {
|
|
503
|
+
if (!isAutoPlaying) {
|
|
504
|
+
setSelection(values);
|
|
505
|
+
}
|
|
506
|
+
}, [isAutoPlaying]);
|
|
507
|
+
const contextValue = useMemo(() => ({
|
|
508
|
+
mode,
|
|
509
|
+
config,
|
|
510
|
+
manual: { playManualMode },
|
|
511
|
+
autoPlay: {
|
|
512
|
+
state: autoplayState,
|
|
513
|
+
playedRounds,
|
|
514
|
+
numberOfPlays,
|
|
515
|
+
selection,
|
|
516
|
+
isActive: isAutoPlaying,
|
|
517
|
+
start: startAutoplay,
|
|
518
|
+
stop: stopAutoplay,
|
|
519
|
+
setSelection: updateSelection,
|
|
520
|
+
updateState: updateAutoplayState,
|
|
521
|
+
setIsActive: setIsAutoPlaying,
|
|
522
|
+
setPlayedRounds,
|
|
523
|
+
setNumberOfPlays,
|
|
524
|
+
setState: setAutoplayState,
|
|
525
|
+
},
|
|
526
|
+
reset: resetState,
|
|
527
|
+
toggleMode,
|
|
528
|
+
}), [
|
|
529
|
+
mode,
|
|
530
|
+
config,
|
|
531
|
+
playManualMode,
|
|
532
|
+
autoplayState,
|
|
533
|
+
playedRounds,
|
|
534
|
+
numberOfPlays,
|
|
535
|
+
selection,
|
|
536
|
+
isAutoPlaying,
|
|
537
|
+
startAutoplay,
|
|
538
|
+
stopAutoplay,
|
|
539
|
+
updateSelection,
|
|
540
|
+
updateAutoplayState,
|
|
541
|
+
resetState,
|
|
542
|
+
toggleMode,
|
|
543
|
+
]);
|
|
544
|
+
return (jsxs(AutoManualPlayStateContext.Provider, { value: contextValue, children: [typeof children === "function" ? children(contextValue) : children, config.playOptions.displayController && (jsxs("div", { className: cx(styles_ui.base, styles_ui.betForm), style: {
|
|
545
|
+
"--play-bottom": config.panel.bottom,
|
|
546
|
+
"--play-panel-bg": hexToRgb(config.panel.bgColorHex ?? "#01243A"),
|
|
547
|
+
"--play-dropdown-bg": hexToRgb(config.dropdown.bgColorHex ?? "#01243A"),
|
|
548
|
+
}, children: [jsxs("div", { className: cx(styles_ui.auto), children: [jsx(DifficultySelector, { playOptions: {
|
|
549
|
+
...config.playOptions,
|
|
550
|
+
disabledMenu: config.playOptions.disabledController ||
|
|
551
|
+
config.playOptions.disabledMenu,
|
|
552
|
+
}, dropdownConfig: config.dropdown }), jsx(InputWithSwitch, { value: numberOfPlays === Infinity ? 0 : numberOfPlays, type: "number", onChange: (e) => setNumberOfPlays(Number(e.currentTarget.value)), placeholder: "Number of Plays", min: 0, max: 99, disabled: config.playOptions.disabledController ||
|
|
553
|
+
mode === GAME_MODE.MANUAL, currency: config.currencyOptions.currentCurrency, switcherConfig: {
|
|
554
|
+
onSwitch: toggleMode,
|
|
555
|
+
isPlaying: isAutoPlaying || config.playOptions.isPlaying,
|
|
556
|
+
enabled: mode !== GAME_MODE.MANUAL,
|
|
557
|
+
currency: config.currencyOptions.currentCurrency,
|
|
558
|
+
disabled: config.playOptions.disabledController ||
|
|
559
|
+
autoplayState === AUTO_PLAY_STATE.PLAYING,
|
|
560
|
+
}, children: jsx("span", { className: cx({
|
|
561
|
+
[styles_ui.disabled]: mode !== GAME_MODE.AUTOPLAY ||
|
|
562
|
+
numberOfPlays !== Infinity ||
|
|
563
|
+
autoplayState === AUTO_PLAY_STATE.PLAYING,
|
|
564
|
+
}), children: `∞` }) })] }), mode === GAME_MODE.MANUAL ? (jsx(ManualPlayController, {})) : (jsx(AutoPlayController, {}))] }))] }));
|
|
565
|
+
};
|
|
566
|
+
|
|
567
|
+
export { AUTO_PLAY_STATE, AutoManualPlayProvider, GAME_MODE };
|
|
568
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/types/gameMode.ts","../src/components/base/Button/Button.tsx","../src/components/base/GroupRow/GroupRow.tsx","../src/components/base/Input/cleanInputNumber.ts","../src/components/base/Input/Input.tsx","../src/components/base/Switch/Switch.tsx","../src/components/base/InputWithIcon/InputWithIcon.tsx","../src/components/base/SelectMenu/GoldIcon.tsx","../src/components/base/SelectMenu/SweepsIcon.tsx","../src/components/base/ChevronIcon/ChevronIcon.tsx","../src/components/base/SelectMenu/SelectMenu.tsx","../src/components/AutoManualPlayStateProvider/AutoManualPlayStateContext.tsx","../src/components/hooks/usePlayController.ts","../src/components/base/DifficultySelector/types.ts","../src/types/playController.ts","../src/components/base/PlayController/PlayController.tsx","../src/components/utils.ts","../src/components/base/AutoPlayController/AutoPlayController.tsx","../src/components/base/ManualPlayController/ManualPlayController.tsx","../src/components/base/DifficultySelector/Selector.tsx","../src/components/base/DifficultySelector/DifficultySelector.tsx","../src/components/base/InputWithSwitch/InputWithSwitch.tsx","../src/components/AutoManualPlayStateProvider/AutoManualPlayProvider.tsx"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["_jsx","styles","_jsxs","HeadlessSwitch","capitalize","style_select","_Fragment"],"mappings":"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"}
|