@truelab/truelogic 4.2.2 → 4.3.0-1
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/100.min.js +1 -1
- package/dist/103.min.js +1 -1
- package/dist/113.min.js +1 -1
- package/dist/172.min.js +1 -1
- package/dist/180.min.js +1 -1
- package/dist/201.min.js +1 -1
- package/dist/203.min.js +1 -1
- package/dist/266.min.js +1 -1
- package/dist/282.min.js +1 -1
- package/dist/383.min.js +1 -1
- package/dist/4.min.js +1 -1
- package/dist/423.min.js +1 -1
- package/dist/487.min.js +1 -1
- package/dist/546.min.js +1 -1
- package/dist/585.min.js +1 -1
- package/dist/59.min.js +1 -1
- package/dist/683.min.js +1 -1
- package/dist/699.min.js +1 -1
- package/dist/728.min.js +1 -1
- package/dist/755.min.js +1 -1
- package/dist/756.min.js +1 -1
- package/dist/761.min.js +1 -1
- package/dist/763.min.js +1 -1
- package/dist/80.min.js +1 -1
- package/dist/887.91365f04.css +3 -0
- package/dist/887.min.js +1 -0
- package/dist/90.min.js +1 -1
- package/dist/929.min.js +1 -1
- package/dist/937.min.js +1 -1
- package/dist/988.min.js +1 -1
- package/dist/assets/events-empty.e864d6cd0e2060d9eb98.webp +0 -0
- package/dist/assets/locales/cs.json +5 -1
- package/dist/assets/locales/de.json +5 -1
- package/dist/assets/locales/en.json +5 -1
- package/dist/assets/locales/es.json +5 -1
- package/dist/assets/locales/fi.json +5 -1
- package/dist/assets/locales/fr.json +5 -1
- package/dist/assets/locales/hi.json +5 -1
- package/dist/assets/locales/hr.json +5 -1
- package/dist/assets/locales/id.json +5 -1
- package/dist/assets/locales/it.json +5 -1
- package/dist/assets/locales/ja.json +5 -1
- package/dist/assets/locales/kk.json +5 -1
- package/dist/assets/locales/ko.json +5 -1
- package/dist/assets/locales/nl.json +5 -1
- package/dist/assets/locales/no.json +5 -1
- package/dist/assets/locales/pl.json +5 -1
- package/dist/assets/locales/pt.json +5 -1
- package/dist/assets/locales/ru.json +5 -1
- package/dist/assets/locales/sc_en.json +26 -22
- package/dist/assets/locales/sr.json +5 -1
- package/dist/assets/locales/sv.json +5 -1
- package/dist/assets/locales/th.json +5 -1
- package/dist/assets/locales/tr.json +5 -1
- package/dist/assets/locales/uk.json +5 -1
- package/dist/assets/locales/vi.json +5 -1
- package/dist/assets/locales/zh.json +5 -1
- package/dist/truelogic.min.css +1 -1
- package/dist/truelogic.min.js +1 -1
- package/dist/types/src/app/lib/functions/getConfigurationNonCriticalImages.test.d.ts +1 -0
- package/dist/types/src/app/lib/hooks/useSandboxGuiEvents.d.ts +5 -0
- package/dist/types/src/app/lib/singletones/publicEmitter.d.ts +9 -0
- package/dist/types/src/app/store.d.ts +35 -30
- package/dist/types/src/entities/autoplay/model/autoPlaySlice.d.ts +7 -6
- package/dist/types/src/entities/bonus/model/bonusSlice.d.ts +35 -30
- package/dist/types/src/entities/gameInfo/index.d.ts +3 -1
- package/dist/types/src/entities/gameInfo/lib/getGameInfoSections.d.ts +24 -0
- package/dist/types/src/entities/gameInfo/lib/getGameInfoSections.test.d.ts +1 -0
- package/dist/types/src/entities/gameInfo/model/gameInfoSlice.d.ts +4 -3
- package/dist/types/src/entities/gameInfo/model/types.d.ts +23 -2
- package/dist/types/src/entities/menu/index.d.ts +2 -1
- package/dist/types/src/entities/menu/model/menuSlice.d.ts +34 -0
- package/dist/types/src/entities/menu/model/menuSlice.test.d.ts +1 -0
- package/dist/types/src/entities/modals/index.d.ts +0 -1
- package/dist/types/src/entities/payTable/model/types.d.ts +5 -0
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/PayTableConstructor.d.ts +13 -1
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/PayTableConstructor.stories.d.ts +8 -1
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableLine.stories.d.ts +5 -1
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableSymbolGridV1.stories.d.ts +5 -1
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableSymbolSpecialV1.stories.d.ts +5 -1
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableSymbolSpecialV2.stories.d.ts +5 -1
- package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableTitle.stories.d.ts +5 -1
- package/dist/types/src/entities/realityCheck/index.d.ts +0 -1
- package/dist/types/src/entities/roundsHistory/ui/RoundsHistoryCard.d.ts +1 -0
- package/dist/types/src/entities/sound/ui/SoundSettingsSwitcher/SoundSettingsSwitcher.d.ts +1 -0
- package/dist/types/src/features/menu/index.d.ts +2 -1
- package/dist/types/src/features/menu/lib/useInfoClick.d.ts +10 -0
- package/dist/types/src/features/menu/ui/InfoButton/InfoButton.d.ts +15 -0
- package/dist/types/src/features/menu/ui/PanelInfo/PanelInfo.d.ts +11 -0
- package/dist/types/src/modules/promoLobby/app/model/index.d.ts +2 -2
- package/dist/types/src/modules/promoLobby/app/model/promoLobbySlice.d.ts +30 -2
- package/dist/types/src/modules/promoLobby/app/model/promoLobbySlice.test.d.ts +1 -0
- package/dist/types/src/modules/promoLobby/app/model/types.d.ts +6 -1
- package/dist/types/src/modules/promoLobby/entities/modals/index.d.ts +0 -2
- package/dist/types/src/modules/promoLobby/entities/modals/ui/ModalBase.d.ts +1 -1
- package/dist/types/src/modules/promoLobby/entities/modals/ui/ModalBaseHeader.d.ts +1 -1
- package/dist/types/src/modules/promoLobby/entities/prizeDrop/lib/isTrueTokenCampaign.d.ts +2 -0
- package/dist/types/src/modules/promoLobby/entities/prizeDrop/ui/PrizeDropEvents/PrizeDropEventsEmpty.d.ts +5 -0
- package/dist/types/src/modules/promoLobby/entities/prizeDrop/ui/PrizeDropEvents/PrizeDropEventsList.d.ts +2 -0
- package/dist/types/src/modules/promoLobby/entities/prizeDrop/ui/PrizeDropEvents/components/PrizeDropEventsPrizes.d.ts +4 -0
- package/dist/types/src/modules/promoLobby/shared/lib/analytics/promoLobbyAnalytics.d.ts +2 -1
- package/dist/types/src/modules/promoLobby/shared/lib/analytics/subscribePromoLobbyAnalytics.d.ts +9 -0
- package/dist/types/src/modules/promoLobby/shared/lib/hooks/useHasNotifications.d.ts +7 -3
- package/dist/types/src/modules/promoLobby/shared/modals/modalsSlice.d.ts +2 -1
- package/dist/types/src/modules/promoLobby/styles/tailwind.config.d.ts +3 -2
- package/dist/types/src/modules/promoLobby/widgets/panel/ui/PanelPromoLobby.d.ts +1 -4
- package/dist/types/src/modules/promoLobby/widgets/promoLobbyTab/index.d.ts +1 -0
- package/dist/types/src/modules/promoLobby/widgets/promoLobbyTab/ui/PromoLobbyTab.d.ts +7 -0
- package/dist/types/src/modules/promoLobby/widgets/topBar/ui/TopBar.d.ts +9 -0
- package/dist/types/src/sandbox/config.d.ts +12 -12
- package/dist/types/src/sandbox/gui/gui.d.ts +5 -6
- package/dist/types/src/sandbox/gui/helpers/index.d.ts +1 -1
- package/dist/types/src/sandbox/gui/helpers/serializationGameInfo.d.ts +6 -0
- package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/index.d.ts +12 -0
- package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/generateInfoItem.d.ts +11 -0
- package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/generateLineItem.d.ts +11 -0
- package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/generateSymbolItem.d.ts +11 -0
- package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/index.d.ts +3 -0
- package/dist/types/src/sandbox/gui/sections/promoLobby/index.d.ts +8 -0
- package/dist/types/src/sandbox/presets/index.d.ts +6 -2
- package/dist/types/src/sandbox/presets/prizeDrop/campaignsList.d.ts +2 -0
- package/dist/types/src/sandbox/presets/prizeDrop/lobbyInit.d.ts +2 -0
- package/dist/types/src/sandbox/presets/rewards/index.d.ts +1 -1
- package/dist/types/src/sandbox/presets/rewards/list.d.ts +0 -2
- package/dist/types/src/sandbox/presets/steps/counters.d.ts +7 -0
- package/dist/types/src/sandbox/presets/steps/simple.d.ts +3 -0
- package/dist/types/src/sandbox/types/GameInfo.d.ts +11 -0
- package/dist/types/src/sandbox/types/PayTable.d.ts +1 -6
- package/dist/types/src/screens/welcome/ui/WelcomeScreen/WelcomeScreen.stories.d.ts +1 -0
- package/dist/types/src/shared/api/config/types.d.ts +4 -0
- package/dist/types/src/shared/api/modules/promoLobby/config.d.ts +4 -0
- package/dist/types/src/shared/lib/classes/integration/OperatorAbstractService.d.ts +0 -2
- package/dist/types/src/shared/lib/classes/integration/OperatorBaseService.d.ts +0 -4
- package/dist/types/src/shared/lib/classes/integration/OperatorGeneralService.d.ts +1 -3
- package/dist/types/src/shared/lib/constants/cssVars.d.ts +8 -0
- package/dist/types/src/shared/lib/constants/index.d.ts +1 -0
- package/dist/types/src/shared/lib/constants/widgetZIndex.d.ts +1 -0
- package/dist/types/src/shared/lib/functions/formatCount.d.ts +5 -0
- package/dist/types/src/shared/lib/functions/index.d.ts +1 -0
- package/dist/types/src/shared/lib/hooks/index.d.ts +1 -1
- package/dist/types/src/shared/lib/hooks/useElementsBottomCssVar.d.ts +14 -0
- package/dist/types/src/shared/lib/panelLayout/types.d.ts +2 -2
- package/dist/types/src/shared/lib/singletones/analyticsEmitter.d.ts +0 -1
- package/dist/types/src/shared/lib/singletones/gameEmitter.d.ts +22 -1
- package/dist/types/src/shared/lib/singletones/operatorEmitter.d.ts +0 -2
- package/dist/types/src/shared/lib/store/redux.d.ts +14 -12
- package/dist/types/src/shared/lib/tests/utils/getPreloadedState.d.ts +7 -6
- package/dist/types/src/shared/lib/tests/utils/setupTestStore.d.ts +14 -12
- package/dist/types/src/shared/model/menu/types.d.ts +13 -1
- package/dist/types/src/shared/model/modals/index.d.ts +1 -1
- package/dist/types/src/shared/model/modals/modalsSlice.d.ts +2 -3
- package/dist/types/src/shared/modules/menuInnerPage.d.ts +25 -0
- package/dist/types/src/shared/modules/menuTabsRegistry.d.ts +3 -0
- package/dist/types/src/shared/ui/CustomScroll/CustomScroll.d.ts +8 -0
- package/dist/types/src/shared/ui/FixedWidthLabel/FixedWidthLabel.d.ts +1 -0
- package/dist/types/src/shared/ui/InfoConstructor/InfoConstructor.d.ts +3 -1
- package/dist/types/src/shared/ui/InfoConstructor/items/InfoIconListItem.d.ts +4 -1
- package/dist/types/src/shared/ui/InfoSeparator/InfoSeparator.d.ts +13 -0
- package/dist/types/src/shared/ui/InfoSeparator/index.d.ts +1 -0
- package/dist/types/src/shared/ui/SettingsSwitchCard/SettingsSwitchCard.d.ts +16 -0
- package/dist/types/src/shared/ui/SettingsSwitchCard/index.d.ts +1 -0
- package/dist/types/src/shared/ui/Switch/index.d.ts +0 -2
- package/dist/types/src/shared/ui/TabBar/TabBar.d.ts +16 -0
- package/dist/types/src/shared/ui/TabBar/TabBar.stories.d.ts +1804 -0
- package/dist/types/src/shared/ui/TabBar/TabBarIconButton.d.ts +8 -0
- package/dist/types/src/shared/ui/TabBar/TabBarItem.d.ts +12 -0
- package/dist/types/src/shared/ui/TabBar/index.d.ts +3 -0
- package/dist/types/src/shared/ui/TapAnywhere/TapAnywhere.d.ts +4 -2
- package/dist/types/src/widgets/menu/index.d.ts +3 -0
- package/dist/types/src/widgets/menu/lib/selectors.d.ts +20 -0
- package/dist/types/src/widgets/menu/lib/useMenuTabs.d.ts +32 -0
- package/dist/types/src/widgets/menu/ui/GameInfoLight/GameInfoLight.d.ts +16 -0
- package/dist/types/src/widgets/menu/ui/GameInfoLight/GameInfoLight.stories.d.ts +23 -0
- package/dist/types/src/widgets/menu/ui/MenuHeader/MenuHeader.d.ts +18 -0
- package/dist/types/src/widgets/menu/ui/MenuTabBar/MenuTabBar.d.ts +11 -0
- package/dist/types/src/widgets/menu/ui/MenuTabContent/MenuTabContent.d.ts +17 -0
- package/dist/types/src/widgets/menu/ui/ModalMenu/ModalMenu.stories.d.ts +23 -0
- package/dist/types/src/widgets/menu/ui/ModalMenu/ModalMenu.test.d.ts +1 -0
- package/dist/types/src/widgets/menu/ui/tabs/ActivityTab.d.ts +2 -0
- package/dist/types/src/widgets/menu/ui/tabs/ActivityTab.test.d.ts +1 -0
- package/dist/types/src/widgets/menu/ui/tabs/GameInfoTab.d.ts +14 -0
- package/dist/types/src/widgets/menu/ui/tabs/GameInfoTab.test.d.ts +1 -0
- package/dist/types/src/widgets/menu/ui/tabs/RealityCheckSettings.d.ts +7 -0
- package/dist/types/src/widgets/menu/ui/tabs/RealityCheckSettings.test.d.ts +1 -0
- package/dist/types/src/widgets/menu/ui/tabs/RoundDetailsPage.d.ts +9 -0
- package/dist/types/src/widgets/menu/ui/tabs/SettingsTab.d.ts +2 -0
- package/dist/types/src/widgets/{modals/ui/ModalSettings.stories.d.ts → menu/ui/tabs/SettingsTab.stories.d.ts} +3 -3
- package/dist/types/src/widgets/modals/index.d.ts +0 -7
- package/dist/types/src/widgets/modals/ui/ModalRealityCheckReminder.test.d.ts +1 -0
- package/package.json +1 -1
- package/dist/318.e2d54eb1.css +0 -3
- package/dist/318.min.js +0 -1
- package/dist/assets/coming-soon.378973f1d8788623bbe9.webp +0 -0
- package/dist/assets/true-coin.1428441fe478e319cb4e.webp +0 -0
- package/dist/types/src/entities/menu/ui/MenuSwitchItem.d.ts +0 -6
- package/dist/types/src/entities/menu/ui/MenuSwitchItem.stories.d.ts +0 -35
- package/dist/types/src/entities/modals/ui/ModalMenuItemCard.d.ts +0 -8
- package/dist/types/src/entities/realityCheck/ui/RealityCheckSwitcher/RealityCheckSwitcher.d.ts +0 -7
- package/dist/types/src/features/menu/ui/PanelMenu/PanelMenu.d.ts +0 -10
- package/dist/types/src/modules/promoLobby/entities/modals/ui/ModalFullHeightBase.d.ts +0 -10
- package/dist/types/src/modules/promoLobby/entities/modals/ui/ModalMenuItemCard.d.ts +0 -8
- package/dist/types/src/modules/promoLobby/screens/InfoScreen/InfoScreen.d.ts +0 -1
- package/dist/types/src/modules/promoLobby/screens/ProfileScreen/ProfileScreen.d.ts +0 -1
- package/dist/types/src/modules/promoLobby/shared/lib/constants/index.d.ts +0 -1
- package/dist/types/src/modules/promoLobby/shared/lib/constants/widgetZIndex.d.ts +0 -3
- package/dist/types/src/modules/promoLobby/shared/lib/hooks/usePromoLobbyAnalyticsEvents.d.ts +0 -1
- package/dist/types/src/modules/promoLobby/widgets/modals/ui/ModalPromoLobby.d.ts +0 -2
- package/dist/types/src/modules/promoLobby/widgets/navbar/index.d.ts +0 -2
- package/dist/types/src/modules/promoLobby/widgets/navbar/lib/navbarConfig.d.ts +0 -7
- package/dist/types/src/modules/promoLobby/widgets/navbar/ui/Navbar.d.ts +0 -1
- package/dist/types/src/modules/promoLobby/widgets/navbar/ui/NavbarItem.d.ts +0 -12
- package/dist/types/src/sandbox/gui/helpers/serializationPayTable.d.ts +0 -3
- package/dist/types/src/sandbox/gui/sections/configuration/gameInfo.d.ts +0 -2
- package/dist/types/src/sandbox/gui/sections/configuration/payTable.d.ts +0 -2
- package/dist/types/src/shared/lib/hooks/useFullScreen.d.ts +0 -5
- package/dist/types/src/shared/lib/hooks/useFullScreenSupport.d.ts +0 -1
- package/dist/types/src/shared/model/fullScreen/fullScreenSlice.d.ts +0 -7
- package/dist/types/src/shared/model/fullScreen/index.d.ts +0 -1
- package/dist/types/src/shared/ui/Switch/SwitchItem.d.ts +0 -21
- package/dist/types/src/shared/ui/Switch/SwitchItem.stories.d.ts +0 -14
- package/dist/types/src/widgets/modals/ui/ModalGameInfo.d.ts +0 -1
- package/dist/types/src/widgets/modals/ui/ModalMenu/ModalMenu.stories.d.ts +0 -17
- package/dist/types/src/widgets/modals/ui/ModalPayTable.d.ts +0 -1
- package/dist/types/src/widgets/modals/ui/ModalPayTable.stories.d.ts +0 -15
- package/dist/types/src/widgets/modals/ui/ModalRealityCheck.d.ts +0 -1
- package/dist/types/src/widgets/modals/ui/ModalRoundDetails.d.ts +0 -1
- package/dist/types/src/widgets/modals/ui/ModalRoundsHistory.d.ts +0 -1
- package/dist/types/src/widgets/modals/ui/ModalSettings.d.ts +0 -1
- package/dist/types/src/widgets/topBar/ui/TopBar.d.ts +0 -5
- /package/dist/types/src/{widgets → modules/promoLobby/widgets}/topBar/index.d.ts +0 -0
- /package/dist/types/src/widgets/{modals → menu}/ui/ModalMenu/ModalMenu.d.ts +0 -0
package/dist/types/src/entities/payTable/ui/PayTableConstructor/PayTableConstructor.stories.d.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { TPayTableContainer } from '../../model/types';
|
|
2
3
|
declare const meta: {
|
|
3
4
|
title: string;
|
|
4
|
-
component:
|
|
5
|
+
component: import("react").FC<{
|
|
6
|
+
containers: TPayTableContainer[];
|
|
7
|
+
symbolsGridV1Gap?: import("../..").TSymbolsGridV1Gap;
|
|
8
|
+
}>;
|
|
5
9
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
6
10
|
parameters: {
|
|
7
11
|
imagesToLoad: string[];
|
|
8
12
|
};
|
|
13
|
+
args: {
|
|
14
|
+
containers: TPayTableContainer[];
|
|
15
|
+
};
|
|
9
16
|
};
|
|
10
17
|
export default meta;
|
|
11
18
|
type TStory = StoryObj<typeof meta>;
|
package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableLine.stories.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { TPayTableContainer } from '../../../model/types';
|
|
2
3
|
declare const meta: {
|
|
3
4
|
title: string;
|
|
4
|
-
component:
|
|
5
|
+
component: import("react").FC<{
|
|
6
|
+
containers: TPayTableContainer[];
|
|
7
|
+
symbolsGridV1Gap?: import("../../..").TSymbolsGridV1Gap;
|
|
8
|
+
}>;
|
|
5
9
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
6
10
|
};
|
|
7
11
|
export default meta;
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { TPayTableContainer } from '../../../model/types';
|
|
2
3
|
declare const meta: {
|
|
3
4
|
title: string;
|
|
4
|
-
component:
|
|
5
|
+
component: import("react").FC<{
|
|
6
|
+
containers: TPayTableContainer[];
|
|
7
|
+
symbolsGridV1Gap?: import("../../..").TSymbolsGridV1Gap;
|
|
8
|
+
}>;
|
|
5
9
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
6
10
|
parameters: {
|
|
7
11
|
imagesToLoad: string[];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { TPayTableContainer } from '../../../model/types';
|
|
2
3
|
declare const meta: {
|
|
3
4
|
title: string;
|
|
4
|
-
component:
|
|
5
|
+
component: import("react").FC<{
|
|
6
|
+
containers: TPayTableContainer[];
|
|
7
|
+
symbolsGridV1Gap?: import("../../..").TSymbolsGridV1Gap;
|
|
8
|
+
}>;
|
|
5
9
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
6
10
|
parameters: {
|
|
7
11
|
imagesToLoad: string[];
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { TPayTableContainer } from '../../../model/types';
|
|
2
3
|
declare const meta: {
|
|
3
4
|
title: string;
|
|
4
|
-
component:
|
|
5
|
+
component: import("react").FC<{
|
|
6
|
+
containers: TPayTableContainer[];
|
|
7
|
+
symbolsGridV1Gap?: import("../../..").TSymbolsGridV1Gap;
|
|
8
|
+
}>;
|
|
5
9
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
6
10
|
parameters: {
|
|
7
11
|
imagesToLoad: string[];
|
package/dist/types/src/entities/payTable/ui/PayTableConstructor/items/PayTableTitle.stories.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { StoryObj } from '@storybook/react-webpack5';
|
|
2
|
+
import { TPayTableContainer } from '../../../model/types';
|
|
2
3
|
declare const meta: {
|
|
3
4
|
title: string;
|
|
4
|
-
component:
|
|
5
|
+
component: import("react").FC<{
|
|
6
|
+
containers: TPayTableContainer[];
|
|
7
|
+
symbolsGridV1Gap?: import("../../..").TSymbolsGridV1Gap;
|
|
8
|
+
}>;
|
|
5
9
|
decorators: import("@storybook/react-webpack5").Decorator[];
|
|
6
10
|
};
|
|
7
11
|
export default meta;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
export { useRealityCheck } from './lib/hook/useRealityCheck';
|
|
2
2
|
export { getRealityCheckIsReadyForSave, realityCheckReducer, refreshRealityCheck, resetRealityCheckValues, saveRealityCheck, setReailtyCheckActiveReminder, setReailtyCheckDeferred, setRealityCheckIsActive, setRealityCheckPaused, setRealityCheckReminderTime, setRealityCheckRepeatReminderTime, } from './model/realityCheckSlice';
|
|
3
|
-
export { RealityCheckSwitcher } from './ui/RealityCheckSwitcher/RealityCheckSwitcher';
|
|
4
3
|
export { RealityCheckTime } from './ui/RealityCheckTime/RealityCheckTime';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MouseEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Click handlers shared by the Info buttons — the round corner one and the panel plate one.
|
|
4
|
+
* The click is reported as `info`; by default it opens the game menu on the Game Info tab, and
|
|
5
|
+
* `onOpen` replaces that for a host with its own Game Info page (the welcome screen).
|
|
6
|
+
*/
|
|
7
|
+
export declare const useInfoClick: (onOpen?: () => void) => {
|
|
8
|
+
onClick: (event: MouseEvent) => void;
|
|
9
|
+
onPointerDown: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
type TProps = {
|
|
2
|
+
className?: string;
|
|
3
|
+
disabled?: boolean;
|
|
4
|
+
/** Positioned by the host (the portrait Top Line, the welcome screen) instead of floating */
|
|
5
|
+
hosted?: boolean;
|
|
6
|
+
/** Replaces the default action — opening the game menu on the Game Info tab */
|
|
7
|
+
onClick?: () => void;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Round Info button in the screen corner: opens the game menu on the Game Info tab. Replaces the
|
|
11
|
+
* burger button of the old menu. Only the layouts with a full plate render it — the ones with a
|
|
12
|
+
* spare cell host the menu entry point on the plate instead (see PanelInfo / PANEL_SLOTS).
|
|
13
|
+
*/
|
|
14
|
+
export declare const InfoButton: ({ className, disabled, hosted, onClick: onOpen }: TProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
type TProps = {
|
|
3
|
+
className?: string;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
};
|
|
6
|
+
/**
|
|
7
|
+
* Info button in a panel plate slot. The layouts with a spare cell (0 and 2 supported features,
|
|
8
|
+
* see PANEL_SLOTS) host the menu entry point here; the others keep the round corner InfoButton.
|
|
9
|
+
*/
|
|
10
|
+
export declare const PanelInfo: FC<TProps>;
|
|
11
|
+
export {};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { blockPromoLobbyUI, getPromoLobbyUIBlocked, navigateBack, resetPromoLobbyScreen, setPromoLobbyActiveScreen, setPromoLobbyLang, setPromoLobbyTopBarScreen, unblockPromoLobbyUI, } from './promoLobbySlice';
|
|
1
|
+
export { blockPromoLobbyUI, clearPromoLobbyUIBlockers, getIsRewardsHubFeatureEnabled, getIsWalletFeatureEnabled, getPromoLobbyUIBlocked, navigateBack, resetPromoLobbyScreen, setPromoLobbyActiveScreen, setPromoLobbyFeatures, setPromoLobbyLang, setPromoLobbyTopBarScreen, unblockPromoLobbyUI, } from './promoLobbySlice';
|
|
2
2
|
export { promoLobbyReducer } from './promoLobbySlice';
|
|
3
|
-
export type { TPromoLobbyScreen } from './types';
|
|
3
|
+
export type { TPromoLobbyFeatures, TPromoLobbyScreen } from './types';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { TPromoLobbyScreen, TPromoLobbyScreenHistoryEntry, TPromoLobbyTopBarScreen, TPromoLobbyUIBlocker } from './types';
|
|
1
|
+
import { TPromoLobbyFeatures, TPromoLobbyScreen, TPromoLobbyScreenHistoryEntry, TPromoLobbyTopBarScreen, TPromoLobbyUIBlocker } from './types';
|
|
2
2
|
export type TPromoLobbyState = {
|
|
3
3
|
activeScreen: TPromoLobbyScreen;
|
|
4
4
|
topBarScreen: TPromoLobbyTopBarScreen | null;
|
|
5
5
|
screenHistory: TPromoLobbyScreenHistoryEntry[];
|
|
6
6
|
uiBlockers: TPromoLobbyUIBlocker[];
|
|
7
7
|
lang: string | null;
|
|
8
|
+
features: TPromoLobbyFeatures;
|
|
8
9
|
};
|
|
9
10
|
export declare const promoLobbySlice: import("@reduxjs/toolkit").Slice<TPromoLobbyState, {
|
|
10
11
|
setPromoLobbyActiveScreen: import("@reduxjs/toolkit").CaseReducer<TPromoLobbyState, {
|
|
@@ -19,6 +20,12 @@ export declare const promoLobbySlice: import("@reduxjs/toolkit").Slice<TPromoLob
|
|
|
19
20
|
}> & {
|
|
20
21
|
_reducerDefinitionType: import("@reduxjs/toolkit").ReducerType.reducer;
|
|
21
22
|
};
|
|
23
|
+
setPromoLobbyFeatures: import("@reduxjs/toolkit").CaseReducer<TPromoLobbyState, {
|
|
24
|
+
payload: TPromoLobbyFeatures;
|
|
25
|
+
type: string;
|
|
26
|
+
}> & {
|
|
27
|
+
_reducerDefinitionType: import("@reduxjs/toolkit").ReducerType.reducer;
|
|
28
|
+
};
|
|
22
29
|
setPromoLobbyTopBarScreen: import("@reduxjs/toolkit").CaseReducer<TPromoLobbyState, {
|
|
23
30
|
payload: TPromoLobbyTopBarScreen;
|
|
24
31
|
type: string;
|
|
@@ -49,15 +56,36 @@ export declare const promoLobbySlice: import("@reduxjs/toolkit").Slice<TPromoLob
|
|
|
49
56
|
}> & {
|
|
50
57
|
_reducerDefinitionType: import("@reduxjs/toolkit").ReducerType.reducer;
|
|
51
58
|
};
|
|
59
|
+
/**
|
|
60
|
+
* Leaving the tab drops every blocker: a blocker only guards navigation inside the lobby,
|
|
61
|
+
* and leaving with one still set would make `resetPromoLobbyScreen` bail out and strand the
|
|
62
|
+
* next visit in the middle of the flow it was left in.
|
|
63
|
+
*/
|
|
64
|
+
clearPromoLobbyUIBlockers: import("@reduxjs/toolkit").CaseReducer<TPromoLobbyState, {
|
|
65
|
+
payload: void;
|
|
66
|
+
type: string;
|
|
67
|
+
}> & {
|
|
68
|
+
_reducerDefinitionType: import("@reduxjs/toolkit").ReducerType.reducer;
|
|
69
|
+
};
|
|
52
70
|
}, "promoLobby", "promoLobby", {
|
|
53
71
|
getActiveScreen: (state: TPromoLobbyState) => TPromoLobbyScreen;
|
|
54
72
|
getPromoLobbyUIBlocked: (state: TPromoLobbyState) => boolean;
|
|
73
|
+
getIsWalletFeatureEnabled: (state: TPromoLobbyState) => boolean;
|
|
74
|
+
getIsRewardsHubFeatureEnabled: (state: TPromoLobbyState) => boolean;
|
|
55
75
|
}>;
|
|
56
|
-
export declare const blockPromoLobbyUI: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<"walletConvert", "promoLobby/blockPromoLobbyUI">, setPromoLobbyActiveScreen: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPromoLobbyScreen, "promoLobby/setPromoLobbyActiveScreen">, setPromoLobbyLang: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string, "promoLobby/setPromoLobbyLang">, setPromoLobbyTopBarScreen: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPromoLobbyTopBarScreen, "promoLobby/setPromoLobbyTopBarScreen">, navigateBack: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"promoLobby/navigateBack">, resetPromoLobbyScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"promoLobby/resetPromoLobbyScreen">, unblockPromoLobbyUI: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<"walletConvert", "promoLobby/unblockPromoLobbyUI">;
|
|
76
|
+
export declare const blockPromoLobbyUI: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<"walletConvert", "promoLobby/blockPromoLobbyUI">, clearPromoLobbyUIBlockers: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"promoLobby/clearPromoLobbyUIBlockers">, setPromoLobbyActiveScreen: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPromoLobbyScreen, "promoLobby/setPromoLobbyActiveScreen">, setPromoLobbyFeatures: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPromoLobbyFeatures, "promoLobby/setPromoLobbyFeatures">, setPromoLobbyLang: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<string, "promoLobby/setPromoLobbyLang">, setPromoLobbyTopBarScreen: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TPromoLobbyTopBarScreen, "promoLobby/setPromoLobbyTopBarScreen">, navigateBack: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"promoLobby/navigateBack">, resetPromoLobbyScreen: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"promoLobby/resetPromoLobbyScreen">, unblockPromoLobbyUI: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<"walletConvert", "promoLobby/unblockPromoLobbyUI">;
|
|
57
77
|
export declare const getActiveScreen: import("reselect").Selector<{
|
|
58
78
|
promoLobby: TPromoLobbyState;
|
|
59
79
|
}, TPromoLobbyScreen, []> & {
|
|
60
80
|
unwrapped: (state: TPromoLobbyState) => TPromoLobbyScreen;
|
|
81
|
+
}, getIsRewardsHubFeatureEnabled: import("reselect").Selector<{
|
|
82
|
+
promoLobby: TPromoLobbyState;
|
|
83
|
+
}, boolean, []> & {
|
|
84
|
+
unwrapped: (state: TPromoLobbyState) => boolean;
|
|
85
|
+
}, getIsWalletFeatureEnabled: import("reselect").Selector<{
|
|
86
|
+
promoLobby: TPromoLobbyState;
|
|
87
|
+
}, boolean, []> & {
|
|
88
|
+
unwrapped: (state: TPromoLobbyState) => boolean;
|
|
61
89
|
}, getPromoLobbyUIBlocked: import("reselect").Selector<{
|
|
62
90
|
promoLobby: TPromoLobbyState;
|
|
63
91
|
}, boolean, []> & {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
export type TPromoLobbyScreen = 'true-world' | 'true-games' | 'tournaments' | 'quests' | 'marketplace' | 'campaign';
|
|
2
|
-
export type TPromoLobbyTopBarScreen = '
|
|
2
|
+
export type TPromoLobbyTopBarScreen = 'wallet' | 'wallet-convert' | 'wallet-convert-confirm';
|
|
3
3
|
export type TPromoLobbyUIBlocker = 'walletConvert';
|
|
4
|
+
/** Feature flags mirrored from the app config (`app.modulesConfig.promoLobby`) into the module store. */
|
|
5
|
+
export type TPromoLobbyFeatures = {
|
|
6
|
+
wallet: boolean;
|
|
7
|
+
rewardsHub: boolean;
|
|
8
|
+
};
|
|
4
9
|
export type TPromoLobbyScreenHistoryEntry = {
|
|
5
10
|
activeScreen: TPromoLobbyScreen;
|
|
6
11
|
topBarScreen: TPromoLobbyTopBarScreen | null;
|
|
@@ -2,5 +2,3 @@ export { ModalBase } from './ui/ModalBase';
|
|
|
2
2
|
export { ModalBaseBody } from './ui/ModalBaseBody';
|
|
3
3
|
export { ModalBaseFooter } from './ui/ModalBaseFooter';
|
|
4
4
|
export { ModalBaseHeader } from './ui/ModalBaseHeader';
|
|
5
|
-
export { ModalFullHeightBase } from './ui/ModalFullHeightBase';
|
|
6
|
-
export { ModalMenuItemCard } from './ui/ModalMenuItemCard';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Promo lobby with nothing to show: no campaign has ever arrived for this session. Grows into the
|
|
3
|
+
* free height of the menu tab so the message sits in the middle of it, as in the mockup.
|
|
4
|
+
*/
|
|
5
|
+
export declare const PrizeDropEventsEmpty: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1,3 @@
|
|
|
1
|
+
import { TPrizeDropCampaign } from '../../../../../../shared/model/prizeDrop';
|
|
2
|
+
export declare const getVisiblePrizeDropCampaigns: (campaigns: TPrizeDropCampaign[] | undefined, isRewardsHubEnabled: boolean) => TPrizeDropCampaign[];
|
|
1
3
|
export declare const PrizeDropEventsList: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
type TProps = {
|
|
2
2
|
className?: string;
|
|
3
3
|
};
|
|
4
|
+
/**
|
|
5
|
+
* Prize table of the event page. Per the Scope 2 mockup it is a plain list on the card it sits on:
|
|
6
|
+
* no plates behind the rows, only hairlines between them, and the "Left" column carries the weight.
|
|
7
|
+
*/
|
|
4
8
|
export declare const PrizeDropEventsPrizes: ({ className }: TProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
9
|
export {};
|
|
@@ -57,7 +57,6 @@ export declare enum EAnalyticsEventsPromoLobby {
|
|
|
57
57
|
rewardExpired = "reward_expired",
|
|
58
58
|
rewardConvertPlayClicked = "reward_convert_play_clicked",
|
|
59
59
|
prizeDropWin = "prize_drop_win",
|
|
60
|
-
infoSectionViewed = "info_section_viewed",
|
|
61
60
|
notificationBadgeShown = "notification_badge_shown",
|
|
62
61
|
notificationBadgeCleared = "notification_badge_cleared",
|
|
63
62
|
convertFlowStarted = "convert_flow_started",
|
|
@@ -72,4 +71,6 @@ export declare enum EAnalyticsEventsPromoLobby {
|
|
|
72
71
|
walletOpened = "wallet_opened",
|
|
73
72
|
walletReturnedAfterAction = "wallet_returned_after_action"
|
|
74
73
|
}
|
|
74
|
+
export declare const WALLET_FLAG_ANALYTICS_EVENTS: string[];
|
|
75
|
+
export declare const REWARDS_HUB_FLAG_ANALYTICS_EVENTS: string[];
|
|
75
76
|
export {};
|
package/dist/types/src/modules/promoLobby/shared/lib/analytics/subscribePromoLobbyAnalytics.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Wires the promo lobby analytics onto `analyticsEmitter`. Called once from the module `init`, so
|
|
3
|
+
* none of it reaches the core bundle: every event below is emitted from inside the module, and with
|
|
4
|
+
* the module absent not one of them can fire.
|
|
5
|
+
*
|
|
6
|
+
* The feature flags live in the main store, so they are read lazily on every send through the
|
|
7
|
+
* `getState` the module init context hands over.
|
|
8
|
+
*/
|
|
9
|
+
export declare const subscribePromoLobbyAnalytics: (getState: () => TRootState) => void;
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { TRewardQueueEntry } from '../../../../../modules/promoLobby/entities/rewardsHub';
|
|
2
2
|
import { TPrizeDropCampaign, TReward } from '../../../../../shared/model/prizeDrop';
|
|
3
3
|
type TGetHasNotificationsParams = {
|
|
4
|
+
/** wallet feature flag: when false, isActiveWalletNew is ignored even if the server sends isNew===true */
|
|
5
|
+
isWalletFeatureEnabled: boolean;
|
|
6
|
+
/** rewardsHub feature flag: when false, reward triggers are ignored; campaign triggers stay */
|
|
7
|
+
isRewardsHubFeatureEnabled: boolean;
|
|
4
8
|
isActiveWalletNew: boolean;
|
|
5
9
|
viewedRewardDropIds: string[];
|
|
6
10
|
viewedCampaignIds: string[];
|
|
@@ -12,7 +16,7 @@ type TGetHasNotificationsParams = {
|
|
|
12
16
|
hasDefferedCampaign: boolean;
|
|
13
17
|
hasDefferedReward: boolean;
|
|
14
18
|
};
|
|
15
|
-
export declare const getHasNotifications: ({ isActiveWalletNew, viewedRewardDropIds, viewedCampaignIds, rewards, rewardsQueue, scheduledCampaigns, hasDefferedRewardModal, hasDefferedCampaign, hasDefferedReward, }: TGetHasNotificationsParams) => boolean;
|
|
19
|
+
export declare const getHasNotifications: ({ isWalletFeatureEnabled, isRewardsHubFeatureEnabled, isActiveWalletNew, viewedRewardDropIds, viewedCampaignIds, rewards, rewardsQueue, scheduledCampaigns, hasDefferedRewardModal, hasDefferedCampaign, hasDefferedReward, }: TGetHasNotificationsParams) => boolean;
|
|
16
20
|
export type TFrozenHasNotifications = boolean | null;
|
|
17
21
|
/**
|
|
18
22
|
* Freezes the badge value for the duration of gameplay.
|
|
@@ -36,9 +40,9 @@ export declare const applyModalSuppression: (rawHasNotifications: boolean, isAny
|
|
|
36
40
|
export declare const pickNearestExpiry: (rewards: TReward[], rewardsQueue: TRewardQueueEntry[], winReward: TReward | null | undefined) => number | null;
|
|
37
41
|
/**
|
|
38
42
|
* Badge shown when:
|
|
39
|
-
* - First visit: active wallet has isNew === true (server-driven, cleared locally on lobby open)
|
|
43
|
+
* - First visit: active wallet has isNew === true (server-driven, cleared locally on lobby open); wallet flag off → ignored
|
|
40
44
|
* - UPCOMING campaign: status==='scheduled' and not yet seen
|
|
41
|
-
* - Prize Drop events: unclaimed TRUE rewards in hub, pending drops in queue, deferred modals
|
|
45
|
+
* - Prize Drop events: unclaimed TRUE rewards in hub, pending drops in queue, deferred modals; rewardsHub flag off → ignored
|
|
42
46
|
* - Prize flow modals open: badge is suppressed (no spoilers) — restores after modal closes
|
|
43
47
|
* - During gameplay: value is frozen at the moment gameplay starts; no new signals can turn it on or off mid-round
|
|
44
48
|
* - Expired rewards: badge auto-clears via a timer set to the nearest expiresAt
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TPromoLobbyThunkAction } from '../lib/types';
|
|
2
|
-
|
|
2
|
+
/** Inner modals of the promo lobby. The lobby itself is a tab of the core menu, not a modal. */
|
|
3
|
+
export type TModalName = 'prizeDropCongratulation' | 'prizeDropClaimed' | 'prizeDropClaimedSuccess' | 'prizeDropClaimedFailed' | 'prizeDropClaimedExpired' | 'prizeDropSuccess' | 'prizeDropResultFinished' | 'prizeDropResultCancelled' | 'prizeDropLive' | 'prizeDropJoinError' | 'walletConvertSuccess';
|
|
3
4
|
export type TModalsState = {
|
|
4
5
|
hasOpened: boolean;
|
|
5
6
|
current: TModalName[];
|
|
@@ -37,13 +37,15 @@ declare const _default: {
|
|
|
37
37
|
neon: {
|
|
38
38
|
rouge: string;
|
|
39
39
|
};
|
|
40
|
+
additional: {
|
|
41
|
+
'2-70': string;
|
|
42
|
+
};
|
|
40
43
|
transparent: string;
|
|
41
44
|
};
|
|
42
45
|
boxShadow: {
|
|
43
46
|
progress: string;
|
|
44
47
|
text: string;
|
|
45
48
|
'notify-modals': string;
|
|
46
|
-
'general-modals': string;
|
|
47
49
|
'play-button': string;
|
|
48
50
|
};
|
|
49
51
|
fontFamily: {
|
|
@@ -55,7 +57,6 @@ declare const _default: {
|
|
|
55
57
|
transparent: string;
|
|
56
58
|
};
|
|
57
59
|
backgroundImage: {
|
|
58
|
-
'brand-gradient': string;
|
|
59
60
|
gold: string;
|
|
60
61
|
'add-gold': string;
|
|
61
62
|
'gold-promo': string;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
type TProps = {
|
|
2
2
|
disabled?: boolean;
|
|
3
|
-
gridClassName?: string;
|
|
4
|
-
/** Landscape only: the floating menu takes the bottom-left corner, the lobby moves up above it */
|
|
5
|
-
hasFloatingMenu?: boolean;
|
|
6
3
|
};
|
|
7
|
-
export declare const PanelPromoLobby: ({ disabled
|
|
4
|
+
export declare const PanelPromoLobby: ({ disabled }: TProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
5
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { PromoLobbyTab } from './ui/PromoLobbyTab';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Promo lobby as a tab of the core game menu. The core shell owns the fullscreen surface, the
|
|
4
|
+
* header and the tab bar, so this component brings only the module's own content — plus its
|
|
5
|
+
* Provider and the `.promo-lobby-container` scope, because it renders inside the core tree.
|
|
6
|
+
*/
|
|
7
|
+
export declare const PromoLobbyTab: FC;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type TTopBarProps = {
|
|
2
|
+
className?: string;
|
|
3
|
+
};
|
|
4
|
+
/**
|
|
5
|
+
* Wallet entry point of the promo lobby tab. The menu shell owns the header, so the only control
|
|
6
|
+
* left here is the balance pill — with the wallet feature off the whole bar is gone (GTT-2743).
|
|
7
|
+
*/
|
|
8
|
+
export declare const TopBar: ({ className }: TTopBarProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -2,7 +2,6 @@ import { TConfiguration, TInitConfig } from '../app/lib/singletones/publicEmitte
|
|
|
2
2
|
import { TFillFrameConfig } from '../entities/fillFrame';
|
|
3
3
|
import { TFreeRoundsConfig } from '../entities/freeRounds';
|
|
4
4
|
import { TGameInfoConfig } from '../entities/gameInfo';
|
|
5
|
-
import { TPayTableConfig } from '../entities/payTable';
|
|
6
5
|
import { TWin } from '../entities/round';
|
|
7
6
|
import { TSoundsConfig } from '../entities/sound';
|
|
8
7
|
import { TMeetUiConfig } from '../features/meetUi';
|
|
@@ -28,7 +27,8 @@ import { TPanelCounterData, TPanelDefaultConfig } from '../shared/model/panels';
|
|
|
28
27
|
import { TSkipConfig } from '../shared/model/skip';
|
|
29
28
|
import { TTopLineConfig } from '../shared/model/topLine';
|
|
30
29
|
import { TWelcomeDefaultConfig, TWelcomeGridConfig, TWelcomeProConfig } from '../shared/model/welcome';
|
|
31
|
-
import {
|
|
30
|
+
import { sandboxStepsPresets } from './presets';
|
|
31
|
+
import { TStoredGameInfoConfig } from './types/GameInfo';
|
|
32
32
|
export declare enum EGUIPosition {
|
|
33
33
|
left = "left",
|
|
34
34
|
right = "right"
|
|
@@ -68,6 +68,8 @@ export type TSandboxConfig = {
|
|
|
68
68
|
loadingSpinner?: TLoadingSpinner;
|
|
69
69
|
delay?: number;
|
|
70
70
|
};
|
|
71
|
+
/** Which `sandboxStepsPresets` entry the steps JSON started from; hand edits keep the name. */
|
|
72
|
+
stepsPreset: keyof typeof sandboxStepsPresets;
|
|
71
73
|
steps: string;
|
|
72
74
|
};
|
|
73
75
|
export type TModulesConfig = TInitConfig['modules'];
|
|
@@ -133,10 +135,7 @@ export type TStoredConfigs = {
|
|
|
133
135
|
fastPlay: TFastPlayConfig;
|
|
134
136
|
topLine: TTopLineConfig;
|
|
135
137
|
appearance: TAppearanceConfig;
|
|
136
|
-
payTable: TPayTableConfig;
|
|
137
|
-
payTableBackground: string;
|
|
138
138
|
gameInfo: TGameInfoConfig;
|
|
139
|
-
gameInfoBackground: string;
|
|
140
139
|
sounds: TSoundsConfig;
|
|
141
140
|
fillFrame: TFillFrameConfig;
|
|
142
141
|
meetUi: TMeetUiConfig;
|
|
@@ -184,10 +183,7 @@ declare class ConfigManager {
|
|
|
184
183
|
getTopLine(): TTopLineConfig;
|
|
185
184
|
getAppearance(): TAppearanceConfig;
|
|
186
185
|
getSounds(): TSoundsConfig;
|
|
187
|
-
getPayTable(): TPayTableConfig;
|
|
188
|
-
getPayTableBackground(): string;
|
|
189
186
|
getGameInfo(): TGameInfoConfig;
|
|
190
|
-
getGameInfoBackground(): string;
|
|
191
187
|
getFillFrame(): TFillFrameConfig;
|
|
192
188
|
getMeetUi(): TMeetUiConfig;
|
|
193
189
|
saveGUI(config: TGUIConfig): void;
|
|
@@ -208,6 +204,13 @@ declare class ConfigManager {
|
|
|
208
204
|
saveInit(config?: TInitConfig): void;
|
|
209
205
|
saveModules(config?: TModulesConfig): void;
|
|
210
206
|
saveConfiguration(configuration?: TConfiguration): void;
|
|
207
|
+
/**
|
|
208
|
+
* Restores the GUI-side copies of the sections out of the config the game receives.
|
|
209
|
+
*
|
|
210
|
+
* Every section of `TConfiguration` is optional, and an absent one is a legal config — the
|
|
211
|
+
* unified `gameInfo` form carries no `payTable` at all. So a section is only read through
|
|
212
|
+
* when it is actually there; the GUI copy keeps its previous value otherwise.
|
|
213
|
+
*/
|
|
211
214
|
syncConfigurationSections(configuration: TConfiguration): void;
|
|
212
215
|
saveLoadingDefault(config?: TLoadingDefaultConfig): void;
|
|
213
216
|
saveLoadingPro(config?: TLoadingProConfig): void;
|
|
@@ -223,10 +226,7 @@ declare class ConfigManager {
|
|
|
223
226
|
saveAutoPlay(config?: TAutoPlayConfig): void;
|
|
224
227
|
saveTopLine(config?: TTopLineConfig): void;
|
|
225
228
|
saveAppearance(config?: TAppearanceConfig): void;
|
|
226
|
-
|
|
227
|
-
savePayTableBackground(config: string): void;
|
|
228
|
-
saveGameInfo(config?: TGameInfoConfig): void;
|
|
229
|
-
saveGameInfoBackground(config: string): void;
|
|
229
|
+
saveGameInfo(config?: TStoredGameInfoConfig | TGameInfoConfig): void;
|
|
230
230
|
saveFreeRounds(config?: TFreeRoundsConfig): void;
|
|
231
231
|
saveFastPlay(config?: TFastPlayConfig): void;
|
|
232
232
|
saveSounds(config?: TSoundsConfig): void;
|
|
@@ -14,15 +14,14 @@ declare class GUI {
|
|
|
14
14
|
welcomeGrid: {
|
|
15
15
|
backgroundEnabled: boolean;
|
|
16
16
|
};
|
|
17
|
-
payTable: {
|
|
18
|
-
backgroundEnabled: boolean;
|
|
19
|
-
};
|
|
20
|
-
gameInfo: {
|
|
21
|
-
backgroundEnabled: boolean;
|
|
22
|
-
};
|
|
23
17
|
};
|
|
24
18
|
folderSandbox: FolderApi;
|
|
25
19
|
folderInit: FolderApi;
|
|
20
|
+
folderPromoLobby: FolderApi;
|
|
21
|
+
refreshModulesEditor?: () => void;
|
|
22
|
+
refreshPromoLobbyFeatures?: () => void;
|
|
23
|
+
/** Re-reads `configs.sandbox.urlParams` into the URL field after another section edits it */
|
|
24
|
+
refreshUrlParams?: () => void;
|
|
26
25
|
folderApi: FolderApi;
|
|
27
26
|
folderSocket: FolderApi;
|
|
28
27
|
folderConfiguration: FolderApi;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
export { bindImagePlugin, bindOptionalImages } from './bindImage';
|
|
2
2
|
export { bindJsonEditor } from './bindJsonEditor';
|
|
3
|
-
export {
|
|
3
|
+
export { deserializationGameInfo, serializationGameInfo } from './serializationGameInfo';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TGameInfoConfig } from '../../../entities/gameInfo';
|
|
2
|
+
import { TStoredGameInfoConfig } from '../../../sandbox/types/GameInfo';
|
|
3
|
+
/** Config as the game receives it -> config as the GUI edits it (JSON fields as text). */
|
|
4
|
+
export declare function serializationGameInfo(config: TGameInfoConfig): TStoredGameInfoConfig;
|
|
5
|
+
/** Config as the GUI edits it -> config as the game receives it. */
|
|
6
|
+
export declare function deserializationGameInfo(config: TStoredGameInfoConfig | TGameInfoConfig): TGameInfoConfig;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { GUI } from '../../../../../sandbox/gui/gui';
|
|
2
|
+
/**
|
|
3
|
+
* The whole Game Info page: paytable blocks (symbols, lines) and game information blocks
|
|
4
|
+
* (features, rules) in one `gameInfo` config, in the order the page renders them.
|
|
5
|
+
*
|
|
6
|
+
* The legacy pair of `payTable` + `gameInfo` configs has no section of its own — it is deprecated
|
|
7
|
+
* and stays testable by pasting it into the Raw JSON editor of the whole configuration.
|
|
8
|
+
*
|
|
9
|
+
* The page has no background image either: it always renders on black, so `background` is a
|
|
10
|
+
* deprecated no-op of the config and gets no control here.
|
|
11
|
+
*/
|
|
12
|
+
export declare function setupGameInfo(gui: GUI): void;
|
package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/generateInfoItem.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TpChangeEvent } from '@tweakpane/core';
|
|
2
|
+
import { FolderApi } from 'tweakpane';
|
|
3
|
+
import { TStoredGameInfoItem } from '../../../../../../sandbox/types/GameInfo';
|
|
4
|
+
type TParams = {
|
|
5
|
+
folder: FolderApi;
|
|
6
|
+
item: TStoredGameInfoItem;
|
|
7
|
+
onChange: (event: TpChangeEvent<unknown>) => void;
|
|
8
|
+
};
|
|
9
|
+
/** Controls of the game information blocks — the ones the rules part of the page is built from. */
|
|
10
|
+
export declare function generateInfoItem({ folder, item, onChange }: TParams): void;
|
|
11
|
+
export {};
|
package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/generateLineItem.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TpChangeEvent } from '@tweakpane/core';
|
|
2
|
+
import { FolderApi } from 'tweakpane';
|
|
3
|
+
import { TStoredPayTableLine } from '../../../../../../sandbox/types/PayTable';
|
|
4
|
+
type TParams = {
|
|
5
|
+
folder: FolderApi;
|
|
6
|
+
item: TStoredPayTableLine;
|
|
7
|
+
onChange: (event: TpChangeEvent<unknown>) => void;
|
|
8
|
+
};
|
|
9
|
+
/** Controls of the paytable `lines` block. */
|
|
10
|
+
export declare function generateLineItem({ folder, item, onChange }: TParams): void;
|
|
11
|
+
export {};
|
package/dist/types/src/sandbox/gui/sections/configuration/gameInfo/items/generateSymbolItem.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TpChangeEvent } from '@tweakpane/core';
|
|
2
|
+
import { FolderApi } from 'tweakpane';
|
|
3
|
+
import { TStoredPayTableSymbol } from '../../../../../../sandbox/types/PayTable';
|
|
4
|
+
type TParams = {
|
|
5
|
+
folder: FolderApi;
|
|
6
|
+
item: TStoredPayTableSymbol;
|
|
7
|
+
onChange: (event: TpChangeEvent<unknown>) => void;
|
|
8
|
+
};
|
|
9
|
+
/** Controls of the paytable symbol blocks — `symbol-special-v1`, `symbol-special-v2`, `symbol-grid-v1`. */
|
|
10
|
+
export declare function generateSymbolItem({ folder, item, onChange }: TParams): void;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { GUI } from '../../../../sandbox/gui/gui';
|
|
2
|
+
/**
|
|
3
|
+
* PromoLobby feature flags (`modules.promoLobby`). Both are `false` by default — same as the runtime default,
|
|
4
|
+
* so QA can check the disabled state out of the box and turn a feature on when it must be tested.
|
|
5
|
+
* A top-level folder (not nested under `Init`) so QA finds it without expanding anything.
|
|
6
|
+
* Stays in sync with the `Init → modules` / `Raw JSON` editors via `gui.refreshModulesEditor` / `gui.refreshPromoLobbyFeatures`.
|
|
7
|
+
*/
|
|
8
|
+
export declare function setupPromoLobby(gui: GUI): void;
|