{"version":3,"file":"js/87.1675d1a55ce23d92.js","mappings":"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","sources":["webpack://@sazka/web/./js/app/lotteries/model/my-tickets/bet-state.ts","webpack://@sazka/web/./js/app/lotteries/model/my-tickets/draw-status.ts","webpack://@sazka/web/./js/app/lotteries/online/power-spin/model/ps-bet-model.ts","webpack://@sazka/web/./js/app/lotteries/online/power-spin/ps-config.ts","webpack://@sazka/web/./js/app/lotteries/online/power-spin/store/ps-wager-store.ts","webpack://@sazka/web/./js/app/lotteries/online/power-spin/utils/ps-utils.ts"],"sourcesContent":["export enum BetState {\r\n    /**\r\n     * No draws were processed for wager yet or some draws were already processed and wager didn’t win a prize, there are remaining unprocessed draws for wager\r\n     */\r\n    open = \"OPEN\",\r\n    /**\r\n     *  Some draws were already processed and wager won a prize, there are remaining unprocessed draws for wager\r\n     */\r\n    openWithWin = \"OPEN_WITH_WIN\",\r\n    /**\r\n     * All draws were processed for wager and wager won a prize\r\n     */\r\n    finishedWin = \"FINISHED_WIN\",\r\n    /**\r\n     * All draws were processed for wager and wager didn’t win a prize\r\n     */\r\n    finishedNoWin = \"FINISHED_NO_WIN\",\r\n    /**\r\n     * Wager was cancelled\r\n     */\r\n    canceled = \"CANCELLED\",\r\n\r\n    /**\r\n     *  All draws is in process for wager\r\n     */\r\n    inProgress = \"IN_PROGRESS\",\r\n\r\n    /**\r\n     * All draws is in process for wager and wager won a prize\r\n     */\r\n    inProgressWin = \"IN_PROGRESS_WITH_WIN\",\r\n}\r\n","export enum DrawStatus {\r\n    open = \"OPEN\",\r\n    resultsAvailable = \"RESULTS_AVAILABLE\",\r\n    payable = \"PAYABLE\",\r\n    future = \"FUTURE\",\r\n    closed = \"CLOSED\",\r\n}\r\n","import { BetDetail } from \"@/lotteries/model/my-tickets/bet-detail\";\r\n\r\nexport enum PsBetState {\r\n    None = \"none\",\r\n    Edited = \"edited\",\r\n    Ready = \"ready\",\r\n    Betted = \"betted\",\r\n    Done = \"done\",\r\n}\r\n\r\nexport enum SystemBetType {\r\n    Red,\r\n    Green,\r\n    Blue,\r\n    High,\r\n    Low,\r\n    Symbol,\r\n    One,\r\n    Two,\r\n    Three,\r\n    Four,\r\n    Five,\r\n    Ten,\r\n}\r\n\r\nexport enum PsBoardType {\r\n    Color,\r\n    Number,\r\n    Symbol,\r\n    HighLow,\r\n}\r\n\r\nexport enum PsColor {\r\n    Red = \"red\",\r\n    Green = \"green\",\r\n    Blue = \"blue\",\r\n    Symbol = \"symbol\",\r\n}\r\n\r\nexport interface PsBoard {\r\n    systemBetType?: SystemBetType;\r\n    numbers?: number[];\r\n    stake: number;\r\n}\r\n\r\nexport interface PsWagerData {\r\n    boards: PsBoard[];\r\n    duration: number;\r\n    multiplier: number;\r\n}\r\n\r\nexport interface PsBet {\r\n    betData: PsWagerData;\r\n    wager: BetDetail;\r\n    ready: boolean;\r\n}\r\n\r\nexport interface SubPsBet {\r\n    betData?: PsWagerData;\r\n    wager?: BetDetail;\r\n    ready?: boolean;\r\n}\r\n","import { PsSelections } from \"./model/ps-selections\";\r\nimport { PsRoundResult } from \"./model/ps-round-result\";\r\nimport { BetState } from \"@/lotteries/model/my-tickets/bet-state\";\r\nimport { DrawStatus } from \"@/lotteries/model/my-tickets/draw-status\";\r\nimport { PsColor, SystemBetType } from \"./model/ps-bet-model\";\r\n\r\nexport const alwaysZoomedBpWidth = 710;\r\n\r\nexport const defaultSelections: () => PsSelections = () => ({\r\n    numbers: [],\r\n    color: null,\r\n    highLow: null,\r\n    symbol: null,\r\n    powerSpins: 1,\r\n    duration: 1,\r\n    stakes: {\r\n        numbers: 500,\r\n        symbol: 500,\r\n        color: 500,\r\n        highLow: 500,\r\n    },\r\n});\r\n\r\nexport const psConfig = Object.freeze({\r\n    primaryMinVal: 1,\r\n    primaryMaxVal: 10,\r\n    maxMultiplier: 3,\r\n    maxDuration: 12,\r\n    maxBets: 4,\r\n    betDefaults: {\r\n        stakeIndex: 1,\r\n        duration: 1,\r\n        multiplier: 1,\r\n    },\r\n    numbersToSelect: 5,\r\n    maxActiveBets: 11,\r\n    stakes: [500, 1000, 2000, 3000, 4000, 5000, 10000], // hallers\r\n});\r\n\r\nexport const tutorialMockResults: Partial<PsRoundResult>[] = [\r\n    {\r\n        prize: 100,\r\n        number: 1,\r\n    },\r\n    {\r\n        prize: 400,\r\n        number: 31,\r\n    },\r\n    {\r\n        prize: 0,\r\n        number: 17,\r\n    },\r\n];\r\n\r\nexport const tutorialMockSelections: PsSelections = {\r\n    numbers: [2, 13, 14, 15, 19, 26, 27, 28, 29, 30],\r\n    color: PsColor.Green,\r\n    highLow: SystemBetType.High,\r\n    symbol: SystemBetType.Symbol,\r\n    powerSpins: 1,\r\n    duration: 1,\r\n    stakes: {\r\n        numbers: 500,\r\n        symbol: 500,\r\n        color: 500,\r\n        highLow: 500,\r\n    },\r\n};\r\n\r\nexport const tutorialMockBets = [\r\n    {\r\n        id: 1,\r\n        state: BetState.open,\r\n        draws: [\r\n            {\r\n                drawStatus: DrawStatus.open,\r\n                drawTime: \"2024-04-10T12:00:00+02:00\",\r\n            },\r\n        ],\r\n        boards: [\r\n            {\r\n                betType: \"SYSTEM\",\r\n                systemBetType: \"10\",\r\n                primarySelections: [\"1\", \"3\", \"9\", \"10\", \"12\", \"13\", \"17\", \"21\", \"25\", \"27\"],\r\n                stake: 5000,\r\n            },\r\n        ],\r\n        duration: 1,\r\n        price: 15000,\r\n        multiplier: 3,\r\n    },\r\n    {\r\n        id: 2,\r\n        state: BetState.open,\r\n        draws: [\r\n            {\r\n                drawStatus: DrawStatus.open,\r\n                drawTime: \"2024-04-10T12:00:00+02:00\",\r\n            },\r\n        ],\r\n        boards: [\r\n            {\r\n                betType: \"SYSTEM\",\r\n                systemBetType: \"Red\",\r\n                primarySelections: [\"2\", \"5\", \"6\", \"7\", \"10\", \"15\", \"20\", \"21\", \"25\", \"28\"],\r\n                stake: 1000,\r\n            },\r\n        ],\r\n        duration: 1,\r\n        price: 3000,\r\n        multiplier: 3,\r\n    },\r\n    {\r\n        id: 3,\r\n        state: BetState.open,\r\n        draws: [\r\n            {\r\n                drawStatus: DrawStatus.open,\r\n                drawTime: \"2024-04-10T12:00:00+02:00\",\r\n            },\r\n        ],\r\n        boards: [\r\n            {\r\n                betType: \"SYSTEM\",\r\n                systemBetType: \"High\",\r\n                primarySelections: [\r\n                    \"16\",\r\n                    \"17\",\r\n                    \"18\",\r\n                    \"19\",\r\n                    \"20\",\r\n                    \"21\",\r\n                    \"22\",\r\n                    \"23\",\r\n                    \"24\",\r\n                    \"25\",\r\n                    \"26\",\r\n                    \"27\",\r\n                    \"28\",\r\n                    \"29\",\r\n                    \"30\",\r\n                ],\r\n                stake: 1000,\r\n            },\r\n        ],\r\n        duration: 1,\r\n        price: 3000,\r\n        multiplier: 3,\r\n    },\r\n];\r\n\r\nexport const tutorialStepTexts = [\r\n    \"Na každém kole losujeme 1 číslo nebo symbol. Můžete si <b>vsadit na 1, 2 nebo 3 kola</b>. Čím víc kol vsadíte, tím víc můžete vyhrát. Každé kolo vyhodnocujeme zvlášť.\",\r\n    \"<b>Vyhrajte na prvním kole a jste ve hře</b>, dokud padají vaše čísla. Pokud na dalším kole neuhodnete, hra končí a připíšeme vám dosaženou výhru.\",\r\n    \"Všechny své sázky najdete v tomto přehledu. Naleznete zde <b>veškeré informace o své sázce</b> jako vsazená čísla, typ a cena sázky nebo na kolik kol máte vsazeno.\",\r\n    \"<b>Kolo je sázenka</b>, na které si vyberete, na co chcete vsadit. Můžete zvolit čísla či symboly, barvu nebo zda padne nízké či vysoké číslo.\",\r\n    \"Zvolte si, zda si chcete vsadit na jedno, dvě nebo všechny tři kola (tzv. <b>Power Spiny</b>). Čím víc kol zapojíte do hry, tím víc můžete vyhrát.\",\r\n    \"Jednotlivé typy sázek jsou na sobě nezávislé, vždy ale platí pro všechna kola, která máte ve hře. Můžete si vsadit na <b>1-5 či 10 čísel</b> nebo na <b>symbol</b>, dále na <b>barvu</b> nebo zda padne <b>nízké či vysoké číslo</b>. Navíc si můžete navolit předplatné.\",\r\n];\r\n","import { defineStore } from \"pinia\";\r\nimport { PsColor, SystemBetType } from \"../model/ps-bet-model\";\r\nimport { PsSelections, PsStakes } from \"../model/ps-selections\";\r\nimport { defaultSelections, psConfig } from \"../ps-config\";\r\nimport { PsUtils } from \"../utils/ps-utils\";\r\nimport { BoardNumber, FavoriteGame } from \"@/lotteries/favorite-numbers/my-tickets/model/favorite-numbers\";\r\nimport { BetDetail } from \"@/lotteries/model/my-tickets/bet-detail\";\r\nimport { BetBoard } from \"@/lotteries/model/my-tickets/bet-board\";\r\n\r\nexport const usePsWagerStore = defineStore(\"ps-wager-store\", {\r\n    state: () => {\r\n        return {\r\n            selections: defaultSelections(),\r\n            previousSelections: null as PsSelections | null,\r\n            betDetailSelections: null as PsSelections | null,\r\n            isFavoriteMode: false,\r\n            isFavoriteBet: false,\r\n            isMyBetsBet: false,\r\n        };\r\n    },\r\n    actions: {\r\n        toggleSymbol() {\r\n            this.selections.symbol = this.selections.symbol === null ? SystemBetType.Symbol : null;\r\n        },\r\n        toggleColor(color: PsColor) {\r\n            this.selections.color = this.selections.color === color ? null : color;\r\n        },\r\n        toggleHighLow(highLow: SystemBetType.High | SystemBetType.Low) {\r\n            this.selections.highLow = this.selections.highLow === highLow ? null : highLow;\r\n        },\r\n        toggleNumber(number: number) {\r\n            if (PsUtils.isSymbol(number)) {\r\n                this.toggleSymbol();\r\n                return;\r\n            }\r\n            const index = this.selections.numbers.indexOf(number);\r\n            if (index === -1) {\r\n                if (this.selections.numbers.length >= 10) return; // Limit numbers to 10\r\n                this.selections.numbers.push(number);\r\n            } else {\r\n                this.selections.numbers.splice(index, 1);\r\n            }\r\n        },\r\n        setFavoriteMode(isFavoriteMode: boolean) {\r\n            this.isFavoriteMode = isFavoriteMode;\r\n        },\r\n        setIsFavoriteBet(isFavoriteBet: boolean) {\r\n            this.isFavoriteBet = isFavoriteBet;\r\n        },\r\n        setIsMyBetsBet(isMyBetsBet: boolean) {\r\n            this.isMyBetsBet = isMyBetsBet;\r\n        },\r\n        getStakeValue(current: number, direction: number) {\r\n            const index = psConfig.stakes.indexOf(current);\r\n            const newIndex = index + direction;\r\n            return newIndex < 0 || newIndex >= psConfig.stakes.length ? current : psConfig.stakes[newIndex];\r\n        },\r\n        incrementStake(stakeType: string | number) {\r\n            const current = this.selections.stakes[stakeType];\r\n            this.selections.stakes[stakeType] = this.getStakeValue(current, 1);\r\n        },\r\n        decrementStake(stakeType: string | number) {\r\n            const current = this.selections.stakes[stakeType];\r\n            this.selections.stakes[stakeType] = this.getStakeValue(current, -1);\r\n        },\r\n        resetSelections() {\r\n            const powerSpins = this.selections.powerSpins;\r\n            const stakes = this.selections.stakes;\r\n            this.selections = defaultSelections();\r\n            this.selections.powerSpins = powerSpins;\r\n            this.selections.stakes = stakes;\r\n            this.selections.duration = 1;\r\n        },\r\n        cloneSelections(selections: PsSelections) {\r\n            return {\r\n                numbers: [...selections.numbers],\r\n                stakes: { ...selections.stakes },\r\n                color: selections.color,\r\n                highLow: selections.highLow,\r\n                symbol: selections.symbol,\r\n                powerSpins: selections.powerSpins,\r\n                duration: selections.duration,\r\n            };\r\n        },\r\n        onSuccessfulBet() {\r\n            const s = this.selections;\r\n            this.previousSelections = this.cloneSelections(s);\r\n            this.resetSelections();\r\n        },\r\n        setPreviousSelections() {\r\n            if (this.previousSelections) {\r\n                const s = this.previousSelections;\r\n                this.selections = this.cloneSelections(s);\r\n            }\r\n        },\r\n        setSelections(selections: PsSelections) {\r\n            this.selections = this.cloneSelections(selections);\r\n        },\r\n        restoreFromDetail() {\r\n            if (this.betDetailSelections) {\r\n                const s = this.betDetailSelections;\r\n                this.selections = this.cloneSelections(s);\r\n\r\n                this.betDetailSelections = null;\r\n            }\r\n        },\r\n        toFavoriteBet(): Partial<FavoriteGame> {\r\n            const selections = this.selections;\r\n            const favoriteDefaults = {\r\n                name: \"\",\r\n                multiplier: selections.powerSpins,\r\n                duration: selections.duration,\r\n                gameName: \"power-spin\",\r\n            };\r\n            const stringify = PsUtils.systemBetTypeToString;\r\n            const numbers = [];\r\n\r\n            if (this.numbersStakeEnabled) {\r\n                numbers.push({\r\n                    primary: selections.numbers,\r\n                    stake: selections.stakes.numbers,\r\n                    systemBetType: stringify(PsUtils.getSystemBetTypeByNumbers(selections.numbers.length)),\r\n                });\r\n            }\r\n\r\n            if (this.symbolStakeEnabled) {\r\n                numbers.push({\r\n                    stake: selections.stakes.symbol,\r\n                    systemBetType: stringify(SystemBetType.Symbol),\r\n                });\r\n            }\r\n\r\n            if (this.colorStakeEnabled) {\r\n                numbers.push({\r\n                    stake: selections.stakes.color,\r\n                    systemBetType: stringify(PsUtils.getSystemBetTypeByColor(selections.color)),\r\n                });\r\n            }\r\n\r\n            if (this.highLowStakeEnabled) {\r\n                numbers.push({\r\n                    stake: selections.stakes.highLow,\r\n                    systemBetType: stringify(selections.highLow),\r\n                });\r\n            }\r\n\r\n            return {\r\n                numbers,\r\n                ...favoriteDefaults,\r\n            };\r\n        },\r\n        parseBoard(board: BoardNumber | BetBoard) {\r\n            const systemBetType = PsUtils.stringToSystemBetType(board.systemBetType);\r\n            switch (systemBetType) {\r\n                case SystemBetType.Symbol:\r\n                    this.selections.symbol = SystemBetType.Symbol;\r\n                    this.selections.stakes.symbol = board.stake;\r\n                    break;\r\n                case SystemBetType.Red:\r\n                case SystemBetType.Green:\r\n                case SystemBetType.Blue:\r\n                    this.selections.color = PsUtils.getColorBySystemBetType(systemBetType);\r\n                    this.selections.stakes.color = board.stake;\r\n                    break;\r\n                case SystemBetType.High:\r\n                case SystemBetType.Low:\r\n                    this.selections.highLow = systemBetType;\r\n                    this.selections.stakes.highLow = board.stake;\r\n                    break;\r\n                default:\r\n                    this.selections.numbers =\r\n                        \"primary\" in board ? board.primary : board.primarySelections.map((x) => parseInt(x));\r\n                    this.selections.stakes.numbers = board.stake;\r\n                    break;\r\n            }\r\n        },\r\n        fromFavoriteBet(bet: Partial<FavoriteGame>) {\r\n            this.selections = defaultSelections();\r\n            this.selections.powerSpins = bet.multiplier;\r\n            this.selections.duration = bet.duration;\r\n            bet.numbers.forEach((numberBoard) => this.parseBoard(numberBoard));\r\n        },\r\n        fromBetDetail(bet: BetDetail) {\r\n            this.selections = defaultSelections();\r\n            this.selections.powerSpins = bet.multiplier;\r\n            this.selections.duration = bet.duration;\r\n            bet.boards.forEach((board) => this.parseBoard(board));\r\n\r\n            this.betDetailSelections = this.cloneSelections(this.selections);\r\n        },\r\n    },\r\n    getters: {\r\n        numbersStakeEnabled: (state) => state.selections.numbers.length > 0,\r\n        symbolStakeEnabled: (state) => state.selections.symbol,\r\n        colorStakeEnabled: (state) => state.selections.color !== null,\r\n        highLowStakeEnabled: (state) => state.selections.highLow !== null,\r\n        selectionsAreValid: (state) => {\r\n            const length = state.selections.numbers.length;\r\n            return length <= 5 || length === 10;\r\n        },\r\n        isNumberSelected: (state) => (number: number) => state.selections.numbers.includes(number),\r\n        isColorSelected: (state) => (color: PsColor) => state.selections.color === color,\r\n        isHighLowSelected: (state) => (highLow: SystemBetType.High | SystemBetType.Low) =>\r\n            state.selections.highLow === highLow,\r\n        isSymbolSelected: (state) => state.selections.symbol,\r\n        isStakeEnabled: (state) => (stakeType: keyof PsStakes) => {\r\n            switch (stakeType) {\r\n                case \"numbers\":\r\n                    return state.selections.numbers.length > 0;\r\n                case \"symbol\":\r\n                    return state.selections.symbol;\r\n                case \"color\":\r\n                    return state.selections.color !== null;\r\n                case \"highLow\":\r\n                    return state.selections.highLow !== null;\r\n                default:\r\n                    return false;\r\n            }\r\n        },\r\n        totalWagerPrice: (state) => {\r\n            const stakes = state.selections.stakes;\r\n            const numberStake = state.selections.numbers.length > 0 ? stakes.numbers : 0;\r\n            const symbolStake = state.selections.symbol ? stakes.symbol : 0;\r\n            const colorStake = state.selections.color !== null ? stakes.color : 0;\r\n            const highLowStake = state.selections.highLow !== null ? stakes.highLow : 0;\r\n            return (\r\n                (numberStake + symbolStake + colorStake + highLowStake) *\r\n                state.selections.powerSpins *\r\n                state.selections.duration\r\n            );\r\n        },\r\n        hasPreviousSelections: (state) => state.previousSelections !== null,\r\n        getStakeBySystemBetType: (state) => (betType: SystemBetType) => {\r\n            switch (betType) {\r\n                case SystemBetType.One:\r\n                case SystemBetType.Two:\r\n                case SystemBetType.Three:\r\n                case SystemBetType.Four:\r\n                case SystemBetType.Five:\r\n                case SystemBetType.Ten:\r\n                    return state.selections.stakes.numbers;\r\n                case SystemBetType.Red:\r\n                case SystemBetType.Green:\r\n                case SystemBetType.Blue:\r\n                    return state.selections.stakes.color;\r\n                case SystemBetType.High:\r\n                case SystemBetType.Low:\r\n                    return state.selections.stakes.highLow;\r\n                case SystemBetType.Symbol:\r\n                    return state.selections.stakes.symbol;\r\n                default:\r\n                    return 0;\r\n            }\r\n        },\r\n        isValid(): boolean {\r\n            const price = this.totalWagerPrice;\r\n            return price > 0 && this.selectionsAreValid;\r\n        },\r\n    },\r\n    persist: { paths: [\"previousSelections\", \"betDetailSelections\"] },\r\n});\r\n","import { PsColor, SystemBetType } from \"../model/ps-bet-model\";\r\nimport { PsIconSize } from \"../model/ps-icon-size\";\r\n\r\nexport interface PsTile {\r\n    number: number;\r\n    color: PsColor;\r\n}\r\n\r\nexport namespace PsUtils {\r\n    export const layout: PsTile[] = [\r\n        { number: 33, color: PsColor.Symbol },\r\n        { number: 22, color: PsColor.Blue },\r\n        { number: 11, color: PsColor.Blue },\r\n        { number: 30, color: PsColor.Blue },\r\n        { number: 1, color: PsColor.Blue },\r\n        { number: 14, color: PsColor.Blue },\r\n        { number: 24, color: PsColor.Blue },\r\n        { number: 8, color: PsColor.Blue },\r\n        { number: 27, color: PsColor.Blue },\r\n        { number: 16, color: PsColor.Blue },\r\n        { number: 9, color: PsColor.Blue },\r\n        { number: 32, color: PsColor.Symbol },\r\n        { number: 17, color: PsColor.Green },\r\n        { number: 3, color: PsColor.Green },\r\n        { number: 23, color: PsColor.Green },\r\n        { number: 13, color: PsColor.Green },\r\n        { number: 19, color: PsColor.Green },\r\n        { number: 29, color: PsColor.Green },\r\n        { number: 4, color: PsColor.Green },\r\n        { number: 18, color: PsColor.Green },\r\n        { number: 26, color: PsColor.Green },\r\n        { number: 12, color: PsColor.Green },\r\n        { number: 31, color: PsColor.Symbol },\r\n        { number: 28, color: PsColor.Red },\r\n        { number: 6, color: PsColor.Red },\r\n        { number: 20, color: PsColor.Red },\r\n        { number: 2, color: PsColor.Red },\r\n        { number: 25, color: PsColor.Red },\r\n        { number: 10, color: PsColor.Red },\r\n        { number: 7, color: PsColor.Red },\r\n        { number: 15, color: PsColor.Red },\r\n        { number: 21, color: PsColor.Red },\r\n        { number: 5, color: PsColor.Red },\r\n    ];\r\n\r\n    const winMultipliersMap = new Map<SystemBetType, number[]>([\r\n        [SystemBetType.One, [24, 800, 20_000]],\r\n        [SystemBetType.Two, [12, 200, 3_000]],\r\n        [SystemBetType.Three, [8, 90, 1_000]],\r\n        [SystemBetType.Four, [6, 50, 400]],\r\n        [SystemBetType.Five, [5, 30, 200]],\r\n        [SystemBetType.Ten, [3, 9, 25]],\r\n        [SystemBetType.Symbol, [8, 90, 1_000]],\r\n        [SystemBetType.High, [2, 4, 8]],\r\n        [SystemBetType.Low, [2, 4, 8]],\r\n        [SystemBetType.Red, [3, 9, 25]],\r\n        [SystemBetType.Green, [3, 9, 25]],\r\n        [SystemBetType.Blue, [3, 9, 25]],\r\n    ]);\r\n\r\n    export const getWinAmount = (stake: number, systemBetType: SystemBetType, powerSpins: number) => {\r\n        if (!stake) return 0;\r\n\r\n        return winMultipliersMap.get(systemBetType)[powerSpins - 1] * stake;\r\n    };\r\n\r\n    export const isSymbol = (number: number): boolean => {\r\n        const layoutItem = layout.find((item) => item.number === number);\r\n        return layoutItem?.color === PsColor.Symbol;\r\n    };\r\n\r\n    export const getColorByNumber = (number: number): PsColor => {\r\n        if (number < 1 || number > 33) throw new Error(\"Invalid number\"); // to know you've made a mistake ;)\r\n\r\n        const layoutItem = layout.find((item) => item.number === number);\r\n        return layoutItem?.color;\r\n    };\r\n\r\n    export const getColorsIconUrl = () => {\r\n        return \"/frontend/web/img/lotteries/power-spin/glow-icons/colors.svg\";\r\n    };\r\n\r\n    export const getColorName = (color: PsColor): string => {\r\n        switch (color) {\r\n            case PsColor.Red:\r\n                return \"red\";\r\n            case PsColor.Green:\r\n                return \"green\";\r\n            case PsColor.Blue:\r\n                return \"blue\";\r\n            case PsColor.Symbol:\r\n                return \"white\";\r\n        }\r\n    };\r\n\r\n    export const getColorBySystemBetType = (systemBetType: SystemBetType): PsColor => {\r\n        switch (systemBetType) {\r\n            case SystemBetType.Red:\r\n                return PsColor.Red;\r\n            case SystemBetType.Green:\r\n                return PsColor.Green;\r\n            case SystemBetType.Blue:\r\n                return PsColor.Blue;\r\n            case SystemBetType.Symbol:\r\n                return PsColor.Symbol;\r\n        }\r\n    };\r\n\r\n    export const getSystemBetTypeByColor = (color: PsColor): SystemBetType => {\r\n        switch (color) {\r\n            case PsColor.Red:\r\n                return SystemBetType.Red;\r\n            case PsColor.Blue:\r\n                return SystemBetType.Blue;\r\n            case PsColor.Green:\r\n                return SystemBetType.Green;\r\n            case PsColor.Symbol:\r\n                return SystemBetType.Symbol;\r\n        }\r\n    };\r\n\r\n    export const getSystemBetTypeByNumbers = (numbersCount: number): SystemBetType => {\r\n        switch (numbersCount) {\r\n            case 1:\r\n                return SystemBetType.One;\r\n            case 2:\r\n                return SystemBetType.Two;\r\n            case 3:\r\n                return SystemBetType.Three;\r\n            case 4:\r\n                return SystemBetType.Four;\r\n            case 5:\r\n                return SystemBetType.Five;\r\n            case 10:\r\n                return SystemBetType.Ten;\r\n        }\r\n    };\r\n\r\n    export const getAllTilesBySystemBetType = (systemBetType: SystemBetType): PsTile[] => {\r\n        switch (systemBetType) {\r\n            case SystemBetType.Red:\r\n                return layout.filter((item) => item.color === PsColor.Red);\r\n            case SystemBetType.Green:\r\n                return layout.filter((item) => item.color === PsColor.Green);\r\n            case SystemBetType.Blue:\r\n                return layout.filter((item) => item.color === PsColor.Blue);\r\n            case SystemBetType.High:\r\n                return layout.filter((item) => item.number >= 16 && item.number <= 30);\r\n            case SystemBetType.Low:\r\n                return layout.filter((item) => item.number < 16);\r\n            case SystemBetType.Symbol:\r\n                return layout.filter((item) => item.color === PsColor.Symbol);\r\n            default:\r\n                return [];\r\n        }\r\n    };\r\n\r\n    export const getAllSystemBetTypesByNumber = (number: number): SystemBetType[] => {\r\n        const layoutItem = layout.find((x) => x.number === number);\r\n        const result = [getSystemBetTypeByColor(layoutItem.color)];\r\n\r\n        if (layoutItem.color !== PsColor.Symbol) {\r\n            if (number < 16) result.push(SystemBetType.Low);\r\n            else result.push(SystemBetType.High);\r\n        }\r\n\r\n        return result;\r\n    };\r\n\r\n    export const getTileNameBySystemBetType = (systemBetType: SystemBetType): string => {\r\n        switch (systemBetType) {\r\n            case SystemBetType.Red:\r\n                return \"Červená\";\r\n            case SystemBetType.Green:\r\n                return \"Zelená\";\r\n            case SystemBetType.Blue:\r\n                return \"Modrá\";\r\n            case SystemBetType.High:\r\n                return \"Vysoká čísla\";\r\n            case SystemBetType.Low:\r\n                return \"Nízká čísla\";\r\n            case SystemBetType.Symbol:\r\n                return \"Symbol\";\r\n            default:\r\n                return \"\";\r\n        }\r\n    };\r\n\r\n    export const stringToSystemBetType = (value: string): SystemBetType => {\r\n        switch (value.toLowerCase()) {\r\n            case \"red\":\r\n                return SystemBetType.Red;\r\n            case \"green\":\r\n                return SystemBetType.Green;\r\n            case \"blue\":\r\n                return SystemBetType.Blue;\r\n            case \"high\":\r\n                return SystemBetType.High;\r\n            case \"low\":\r\n                return SystemBetType.Low;\r\n            case \"symbol\":\r\n                return SystemBetType.Symbol;\r\n            case \"1\":\r\n                return SystemBetType.One;\r\n            case \"2\":\r\n                return SystemBetType.Two;\r\n            case \"3\":\r\n                return SystemBetType.Three;\r\n            case \"4\":\r\n                return SystemBetType.Four;\r\n            case \"5\":\r\n                return SystemBetType.Five;\r\n            case \"10\":\r\n                return SystemBetType.Ten;\r\n        }\r\n    };\r\n\r\n    export const systemBetTypeToString = (systemBetType: SystemBetType): string => {\r\n        switch (systemBetType) {\r\n            case SystemBetType.Red:\r\n                return \"Red\";\r\n            case SystemBetType.Green:\r\n                return \"Green\";\r\n            case SystemBetType.Blue:\r\n                return \"Blue\";\r\n            case SystemBetType.High:\r\n                return \"High\";\r\n            case SystemBetType.Low:\r\n                return \"Low\";\r\n            case SystemBetType.Symbol:\r\n                return \"Symbol\";\r\n            case SystemBetType.One:\r\n                return \"1\";\r\n            case SystemBetType.Two:\r\n                return \"2\";\r\n            case SystemBetType.Three:\r\n                return \"3\";\r\n            case SystemBetType.Four:\r\n                return \"4\";\r\n            case SystemBetType.Five:\r\n                return \"5\";\r\n            case SystemBetType.Ten:\r\n                return \"10\";\r\n        }\r\n    };\r\n\r\n    export const getLargeIconPlaceholderSize = (size: PsIconSize): number => {\r\n        switch (size) {\r\n            case \"sm\":\r\n                return 56;\r\n            case \"md\":\r\n                return 80;\r\n            case \"lg\":\r\n                return 120;\r\n            case \"xl\":\r\n                return 200;\r\n            default:\r\n                return 0;\r\n        }\r\n    };\r\n\r\n    export const getLargeIconIconSize = (size: PsIconSize): number => {\r\n        switch (size) {\r\n            case \"sm\":\r\n                return 24;\r\n            case \"md\":\r\n                return 32;\r\n            case \"lg\":\r\n                return 48;\r\n            case \"xl\":\r\n                return 88;\r\n            default:\r\n                return 0;\r\n        }\r\n    };\r\n\r\n    export const getFormattedTime = (date: Date) => {\r\n        const hours = date.getHours().toString().padStart(2, \"0\");\r\n        const minutes = date.getMinutes().toString().padStart(2, \"0\");\r\n\r\n        return `${hours}:${minutes}`;\r\n    };\r\n\r\n    /** SEE: https://github.com/vuejs/router/blob/7186b7470d3b500eec6d4e067928cb605f76343a/packages/router/src/RouterLink.ts#L332C1-L350C2 */\r\n    export const guardEvent = (e: MouseEvent) => {\r\n        // don't redirect with control keys\r\n        if (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey) return;\r\n        // don't redirect when preventDefault called\r\n        if (e.defaultPrevented) return;\r\n        // don't redirect on right click\r\n        if (e.button !== undefined && e.button !== 0) return;\r\n        // this may be a Weex event which doesn't have this method\r\n        if (e.preventDefault) e.preventDefault();\r\n\r\n        return true;\r\n    };\r\n}\r\n"],"names":["BetState","DrawStatus","PsBetState","SystemBetType","PsBoardType","PsColor","defaultSelections","numbers","color","highLow","symbol","powerSpins","duration","stakes","psConfig","Object","freeze","primaryMinVal","primaryMaxVal","maxMultiplier","maxDuration","maxBets","betDefaults","stakeIndex","multiplier","numbersToSelect","maxActiveBets","tutorialMockResults","prize","number","tutorialMockSelections","Green","High","Symbol","tutorialMockBets","id","state","open","draws","drawStatus","drawTime","boards","betType","systemBetType","primarySelections","stake","price","tutorialStepTexts","usePsWagerStore","defineStore","selections","previousSelections","betDetailSelections","isFavoriteMode","isFavoriteBet","isMyBetsBet","actions","toggleSymbol","this","toggleColor","toggleHighLow","toggleNumber","PsUtils","isSymbol","index","indexOf","length","push","splice","setFavoriteMode","setIsFavoriteBet","setIsMyBetsBet","getStakeValue","current","direction","newIndex","incrementStake","stakeType","decrementStake","resetSelections","cloneSelections","onSuccessfulBet","s","setPreviousSelections","setSelections","restoreFromDetail","toFavoriteBet","favoriteDefaults","name","gameName","stringify","systemBetTypeToString","numbersStakeEnabled","primary","getSystemBetTypeByNumbers","symbolStakeEnabled","colorStakeEnabled","getSystemBetTypeByColor","highLowStakeEnabled","parseBoard","board","stringToSystemBetType","Red","Blue","getColorBySystemBetType","Low","map","x","parseInt","fromFavoriteBet","bet","forEach","numberBoard","fromBetDetail","getters","selectionsAreValid","isNumberSelected","includes","isColorSelected","isHighLowSelected","isSymbolSelected","isStakeEnabled","totalWagerPrice","numberStake","symbolStake","colorStake","highLowStake","hasPreviousSelections","getStakeBySystemBetType","One","Two","Three","Four","Five","Ten","isValid","persist","paths","layout","winMultipliersMap","Map","getWinAmount","get","layoutItem","find","item","getColorByNumber","Error","getColorsIconUrl","getColorName","numbersCount","getAllTilesBySystemBetType","filter","getAllSystemBetTypesByNumber","result","getTileNameBySystemBetType","value","toLowerCase","getLargeIconPlaceholderSize","size","getLargeIconIconSize","getFormattedTime","date","hours","getHours","toString","padStart","minutes","getMinutes","guardEvent","e","metaKey","altKey","ctrlKey","shiftKey","defaultPrevented","undefined","button","preventDefault"],"sourceRoot":""}