@truelab/truelogic 0.1.21 → 0.1.22
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/truelogic.min.css +1 -1
- package/dist/truelogic.min.js +1 -1
- package/dist/types/src/entities/autoplay/model/autoPlaySlice.d.ts +4 -2
- package/dist/types/src/entities/autoplay/ui/AutoPlayCounter/AutoPlayCounter.d.ts +2 -1
- package/dist/types/src/entities/stake/model/stakeSlice.d.ts +4 -1
- package/dist/types/src/shared/api/config/types.d.ts +1 -0
- package/dist/types/src/shared/lib/classes/analyticsService.d.ts +42 -0
- package/dist/types/src/shared/lib/classes/logger.d.ts +1 -0
- package/dist/types/src/shared/lib/functions/index.d.ts +1 -0
- package/dist/types/src/shared/lib/functions/setupGoogleAnalytics.d.ts +5 -0
- package/dist/types/src/shared/lib/hooks/index.d.ts +1 -0
- package/dist/types/src/shared/lib/hooks/useAnalyticsEvents.d.ts +1 -0
- package/dist/types/src/shared/lib/hooks/useClickOutside.d.ts +1 -1
- package/dist/types/src/shared/lib/singletones/analyticsEmitter.d.ts +34 -0
- package/dist/types/src/shared/lib/singletones/analyticsService.d.ts +2 -0
- package/dist/types/src/shared/lib/singletones/gameEmitter.d.ts +1 -0
- package/dist/types/src/shared/lib/singletones/index.d.ts +2 -0
- package/dist/types/src/shared/lib/singletones/publicEmitter.d.ts +4 -0
- package/dist/types/src/shared/model/modals/modalsSlice.d.ts +4 -2
- package/dist/types/src/truelogic.d.ts +7 -2
- package/package.json +1 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TAppThunkAction } from "../../../shared/lib/store";
|
|
1
2
|
type TAutoPlayLimit = {
|
|
2
3
|
active: boolean;
|
|
3
4
|
value: number;
|
|
@@ -24,13 +25,14 @@ type TAutoPlayState = {
|
|
|
24
25
|
fastPlay?: number;
|
|
25
26
|
};
|
|
26
27
|
};
|
|
27
|
-
export declare const setAutoPlayVisibleDropdown: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayVisibleDropdown">,
|
|
28
|
+
export declare const setAutoPlayVisibleDropdown: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayVisibleDropdown">, setAutoPlayIsActive: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayIsActive">, setAutoPlayActiveIndex: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number, "autoPlay/setAutoPlayActiveIndex">, setAutoPlayActiveNumber: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number, "autoPlay/setAutoPlayActiveNumber">, setAutoPlayProgress: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayProgress">, setAutoPlayStopInBonusGame: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayStopInBonusGame">, setAutoPlayLossLimit: import("@reduxjs/toolkit").ActionCreatorWithNonInferrablePayload<"autoPlay/setAutoPlayLossLimit">, setAutoPlaySingleWin: import("@reduxjs/toolkit").ActionCreatorWithNonInferrablePayload<"autoPlay/setAutoPlaySingleWin">, setAutoPlayEnd: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"autoPlay/setAutoPlayEnd">, calcAutoPlayLossLimit: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<{
|
|
28
29
|
lossLimitValue: number;
|
|
29
|
-
}, "autoPlay/calcAutoPlayLossLimit">, setAutoPlayConfig: import("@reduxjs/toolkit").ActionCreatorWithNonInferrablePayload<"autoPlay/setAutoPlayConfig">, decreaseAutoPlayNumber: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"autoPlay/decreaseAutoPlayNumber">;
|
|
30
|
+
}, "autoPlay/calcAutoPlayLossLimit">, setAutoPlayConfig: import("@reduxjs/toolkit").ActionCreatorWithNonInferrablePayload<"autoPlay/setAutoPlayConfig">, decreaseAutoPlayNumber: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"autoPlay/decreaseAutoPlayNumber">, setAutoPlayIsVisibleDropdown: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayIsVisibleDropdown">, setAutoPlayLossLimitTotal: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number, "autoPlay/setAutoPlayLossLimitTotal">, setAutoPlayInProgress: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "autoPlay/setAutoPlayInProgress">;
|
|
30
31
|
export declare const getAutoPlayIsReadyForStart: import("reselect").Selector<{
|
|
31
32
|
autoPlay: TAutoPlayState;
|
|
32
33
|
}, string | number | boolean, []> & {
|
|
33
34
|
unwrapped: (state: TAutoPlayState) => string | number | boolean;
|
|
34
35
|
};
|
|
35
36
|
export declare const autoPlayReducer: import("redux").Reducer<TAutoPlayState>;
|
|
37
|
+
export declare const setAutoPlayStart: TAppThunkAction;
|
|
36
38
|
export {};
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
1
2
|
type TAutoPlayCounterProps = {
|
|
2
3
|
loaderColor: string;
|
|
3
4
|
className?: string;
|
|
4
5
|
text?: string;
|
|
5
6
|
};
|
|
6
|
-
export declare const AutoPlayCounter: (
|
|
7
|
+
export declare const AutoPlayCounter: import("react").ForwardRefExoticComponent<TAutoPlayCounterProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
7
8
|
export {};
|
|
@@ -24,7 +24,10 @@ export declare const getStakeType: import("reselect").Selector<{
|
|
|
24
24
|
}, number[], []> & {
|
|
25
25
|
unwrapped: (state: TStakeState) => number[];
|
|
26
26
|
};
|
|
27
|
-
export declare const
|
|
27
|
+
export declare const setStakeCurrent: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TStake, "stake/setStakeCurrent">, setAmountIndex: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number, "stake/setAmountIndex">, setStakeAmountsMapByLevels: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TStakeAmountsMapByLevels, "stake/setStakeAmountsMapByLevels">, setStakeAmountsMap: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TStakeAmountsMap, "stake/setStakeAmountsMap">, setStakeDefault: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TStake, "stake/setStakeDefault">, setStakeModes: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TStakeMode[], "stake/setStakeModes">, setStakeLevels: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<number[], "stake/setStakeLevels">, setStakeIsVisibleDropdown: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "stake/setStakeIsVisibleDropdown">;
|
|
28
|
+
export declare const setStake: TAppThunkAction<Partial<TStake> & {
|
|
29
|
+
amountIndex?: number;
|
|
30
|
+
}>;
|
|
28
31
|
export declare const setStakeNextLevel: TAppThunkAction;
|
|
29
32
|
export declare const setStakePreviousLevel: TAppThunkAction;
|
|
30
33
|
export declare const setStakeNextAmount: TAppThunkAction;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export declare enum EAnalyticsEvents {
|
|
2
|
+
modeReal = "mode_real",
|
|
3
|
+
modeDemo = "mode_demo",
|
|
4
|
+
win = "win",
|
|
5
|
+
lost = "lost",
|
|
6
|
+
replay = "replay",
|
|
7
|
+
pageview = "page_view",
|
|
8
|
+
leaveTheGame = "leave_the_game",
|
|
9
|
+
soundSetup = "sound_setup",
|
|
10
|
+
betsizeIncreased = "betsize_increased",
|
|
11
|
+
betsizeReduced = "betsize_reduced",
|
|
12
|
+
autoplayStarts = "autoplay_starts",
|
|
13
|
+
modeSkip = "mode_skip",
|
|
14
|
+
realityCheck = "reality_check",
|
|
15
|
+
volumeSetup = "volume_setup",
|
|
16
|
+
fastPlay = "fast_play",
|
|
17
|
+
isPortrait = "portrait",
|
|
18
|
+
isLandscape = "landscape",
|
|
19
|
+
setUserId = "userIdSet",
|
|
20
|
+
setOperator = "operatorIdSet",
|
|
21
|
+
setBrand = "brandIdSet",
|
|
22
|
+
setSession = "setSession",
|
|
23
|
+
setCurrency = "currency"
|
|
24
|
+
}
|
|
25
|
+
export declare enum EAnalyticsCategories {
|
|
26
|
+
settings = "settings_changes",
|
|
27
|
+
ui = "ui_interaction",
|
|
28
|
+
gameplay = "gameplay_events",
|
|
29
|
+
mode = "game_mode",
|
|
30
|
+
config = "session_config"
|
|
31
|
+
}
|
|
32
|
+
export type TEventOptions = {
|
|
33
|
+
value?: number;
|
|
34
|
+
betType?: string;
|
|
35
|
+
currency?: string;
|
|
36
|
+
};
|
|
37
|
+
export declare class AnalyticsService {
|
|
38
|
+
available: boolean;
|
|
39
|
+
setSessionParameters(event: EAnalyticsEvents, name: string, value: string): void;
|
|
40
|
+
view(title: string, location: string, path: string): void;
|
|
41
|
+
event(event: EAnalyticsEvents, category: EAnalyticsCategories, options?: TEventOptions): void;
|
|
42
|
+
}
|
|
@@ -6,6 +6,7 @@ export declare class Logger {
|
|
|
6
6
|
log(partials: TLoggerOutput[]): void;
|
|
7
7
|
publicEvent(eventName: string, ...args: unknown[]): void;
|
|
8
8
|
gameEvent(eventName: string, ...args: unknown[]): void;
|
|
9
|
+
analyticsEvent(eventName: string, ...args: unknown[]): void;
|
|
9
10
|
error(...args: unknown[]): void;
|
|
10
11
|
hello(): void;
|
|
11
12
|
}
|
|
@@ -11,4 +11,5 @@ export { keys } from './keys';
|
|
|
11
11
|
export { preloadImage } from './preloadImage';
|
|
12
12
|
export { roundFixed } from './roundFixed';
|
|
13
13
|
export { saveToClipboard } from './saveToClipboard';
|
|
14
|
+
export { setupGoogleAnalytics } from './setupGoogleAnalytics';
|
|
14
15
|
export { sleep } from './sleep';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useAnalyticsEvents: () => void;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ForwardedRef, RefObject } from 'react';
|
|
2
|
-
export declare const useClickOutside: <
|
|
2
|
+
export declare const useClickOutside: (refs: (RefObject<HTMLElement> | ForwardedRef<HTMLElement>)[], onClick: (event: MouseEvent | TouchEvent) => void) => void;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { TSessionMode } from "../../api/config";
|
|
2
|
+
import { Emitter } from '../classes';
|
|
3
|
+
import { TOrientation } from '../types/viewPort';
|
|
4
|
+
type TEventOptions = {
|
|
5
|
+
value?: number;
|
|
6
|
+
betType?: string;
|
|
7
|
+
currency?: string;
|
|
8
|
+
};
|
|
9
|
+
export type TAnalyticsEvents = {
|
|
10
|
+
['modal:opened']: (modalName: string) => void;
|
|
11
|
+
['round:won']: (options: TEventOptions) => void;
|
|
12
|
+
['round:lost']: (options: TEventOptions) => void;
|
|
13
|
+
['autoplay:started']: (options: TEventOptions) => void;
|
|
14
|
+
['bet:increased']: (amountIndex: number) => void;
|
|
15
|
+
['bet:decreased']: (amountIndex: number) => void;
|
|
16
|
+
['game:left']: () => void;
|
|
17
|
+
['gameMode:set']: (gameMode: TSessionMode) => void;
|
|
18
|
+
['skip:started']: () => void;
|
|
19
|
+
['reality:started']: () => void;
|
|
20
|
+
['sounds:changed']: (on: boolean) => void;
|
|
21
|
+
['volume:changed']: (volume: number) => void;
|
|
22
|
+
['fastplay:changed']: (on: boolean) => void;
|
|
23
|
+
['orientation:changed']: (orientation: TOrientation) => void;
|
|
24
|
+
['userId:set']: (userId: string) => void;
|
|
25
|
+
['operator:set']: (operator: string) => void;
|
|
26
|
+
['brand:set']: (brand: string) => void;
|
|
27
|
+
['session:set']: (session: string) => void;
|
|
28
|
+
['currency:set']: (currency: string) => void;
|
|
29
|
+
};
|
|
30
|
+
export declare class AnalyticsEmitter extends Emitter<TAnalyticsEvents> {
|
|
31
|
+
log(event: string, ...args: unknown[]): void;
|
|
32
|
+
}
|
|
33
|
+
export declare const analyticsEmitter: AnalyticsEmitter;
|
|
34
|
+
export {};
|
|
@@ -12,6 +12,7 @@ import { TMenuConfig } from '../../modals';
|
|
|
12
12
|
import { TColorThemeState } from '../../model/colorTheme';
|
|
13
13
|
import { EVolatility } from '../../volatility';
|
|
14
14
|
import { Emitter } from '../classes';
|
|
15
|
+
import { TGoogleAnlyticsConfig } from '../functions/setupGoogleAnalytics';
|
|
15
16
|
export type TAdaptiveImage = {
|
|
16
17
|
portrait: string;
|
|
17
18
|
landscape: string;
|
|
@@ -124,6 +125,9 @@ export type TInitConfig = {
|
|
|
124
125
|
roundsHistory?: TApiRoundsHistoryFake;
|
|
125
126
|
roundReplay?: TApiRoundReplayFake;
|
|
126
127
|
};
|
|
128
|
+
analytics?: {
|
|
129
|
+
google?: TGoogleAnlyticsConfig;
|
|
130
|
+
};
|
|
127
131
|
};
|
|
128
132
|
export type TConfiguration = {
|
|
129
133
|
loading: TUILoading;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TConfiguration } from "../../lib/singletones/publicEmitter";
|
|
2
|
+
import { TAppThunkAction } from "../../lib/store";
|
|
2
3
|
import { TMenuConfig } from "../../modals";
|
|
3
4
|
export type TAutoplayServiceModalType = 'numSpins' | 'lossLimit' | 'singleWinLimit' | 'bonusReached';
|
|
4
5
|
export type TModalName = 'menu' | 'bonusFeature' | 'autoplay' | 'bonusConfirm' | 'realityCheck' | 'settings' | 'payTable' | 'roundsHistory' | 'roundDetails' | 'replay' | 'serviceMaxBet' | 'serviceInsufficientFunds' | 'serviceRestore' | 'serviceMaxWin' | 'serviceQuitTheGame' | 'serviceConnectionLost' | 'serviceError' | 'serviceAutoplay' | 'gameInfo' | 'freeRounds' | 'freeRoundsResult';
|
|
@@ -14,14 +15,15 @@ type TModalsState = {
|
|
|
14
15
|
serviceErrorMessage: string;
|
|
15
16
|
serviceAutoplayType: TAutoplayServiceModalType;
|
|
16
17
|
};
|
|
17
|
-
export declare const
|
|
18
|
+
export declare const closeModal: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TModalName, "modals/closeModal">, setModalConfigs: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TConfiguration, "modals/setModalConfigs">, setModalReady: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"modals/setModalReady">, setModalsServiceErrorData: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<{
|
|
18
19
|
name: string;
|
|
19
20
|
message: string;
|
|
20
|
-
}, "modals/setModalsServiceErrorData">, setModalsServiceAutoplayType: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TAutoplayServiceModalType, "modals/setModalsServiceAutoplayType">;
|
|
21
|
+
}, "modals/setModalsServiceErrorData">, setModalsServiceAutoplayType: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TAutoplayServiceModalType, "modals/setModalsServiceAutoplayType">, setIsModalReady: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "modals/setIsModalReady">, setHasOpened: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<boolean, "modals/setHasOpened">, addCurrent: import("@reduxjs/toolkit").ActionCreatorWithOptionalPayload<TModalName, "modals/addCurrent">;
|
|
21
22
|
export declare const getModalsIsModalMode: import("reselect").Selector<{
|
|
22
23
|
modals: TModalsState;
|
|
23
24
|
}, boolean, []> & {
|
|
24
25
|
unwrapped: (state: TModalsState) => boolean;
|
|
25
26
|
};
|
|
26
27
|
export declare const modalsReducer: import("redux").Reducer<TModalsState>;
|
|
28
|
+
export declare const openModal: TAppThunkAction<TModalName>;
|
|
27
29
|
export {};
|
|
@@ -3,13 +3,18 @@ import { TInitResponse } from './shared/lib/singletones/gameEmitter';
|
|
|
3
3
|
import { TConfiguration, TInitConfig, TSpinEndedOptions, TStepEndedOptions } from './shared/lib/singletones/publicEmitter';
|
|
4
4
|
declare class TrueLogic {
|
|
5
5
|
emitter: {
|
|
6
|
-
|
|
6
|
+
game: {
|
|
7
|
+
on: <K extends keyof import("./shared/lib/singletones/gameEmitter").TGameEvents>(event: K, listener: import("./shared/lib/singletones/gameEmitter").TGameEvents[K]) => import("./shared/lib/singletones/gameEmitter").GameEmitter;
|
|
8
|
+
};
|
|
9
|
+
analytics: {
|
|
10
|
+
on: <K_1 extends keyof import("./shared/lib/singletones/analyticsEmitter").TAnalyticsEvents>(event: K_1, listener: import("./shared/lib/singletones/analyticsEmitter").TAnalyticsEvents[K_1]) => import("./shared/lib/singletones/analyticsEmitter").AnalyticsEmitter;
|
|
11
|
+
};
|
|
7
12
|
};
|
|
8
13
|
cashFormatter: {
|
|
9
14
|
coinsToCash: (coins: number) => number;
|
|
10
15
|
formatCoins: (coins: number, options?: import("./shared/lib/classes/cashService").TFormatCoinsOptions) => string;
|
|
11
16
|
};
|
|
12
|
-
init(initConfig
|
|
17
|
+
init(initConfig?: TInitConfig): Promise<TInitResponse>;
|
|
13
18
|
configure(configuration: TConfiguration): Promise<unknown>;
|
|
14
19
|
loadingStart(): void;
|
|
15
20
|
loadingProgress(progress: number): void;
|