{"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":""}