{"version":3,"file":"static/chunks/36522.0984ac9cebb5e6c6.js","mappings":"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","sources":["webpack://_N_E/../../node_modules/lodash/_Symbol.js","webpack://_N_E/../../node_modules/lodash/_baseGetTag.js","webpack://_N_E/../../node_modules/lodash/_baseTrim.js","webpack://_N_E/../../node_modules/lodash/_freeGlobal.js","webpack://_N_E/../../node_modules/lodash/_getRawTag.js","webpack://_N_E/../../node_modules/lodash/_objectToString.js","webpack://_N_E/../../node_modules/lodash/_root.js","webpack://_N_E/../../node_modules/lodash/_trimmedEndIndex.js","webpack://_N_E/../../node_modules/lodash/debounce.js","webpack://_N_E/../../node_modules/lodash/isObject.js","webpack://_N_E/../../node_modules/lodash/isObjectLike.js","webpack://_N_E/../../node_modules/lodash/isSymbol.js","webpack://_N_E/../../node_modules/lodash/now.js","webpack://_N_E/../../node_modules/lodash/toNumber.js","webpack://_N_E/./src/api/games/queryKeys.ts","webpack://_N_E/./src/api/games/queries/useGames/service.ts","webpack://_N_E/./src/api/games/queries/useGames/index.ts","webpack://_N_E/./src/api/games/queries/useGameBySlug/service.ts","webpack://_N_E/../../packages/common/src/models/gaming-aggregator/status/id/index.ts","webpack://_N_E/./src/api/games/queries/useGameBySlug/index.ts","webpack://_N_E/./src/api/games/queries/useGamesByProvider/service.ts","webpack://_N_E/./src/api/games/queries/useGamesByProvider/index.ts","webpack://_N_E/./src/api/games/queries/useTopPayouts/service.ts","webpack://_N_E/./src/api/games/queries/useTopPayouts/index.ts","webpack://_N_E/./src/api/games/queries/useGamesRecentlyPlayed/service.ts","webpack://_N_E/./src/api/games/queries/useGamesRecentlyPlayed/index.ts","webpack://_N_E/./src/api/games/queries/index.ts","webpack://_N_E/./src/api/games/index.ts","webpack://_N_E/./src/components/Home/Sections/GamesBaseSection/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Input/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/Header/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/Chip/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/RecommendedSection/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/GamesResult/index.tsx","webpack://_N_E/./src/components/core/InputSearch/Empty/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Empty/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Content/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/GamesResult/Header/index.tsx","webpack://_N_E/./src/components/core/InputSearch/Modal/index.tsx","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/index.tsx","webpack://_N_E/./src/components/core/Games/GameList/index.tsx","webpack://_N_E/./src/enums/gameProviderId.ts","webpack://_N_E/../../packages/common/src/components/TransWithDefault/index.tsx","webpack://_N_E/../../packages/common/src/hooks/useDebounce.tsx","webpack://_N_E/../../packages/common/src/hooks/useInfiniteScroll/index.ts","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/Header/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/Chip/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/List/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/SearchHistory/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Default/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/Empty/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/GamesResult/Header/styles.module.scss","webpack://_N_E/./src/components/Home/V2/GameSearch/Modal/styles.module.scss","webpack://_N_E/./src/components/core/Games/GameList/styles.module.scss","webpack://_N_E/./src/components/core/InputSearch/Empty/styles.module.scss","webpack://_N_E/./src/components/core/InputSearch/Modal/styles.module.scss"],"sourcesContent":["var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var trimmedEndIndex = require('./_trimmedEndIndex');\n\n/** Used to match leading whitespace. */\nvar reTrimStart = /^\\s+/;\n\n/**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\nfunction baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n}\n\nmodule.exports = baseTrim;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to match a single whitespace character. */\nvar reWhitespace = /\\s/;\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\nfunction trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n}\n\nmodule.exports = trimmedEndIndex;\n","var isObject = require('./isObject'),\n now = require('./now'),\n toNumber = require('./toNumber');\n\n/** Error message constants. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n\nmodule.exports = debounce;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nmodule.exports = isSymbol;\n","var root = require('./_root');\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n return root.Date.now();\n};\n\nmodule.exports = now;\n","var baseTrim = require('./_baseTrim'),\n isObject = require('./isObject'),\n isSymbol = require('./isSymbol');\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = toNumber;\n","export enum GamesQueryKeys {\n Primary = '/games',\n BySlug = '/games/by-slug',\n ByProvider = '/games/by-provider',\n TopPayout = '/games/top-payout',\n RecentlyPlayed = '/games/recently-played',\n Tiles = '/games/tiles',\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { GamesRequestDto } from '@/services/dto/games/games-request.dto';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport baseAPI from '@/api';\nimport { UseGamesQueryKey } from './props';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { GameProviderId } from '@/enums/gameProviderId';\n\nexport async function fetchGames({\n pageParam,\n queryKey,\n}: QueryFunctionContext<UseGamesQueryKey>): Promise<PaginatedResponse<Game>> {\n try {\n const { query, limit, tag, providerIds }: GamesRequestDto = queryKey[1];\n const isOriginals = tag === GameTagFilter.Originals;\n const mappedProviders = providerIds?.join(',');\n\n const response = await baseAPI.get<PaginatedResponse<Game>>('/games', {\n params: {\n page: pageParam,\n query,\n limit,\n providerIds: isOriginals\n ? GameProviderId.Originals?.toString()\n : !!mappedProviders\n ? mappedProviders\n : null,\n tag: tag === GameTagFilter.Originals ? null : tag,\n },\n });\n\n return response.data;\n } catch (error) {\n return undefined;\n }\n}\n","import { GamesRequestDto } from '@/services/dto/games/games-request.dto';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport { fetchGames } from './service';\nimport { useMemo } from 'react';\nimport {\n useInfiniteQueryCallbacks,\n useInfiniteQueryReset,\n} from '@starsoft/common/hooks';\nimport { UseGamesProps, UseGamesQueryKey } from './props';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\n\nexport function useGames(options?: UseGamesProps) {\n const { enabled = true, limit = 50, query, tag, providerIds } = options ?? {};\n const params: GamesRequestDto = {\n limit,\n query: !!query ? query : undefined,\n tag,\n providerIds: (providerIds?.length ?? 0) > 0 ? providerIds : undefined,\n };\n const queryKey: UseGamesQueryKey = [GamesQueryKeys.Primary, params];\n\n const { getNextPageParam, getPreviousPageParam } =\n useInfiniteQueryCallbacks();\n useInfiniteQueryReset(queryKey);\n\n const { data, fetchStatus, ...infinityQuery } = useInfiniteQuery<\n PaginatedResponse<Game>,\n AxiosError<GenericError>,\n InfiniteData<PaginatedResponse<Game>>,\n UseGamesQueryKey\n >({\n queryKey,\n initialPageParam: 1,\n queryFn: fetchGames,\n getNextPageParam,\n getPreviousPageParam,\n enabled,\n staleTime: 5 * 1000,\n refetchOnWindowFocus: false,\n });\n\n const formattedData = useMemo(\n () => data?.pages?.map(page => page?.data)?.flat(),\n [data],\n );\n\n return {\n ...infinityQuery,\n games: formattedData,\n metadata: data?.pages?.[0]?.metadata,\n isLoading: infinityQuery.isPending && fetchStatus !== 'idle',\n error: infinityQuery.error as AxiosError<GenericError>,\n };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport { GameBySlugRequestDto } from '@/services/dto/games/game-by-slug-request.dto';\nimport baseAPI from '@/api';\nimport { Game } from '@/models/game';\n\nexport async function fetchGameBySLug({\n queryKey,\n}: QueryFunctionContext<[GamesQueryKeys.BySlug, GameBySlugRequestDto]>) {\n const { slug } = queryKey[1];\n\n const response = await baseAPI.get<Game>('/games/by-slug', {\n params: {\n slug,\n },\n });\n\n return response.data;\n}\n","export namespace GamingAggregatorStatusId {\n export const Active = 1n;\n export const Suspended = 2n;\n export const Inactive = 3n;\n}\n\nexport type GamingAggregatorStatusIdType =\n (typeof GamingAggregatorStatusId)[keyof typeof GamingAggregatorStatusId];\n","import { GameBySlugRequestDto } from '@/services/dto/games/game-by-slug-request.dto';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport { useQuery } from '@tanstack/react-query';\nimport { fetchGameBySLug } from './service';\nimport { Game } from '@/models/game';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport { UseGameBySlugProps } from './props';\nimport { useRouter } from 'next/router';\nimport { useEffect, useMemo } from 'react';\nimport { useSystemConfiguration } from '@/hooks/theme/useSystemConfiguration';\nimport { Either } from '@starsoft/common/interfaces';\nimport { GamingAggregatorStatusId } from '@starsoft/common/models/gaming-aggregator/status/id';\n\nexport function useGameBySlug(options?: UseGameBySlugProps) {\n const { slug, refetchOnMount = true } = options ?? {};\n const { push } = useRouter();\n const { aggregators } = useSystemConfiguration();\n const queryKey: [GamesQueryKeys.BySlug, GameBySlugRequestDto] = [\n GamesQueryKeys.BySlug,\n {\n slug: slug as string,\n },\n ];\n\n const { data, isPending, error, refetch, fetchStatus, isError } = useQuery<\n Game,\n AxiosError<GenericError>,\n Game,\n [GamesQueryKeys.BySlug, GameBySlugRequestDto]\n >({\n queryKey,\n queryFn: fetchGameBySLug,\n enabled: !!slug,\n staleTime: 5 * 1000,\n refetchOnMount,\n refetchOnWindowFocus: false,\n });\n\n function handleInactiveGames() {\n if (!data || data?.isActive == true) {\n return;\n }\n\n push('/casino');\n }\n\n useEffect(handleInactiveGames, [data, push]);\n\n const gameStatus: Either<string, undefined> = useMemo(() => {\n const aggregatorStatus =\n aggregators\n ?.find(\n aggregator =>\n aggregator?.id?.toString() === data?.aggregator?.id?.toString?.(),\n )\n ?.status?.id?.toString?.() ??\n GamingAggregatorStatusId.Active?.toString?.();\n\n return aggregatorStatus;\n }, [data, aggregators]);\n\n return {\n game: data,\n isLoading: isPending && fetchStatus !== 'idle',\n error,\n isError,\n refetch,\n gameStatus,\n };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport baseAPI from '@/api';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport { GamesByProviderRequestDto } from '@/services/dto/games/games-by-provider-request.dto';\n\nexport async function fetchGamesByProvider({\n pageParam = 1,\n queryKey,\n}: QueryFunctionContext<\n [GamesQueryKeys.ByProvider, GamesByProviderRequestDto]\n>) {\n const { query, limit, providerSlug } = queryKey[1];\n\n const response = await baseAPI.get<PaginatedResponse<Game>>(\n '/games/by-provider',\n {\n params: {\n page: pageParam,\n query,\n limit,\n providerSlug,\n },\n },\n );\n\n return response.data;\n}\n","import { GamesQueryKeys } from '../../queryKeys';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport { fetchGamesByProvider } from './service';\nimport { useMemo } from 'react';\nimport { UseGamesByProviderProps } from './props';\nimport { GamesByProviderRequestDto } from '@/services/dto/games/games-by-provider-request.dto';\nimport {\n useInfiniteQueryCallbacks,\n useInfiniteQueryReset,\n} from '@starsoft/common/hooks';\nimport { PaginatedResponse } from '@starsoft/common/models';\nimport { Game } from '@/models/game';\n\nexport function useGamesByProvider({\n enabled = true,\n limit = 20,\n query,\n providerSlug,\n}: UseGamesByProviderProps) {\n const params: GamesByProviderRequestDto = {\n limit,\n query,\n providerSlug,\n };\n const queryKey: [GamesQueryKeys.ByProvider, GamesByProviderRequestDto] = [\n GamesQueryKeys.ByProvider,\n params,\n ];\n\n const { getNextPageParam, getPreviousPageParam } =\n useInfiniteQueryCallbacks();\n useInfiniteQueryReset(queryKey);\n\n const { data, isPending, ...infinityQuery } = useInfiniteQuery<\n PaginatedResponse<Game>,\n AxiosError<GenericError>,\n InfiniteData<PaginatedResponse<Game>>,\n [GamesQueryKeys.ByProvider, GamesByProviderRequestDto]\n >({\n queryKey,\n queryFn: fetchGamesByProvider,\n getNextPageParam,\n getPreviousPageParam,\n initialPageParam: 1,\n enabled,\n staleTime: 5 * 1000,\n refetchOnWindowFocus: false,\n });\n\n const formattedData = useMemo(\n () => data?.pages?.map(page => page.data)?.flat(),\n [data],\n );\n\n return {\n ...infinityQuery,\n isLoading: isPending,\n games: formattedData,\n metadata: data?.pages?.[0]?.metadata,\n error: infinityQuery.error as AxiosError<GenericError>,\n };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport { UseTopPayoutsQueryKey } from './props';\nimport { PaginatedRequest } from '@/models/pagination/paginated-request';\nimport { AxiosResponse } from 'axios';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport baseAPI from '@/api';\n\nexport async function fetchTopPayout({\n queryKey,\n pageParam,\n}: QueryFunctionContext<UseTopPayoutsQueryKey>): Promise<\n PaginatedResponse<Game>\n> {\n const { limit }: PaginatedRequest = queryKey[1];\n\n const response: AxiosResponse<PaginatedResponse<Game>> = await baseAPI.get<\n PaginatedResponse<Game>\n >('/games/top-payout', {\n params: {\n limit,\n page: pageParam,\n },\n });\n\n return response.data;\n}\n","import { PaginatedRequest } from '@/models/pagination/paginated-request';\nimport { UseTopPayoutsQueryKey } from './props';\nimport { GamesQueryKeys } from '../../queryKeys';\nimport {\n useInfiniteQueryCallbacks,\n useInfiniteQueryReset,\n} from '@starsoft/common/hooks';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { PaginatedResponse } from '@/models/pagination/paginated-response.dto';\nimport { Game } from '@/models/game';\nimport { GenericError } from '@/models/generic-error';\nimport { AxiosError } from 'axios';\nimport { fetchTopPayout } from './service';\nimport { useMemo } from 'react';\n\nexport function useTopPayouts() {\n const params: PaginatedRequest = {\n limit: 20,\n };\n const queryKey: UseTopPayoutsQueryKey = [GamesQueryKeys.TopPayout, params];\n\n const { getNextPageParam, getPreviousPageParam } =\n useInfiniteQueryCallbacks();\n useInfiniteQueryReset(queryKey);\n\n const { data, fetchStatus, ...infinityQuery } = useInfiniteQuery<\n PaginatedResponse<Game>,\n AxiosError<GenericError>,\n InfiniteData<PaginatedResponse<Game>>,\n UseTopPayoutsQueryKey\n >({\n queryKey,\n initialPageParam: 1,\n queryFn: fetchTopPayout,\n getNextPageParam,\n getPreviousPageParam,\n staleTime: 5 * 1000,\n refetchOnWindowFocus: false,\n });\n\n const formattedData = useMemo(\n () => data?.pages?.map(page => page?.data)?.flat(),\n [data],\n );\n\n return {\n ...infinityQuery,\n games: formattedData,\n isPending: infinityQuery.isPending && fetchStatus !== 'idle',\n };\n}\n","import { QueryFunctionContext } from '@tanstack/react-query';\nimport baseAPI from '@/api';\nimport { Game } from '@/models/game';\nimport { UseGamesRecentlyPlayedQueryKeyProps } from './props';\nimport { PaginatedResponse } from '@starsoft/common/models';\n\nexport async function fetchGamesRecentlyPlayed({\n queryKey,\n pageParam,\n}: QueryFunctionContext<UseGamesRecentlyPlayedQueryKeyProps>) {\n const { limit } = queryKey[1];\n\n const response = await baseAPI.get<PaginatedResponse<Game>>(\n '/games/recently-played',\n {\n params: {\n limit,\n page: pageParam,\n },\n },\n );\n\n return response.data;\n}\n","import { GamesQueryKeys } from '../../queryKeys';\nimport { InfiniteData } from '@tanstack/react-query';\nimport { useInfiniteQuery } from '@starsoft/common/services/query-client';\nimport { fetchGamesRecentlyPlayed } from './service';\nimport { Game } from '@/models/game';\nimport { AxiosError } from 'axios';\nimport { GenericError } from '@/models/generic-error';\nimport {\n UseGameRecentlyPlayedProps,\n UseGamesRecentlyPlayedQueryKeyProps,\n} from './props';\nimport { useMemo } from 'react';\nimport { PaginatedResponse } from '@starsoft/common/models';\nimport { AuthService } from '@starsoft/common/services';\nimport { useInfiniteQueryCallbacks, useToggle } from '@starsoft/common/hooks';\n\nexport function useGamesRecentlyPlayed(options?: UseGameRecentlyPlayedProps) {\n const { refetchOnMount = true } = options ?? {};\n const [hideRecentGame, toggleHideRecentGame] = useToggle(false);\n\n const queryKey: UseGamesRecentlyPlayedQueryKeyProps = [\n GamesQueryKeys.RecentlyPlayed,\n {\n limit: 20,\n },\n ];\n\n const { getNextPageParam, getPreviousPageParam } =\n useInfiniteQueryCallbacks();\n\n const { data, isPending, error, refetch, fetchStatus, isError, ...rest } =\n useInfiniteQuery<\n PaginatedResponse<Game>,\n AxiosError<GenericError>,\n InfiniteData<PaginatedResponse<Game>>,\n UseGamesRecentlyPlayedQueryKeyProps\n >({\n queryKey,\n queryFn: fetchGamesRecentlyPlayed,\n enabled: AuthService.isAuthorized(),\n staleTime: 5 * 1000,\n refetchOnMount,\n refetchOnWindowFocus: false,\n getNextPageParam,\n getPreviousPageParam,\n initialPageParam: 1,\n });\n\n const games = useMemo(() => data?.pages?.flatMap(page => page?.data), [data]);\n\n const mostRecentGame = useMemo(() => games?.[0], [games]);\n\n return {\n games,\n isLoading: isPending && fetchStatus !== 'idle',\n error,\n isError,\n refetch,\n mostRecentGame,\n hideRecentGame,\n toggleHideRecentGame,\n metadata: data?.pages?.[0]?.metadata,\n ...rest,\n };\n}\n","export { useGames } from './useGames';\nexport { useGameBySlug } from './useGameBySlug';\nexport { useGamesByProvider } from './useGamesByProvider';\nexport { useTopPayouts } from './useTopPayouts';\nexport { useGamesRecentlyPlayed } from './useGamesRecentlyPlayed';\n","export * from './queries';\n","import Carousel from '../../Carousel';\nimport { GamesSectionProps } from './props';\nimport GameCard from '@/components/core/Games/GameCard/Versions/Primary';\nimport { ErrorCard } from '@starsoft/common/components';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useMemo } from 'react';\n\nexport default function GamesBaseSection({\n data,\n error,\n icon,\n isLoading,\n label,\n link,\n refetch,\n secondaryStyles,\n useAutoScroll = false,\n}: GamesSectionProps) {\n const { t } = useTranslation('common');\n\n const Cards = useMemo(\n () =>\n data?.map(game => (\n <GameCard\n key={`slots_item_${String(link)}_${game?.slug}`}\n game={game}\n />\n )),\n [data, link],\n );\n\n const Skeletons = useMemo(\n () =>\n Array.from({ length: 20 }).map((_, i) => (\n <GameCard key={`slots_item_${String(link)}_skeleton_${i}`} isLoading />\n )),\n [link],\n );\n\n if (error) {\n return <ErrorCard error={error} refetch={refetch} />;\n }\n\n return (\n <Carousel\n icon={icon}\n label={t(label, {\n app_provider: process.env.NEXT_PUBLIC_BET_NAME,\n })}\n redirect={link}\n secondaryStyles={secondaryStyles}\n useAutoScroll={useAutoScroll}\n key={`carousel-section-${link}`}\n >\n {isLoading ? Skeletons : Cards}\n </Carousel>\n );\n}\n","import { Input } from '@starsoft/common/components';\nimport { RootState } from '@/lib/store';\nimport { setModalSearch, toggleSearch } from '@/lib/store/casino/actions';\nimport useTranslation from 'next-translate/useTranslation';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { GameSearchInputProps } from './props';\nimport { useEffect } from 'react';\nimport { useIsMobile } from '@starsoft/common/hooks';\n\nexport default function GameSearchInput({\n isLoading,\n focusOnMount,\n}: GameSearchInputProps) {\n const { t } = useTranslation('common');\n const dispatch = useDispatch();\n const open: boolean = useSelector(\n (state: RootState) => state.casino.openSearch,\n );\n const search: string = useSelector(\n (state: RootState) => state.casino.modalSearch,\n );\n const isMobile = useIsMobile();\n\n function handleOnClick() {\n if (open || focusOnMount) {\n return;\n }\n\n dispatch(toggleSearch());\n }\n\n function resetSearchValue(): void {\n dispatch(setModalSearch(''));\n\n if (!open) {\n return;\n }\n\n if (!search || isMobile) {\n dispatch(toggleSearch());\n }\n }\n\n function handleSearchValue(e: React.ChangeEvent<HTMLInputElement>): void {\n dispatch(setModalSearch(e.target.value));\n }\n\n function onUnmount() {\n return () => {\n dispatch(setModalSearch(''));\n };\n }\n\n useEffect(onUnmount, [dispatch]);\n\n return (\n <Input\n icon=\"fa-solid fa-magnifying-glass\"\n showEraserButton\n placeholder={t('game_provider_search_label')}\n onClick={handleOnClick}\n onChange={handleSearchValue}\n onErase={resetSearchValue}\n isContainerColor\n showSpinner={isLoading}\n focusOnMount={focusOnMount}\n value={search}\n />\n );\n}\n","import { useDispatch, useSelector } from 'react-redux';\nimport styles from './styles.module.scss';\nimport { RootState } from '@/lib/store';\nimport useTranslation from 'next-translate/useTranslation';\nimport { resetSearcHistory } from '@/lib/store/casino/actions';\n\nexport default function SearchHistoryHeader() {\n const { t } = useTranslation('common');\n const dispatch = useDispatch();\n const searchHistory = useSelector(\n (state: RootState) => state.casino.searchHistory,\n );\n const count: number = searchHistory.length;\n\n function handleReset() {\n dispatch(resetSearcHistory());\n }\n\n return (\n <div className={styles.container}>\n <span className={styles.container__title}>\n {t('search_history_label')}\n </span>\n\n <button\n className={styles['container__label-button']}\n onClick={handleReset}\n >\n {t('clean_search_history_label', {\n count: count >= 99 ? `${count}+` : count,\n })}\n </button>\n </div>\n );\n}\n","import { memo } from 'react';\nimport { SearchHistoryChipProps } from './props';\nimport { useDispatch } from 'react-redux';\nimport styles from './styles.module.scss';\nimport {\n removeSearchHistoryItem,\n setModalSearch,\n} from '@/lib/store/casino/actions';\n\nfunction SearchHistoryChip({ index, text }: SearchHistoryChipProps) {\n const dispatch = useDispatch();\n\n function handleRemoveSearchHistoryItem(index: number) {\n dispatch(removeSearchHistoryItem(index));\n }\n\n function handleSetSearch() {\n dispatch(setModalSearch(text));\n }\n\n return (\n <div className={styles.container}>\n <button\n className={styles['container__text-button']}\n onClick={handleSetSearch}\n >\n {text}\n </button>\n\n <button\n className={`${styles['container__text-button']} ${styles['container__text-button--larger']}`}\n onClick={() => handleRemoveSearchHistoryItem(index)}\n >\n <i className=\"fa-solid fa-xmark\" />\n </button>\n </div>\n );\n}\n\nexport default memo(SearchHistoryChip);\n","import { useSelector } from 'react-redux';\nimport styles from './styles.module.scss';\nimport { RootState } from '@/lib/store';\nimport { useMemo } from 'react';\nimport SearchHistoryChip from './Chip';\n\nexport default function SearchHistoryList() {\n const searchHistory: string[] = useSelector(\n (state: RootState) => state.casino.searchHistory,\n );\n const Chips = useMemo(\n () =>\n searchHistory.map((text, index) => (\n <SearchHistoryChip\n key={`search-history-item-${index}`}\n index={index}\n text={text}\n />\n )),\n [searchHistory],\n );\n\n return <div className={styles.container}>{Chips}</div>;\n}\n","import styles from './styles.module.scss';\nimport SearchHistoryHeader from './Header';\nimport SearchHistoryList from './List';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\n\nexport default function SearchHistory() {\n const searchHistory = useSelector(\n (state: RootState) => state.casino.searchHistory,\n );\n\n if (searchHistory.length === 0) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n <SearchHistoryHeader />\n <SearchHistoryList />\n </div>\n );\n}\n","import { useGames } from '@/api/games';\nimport GamesBaseSection from '@/components/Home/Sections/GamesBaseSection';\nimport { GameTagFilter } from '@/models/games/game-tag-filter.enum';\nimport { GenericError } from '@/models/generic-error';\nimport { AxiosError } from 'axios';\n\nexport default function ReccomendedSection() {\n const { games, error, isLoading, refetch } = useGames({\n tag: GameTagFilter.Recommended,\n limit: 20,\n });\n\n return (\n <GamesBaseSection\n data={games ?? []}\n isLoading={isLoading}\n link={`/games/tag/${GameTagFilter.Recommended}`}\n error={error as AxiosError<GenericError>}\n refetch={refetch}\n label=\"recommended_games\"\n useAutoScroll\n />\n );\n}\n","import useTranslation from 'next-translate/useTranslation';\nimport styles from './styles.module.scss';\nimport SearchHistory from './SearchHistory';\nimport ReccomendedSection from './RecommendedSection';\n\nexport default function GameSearchModalDefaultContent() {\n const { t } = useTranslation('common');\n\n return (\n <div className={styles.container}>\n <p className={styles.container__text}>{t('sports_search_constraint')}</p>\n <SearchHistory />\n\n <div className={styles['container__hide-mobile']}>\n <ReccomendedSection />\n </div>\n </div>\n );\n}\n","import GameList from '@/components/core/Games/GameList';\nimport { GameSearchModalProps } from '../Content/props';\nimport { useDispatch } from 'react-redux';\nimport { setSearchHistory } from '@/lib/store/casino/actions';\nimport { useEffect } from 'react';\n\nexport default function GameSearchModalGamesResult({\n games,\n isFetchingNextPage,\n isLoading,\n error,\n refetch,\n isSuccess,\n search,\n}: GameSearchModalProps) {\n const dispatch = useDispatch();\n\n function handleNewSearch() {\n if (!isSuccess) {\n return;\n }\n\n dispatch(setSearchHistory(search));\n }\n\n useEffect(handleNewSearch, [isSuccess, search, dispatch]);\n\n return (\n <GameList\n games={games ?? []}\n refetch={() => refetch?.()}\n error={error}\n isFetchingNextPage={isFetchingNextPage}\n isLoading={isLoading}\n />\n );\n}\n","import { useLottiePlayer } from '@starsoft/common/hooks';\nimport { EmptySearchProps } from './props';\nimport styles from './styles.module.scss';\nimport { TransWithDefault } from '@starsoft/common/components';\n\nexport default function EmptySearch({ search }: EmptySearchProps) {\n const { lottieAnimationRef } = useLottiePlayer({\n path: '/empty-search.json',\n });\n\n return (\n <div className={styles.container}>\n <div className={styles.container__lottie} ref={lottieAnimationRef} />\n <p className={styles.container__text}>\n <TransWithDefault\n i18nKey={\n search ? 'support:not_found_description' : 'common:no_result'\n }\n values={{\n search: search,\n }}\n />\n </p>\n </div>\n );\n}\n","import styles from './styles.module.scss';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\nimport EmptySearch from '@/components/core/InputSearch/Empty';\n\nexport default function GameSearchModalEmptySearch() {\n const search = useSelector((state: RootState) => state.casino.modalSearch);\n\n return (\n <div className={styles.container}>\n <EmptySearch search={search} />\n </div>\n );\n}\n","import { GameSearchModalProps } from './props';\nimport GameSearchModalDefaultContent from '../Default';\nimport GameSearchModalGamesResult from '../GamesResult';\nimport GameSearchModalEmptySearch from '../Empty';\n\nexport default function GameSearchModalContent({\n games,\n isFetchingNextPage,\n isLoading,\n error,\n refetch,\n isSuccess,\n search,\n}: GameSearchModalProps) {\n if (search?.length < 3) {\n return <GameSearchModalDefaultContent />;\n }\n\n if (games?.length === 0 && !isLoading && !error) {\n return <GameSearchModalEmptySearch />;\n }\n\n return (\n <GameSearchModalGamesResult\n games={games}\n isFetchingNextPage={isFetchingNextPage}\n isLoading={isLoading}\n error={error}\n refetch={refetch}\n isSuccess={isSuccess}\n search={search}\n />\n );\n}\n","import useTranslation from 'next-translate/useTranslation';\nimport { GameSearchModalHeaderProps } from './props';\nimport styles from './styles.module.scss';\n\nexport default function GameSearchModalHeader({\n error,\n isLoading,\n count,\n currentAmount,\n}: GameSearchModalHeaderProps) {\n const { t } = useTranslation('common');\n\n if (error) {\n return null;\n }\n\n return (\n <div className={styles.container}>\n <h4 className={styles.container__title}>{t('result_game_search')}</h4>\n\n {isLoading ? (\n <div className={styles.skeleton} />\n ) : (\n <p className={styles.container__text}>\n {t('result_count', {\n currentAmount,\n count,\n })}\n </p>\n )}\n </div>\n );\n}\n","import { m as motion } from 'framer-motion';\nimport { slideInDesktop, slideInMobile } from './variants';\n\nimport { PropsWithChildren } from 'react';\nimport styles from './styles.module.scss';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '@/lib/store';\nimport { useIsMobile } from '@starsoft/common/hooks';\nimport { SearchModalProps } from './props';\nimport { useClickOutside } from '@starsoft/common/hooks';\n\nexport default function SearchModal({\n children,\n onClose,\n}: PropsWithChildren<SearchModalProps>) {\n const collapsed = useSelector((state: RootState) => state.sideBar.collapsed);\n const isMobile = useIsMobile();\n const ref = useClickOutside({\n onClickOutside: onClose,\n open: true,\n });\n\n return (\n <>\n <motion.div\n className={`${styles.container} ${collapsed ? styles['container--collapsed'] : ''}`}\n variants={isMobile ? {} : slideInDesktop}\n animate=\"visible\"\n initial=\"hidden\"\n exit=\"hidden\"\n //@ts-ignore\n ref={ref}\n >\n <div className={styles.container__content}>{children}</div>\n </motion.div>\n\n <motion.div\n variants={isMobile ? slideInMobile : slideInDesktop}\n animate=\"visible\"\n initial=\"hidden\"\n exit=\"hidden\"\n className={styles.overlay}\n />\n </>\n );\n}\n","import { useGames } from '@/api/games';\nimport { useDebounce } from '@starsoft/common/hooks';\nimport { RootState } from '@/lib/store';\nimport { useDispatch, useSelector } from 'react-redux';\nimport styles from './styles.module.scss';\nimport { AnimatePresence } from 'framer-motion';\nimport { setModalSearch, toggleSearch } from '@/lib/store/casino/actions';\n\nimport GameSearchModalContent from './Content';\nimport GameSearchInput from '../Input';\nimport GameSearchModalHeader from './GamesResult/Header';\nimport { useInfiniteScroll } from '@starsoft/common/hooks';\nimport SearchModal from '@/components/core/InputSearch/Modal';\n\nexport default function GameSearchModal() {\n const open: boolean = useSelector(\n (state: RootState) => state.casino.openSearch,\n );\n const search: string = useSelector(\n (state: RootState) => state.casino.modalSearch,\n );\n const debouncedSearch = useDebounce(search);\n const dispatch = useDispatch();\n\n const {\n hasNextPage,\n isFetching,\n isLoading,\n isFetchingNextPage,\n fetchNextPage,\n games,\n error,\n refetch,\n metadata,\n isSuccess,\n } = useGames({\n query: debouncedSearch,\n enabled: open && debouncedSearch?.length >= 3,\n });\n const { ref } = useInfiniteScroll({\n hasMore: hasNextPage ?? false,\n isLoading: isLoading || isFetchingNextPage || isFetching,\n loadMore: () => fetchNextPage(),\n });\n\n function handleToggleModal() {\n dispatch(toggleSearch());\n dispatch(setModalSearch(''));\n }\n\n return (\n <AnimatePresence>\n {open && (\n <SearchModal onClose={handleToggleModal}>\n <div className={styles['sticky-container']}>\n <GameSearchInput\n focusOnMount\n isLoading={isLoading || isFetchingNextPage}\n />\n\n {(debouncedSearch?.length > 3 ||\n ((games?.length ?? 0) > 0 && !error && !isLoading)) && (\n <GameSearchModalHeader\n isLoading={isLoading}\n error={error}\n currentAmount={games?.length}\n count={metadata?.count ?? 0}\n />\n )}\n </div>\n <div className={styles.content} ref={ref}>\n <GameSearchModalContent\n error={error}\n isFetchingNextPage={isFetchingNextPage}\n isLoading={isLoading}\n games={games ?? []}\n refetch={refetch}\n isSuccess={isSuccess}\n search={debouncedSearch}\n />\n </div>\n </SearchModal>\n )}\n </AnimatePresence>\n );\n}\n","import { GameListProps } from './props';\nimport { memo, useMemo } from 'react';\nimport styles from './styles.module.scss';\nimport GameCard from '../GameCard/Versions/Primary';\nimport { ErrorCard, NoDataComponent } from '@starsoft/common/components';\n\nfunction GameList({\n games,\n error,\n isLoading,\n isFetchingNextPage,\n refetch,\n}: GameListProps) {\n const Games = useMemo(\n () =>\n games?.map(game => (\n <GameCard key={`slot-game-${game?.id}`} game={game} />\n )),\n [games],\n );\n\n const Skeletons = useMemo(\n () =>\n Array.from({ length: 50 }).map((_, index) => (\n <GameCard key={`slot-game-card-skeleton-${index}`} isLoading />\n )),\n [],\n );\n\n if (error) {\n return <ErrorCard error={error} refetch={refetch} />;\n }\n\n if (games?.length == 0 && !isLoading) {\n return <NoDataComponent />;\n }\n\n return (\n <div className={styles.container}>\n {isLoading ? Skeletons : Games}\n {isFetchingNextPage && Skeletons}\n </div>\n );\n}\n\nexport default memo(GameList);\n","export namespace GameProviderId {\n export const Originals = 1n;\n export const Ezugi = 0n;\n export const TvBet = 2n;\n export const Evolutiongames = 4n;\n export const GoldenRace = 7n;\n export const Spinmatic = 8n;\n export const Endorphina = 19n;\n export const WizardGames = 20n;\n export const Habanero = 21n;\n export const PragmaticPlay = 22n;\n export const TomHorn = 23n;\n export const GameArt = 26n;\n export const OnexTwoNetwork = 29n;\n export const Triplecherry = 30n;\n export const Mobilots = 41n;\n export const OneTouch = 43n;\n export const Slotmill = 51n;\n export const Thunderkick = 54n;\n export const Yggdrasil = 56n;\n export const SmartSoft = 58n;\n export const IronDogStudio = 59n;\n export const LuckyStreak = 61n;\n export const RedRake = 66n;\n export const LEAP = 67n;\n export const BlueprintGaming = 74n;\n export const KalambaGames = 75n;\n export const RealtimeGaming = 76n;\n export const SpearheadStudios = 77n;\n export const Nolimitcity = 79n;\n export const KironInteractive = 84n;\n export const FantasmaGames = 85n;\n export const OMIGaming = 86n;\n export const DragoonSoft = 88n;\n export const NetEnt = 92n;\n export const SkywindCasino = 96n;\n export const Quickspin = 98n;\n export const MascotGaming = 102n;\n export const Evoplay = 103n;\n export const WoohooGames = 104n;\n export const ElkStudios = 105n;\n export const KaGaming = 106n;\n export const Platipus = 116n;\n export const CaletaGaming = 117n;\n export const Gamzix = 118n;\n export const RevolverGaming = 120n;\n export const Wazdan = 121n;\n export const PrintStudios = 125n;\n export const Ezugipremium = 126n;\n export const Evolutiongamespremium = 128n;\n export const Pragmaticlive = 129n;\n export const MrSlotty = 132n;\n export const TrueLab = 133n;\n export const Betsolutions = 134n;\n export const BGaming = 136n;\n export const Fazi = 138n;\n export const Tpg = 139n;\n export const VirtualGeneration = 142n;\n export const GamesInc = 143n;\n export const Betgamestv = 144n;\n export const Felix = 145n;\n export const NetGaming = 148n;\n export const FunTaGaming = 149n;\n export const SevenMojosLive = 151n;\n export const SevenMojosSlots = 152n;\n export const Fugaso = 154n;\n export const FunkyGames = 158n;\n export const Mancala = 159n;\n export const CoolGames = 160n;\n export const Spinthon = 161n;\n export const Xpg = 163n;\n export const Apollo = 197n;\n export const CQ9Casino = 205n;\n export const Skywind = 208n;\n export const BigTimeGaming = 209n;\n export const Microgaming = 244n;\n export const EURASIANGaming = 252n;\n export const Jili = 288n;\n export const FastGamesbyGalaxsys = 297n;\n export const CTInteractive = 301n;\n export const OnlyPlay = 313n;\n export const Spinberry = 314n;\n export const TurboGames = 321n;\n export const AmigoGaming = 324n;\n export const AGTsoftware = 325n;\n export const Elbet = 326n;\n export const RubyPlay = 328n;\n export const Espresso = 329n;\n export const FCGame = 333n;\n export const Playson = 343n;\n export const Spribe = 344n;\n export const BarbaraBang = 348n;\n export const ZeusPlay = 349n;\n export const RedTigerGaming = 354n;\n export const Playtech = 356n;\n export const PGSoft = 358n;\n export const Amatic = 367n;\n export const PushGaming = 373n;\n export const Thirtyaks = 374n;\n export const Vivo = 375n;\n}\n\nexport type GameProviderIdType =\n (typeof GameProviderId)[keyof typeof GameProviderId];\n","import { useSettingsStore } from '@starsoft/common/hooks/useSettingsStore';\nimport { CommonSettings } from '@starsoft/common/interfaces';\nimport { Trans as ITrans } from '@starsoft/common/interfaces/trans';\nimport { ComponentType } from 'react';\n\n/**\n * TransWithDefault Component\n * This component is responsible for rendering a translation component with default fallback.\n * It utilizes the settings store to determine the appropriate translation component to use.\n *\n * @param {ITrans} props - The properties for the component.\n * @param {object} props.components - Custom components to be used within the translation text.\n * @param {string} props.i18nKey - The internationalization key for the translation.\n * @param {object} props.values - The values to be interpolated in the translation string.\n *\n * @returns {JSX.Element} The rendered translation component with provided components and props.\n *\n * @example\n * // Usage example:\n * <TransWithDefault\n * components={{ strong: <strong />, br: <br /> }}\n * i18nKey=\"example_key\"\n * values={{ name: 'John' }}\n * />\n */\nexport function TransWithDefault({ components, ...props }: ITrans) {\n const { state } = useSettingsStore();\n const settings: CommonSettings = state.settings;\n const Trans: ComponentType<ITrans> = settings.translationComponents.Trans;\n\n // Render the Trans component with provided components and props\n return (\n <Trans\n components={{\n strong: <strong />,\n br: <br />,\n p: <p />,\n ul: <ul />,\n li: <li />,\n ...components,\n }}\n {...props}\n />\n );\n}\n","import { useEffect, useState } from 'react';\n\n/**\n * Custom hook that debounces a value.\n *\n * @template T - The type of the value to debounce.\n * @param {T} value - The value to debounce.\n * @param {number} [delay=500] - The debounce delay in milliseconds.\n * @returns {T} - The debounced value.\n *\n * @example\n * const debouncedSearchTerm = useDebounce<string>(searchTerm, 300);\n */\nexport function useDebounce<T>(value: T, delay: number = 500): T {\n // State to store the debounced value\n const [debouncedValue, setDebouncedValue] = useState<T>(value);\n\n /**\n * Function to handle the debounce logic.\n * Sets a timeout to update the debounced value after the specified delay.\n * Clears the timeout if the value or delay changes before the timeout completes.\n */\n function handleDebounce() {\n const timer = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(timer);\n };\n }\n\n // useEffect hook to apply the debounce logic whenever the value or delay changes\n useEffect(handleDebounce, [value, delay]);\n\n // Return the debounced value\n return debouncedValue;\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport { UseInfiniteScrollProps } from './props';\nimport { debounce } from 'lodash';\n\n/**\n * Custom hook to implement infinite scrolling functionality within a container.\n * It listens to the scroll event and triggers a callback to load more content\n * when the user scrolls near the bottom of the container.\n *\n * @param {UseInfiniteScrollProps} props - The properties for the infinite scroll hook.\n * @param {boolean} props.hasMore - Indicates if there are more items to load.\n * @param {boolean} props.isLoading - Indicates if a loading operation is currently in progress.\n * @param {Function} props.loadMore - The function to call to load more items.\n * @param {boolean} [props.condition=true] - An additional condition to check before loading more items.\n * @param {boolean} [props.reverse=false] - If true, loads more items when scrolled to the top.\n *\n * @returns {Object} - An object containing a ref to attach to the scrollable container and a boolean indicating if the scroll is at the bottom.\n * @returns {React.RefObject<any>} ref - A ref to attach to the scrollable container.\n * @returns {boolean} isAtBottom - A boolean indicating if the scroll is at the bottom of the container.\n *\n * Example usage:\n * const { ref, isAtBottom } = useInfiniteScroll({\n * hasMore: true,\n * isLoading: false,\n * loadMore: () => fetchMoreItems(),\n * condition: true,\n * reverse: false,\n * });\n */\nexport function useInfiniteScroll({\n hasMore,\n isLoading,\n loadMore,\n condition = true,\n reverse = false,\n}: UseInfiniteScrollProps) {\n // Reference to the scrollable container element\n const ref = useRef<any>(null);\n // State to track the distance from the bottom of the container\n const [distanceBottom, setDistanceBottom] = useState(0);\n // State to track if the scroll is at the bottom of the container\n const [isAtBottom, setIsAtBottom] = useState(false);\n\n /**\n * Memoized scroll event listener that checks if more content should be loaded.\n * It uses lodash's debounce to limit the rate at which the function is called.\n */\n const scrollListener = useCallback(\n debounce(() => {\n if (ref && ref.current) {\n const scrollTop = ref?.current?.scrollTop;\n const bottom = ref.current?.scrollHeight - ref.current?.clientHeight;\n\n // Set the distance from the bottom if not already set\n if (!distanceBottom) {\n setDistanceBottom(Math.round(bottom * 0.2));\n }\n\n // Load more items if scrolled to the top and conditions are met\n if (scrollTop === 0 && hasMore && !isLoading && condition && reverse) {\n loadMore();\n }\n\n // Load more items if scrolled near the bottom and conditions are met\n if (\n scrollTop > bottom - distanceBottom &&\n hasMore &&\n !isLoading &&\n condition &&\n !reverse\n ) {\n loadMore();\n }\n\n // Update the isAtBottom state based on scroll position\n if (scrollTop > bottom - distanceBottom) {\n setIsAtBottom(true);\n } else {\n setIsAtBottom(false);\n }\n }\n }, 100),\n [hasMore, loadMore, isLoading, distanceBottom, reverse, condition, ref],\n );\n\n /**\n * Effect hook to add the scroll event listener when the component mounts\n * and remove it when the component unmounts.\n */\n useEffect(() => {\n if (!(ref && ref?.current)) {\n return;\n }\n const element = ref?.current;\n\n // Add scroll event listener\n element?.addEventListener('scroll', scrollListener);\n // Cleanup function to remove the event listener\n return () => {\n element?.removeEventListener('scroll', scrollListener);\n };\n }, [scrollListener, ref]);\n\n // Return the ref to the scrollable container and the isAtBottom state\n return {\n ref,\n isAtBottom,\n };\n}\n\nexport type { UseInfiniteScrollProps };\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container___zqJq\",\"container__label-button\":\"styles_container__label-button__KT9t7\",\"container__title\":\"styles_container__title__1wgcU\",\"skeleton-animation\":\"styles_skeleton-animation__nlgFd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__URaq2\",\"container__text-button\":\"styles_container__text-button__5slYF\",\"container__text-button--larger\":\"styles_container__text-button--larger__M5jp0\",\"skeleton-animation\":\"styles_skeleton-animation__PIGGO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__j_A_i\",\"skeleton-animation\":\"styles_skeleton-animation__a0YlF\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__0NVTY\",\"skeleton-animation\":\"styles_skeleton-animation__X3Qwd\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__GLKhd\",\"container__text\":\"styles_container__text__pyHHj\",\"container__hide-mobile\":\"styles_container__hide-mobile__8Nseq\",\"skeleton-animation\":\"styles_skeleton-animation__w4Ctk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__WonRc\",\"skeleton-animation\":\"styles_skeleton-animation__NYVzQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"skeleton\":\"styles_skeleton__A_uC1\",\"skeleton-animation\":\"styles_skeleton-animation__zdRZ0\",\"container\":\"styles_container__B7wTy\",\"container__title\":\"styles_container__title__hNbfU\",\"container__text\":\"styles_container__text__sWBhB\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"sticky-container\":\"styles_sticky-container__4mjwg\",\"content\":\"styles_content__1_dCt\",\"skeleton-animation\":\"styles_skeleton-animation__GG3xk\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__FKmFh\",\"skeleton-animation\":\"styles_skeleton-animation__7lxpe\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__ZMG_y\",\"container__text\":\"styles_container__text__8_VIu\",\"container__lottie\":\"styles_container__lottie__ERXe4\",\"skeleton-animation\":\"styles_skeleton-animation__iP0XA\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"styles_container__I2OAn\",\"container--collapsed\":\"styles_container--collapsed__hsDda\",\"container__content\":\"styles_container__content__MxieB\",\"overlay\":\"styles_overlay__kJcPe\",\"skeleton-animation\":\"styles_skeleton-animation__6X9tY\"};"],"names":["Symbol","root","module","exports","__webpack_require__","getRawTag","objectToString","symToStringTag","toStringTag","undefined","value","Object","trimmedEndIndex","reTrimStart","string","slice","replace","freeGlobal","g","objectProto","prototype","hasOwnProperty","nativeObjectToString","toString","isOwn","call","tag","unmasked","e","result","freeSelf","self","Function","reWhitespace","index","length","test","charAt","isObject","now","toNumber","nativeMax","Math","max","nativeMin","min","func","wait","options","lastArgs","lastThis","maxWait","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","invokeFunc","time","args","thisArg","apply","shouldInvoke","timeSinceLastCall","timeSinceLastInvoke","timerExpired","timeWaiting","trailingEdge","setTimeout","debounced","isInvoking","arguments","clearTimeout","cancel","flush","type","baseGetTag","isObjectLike","Date","baseTrim","isSymbol","NAN","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","other","valueOf","isBinary","GamesQueryKeys","GamingAggregatorStatusId","fetchGames","param","pageParam","queryKey","GameProviderId","query","limit","providerIds","isOriginals","GameTagFilter","Originals","mappedProviders","join","response","baseAPI","get","params","page","data","error","useGames","enabled","Primary","getNextPageParam","getPreviousPageParam","useInfiniteQueryCallbacks","useInfiniteQueryReset","fetchStatus","infinityQuery","useInfiniteQuery","initialPageParam","queryFn","staleTime","refetchOnWindowFocus","formattedData","useMemo","pages","map","flat","games","metadata","isLoading","isPending","fetchGameBySLug","slug","useGameBySlug","refetchOnMount","push","useRouter","aggregators","useSystemConfiguration","BySlug","refetch","isError","useQuery","useEffect","isActive","gameStatus","find","aggregator","id","status","Active","game","fetchGamesByProvider","providerSlug","useGamesByProvider","ByProvider","fetchTopPayout","useTopPayouts","TopPayout","fetchGamesRecentlyPlayed","Suspended","Inactive","useGamesRecentlyPlayed","hideRecentGame","toggleHideRecentGame","useToggle","RecentlyPlayed","rest","AuthService","isAuthorized","flatMap","mostRecentGame","GamesBaseSection","icon","label","link","secondaryStyles","useAutoScroll","t","useTranslation","Cards","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","GameCard","concat","String","Skeletons","Array","from","_","i","ErrorCard","Carousel","app_provider","process","redirect","GameSearchInput","focusOnMount","dispatch","useDispatch","open","useSelector","state","casino","openSearch","search","modalSearch","isMobile","useIsMobile","setModalSearch","Input","showEraserButton","placeholder","onClick","toggleSearch","onChange","target","onErase","isContainerColor","showSpinner","SearchHistoryHeader","count","searchHistory","jsx_runtime","jsxs","div","className","styles","span","button","resetSearcHistory","Chip","memo","text","removeSearchHistoryItem","SearchHistoryList","Chips","SearchHistoryChip","SearchHistory","ReccomendedSection","Recommended","GameSearchModalDefaultContent","p","GameSearchModalGamesResult","isFetchingNextPage","isSuccess","setSearchHistory","GameList","EmptySearch","lottieAnimationRef","useLottiePlayer","path","ref","TransWithDefault","i18nKey","values","GameSearchModalEmptySearch","GameSearchModalContent","GameSearchModalHeader","currentAmount","h4","SearchModal","children","onClose","collapsed","sideBar","useClickOutside","onClickOutside","Fragment","motion","variants","slideInDesktop","animate","initial","exit","slideInMobile","GameSearchModal","debouncedSearch","useDebounce","hasNextPage","isFetching","fetchNextPage","useInfiniteScroll","hasMore","loadMore","AnimatePresence","__webpack_exports__","Z","Games","NoDataComponent","Ezugi","TvBet","Evolutiongames","GoldenRace","Spinmatic","Endorphina","WizardGames","Habanero","PragmaticPlay","TomHorn","GameArt","OnexTwoNetwork","Triplecherry","Mobilots","OneTouch","Slotmill","Thunderkick","Yggdrasil","SmartSoft","IronDogStudio","LuckyStreak","RedRake","LEAP","BlueprintGaming","KalambaGames","RealtimeGaming","SpearheadStudios","Nolimitcity","KironInteractive","FantasmaGames","OMIGaming","DragoonSoft","NetEnt","SkywindCasino","Quickspin","MascotGaming","Evoplay","WoohooGames","ElkStudios","KaGaming","Platipus","CaletaGaming","Gamzix","RevolverGaming","Wazdan","PrintStudios","Ezugipremium","Evolutiongamespremium","Pragmaticlive","MrSlotty","TrueLab","Betsolutions","BGaming","Fazi","Tpg","VirtualGeneration","GamesInc","Betgamestv","Felix","NetGaming","FunTaGaming","SevenMojosLive","SevenMojosSlots","Fugaso","FunkyGames","Mancala","CoolGames","Spinthon","Xpg","Apollo","CQ9Casino","Skywind","BigTimeGaming","Microgaming","EURASIANGaming","Jili","FastGamesbyGalaxsys","CTInteractive","OnlyPlay","Spinberry","TurboGames","AmigoGaming","AGTsoftware","Elbet","RubyPlay","Espresso","FCGame","Playson","Spribe","BarbaraBang","ZeusPlay","RedTigerGaming","Playtech","PGSoft","Amatic","PushGaming","Thirtyaks","Vivo","components","props","useSettingsStore","Trans","settings","translationComponents","strong","br","ul","li","delay","debouncedValue","setDebouncedValue","useState","timer","condition","reverse","useRef","distanceBottom","setDistanceBottom","isAtBottom","setIsAtBottom","scrollListener","useCallback","debounce","current","scrollTop","bottom","scrollHeight","clientHeight","round","element","addEventListener","removeEventListener"],"sourceRoot":""}