{"version":3,"file":"javascript/build1/partials/9417.a72140f0.js","mappings":"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","sources":["webpack://morpheus/./src/js/components/GameTile/index.js","webpack://morpheus/./src/js/components/LoadingComponents/CustomSkeleton/index.js","webpack://morpheus/./src/js/components/Lobby/LobbyNavigation/index.js","webpack://morpheus/./src/js/components/Lobby/LobbyLayouts/MasonryLobby/index.js","webpack://morpheus/./src/js/components/LazyLoadedComponents/ThemedCategory/index.js","webpack://morpheus/./src/js/constants/gameGrids.js","webpack://morpheus/./src/js/components/Lobby/SlotsLobby/index.js"],"sourcesContent":["import React, {useState} from 'react';\r\nimport classNames from 'classnames';\r\nimport './style.scss';\r\nimport {makeStyles} from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport {SecondaryButton} from \"../Button\";\r\nimport {BP_LARGE} from \"Theme/breakpoints\";\r\nimport {\r\n ACTIVATED_GAME_ICONS_ENABLED,\r\n ANIMATED_GAME_ICONS_ENABLED,\r\n CASINO_ICON_SIZE_DIRECTORIES,\r\n IS_LOGGED_IN,\r\n SERVE_WEBP_IMAGES,\r\n SERVICE_ANNOUNCEMENT_MESSAGE,\r\n} from \"Setup/config\";\r\nimport {MQMinLarge} from \"Helpers/mediaQueries\";\r\nimport useGames from \"Hooks/useGames\";\r\nimport {trackGameLaunchEvent} from \"Helpers\";\r\nimport {checkGameAvailability, getAnimatedCasinoIcon, getCasinoIconPath} from \"Helpers/games\";\r\nimport useModal from \"Hooks/useModal\";\r\n\r\nconst useGameTileStyles = makeStyles(theme => {\r\n const LobbyGameTilesSettings = theme.overrides.LobbyGameTiles;\r\n\r\n return {\r\n root: {\r\n display: \"flex\",\r\n },\r\n container: {\r\n padding: LobbyGameTilesSettings.tileSpacing,\r\n overflow: \"hidden\",\r\n\r\n '&:hover': {\r\n '& $border::before': {\r\n background: LobbyGameTilesSettings.borderColorHover\r\n },\r\n\r\n '& $gameIcon img': {\r\n transform: 'scale(1.05)',\r\n filter: 'brightness(70%)',\r\n },\r\n\r\n '& $buttons': {\r\n opacity: 1,\r\n bottom: theme.spacing(3)\r\n }\r\n },\r\n\r\n '& $border': {\r\n overflow: \"hidden\",\r\n height: \"100%\",\r\n position: \"relative\",\r\n padding: LobbyGameTilesSettings.borderPadding,\r\n [theme.breakpoints.down(BP_LARGE)]: {\r\n padding: LobbyGameTilesSettings.borderPadding / 2,\r\n },\r\n\r\n '&::before': {\r\n content: '\"\"',\r\n display: \"block\",\r\n background: LobbyGameTilesSettings.borderColor,\r\n position: \"absolute\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n top: 0,\r\n left: 0,\r\n // Major performance degradation on mobile devices\r\n // backdropFilter: \"blur(4px)\",\r\n borderRadius: LobbyGameTilesSettings.borderRadius,\r\n [theme.breakpoints.down(BP_LARGE)]: {\r\n borderRadius: LobbyGameTilesSettings.borderRadius / 2,\r\n },\r\n // boxShadow: `-1px -1px 1px ${theme.palette.layout.main}, 1px 1px 0 ${fade(ContentSettings.contrastText, 0.5)}`\r\n }\r\n },\r\n },\r\n border: {\r\n height: \"100%\"\r\n },\r\n gameIcon: {\r\n height: \"100%\",\r\n cursor: \"pointer\",\r\n position: \"relative\",\r\n overflow: \"hidden\",\r\n borderRadius: LobbyGameTilesSettings.borderRadius / 3 * 2,\r\n [theme.breakpoints.down(BP_LARGE)]: {\r\n borderRadius: LobbyGameTilesSettings.borderRadius / 2,\r\n },\r\n\r\n '& img': {\r\n imageRendering: \"-webkit-optimize-contrast\",\r\n transition: \"all 150ms ease-in-out\",\r\n }\r\n },\r\n unavailable: {\r\n filter: \"grayscale(1)\",\r\n '& img': {\r\n // pointerEvents: \"none\"\r\n }\r\n },\r\n gameIconImage: {\r\n backgroundSize: \"cover\",\r\n backfaceVisibility: \"hidden\",\r\n width: \"100%\",\r\n height: \"100%\",\r\n position: \"absolute\",\r\n top: 0,\r\n left: 0,\r\n pointerEvents: \"none\",\r\n objectFit: \"cover\"\r\n },\r\n // favourite: {\r\n // // color: \"red\",\r\n // // background: LobbyGameTilesSettings.backgroundColor,\r\n //\r\n // top: LobbyGameTilesSettings.borderPadding,\r\n // right: LobbyGameTilesSettings.borderPadding,\r\n // [theme.breakpoints.down(BP_LARGE)]: {\r\n // top: LobbyGameTilesSettings.borderPadding / 2,\r\n // right: LobbyGameTilesSettings.borderPadding / 2,\r\n // },\r\n //\r\n // position: \"absolute\",\r\n // // right: 0,\r\n // display: \"flex\",\r\n // // top: 0,\r\n // opacity: 1,\r\n // justifyContent: \"center\",\r\n // transition: `opacity 250ms ease-in-out, bottom 300ms ease-out`,\r\n // cursor: \"pointer\",\r\n // borderRadius: `0 ${LobbyGameTilesSettings.borderRadius / 2}px 0 ${LobbyGameTilesSettings.borderRadius / 4}px`,\r\n // padding: \"4px\",\r\n // zIndex: 1,\r\n // },\r\n // favouriteIcon: {\r\n // fontSize: \"1.25rem\",\r\n // transition: \"color 100ms linear, stroke 100ms linear\",\r\n // },\r\n // favouriteUnselected: {\r\n // color: 'rgba(255,255,255,0.6)',\r\n // '&:hover': {\r\n // color: 'rgba(255,255,255,0.8)',\r\n // }\r\n // // opacity: 0.6\r\n // },\r\n // favouriteSelected: {\r\n // // color: theme.palette[theme.overrides.Buttons.secondary].main,\r\n // color: \"red\",\r\n // stroke: 'rgba(255,255,255,0.6)',\r\n // strokeWidth: 2,\r\n // '&:hover': {\r\n // stroke: 'rgba(255,255,255,0.8)',\r\n // }\r\n // },\r\n buttons: {\r\n position: \"absolute\",\r\n left: 0,\r\n right: 0,\r\n display: \"flex\",\r\n bottom: 10,\r\n opacity: 0,\r\n justifyContent: \"center\",\r\n transition: `opacity 250ms ease-in-out, bottom 300ms ease-out`\r\n }\r\n }\r\n});\r\n\r\nexport const InnerGameTile = ({\r\n children,\r\n icon,\r\n catalogueGameId,\r\n name,\r\n isGameAvailable = true,\r\n size = 1,\r\n hasAnimated = false,\r\n hasActivated = false,\r\n gaCategory = 'uncategorized'\r\n }) => {\r\n const classes = useGameTileStyles();\r\n const {launchCasinoGame} = useGames();\r\n const {openModal} = useModal();\r\n const [imageError, setImageError] = useState(false);\r\n const [activatedImageError, setActivatedImageError] = useState(false);\r\n\r\n const handleLaunchGameClick = () => {\r\n if (isGameAvailable) {\r\n trackGameLaunchEvent(catalogueGameId, gaCategory);\r\n launchCasinoGame(catalogueGameId);\r\n } else {\r\n openModal(\"ServiceAnnouncement\", {message: SERVICE_ANNOUNCEMENT_MESSAGE});\r\n }\r\n };\r\n\r\n let sizeDirectory = '';\r\n if (size <= 4 && size > 1) sizeDirectory = CASINO_ICON_SIZE_DIRECTORIES[size - 2];\r\n\r\n let isAnimated = IS_LOGGED_IN && ANIMATED_GAME_ICONS_ENABLED && isGameAvailable && hasAnimated && size === 1;\r\n let isActivated = IS_LOGGED_IN && ACTIVATED_GAME_ICONS_ENABLED && hasActivated;\r\n\r\n const getWebpImages = SERVE_WEBP_IMAGES && !imageError;\r\n const getActivatedImages = isActivated && !activatedImageError;\r\n const getAnimatedImages = isAnimated && !imageError;\r\n\r\n const animatedSvg = getAnimatedImages ? getAnimatedCasinoIcon(icon) : false;\r\n\r\n const regularFallback = getCasinoIconPath(icon);\r\n const sizedFallback = getCasinoIconPath(icon, {sizeDirectory});\r\n const regularWebP = getWebpImages ? getCasinoIconPath(icon, {returnWebpIcon: true}) : false;\r\n const sizedWebP = getWebpImages ? getCasinoIconPath(icon, {sizeDirectory, returnWebpIcon: true}) : false;\r\n const srcSet = `${regularFallback} 991w, ${sizedFallback}`;\r\n\r\n const activatedFallback = getActivatedImages ? getCasinoIconPath(icon, {returnActivatedIcon: true}) : false;\r\n const activatedSizedFallback = getActivatedImages ? getCasinoIconPath(icon, {sizeDirectory, returnActivatedIcon: true}) : false;\r\n const regularActivatedWebP = getActivatedImages ? getCasinoIconPath(icon, {returnWebpIcon: true, returnActivatedIcon: true}) : false\r\n const sizedActivatedWebP = getActivatedImages ? getCasinoIconPath(icon, {sizeDirectory, returnWebpIcon: true, returnActivatedIcon: true}) : false;\r\n const activatedSrcSet = `${activatedFallback} 991w, ${activatedSizedFallback}`;\r\n\r\n\r\n return (\r\n <>\r\n {children}\r\n
\r\n \r\n {\r\n getWebpImages ?\r\n <>\r\n {getAnimatedImages ?\r\n {name} setImageError(true)}/> :\r\n getActivatedImages ?\r\n <>\r\n \r\n \r\n {name} setActivatedImageError(true)}/>\r\n :\r\n <>\r\n \r\n \r\n {name} setImageError(true)}/>\r\n \r\n }\r\n :\r\n {name}\r\n }\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nconst usePlainGameStyles = makeStyles(theme => {\r\n return {\r\n root: {\r\n padding: 3,\r\n\r\n '& > div': {\r\n '&::before': {\r\n display: \"block\",\r\n content: \"''\",\r\n paddingTop: \"100%\"\r\n }\r\n }\r\n }\r\n }\r\n});\r\n\r\nexport const PlainGameTile = ({catalogueGameId, gaCategory = 'uncategorized', hasError}) => {\r\n const classes = usePlainGameStyles();\r\n const {findGameByCatalogueGameId} = useGames();\r\n const gameData = findGameByCatalogueGameId(catalogueGameId);\r\n const isGameAvailable = checkGameAvailability(gameData);\r\n\r\n if (!gameData || hasError) return null;\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nconst GameTile = ({\r\n size = 1,\r\n resizable = false,\r\n gameId = 0,\r\n // favouriteIconVisible = false,\r\n // catalogueGameId = null,\r\n // canFavourite = false,\r\n // favouriteCallback = false,\r\n // isFavourite,\r\n gaCategory = 'uncategorized'\r\n }) => {\r\n const classes = useGameTileStyles();\r\n\r\n const {launchCasinoGame, findGameByCatalogueGameId} = useGames();\r\n const gameData = findGameByCatalogueGameId(gameId);\r\n const isGameAvailable = checkGameAvailability(gameData);\r\n // const [isFavouriteInProgress, setIsFavouriteInProgress] = React.useState(false);\r\n\r\n if (!gameData) return null;\r\n\r\n // const handleFavouriteClick = async () => {\r\n // setIsFavouriteInProgress(true);\r\n // await favouriteCallback(gameId);\r\n // setIsFavouriteInProgress(false);\r\n // };\r\n\r\n const handleLaunchGameClick = () => {\r\n trackGameLaunchEvent(gameData.catalogueGameId, gaCategory);\r\n launchCasinoGame(gameData.catalogueGameId);\r\n };\r\n\r\n const classesGroup = classNames(\r\n \"bg--game-tile--container\",\r\n [{\r\n ['resizable']: resizable,\r\n ['default']: size === 1,\r\n ['wide']: size === 2,\r\n ['tall']: size === 3,\r\n ['large']: size === 4,\r\n [classes.unavailable]: !gameData.catalogueGameId,\r\n }]\r\n );\r\n\r\n return (\r\n
\r\n
\r\n
\r\n \r\n {/*{(favouriteIconVisible && canFavourite) &&*/}\r\n {/*
*/}\r\n {/* {isFavourite ?*/}\r\n {/* :*/}\r\n {/* */}\r\n {/* }*/}\r\n {/*
*/}\r\n {/*}*/}\r\n
\r\n {isGameAvailable &&\r\n \r\n
\r\n Play Now\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default GameTile;\r\n","import {Skeleton} from \"@material-ui/lab\";\r\nimport {makeStyles} from \"@material-ui/core\";\r\nimport classNames from \"classnames\";\r\nimport clsx from \"clsx\";\r\n\r\nconst useSkeletonStyles = makeStyles(theme => {\r\n const CustomSkeletonSettings = theme.overrides.CustomSkeleton;\r\n\r\n return {\r\n root: {\r\n background: CustomSkeletonSettings.background\r\n },\r\n marginBottom: {\r\n marginBottom: theme.spacing(1)\r\n }\r\n }\r\n})\r\n\r\nconst CustomSkeleton = ({marginBottom = false, className, children, ...rest}) => {\r\n const classes = useSkeletonStyles();\r\n\r\n const skeletonClasses = classNames(\r\n classes.root,\r\n {\r\n [classes.marginBottom]: marginBottom,\r\n }\r\n );\r\n\r\n return (\r\n {children}\r\n )\r\n}\r\n\r\nexport default CustomSkeleton;\r\n","import React from 'react';\r\nimport {makeStyles, Tab, Tabs} from \"@material-ui/core\";\r\nimport classNames from 'classnames';\r\nimport clsx from \"clsx\";\r\nimport {DiceIcon, GameIcon, ScratchcardsIcon, SearchIcon, SlotsIcon, StarIcon} from \"Components/CustomIcons\";\r\nimport {BP_LARGE, BP_MEDIUM} from \"Theme/breakpoints\";\r\nimport useModal from \"Hooks/useModal\";\r\nimport FavoriteBorderIcon from '@material-ui/icons/FavoriteBorder';\r\nimport {IS_LOGGED_IN} from \"Setup/config\";\r\n\r\nconst iconMap = {\r\n 'plusOne': StarIcon,\r\n 'slot-machine': SlotsIcon,\r\n 'casual-game': DiceIcon,\r\n 'scratchcards': ScratchcardsIcon,\r\n 'gaming': GameIcon,\r\n 'search': SearchIcon,\r\n 'favourites': FavoriteBorderIcon,\r\n};\r\n\r\nconst LobbyNavigationItem = ({icon = false, ...props}) => {\r\n const {onClick, label, active} = props;\r\n\r\n const baseClass = `lobby-nav-item`;\r\n\r\n const classGroup = classNames(\r\n baseClass,\r\n [{\r\n [`${baseClass}__active`]: active,\r\n }]\r\n );\r\n\r\n let iconName, Icon;\r\n if (icon) {\r\n iconName = icon.toLowerCase();\r\n Icon = iconMap.hasOwnProperty(iconName) ? iconMap[iconName] : iconMap['plusOne'];\r\n } else {\r\n Icon = iconMap['plusOne'];\r\n }\r\n\r\n return (\r\n
\r\n }/>\r\n
\r\n );\r\n};\r\n\r\nconst useLobbyNavigationStyles = makeStyles(theme => {\r\n const LobbyNavigationSettings = theme.overrides.LobbyNavigation;\r\n\r\n return {\r\n root: {\r\n minHeight: 72,\r\n position: 'sticky',\r\n top: IS_LOGGED_IN ? 47 : 70,\r\n zIndex: 2,\r\n color: LobbyNavigationSettings.defaultText,\r\n background: LobbyNavigationSettings.background,\r\n [theme.breakpoints.down(BP_LARGE)]: {\r\n top: 47,\r\n },\r\n [theme.breakpoints.down(BP_MEDIUM)]: {\r\n display: \"flex\",\r\n overflow: \"auto\",\r\n },\r\n '& .MuiSvgIcon-root': {\r\n fontSize: '1.8rem',\r\n },\r\n '& .lobby-nav-item__active': {\r\n color: LobbyNavigationSettings.contrastText,\r\n },\r\n '& .lobby-nav-item': {\r\n '& .MuiButtonBase-root': {\r\n textTransform: 'none',\r\n [theme.breakpoints.down(BP_LARGE)]: {\r\n fontSize: '12px',\r\n },\r\n [theme.breakpoints.down(BP_MEDIUM)]: {\r\n fontSize: '11px',\r\n }\r\n },\r\n [theme.breakpoints.down(BP_LARGE)]: {\r\n margin: \"0 auto\"\r\n },\r\n\r\n '& :hover': {\r\n color: LobbyNavigationSettings.contrastText,\r\n }\r\n },\r\n '& .MuiTabs-indicator': {\r\n background: LobbyNavigationSettings.contrastText,\r\n },\r\n '& .MuiTabs-flexContainer': {\r\n [theme.breakpoints.up(BP_LARGE)]: {\r\n justifyContent: 'center',\r\n },\r\n },\r\n '& .MuiTabScrollButton-root': {\r\n width: 15,\r\n background: theme.palette.layout.xdark,\r\n '& .MuiSvgIcon-root': {\r\n color: theme.palette.layout.xlight,\r\n },\r\n '&.MuiTabs-scrollButtons': {\r\n opacity: 0.7\r\n },\r\n '&.Mui-disabled': {\r\n opacity: 0.1,\r\n [theme.breakpoints.up(BP_LARGE)]: {\r\n opacity: 0,\r\n },\r\n },\r\n\r\n },\r\n '& .MuiTab-root': {\r\n // [theme.breakpoints.up(BP_MEDIUM)]: {\r\n // padding: '5px 34px',\r\n // },\r\n [theme.breakpoints.up(BP_LARGE)]: {\r\n padding: '0 34px',\r\n minWidth: 144,\r\n },\r\n },\r\n '& .MuiTab-wrapper': {\r\n whiteSpace: 'pre'\r\n }\r\n },\r\n };\r\n})\r\n\r\nconst LobbyNavigation = ({categories = [], categoriesLoaded = false, activeCategoryIdx, ...props}) => {\r\n const classes = useLobbyNavigationStyles();\r\n const {openModal} = useModal();\r\n\r\n return (\r\n
\r\n \r\n {categoriesLoaded && categories.map((category, key) => (\r\n props.setCategory(key)}\r\n icon={category.icon}\r\n label={category.name}\r\n active={key === activeCategoryIdx}\r\n />\r\n ))}\r\n\r\n {categoriesLoaded &&\r\n openModal('Search')} icon=\"search\" label=\"Search\"/>\r\n }\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LobbyNavigation;\r\n","import React, {useState} from 'react';\r\nimport Masonry from 'react-masonry-component';\r\nimport {useMediaQueryCurrentSize} from \"Helpers/mediaQueries\";\r\nimport {makeStyles} from \"@material-ui/core\";\r\nimport {PrimaryButton} from \"Components/Button\";\r\nimport Box from \"@material-ui/core/Box\";\r\nimport {BP_MEDIUM} from \"Theme/breakpoints\";\r\n\r\nconst useStyles = makeStyles(theme => {\r\n return {\r\n seeMore: {\r\n margin: theme.spacing(2, 0),\r\n fontSize: theme.spacing(2),\r\n [theme.breakpoints.down(BP_MEDIUM)]: {\r\n fontSize: theme.spacing(1.5)\r\n },\r\n '&.Mui-disabled': {\r\n color: theme.palette.primary.dark,\r\n borderColor: theme.palette.primary.dark\r\n }\r\n }\r\n };\r\n});\r\n\r\nconst MasonryGameCategory = ({children, grid = [], repeatGrid = false, excludeSizeInRepeat = [], initialMaxGameRows = 3, respectRules = true, debug = false}) => {\r\n const classes = useStyles();\r\n const [showAll, toggleShowAll] = useState(false);\r\n const {isSmall, isMedium, isLarge} = useMediaQueryCurrentSize();\r\n\r\n const CELLS_PER_ROW_LARGE = 8; // 16 games\r\n const CELLS_PER_ROW_MEDIUM = 5; // 15 games\r\n const CELLS_PER_ROW_SMALL = 3; // 12 games\r\n\r\n const CELLS_PER_ROW =\r\n isSmall ? CELLS_PER_ROW_SMALL :\r\n isMedium ? CELLS_PER_ROW_MEDIUM :\r\n isLarge ? CELLS_PER_ROW_LARGE :\r\n CELLS_PER_ROW_LARGE;\r\n\r\n const numberOfGames = children.length;\r\n const maxGamesToDisplay = showAll ? numberOfGames : CELLS_PER_ROW * initialMaxGameRows;\r\n\r\n\r\n let cellsUsed = 0;\r\n let childrenUsed = 0;\r\n const childrenWithExtraProp = React.Children.map(children, (child, key) => {\r\n if (!showAll && cellsUsed >= maxGamesToDisplay) return null;\r\n\r\n const cellsRemaining = maxGamesToDisplay - cellsUsed;\r\n const lastRow = CELLS_PER_ROW >= cellsRemaining || CELLS_PER_ROW >= (children.length - key);\r\n\r\n let cellSize = 1;\r\n let cellSizeKey = 1;\r\n\r\n if (isLarge) {\r\n let isRepeating = false;\r\n\r\n if (repeatGrid) {\r\n while (key > grid.length) {\r\n isRepeating = true;\r\n key -= (grid.length + 1);\r\n }\r\n }\r\n\r\n if (grid.hasOwnProperty(key)) {\r\n let size = grid[key];\r\n\r\n if (isRepeating) {\r\n if (excludeSizeInRepeat.includes(size)) {\r\n size = 1;\r\n }\r\n }\r\n\r\n if (respectRules) {\r\n // Don't add long tiles to the last line\r\n if (lastRow && size === 3) {\r\n size = 1;\r\n }\r\n\r\n // Don't add horizontal tiles as the last item\r\n if (cellsRemaining === 1 && size === 2) {\r\n size = 1;\r\n }\r\n }\r\n\r\n cellSize = size;\r\n cellSizeKey = size;\r\n\r\n if (size === 3) cellSize = 2;\r\n }\r\n }\r\n\r\n cellsUsed += cellSize;\r\n childrenUsed++;\r\n\r\n return React.cloneElement(child, {size: cellSizeKey, resizable: true})\r\n });\r\n\r\n // Masonry Props\r\n const masonryOptions = {\r\n transitionDuration: 300,\r\n };\r\n\r\n const onLayoutComplete = items => {\r\n // Trigger a movement of the page to force the lazy images to load (offset: 0)\r\n const distanceToTop = window.pageYOffset;\r\n window.scrollTo(0, distanceToTop + 1);\r\n window.scrollTo(0, distanceToTop);\r\n };\r\n\r\n return (\r\n \r\n onLayoutComplete(laidOutItems)}\r\n >\r\n
\r\n {childrenWithExtraProp}\r\n \r\n\r\n {children.length > childrenUsed &&\r\n \r\n toggleShowAll(!showAll)}>\r\n SHOW MORE\r\n \r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nexport default MasonryGameCategory;\r\n","import React from \"react\";\r\nimport {LazyLoad, LazyLoaderFactory} from \"Containers/lazyRoutes\";\r\n\r\nconst ThemedCategoryLazyLoadComponent = () => {\r\n return (\r\n
\r\n )\r\n}\r\n\r\nconst ThemedCategory = LazyLoaderFactory(() => import(/* webpackChunkName: \"LoggedInBundledComponents\" */ \"Components/Lobby/LobbyLayouts/ThemedCategory\"), () =>\r\n );\r\nexport const LazyThemedCategory = props => ;\r\n","// Used for recent games\r\n\r\nexport const GAME_GRIDS = {\r\n 7: [3, 2, 4, 2, 3, 2, 2],\r\n 8: [4, 2, 1, 3, 2, 1, 2, 2],\r\n 9: [3, 1, 2, 3, 2, 3, 2, 1, 2]\r\n};\r\n","import React, {useEffect, useRef, useState} from \"react\";\r\nimport LobbyNavigation from \"../LobbyNavigation\";\r\nimport MasonryGameCategory from \"../LobbyLayouts/MasonryLobby\";\r\nimport GameTile from \"Components/GameTile\";\r\nimport {Box, makeStyles, Typography} from \"@material-ui/core\";\r\nimport clsx from \"clsx\";\r\nimport CustomSkeleton from \"Components/LoadingComponents/CustomSkeleton\";\r\nimport useLobby from \"Hooks/useLobby\";\r\nimport {PrimaryButton} from \"Components/Button\";\r\nimport {fetchLobby as refetchLobby} from 'Redux/actions/lobby';\r\nimport {useDispatch} from \"react-redux\";\r\nimport {IS_LOGGED_IN, IS_MOBILE, MAX_GAMES_IN_RECENTLY_PLAYED, USER_PREFERRED_GAMES_TAB_ENABLED} from \"Setup/config\";\r\nimport {BP_LARGE} from \"Theme/breakpoints\";\r\nimport {LazyThemedCategory} from \"Components/LazyLoadedComponents/ThemedCategory\";\r\nimport {useRecentGames} from \"Hooks/api/useRecentGames\";\r\n// import {useFavouriteGames} from \"Hooks/useFavouriteGames\";\r\nimport ErrorBoundary from \"Components/ErrorBoundary\";\r\nimport {GAME_GRIDS} from \"Constants/gameGrids\";\r\n\r\nconst useLobbyStyles = makeStyles(theme => {\r\n return {\r\n root: {},\r\n category: {\r\n paddingTop: theme.spacing(2),\r\n paddingBottom: theme.spacing(1),\r\n\r\n [theme.breakpoints.up(BP_LARGE)]: {\r\n paddingTop: theme.spacing(3),\r\n paddingBottom: theme.spacing(3),\r\n },\r\n },\r\n categoryTitle: {\r\n fontWeight: theme.typography.fontWeightBold,\r\n marginBottom: theme.spacing(2)\r\n },\r\n lobbyFetchFail: {\r\n flexDirection: \"column\",\r\n visibility: \"visible\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n flex: 1\r\n }\r\n };\r\n})\r\n\r\nexport const LobbyCategorySection = ({children, title, hasError}) => {\r\n const classes = useLobbyStyles();\r\n\r\n if (hasError) {\r\n return (\r\n
\r\n {title && {title}}\r\n \r\n
\r\n );\r\n }\r\n\r\n return (\r\n
\r\n {title && {title}}\r\n {children}\r\n
\r\n );\r\n};\r\n\r\nexport const LobbyCategoryTitle = ({title}) => {\r\n const classes = useLobbyStyles();\r\n\r\n return (\r\n {title}\r\n );\r\n};\r\n\r\nconst LobbyGameRowLoading = ({name}) => (\r\n \r\n {Array(IS_MOBILE ? 6 : 8).fill([]).map((item, key) => (\r\n \r\n \r\n \r\n ))}\r\n \r\n);\r\n\r\nconst ThemedFallback = (props) => {\r\n const classes = useLobbyStyles();\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nconst UserPreferredGames = ({hasError = false, recentGames, isRecentGamesReady, recentGamesGrid, favouriteGames, favouriteGamesLoaded, toggleFavouriteGame}) => {\r\n if (hasError) {\r\n return (\r\n \r\n There was a problem loading the games. Please try again later.\r\n \r\n )\r\n }\r\n\r\n return (\r\n <>\r\n {/*{IS_FAVOURITE_GAMES_ENABLED &&*/}\r\n {/* */}\r\n {/* */}\r\n {/* {favouriteGamesLoaded ?*/}\r\n {/* */}\r\n {/* {favouriteGames.map(gameId => (*/}\r\n {/* */}\r\n {/* ))}*/}\r\n {/* */}\r\n {/* :*/}\r\n {/* */}\r\n {/* }*/}\r\n {/* */}\r\n {/* */}\r\n {/*}*/}\r\n\r\n \r\n \r\n {isRecentGamesReady ?\r\n <>\r\n {recentGames.length > 0 ?\r\n \r\n {recentGames.map(gameId => (\r\n \r\n ))}\r\n \r\n :\r\n \r\n You do not have any recently played games.\r\n Start playing games and they'll appear here shortly.\r\n \r\n }\r\n \r\n :\r\n \r\n }\r\n \r\n \r\n \r\n )\r\n};\r\n\r\nconst SlotsLobby = () => {\r\n const classes = useLobbyStyles();\r\n const dispatch = useDispatch();\r\n const gamesContainerRef = useRef();\r\n const {recentGames, isRecentGamesReady} = useRecentGames();\r\n // const {favouriteGamesLoaded, favouriteGames, toggleFavouriteGame} = useFavouriteGames();\r\n\r\n const {lobbyConfig, isLoaded, fetchLobbyFailed, fetchLobby} = useLobby();\r\n const [activeCategory, setActiveCategory] = useState(0);\r\n\r\n useEffect(() => {\r\n fetchLobby();\r\n }, [])\r\n\r\n const navigationalCategories = lobbyConfig.filter(c => c.type === \"default\" || c.type === \"featured\" || (USER_PREFERRED_GAMES_TAB_ENABLED && c.type === \"preferred-games\"));\r\n\r\n const IS_THEMED_CATEGORY_AVAILABLE = true;\r\n const themedCategory = (IS_LOGGED_IN && IS_THEMED_CATEGORY_AVAILABLE) ? lobbyConfig.filter(c => c.type === \"themed\") : [];\r\n\r\n let DEFAULT_GRID = [4, 1, 1, 1, 1, 3, 2];\r\n\r\n const retryLobby = () => {\r\n dispatch(refetchLobby());\r\n fetchLobby(true);\r\n };\r\n\r\n const IS_USER_PREFERRED_GAMES_CATEGORY = isLoaded ? (USER_PREFERRED_GAMES_TAB_ENABLED && navigationalCategories[activeCategory].type === \"preferred-games\") : false;\r\n const FILTERED_RECENT_GAMES = isRecentGamesReady ? recentGames.filter((v, k) => k <= (MAX_GAMES_IN_RECENTLY_PLAYED - 1)) : recentGames;\r\n const FALLBACK_RECENT_GAMES_GRID = [2, 1];\r\n const RECENT_GAMES_GRID = isRecentGamesReady ? GAME_GRIDS.hasOwnProperty(FILTERED_RECENT_GAMES.length) ? GAME_GRIDS[FILTERED_RECENT_GAMES.length] : FALLBACK_RECENT_GAMES_GRID : FALLBACK_RECENT_GAMES_GRID;\r\n\r\n const setCategory = categoryIdx => {\r\n try {\r\n const {offsetTop} = gamesContainerRef.current;\r\n let playerBarOffset = 50;\r\n let lobbyNavigationOffset = 72;\r\n const scrollTo = offsetTop - (lobbyNavigationOffset + playerBarOffset);\r\n\r\n if (window.pageYOffset > scrollTo) {\r\n window.scrollTo({top: scrollTo});\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n setActiveCategory(categoryIdx);\r\n };\r\n\r\n if (fetchLobbyFailed) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n There was a problem loading the games.\r\n Click to retry\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n {IS_THEMED_CATEGORY_AVAILABLE && (activeCategory === 0 && (!isLoaded || (isLoaded && !!themedCategory && themedCategory.length > 0))) &&\r\n \r\n \r\n {isLoaded ? }/> : }\r\n \r\n \r\n }\r\n\r\n {!isLoaded &&\r\n \r\n \r\n \r\n \r\n \r\n \r\n }\r\n\r\n {USER_PREFERRED_GAMES_TAB_ENABLED && IS_USER_PREFERRED_GAMES_CATEGORY &&\r\n \r\n \r\n \r\n }\r\n\r\n {isLoaded && !IS_USER_PREFERRED_GAMES_CATEGORY && navigationalCategories[activeCategory].categories.map((category, key) => {\r\n const gamesInCategory = category.games.catalogueGameIds;\r\n\r\n return (\r\n \r\n \r\n 7 ? DEFAULT_GRID : [1]} repeatGrid={false} excludeSizeInRepeat={[4]}>\r\n {gamesInCategory.map(gameId => (\r\n \r\n ))}\r\n \r\n \r\n \r\n );\r\n })}\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default SlotsLobby;\r\n"],"names":["useGameTileStyles","makeStyles","theme","LobbyGameTilesSettings","overrides","LobbyGameTiles","root","display","container","padding","tileSpacing","overflow","background","borderColorHover","transform","filter","opacity","bottom","spacing","height","position","borderPadding","breakpoints","down","BP_LARGE","content","borderColor","width","top","left","borderRadius","border","gameIcon","cursor","imageRendering","transition","unavailable","gameIconImage","backgroundSize","backfaceVisibility","pointerEvents","objectFit","buttons","right","justifyContent","InnerGameTile","children","icon","catalogueGameId","name","isGameAvailable","size","hasAnimated","hasActivated","gaCategory","classes","launchCasinoGame","useGames","openModal","useModal","imageError","setImageError","useState","activatedImageError","setActivatedImageError","sizeDirectory","CASINO_ICON_SIZE_DIRECTORIES","isAnimated","IS_LOGGED_IN","ANIMATED_GAME_ICONS_ENABLED","isActivated","ACTIVATED_GAME_ICONS_ENABLED","getWebpImages","SERVE_WEBP_IMAGES","getActivatedImages","getAnimatedImages","animatedSvg","getAnimatedCasinoIcon","regularFallback","getCasinoIconPath","sizedFallback","regularWebP","returnWebpIcon","sizedWebP","srcSet","activatedFallback","returnActivatedIcon","activatedSizedFallback","regularActivatedWebP","sizedActivatedWebP","activatedSrcSet","className","clsx","onClick","trackGameLaunchEvent","message","SERVICE_ANNOUNCEMENT_MESSAGE","src","alt","onError","media","type","usePlainGameStyles","paddingTop","PlainGameTile","hasError","findGameByCatalogueGameId","gameData","checkGameAvailability","activatedIcon","resizable","gameId","classesGroup","classNames","animatedIcon","useSkeletonStyles","CustomSkeleton","marginBottom","rest","skeletonClasses","iconMap","StarIcon","SlotsIcon","DiceIcon","ScratchcardsIcon","GameIcon","SearchIcon","FavoriteBorderIcon","LobbyNavigationItem","props","label","active","baseClass","classGroup","iconName","Icon","toLowerCase","hasOwnProperty","Tab","style","useLobbyNavigationStyles","LobbyNavigationSettings","LobbyNavigation","minHeight","zIndex","color","defaultText","BP_MEDIUM","fontSize","contrastText","textTransform","margin","up","palette","layout","xdark","xlight","minWidth","whiteSpace","categories","categoriesLoaded","activeCategoryIdx","Tabs","value","variant","scrollButtons","map","category","key","setCategory","useStyles","seeMore","primary","dark","grid","repeatGrid","excludeSizeInRepeat","initialMaxGameRows","respectRules","debug","showAll","toggleShowAll","isSmall","isMedium","isLarge","useMediaQueryCurrentSize","CELLS_PER_ROW","numberOfGames","length","maxGamesToDisplay","cellsUsed","childrenUsed","childrenWithExtraProp","React","child","cellsRemaining","lastRow","cellSize","cellSizeKey","isRepeating","includes","Box","options","transitionDuration","onLayoutComplete","laidOutItems","items","distanceToTop","window","pageYOffset","scrollTo","textAlign","strict","ThemedCategoryLazyLoadComponent","ThemedCategory","LazyLoaderFactory","LazyThemedCategory","isRoute","component","GAME_GRIDS","useLobbyStyles","paddingBottom","categoryTitle","fontWeight","typography","fontWeightBold","lobbyFetchFail","flexDirection","visibility","alignItems","flex","LobbyCategorySection","title","Typography","LobbyGameRowLoading","LobbyCategoryTitle","Array","IS_MOBILE","fill","item","p","ThemedFallback","UserPreferredGames","recentGames","isRecentGamesReady","recentGamesGrid","favouriteGames","favouriteGamesLoaded","toggleFavouriteGame","py","ErrorBoundary","GameTile","paragraph","dispatch","useDispatch","gamesContainerRef","useRef","useRecentGames","lobbyConfig","isLoaded","fetchLobbyFailed","fetchLobby","useLobby","activeCategory","setActiveCategory","useEffect","navigationalCategories","c","USER_PREFERRED_GAMES_TAB_ENABLED","themedCategory","DEFAULT_GRID","retryLobby","refetchLobby","IS_USER_PREFERRED_GAMES_CATEGORY","FILTERED_RECENT_GAMES","v","k","MAX_GAMES_IN_RECENTLY_PLAYED","FALLBACK_RECENT_GAMES_GRID","RECENT_GAMES_GRID","categoryIdx","offsetTop","current","e","animation","ref","fallback","gamesInCategory","games","catalogueGameIds","displayName"],"sourceRoot":""}