import { useGames } from '#imports' import type { GameOptions } from '#lib/types' import { useNavigate } from '#lib/composables' import { GameCategoryEnum } from '#lib/enums' import { useGamesStore } from '#lib/stores' export function usePlayGame() { const { setLastGame } = useGamesStore() const { playGame } = useGames() const { navigate } = useNavigate() /** * Main function to handle the game playing process. * Checks game conditions, handles specific game types, and opens the game. * * @param {GameOptions} game - The game options including various configurations. */ const onPlayGame = async (game: GameOptions): Promise => { setLastGame(game) if (game.category?.includes(GameCategoryEnum.CARD_GAME)) { game.moneyRequired = true } if (game.link) { navigate(game.link, game.loginRequired, game.newTab) return } else { playGame(game) } } return { onPlayGame, } }