{"version":3,"sources":["assets/logo.svg","assets/slider-left-icon.svg","assets/slider-right-icon.svg","assets/slider-play-btn.svg","assets/slider-bg.png","assets/user-icon.svg","assets/refresh-icon.svg","assets/close-icon.svg","assets/main-bg.png","assets/money-icon.svg","store.js","components/App/styles.js","components/Header/styles.js","components/Header/Header.js","components/LoginForm/styles.js","hooks/window-size.js","components/RegisterForm/styles.js","components/LoginForm/LoginForm.js","components/RegisterForm/RegisterForm.js","components/Slider/styles.js","components/Slider/Slider.js","components/Games/styles.js","components/Games/Games.js","components/UserInfo/styles.js","components/UserInfo/UserInfo.js","components/GameLoader/styles.js","components/Games/loader.js","components/GameLoader/GameLoader.js","components/Alert/styles.js","components/Alert/Alert.js","hooks/request.js","constants/index.js","hooks/user.js","containers/header/index.js","hooks/games.js","containers/slider/index.js","containers/games/index.js","containers/game/index.js","containers/app/index.js","index.js"],"names":["module","exports","setMainLoading","value","type","initialState","games","featuredGames","auth","register","alert","mainLoading","store","createContext","Provider","StateProvider","children","useReducer","state","action","message","dispatch","useGlobalState","useContext","Container","styled","div","ContainerShadow","AppWrapper","AppShadow","AppBackgroud","p","image","Padding","bottom","top","left","right","spinner","keyframes","AppLoader","HeaderWrapper","LogoWrapper","a","Group","HeaderMGroup","PopupWrapper","PopupBackdrop","PopupBox","MailIco","KeyIco","UserIco","ShowPasswordBtn","Header","Logo","props","src","logo","className","alt","LoginFormWrapper","form","hidden","Input","input","Button","button","LogoutButton","FormTitle","span","FormSubTitle","SignUpLbl","label","SignUpLink","useWindowSize","isClient","window","getSize","useCallback","width","innerWidth","undefined","height","innerHeight","useState","windowSize","setWindowSize","useEffect","handleResize","addEventListener","removeEventListener","RegisterFormWrapper","LoginForm","disabled","onSubmit","login","password","onChange","onSwapForm","passwordShown","setPasswordShown","handleSubmit","e","preventDefault","onSignUpClick","name","placeholder","onClick","to","RegisterForm","termsApprove","SliderWrapper","SliderBackgroud","SliderControls","LeftIcon","RightIcon","PlayButtonWrapper","h2","PlayButtonInner","PlayButtonText","img","SliderNavWrapper","Dot","active","Slider","loading","currentImage","count","onNext","onPrev","onSelect","activeIndex","onPlay","title","style","objectFit","objectPosition","sliderBg","leftIcon","rightIcon","SliderNav","Array","fill","map","_","i","key","bind","PlayButton","playBtn","GamesWrapper","Title","GamesGrid","SwiperWrapper","SwiperInnerWrapper","GameItem","GameImage","GameImg","GameTitle","GameTitleHover","GameHover","GameButton","GamePlayButton","Games","onPlayGame","isMobile","game","thumbnailUrl","GamesSwiper","slidesPerView","params","spaceBetween","centeredSlides","pagination","el","clickable","dynamicBullets","Game","UserInfoWrapper","Currency","rotate","Icon","spin","css","UserName","UserBalance","UserInfo","userName","balance","currency","userIcon","RefreshIcon","refreshIcon","GamePageWrapper","GamePageGradient","GamePageBgImage","GameContainer","CloseIcon","GameFrame","iframe","LoaderWrapper","anim","LoaderInner","FrameLoader","GameLoader","iframeUrl","backgroundImage","onClose","closeIcon","allowFullScreen","allow","GameEmpty","AlertWrapper","AlertBackdrop","AlertBox","Message","Alert","ref","useRef","target","current","useRequest","method","url","body","fetch","headers","JSON","stringify","credentials","response","json","BASE_SERVICE_URL","EXECUTE_REQUEST_URL","USER_INFO_URL","useUser","logining","setLogining","fetching","setFetching","userInfo","request","updateUserInfo","result","username","requestId","IsSuccess","location","reload","email","logout","HeaderContainer","signInShow","setSignInShow","setForm","rendered","setRendered","handleChangeForm","handleRegisterSubmit","handleSwapForm","show","id","setInterval","console","log","clearInterval","href","nick","realBalance","currencySign","useGameOpener","history","useHistory","mode","instanceId","gameId","then","data","ResponseData","push","check","navigator","userAgent","vendor","opera","test","substr","SliderContainer","setLoading","openGame","items","filter","featuredUrl","length","useFeaturedGames","currentIndex","setCurrentIndex","handlePlay","timeOutId","setTimeout","clearTimeout","GamesContainer","useGames","handlePlayGame","_isMobile","category","GamesComponent","listener","event","document","GamePage","useLocation","useParams","URLSearchParams","search","get","gameInfo","setGameInfo","attachEvent","WEBSITE_NAME","info","backgroundUrl","MainPage","handleCloseAlert","mainBgImage","App","exact","path","component","ReactDOM","render","getElementById"],"mappings":"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","file":"static/js/main.a664452a.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/logo.112d4b93.svg\";","module.exports = __webpack_public_path__ + \"static/media/slider-left-icon.b505e7c0.svg\";","module.exports = __webpack_public_path__ + \"static/media/slider-right-icon.5c2b7da5.svg\";","module.exports = __webpack_public_path__ + \"static/media/slider-play-btn.01d657ae.svg\";","module.exports = __webpack_public_path__ + \"static/media/slider-bg.12ba1cf9.png\";","module.exports = __webpack_public_path__ + \"static/media/user-icon.cc1d25ad.svg\";","module.exports = __webpack_public_path__ + \"static/media/refresh-icon.edd23107.svg\";","module.exports = __webpack_public_path__ + \"static/media/close-icon.17d4e4d1.svg\";","module.exports = __webpack_public_path__ + \"static/media/main-bg.372017ed.png\";","module.exports = __webpack_public_path__ + \"static/media/money-icon.3592b841.svg\";","import React, { createContext, useReducer, useContext } from \"react\";\n\nexport const SET_GAMES = \"SET_GAMES\";\nexport const SET_FEATURED_GAMES = \"SET_FEATURED_GAMES\";\nexport const SET_AUTH = \"SET_AUTH\";\nexport const SET_REG = \"SET_REG\";\nexport const SET_ALERT = \"SET_ALERT\";\nexport const SET_MAIN_LOADING = \"SET_MAIN_LOADING\";\n\nexport const setMainLoading = (value) => ({\n type: SET_MAIN_LOADING,\n value\n});\n\nconst initialState = {\n games: [],\n featuredGames: [],\n auth: null,\n register: null,\n alert: null,\n mainLoading: false\n};\nconst store = createContext(initialState);\nconst { Provider } = store;\n\nconst StateProvider = ({ children }) => {\n const [state, dispatch] = useReducer((state, action) => {\n switch (action.type) {\n case SET_GAMES:\n return { ...state, games: action.games };\n case SET_FEATURED_GAMES:\n return { ...state, featuredGames: action.games };\n case SET_AUTH:\n return { ...state, auth: action.auth };\n case SET_REG:\n return { ...state, register: action.register };\n case SET_ALERT:\n return { ...state, alert: action.message };\n case SET_MAIN_LOADING:\n return { ...state, mainLoading: action.value };\n default:\n return state;\n }\n }, initialState);\n\n return {children};\n};\n\nconst useGlobalState = () => {\n const { state, dispatch } = useContext(store);\n return [state, dispatch];\n};\n\nexport { store, StateProvider, useGlobalState };\n","import styled, { keyframes } from \"styled-components\";\n\nexport const Container = styled.div`\n width: 1098px;\n margin: 0 auto;\n display: flex;\n flex-direction: column;\n max-width: 100%;\n @media (max-width: 1098px) {\n overflow: hidden;\n }\n`;\n\nexport const ContainerShadow = styled.div`\n background: linear-gradient(180deg, #380d69 0%, #260948 100%);\n box-shadow: 0px 4px 10px #862ff5;\n display: flex;\n flex-direction: column;\n margin: 0;\n padding: 0;\n`;\n\nexport const AppWrapper = styled.div`\n display: flex;\n position: relative;\n flex-direction: column;\n box-sizing: border-box;\n background: #2d1559;\n mix-blend-mode: hue;\n min-height: 100vh;\n color: #ffffff;\n @media (max-width: 1098px) {\n mix-blend-mode: initial !important;\n }\n\n & * {\n box-sizing: border-box;\n }\n`;\n\nexport const AppShadow = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: -1;\n background: linear-gradient(\n 180deg,\n #000000 0%,\n rgba(29, 6, 58, 0.17) 54.53%,\n #1a0832 100%\n );\n @media (max-width: 768px) {\n display: none;\n }\n`;\n\nexport const AppBackgroud = styled.div`\n position: fixed;\n top: 0;\n left: 0;\n height: 100%;\n width: 100%;\n z-index: -2;\n background-image: url(${(p) => p.image});\n background-position: center;\n background-repeat: no-repeat;\n background-size: cover;\n @media (max-width: 768px) {\n display: none;\n }\n`;\n\nexport const Padding = styled.div`\n width: 100%;\n padding-bottom: ${(p) => p.bottom || 0}px;\n padding-top: ${(p) => p.top || 0}px;\n padding-left: ${(p) => p.left || 0}px;\n padding-right: ${(p) => p.right || 0}px;\n`;\n\nconst spinner = keyframes`\n 0% {\n -webkit-transform: rotate(0deg);\n -moz-transform: rotate(0deg);\n -ms-transform: rotate(0deg);\n -o-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(360deg);\n -moz-transform: rotate(360deg);\n -ms-transform: rotate(360deg);\n -o-transform: rotate(360deg);\n transform: rotate(360deg);\n }\n`;\n\nexport const AppLoader = styled.div`\n position: fixed;\n z-index: 999;\n height: 2em;\n width: 2em;\n overflow: show;\n margin: auto;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n\n &:before {\n content: \"\";\n display: block;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.7);\n }\n\n &:not(:required) {\n /* hide \"loading...\" text */\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n }\n\n &:not(:required):after {\n content: \"\";\n display: block;\n font-size: 10px;\n width: 1em;\n height: 1em;\n margin-top: -0.5em;\n -webkit-animation: ${spinner} 150ms infinite linear;\n -moz-animation: ${spinner} 150ms infinite linear;\n -ms-animation: ${spinner} 150ms infinite linear;\n -o-animation: ${spinner} 150ms infinite linear;\n animation: ${spinner} 150ms infinite linear;\n border-radius: 0.5em;\n -webkit-box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0,\n rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0,\n rgba(255, 255, 255, 0.75) 0 1.5em 0 0,\n rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0,\n rgba(255, 255, 255, 0.75) -1.5em 0 0 0,\n rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0,\n rgba(255, 255, 255, 0.75) 0 -1.5em 0 0,\n rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0;\n box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0,\n rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0,\n rgba(255, 255, 255, 0.75) 0 1.5em 0 0,\n rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0,\n rgba(255, 255, 255, 0.75) -1.5em 0 0 0,\n rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0,\n rgba(255, 255, 255, 0.75) 0 -1.5em 0 0,\n rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0;\n }\n`;\n","import styled from \"styled-components\";\n\nexport const HeaderWrapper = styled.div`\n width: 100%;\n height: 100px;\n background: linear-gradient(180deg, #54179c 0%, #1f083a 100%);\n box-shadow: 0px 4px 12px rgba(134, 47, 245, 0.5);\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-left: 30px;\n padding-right: 30px;\n box-sizing: border-box;\n @media (max-width: 768px) {\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n padding-left: 20px;\n padding-right: 20px;\n padding-top: 20px;\n height: auto;\n }\n`;\n\nexport const LogoWrapper = styled.a`\n display: block;\n text-decoration: none;\n width: 187px;\n height: 58px;\n & img {\n max-width: 100%;\n max-height: 100%;\n }\n`;\n\nexport const Group = styled.div`\n display: flex;\n align-items: center;\n`;\n\nexport const HeaderMGroup = styled.div`\n display: flex;\n width: 100%;\n justify-content: space-between;\n align-items: flex-start;\n`;\nexport const PopupWrapper = styled.div`\n position: fixed;\n width: 100%;\n height: 100vh;\n left: 0px;\n top: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: 10;\n`;\n\nexport const PopupBackdrop = styled.div`\n position: fixed;\n width: 100%;\n height: 100vh;\n left: 0px;\n top: 0px;\n background: radial-gradient(50% 50% at 50% 50%, #230639 0%, #090217 100%);\n mix-blend-mode: normal;\n opacity: 0.7;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: 10;\n`;\n\nexport const PopupBox = styled.div`\n width: 440;\n min-height: 320px;\n background: linear-gradient(180deg, #54179c 0%, #1f083a 100%);\n border: 1px solid rgba(137, 51, 238, 0.8);\n box-sizing: border-box;\n box-shadow: 0px 2px 25px rgba(165, 60, 248, 0.72);\n border-radius: 12px;\n padding: 20px;\n justify-content: center;\n z-index: 10;\n`;\n\nexport const MailIco = styled.div`\n background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTQgNEgyMEMyMS4xIDQgMjIgNC45IDIyIDZWMThDMjIgMTkuMSAyMS4xIDIwIDIwIDIwSDRDMi45IDIwIDIgMTkuMSAyIDE4VjZDMiA0LjkgMi45IDQgNCA0WiIgc3Ryb2tlPSIjNzM3MjcyIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjIgNkwxMiAxM0wyIDYiIHN0cm9rZT0iIzczNzI3MiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg==);\n width: 16px;\n height: 16px;\n background-size: contain;\n position: relative;\n top: -26px;\n left: 7px;`;\n\nexport const KeyIco = styled.div`\nbackground-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1LjUgNy41TDE5IDRNMjEgMkwxOSA0TDIxIDJaTTExLjM5IDExLjYxQzExLjkwNjQgMTIuMTE5NSAxMi4zMTY4IDEyLjcyNiAxMi41OTc4IDEzLjM5NDhDMTIuODc4NyAxNC4wNjM1IDEzLjAyNDYgMTQuNzgxMyAxMy4wMjcxIDE1LjUwNjZDMTMuMDI5NSAxNi4yMzIgMTIuODg4NCAxNi45NTA3IDEyLjYxMTkgMTcuNjIxM0MxMi4zMzU1IDE4LjI5MTkgMTEuOTI5MSAxOC45MDEyIDExLjQxNjIgMTkuNDE0MUMxMC45MDMzIDE5LjkyNzEgMTAuMjk0IDIwLjMzMzQgOS42MjMzMyAyMC42MDk5QzguOTUyNzEgMjAuODg2NCA4LjIzNDAzIDIxLjAyNzUgNy41MDg2NiAyMS4wMjVDNi43ODMzIDIxLjAyMjYgNi4wNjU1NyAyMC44NzY3IDUuMzk2ODIgMjAuNTk1OEM0LjcyODA3IDIwLjMxNDggNC4xMjE1IDE5LjkwNDMgMy42MTIwMyAxOS4zODhDMi42MTAxNiAxOC4zNTA3IDIuMDU1NzkgMTYuOTYxNCAyLjA2ODMyIDE1LjUxOTNDMi4wODA4NSAxNC4wNzcyIDIuNjU5MjggMTIuNjk3NyAzLjY3OTAzIDExLjY3OEM0LjY5ODc3IDEwLjY1ODMgNi4wNzgyNCAxMC4wNzk4IDcuNTIwMzIgMTAuMDY3M0M4Ljk2MjQxIDEwLjA1NDggMTAuMzUxNyAxMC42MDkxIDExLjM4OSAxMS42MTFMMTEuMzkgMTEuNjFaTTExLjM5IDExLjYxTDE1LjUgNy41TDExLjM5IDExLjYxWk0xNS41IDcuNUwxOC41IDEwLjVMMjIgN0wxOSA0TDE1LjUgNy41WiIgc3Ryb2tlPSIjNzM3MjcyIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K);\n width: 16px;\n height: 16px;\n background-size: contain;\n position: relative;\n top: -26px;\n left: 7px;`;\n\nexport const UserIco = styled.div`\nbackground-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTIwIDIxVjE5QzIwIDE3LjkzOTEgMTkuNTc4NiAxNi45MjE3IDE4LjgyODQgMTYuMTcxNkMxOC4wNzgzIDE1LjQyMTQgMTcuMDYwOSAxNSAxNiAxNUg4QzYuOTM5MTMgMTUgNS45MjE3MiAxNS40MjE0IDUuMTcxNTcgMTYuMTcxNkM0LjQyMTQzIDE2LjkyMTcgNCAxNy45MzkxIDQgMTlWMjEiIHN0cm9rZT0iIzczNzI3MiIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPHBhdGggZD0iTTEyIDExQzE0LjIwOTEgMTEgMTYgOS4yMDkxNCAxNiA3QzE2IDQuNzkwODYgMTQuMjA5MSAzIDEyIDNDOS43OTA4NiAzIDggNC43OTA4NiA4IDdDOCA5LjIwOTE0IDkuNzkwODYgMTEgMTIgMTFaIiBzdHJva2U9IiM3MzcyNzIiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo=);\n width: 16px;\n height: 16px;\n background-size: contain;\n position: relative;\n top: -26px;\n left: 7px;`;\n\nexport const ShowPasswordBtn = styled.div`\n font-family: 'Lato';\n font-style: normal;\n font-weight: 400;\n color: #737272;\n font-size: 16px;\n position: relative;\n right: 11px;\n margin-left: auto;\n width: fit-content;\n top: -44px;\n`;\n\n","import React from \"react\";\nimport { HeaderWrapper, LogoWrapper, Group, HeaderMGroup } from \"./styles\";\nimport logo from \"../../assets/logo.svg\";\n\nexport const Header = ({ children }) => {\n return {children};\n};\n\nexport const Logo = (props) => {\n return (\n \n \"logo\"\n \n );\n};\n\nexport { Group, HeaderMGroup };\n","import styled from \"styled-components\";\n\nexport const LoginFormWrapper = styled.form`\n font-family: 'Lato';\n display: block;\n transition: 0.5s all;\n opacity: ${(p) => (p.hidden ? \"0\" : \"1\")};\n @media (max-width: 768px) {\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n width: 100%;\n margin: 20px 0;\n }\n`;\n\nexport const Input = styled.input`\n margin-left: 4px;\n margin-right: 4px;\n width: 165px;\n height: 38px;\n background: #ffffff;\n border-radius: 4px;\n border: none;\n padding: 9px;\n box-sizing: border-box;\n outline: none;\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n font-size: 17px;\n line-height: 20px;\n color: #606060;\n &[disabled] {\n opacity: 0.5;\n }\n @media (max-width: 768px) {\n width: 100%;\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n padding-left: 30px;\n }\n`;\n\nexport const Button = styled.button`\n margin-left: 4px;\n margin-right: 0px;\n width: 115px;\n height: 38px;\n background: linear-gradient(180deg, #8933ee 0%, #551c97 76.32%);\n box-shadow: 0px 4px 6px rgba(134, 47, 245, 0.2);\n border-radius: 4px;\n box-sizing: border-box;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 15px;\n line-height: 18px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n border: none;\n text-transform: uppercase;\n outline: none;\n &[disabled] {\n opacity: 0.5;\n }\n @media (max-width: 768px) {\n width: 100%;\n margin: 0 0 17px;\n margin-left: 0;\n margin-right: 0;\n }\n`;\n\nexport const LogoutButton = styled.button`\n background-color: transparent;\n border: none;\n outline: none;\n width: 156px;\n height: 38px;\n box-shadow: 0px 4px 12px rgba(134, 47, 245, 0.5);\n border-radius: 4px;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 15px;\n line-height: 18px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n text-transform: uppercase;\n margin-left: 12px;\n &[disabled] {\n opacity: 0.5;\n }\n @media (max-width: 768px) {\n width: 100%;\n margin-left: 0;\n margin-bottom: 40px;\n }\n`;\n\nexport const FormTitle = styled.span`\n font-style: normal;\n font-weight: 700;\n font-size: 24px;\n line-height: 40px;\n display: flex;\n align-items: center;\n letter-spacing: 0.02em;\n text-transform: uppercase;\n color: #FFFFFF;\n`;\nexport const FormSubTitle = styled.span`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 30px;\n display: flex;\n align-items: center;\n color: #FFFFFF;\n`;\n\nexport const RememberMeCbx = styled.label`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n height: 12px;\n display: flex;\n align-items: center;\n color: #FFFFFF;\n input{\n margin: 0 5px 0 0;\n }\n`;\nexport const SignUpLbl = styled.label`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n height: 16px;\n display: flex;\n align-items: center;\n color: #FFFFFF;\n`;\nexport const SignUpLink = styled.span`\n font-style: normal;\n font-weight: 600;\n font-size: 12px;\n line-height: 16px;\n align-items: center;\n color: #913EF1;\n margin: 0 5px;\n`;\n","import { useState, useEffect, useCallback } from \"react\";\n\nexport const useWindowSize = () => {\n const isClient = typeof window === \"object\";\n\n const getSize = useCallback(() => {\n return {\n width: isClient ? window.innerWidth : undefined,\n height: isClient ? window.innerHeight : undefined\n };\n }, [isClient]);\n\n const [windowSize, setWindowSize] = useState(getSize);\n\n useEffect(() => {\n if (!isClient) {\n return false;\n }\n\n function handleResize() {\n setWindowSize(getSize());\n }\n\n window.addEventListener(\"resize\", handleResize);\n return () => window.removeEventListener(\"resize\", handleResize);\n }, [isClient, getSize]); // Empty array ensures that effect is only run on mount and unmount\n\n return windowSize;\n};\n","import styled from \"styled-components\";\n\nexport const RegisterFormWrapper = styled.form`\n font-family: 'Lato';\n display: flex;\n transition: 0.5s all;\n opacity: ${(p) => (p.hidden ? \"0\" : \"1\")};\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n width: 100%;\n padding: 0 17px;\n margin: 20px 0;\n`;\n\nexport const Input = styled.input`\n margin-left: 4px;\n margin-right: 4px;\n width: 165px;\n height: 38px;\n background: #ffffff;\n border-radius: 4px;\n border: none;\n padding: 9px;\n box-sizing: border-box;\n outline: none;\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n font-size: 17px;\n line-height: 20px;\n color: #606060;\n &[disabled] {\n opacity: 0.5;\n }\n width: 100%;\n margin-bottom: 0;\n margin-left: 0;\n margin-right: 0;\n padding-left: 30px;\n`;\n\nexport const Button = styled.button`\n margin-left: 4px;\n margin-right: 0px;\n width: 115px;\n height: 38px;\n background: linear-gradient(180deg, #8933ee 0%, #551c97 76.32%);\n box-shadow: 0px 4px 6px rgba(134, 47, 245, 0.2);\n border-radius: 4px;\n box-sizing: border-box;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 15px;\n line-height: 18px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n border: none;\n text-transform: uppercase;\n outline: none;\n &[disabled] {\n opacity: 0.5;\n }\n width: 100%;\n margin: 0 0 17px;\n margin-left: 0;\n margin-right: 0;`;\n\nexport const LogoutButton = styled.button`\n background-color: transparent;\n border: none;\n outline: none;\n width: 156px;\n height: 38px;\n box-shadow: 0px 4px 12px rgba(134, 47, 245, 0.5);\n border-radius: 4px;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 15px;\n line-height: 18px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n text-transform: uppercase;\n margin-left: 12px;\n &[disabled] {\n opacity: 0.5;\n }\n width: 100%;\n margin-left: 0;\n margin-bottom: 40px;\n`;\n\nexport const FormTitle = styled.span`\n font-style: normal;\n font-weight: 700;\n font-size: 24px;\n line-height: 40px;\n display: flex;\n align-items: center;\n letter-spacing: 0.02em;\n text-transform: uppercase;\n color: #FFFFFF;\n`;\nexport const FormSubTitle = styled.span`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n line-height: 30px;\n display: flex;\n align-items: center;\n color: #FFFFFF;\n`;\n\nexport const RememberMeCbx = styled.label`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n height: 12px;\n display: flex;\n align-items: center;\n color: #FFFFFF;\n input{\n margin: 0 5px 0 0;\n }\n`;\nexport const SignUpLbl = styled.label`\n font-style: normal;\n font-weight: 400;\n font-size: 12px;\n height: 16px;\n display: flex;\n align-items: center;\n color: #FFFFFF;\n`;\nexport const SignUpLink = styled.span`\n font-style: normal;\n font-weight: 600;\n font-size: 12px;\n line-height: 16px;\n align-items: center;\n color: #913EF1;\n margin: 0 5px;\n`;\nexport const ForgotLink = styled.span`\n font-style: normal;\n font-weight: 600;\n font-size: 12px;\n line-height: 16px;\n align-items: center;\n color: #913EF1;\n`;\n","import React, {useState} from \"react\";\nimport {\n LoginFormWrapper,\n Input,\n Button,\n LogoutButton,\n FormTitle,\n FormSubTitle,\n SignUpLbl, SignUpLink\n} from \"./styles\";\nimport {useWindowSize} from \"../../hooks/window-size\";\nimport {KeyIco, MailIco, ShowPasswordBtn} from \"../Header/styles\";\nimport {RegisterFormWrapper} from \"../RegisterForm/styles\";\n\nexport const LoginForm = ({\n disabled,\n hidden,\n onSubmit,\n login,\n password,\n onChange,\n onSwapForm\n }) => {\n\n const windowSize = useWindowSize()\n const [passwordShown, setPasswordShown] = useState(false);\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit();\n };\n const onSignUpClick = (e) => {\n e.preventDefault();\n onSwapForm(true);\n };\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n\n if (windowSize.width < 768) {\n return (\n );\n } else {\n return (\n \n )\n }\n};\n\nexport {LogoutButton};\n","import React, {useState} from \"react\";\nimport {\n RegisterFormWrapper,\n Input,\n Button,\n LogoutButton,\n FormTitle,\n FormSubTitle,\n SignUpLbl, SignUpLink\n} from \"./styles\";\nimport {KeyIco, MailIco, ShowPasswordBtn, UserIco} from \"../Header/styles\"\n\nexport const RegisterForm = ({\n disabled,\n hidden,\n onSubmit,\n login,\n name,\n password,\n termsApprove,\n onChange,\n onSwapForm\n }) => {\n const [passwordShown, setPasswordShown] = useState(false);\n const handleSubmit = (e) => {\n e.preventDefault();\n onSubmit();\n };\n const onRegisterClick = (e) => {\n e.preventDefault();\n onSwapForm(false);\n };\n\n const togglePassword = () => {\n setPasswordShown(!passwordShown);\n };\n return (\n \n );\n};\n\nexport {LogoutButton};\n","import styled from \"styled-components\";\n\nexport const SliderWrapper = styled.div`\n display: flex;\n height: 480px;\n position: relative;\n border-bottom: 1px solid #8933ee;\n overflow: hidden;\n margin-bottom: 15px;\n opacity: 1;\n transition: 0.5s all;\n &.slider_loading {\n opacity: 0;\n }\n`;\n\nexport const SliderBackgroud = styled.div`\n top: 0;\n left: 0;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 1;\n & .CrossfadeImage {\n height: 100%;\n width: 100%;\n }\n`;\n\nexport const SliderControls = styled.div`\n top: 0;\n left: 0;\n position: absolute;\n height: 100%;\n width: 100%;\n z-index: 2;\n`;\n\nexport const LeftIcon = styled.div`\n top: 50%;\n left: 30px;\n position: absolute;\n height: 86px;\n width: 55px;\n cursor: pointer;\n transform: translateY(-50%);\n padding-top: 5px;\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n @media (max-width: 768px) {\n left: 10px;\n height: 65px;\n width: 40px;\n }\n`;\n\nexport const RightIcon = styled.div`\n top: 50%;\n right: 30px;\n position: absolute;\n height: 86px;\n width: 55px;\n cursor: pointer;\n transform: translateY(-50%);\n padding-top: 5px;\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n @media (max-width: 768px) {\n right: 10px;\n height: 65px;\n width: 40px;\n }\n`;\n\nexport const CenterText = styled.h2`\n margin: 0;\n position: absolute;\n display: block;\n left: 50%;\n top: 50%;\n text-align: center;\n transform: translate(-50%, -50%);\n width: calc(100% - 168px);\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 88.2138px;\n line-height: 106px;\n letter-spacing: 0.02em;\n text-transform: uppercase;\n color: #ffffff;\n opacity: 0.8;\n text-shadow: 0px 3.8542px 48.1775px rgba(0, 0, 0, 0.5);\n @media (max-width: 768px) {\n font-size: 39.7151px;\n line-height: 48px;\n letter-spacing: 0.02em;\n top: 40px;\n transform: translate(-50%, 0%);\n width: calc(100% - 68px);\n }\n`;\n\nexport const PlayButtonWrapper = styled.div`\n margin: 0;\n position: absolute;\n right: 0;\n bottom: 0;\n text-align: center;\n display: flex;\n align-items: flex-end;\n width: 240px;\n height: 48px;\n cursor: pointer;\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n`;\n\nexport const PlayButtonInner = styled.div`\n margin: 0;\n padding: 0;\n position: relative;\n text-align: center;\n display: flex;\n align-items: flex-end;\n width: 100%;\n height: 100%;\n`;\n\nexport const PlayButtonBackground = styled.img`\n position: absolute;\n right: 0;\n bottom: 0;\n`;\n\nexport const PlayButtonText = styled.span`\n position: absolute;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 20px;\n line-height: 24px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n left: 50%;\n top: 50%;\n text-align: center;\n transform: translate(-50%, -50%);\n text-transform: uppercase;\n`;\n\nexport const SliderNavWrapper = styled.div`\n position: absolute;\n width: auto;\n height: 16px;\n left: 50%;\n bottom: 25px;\n transform: translateX(-50%);\n display: flex;\n @media (max-width: 768px) {\n bottom: 78px;\n }\n`;\n\nexport const Dot = styled.div`\n width: 16px;\n height: 16px;\n background: #ffffff;\n opacity: ${(props) => (props.active ? \"1\" : \"0.2\")};\n box-shadow: 0px 4px 12px rgba(134, 47, 245, 0.5);\n border-radius: 8px;\n margin: 0 5px;\n`;\n","import React from \"react\";\nimport leftIcon from \"../../assets/slider-left-icon.svg\";\nimport rightIcon from \"../../assets/slider-right-icon.svg\";\nimport playBtn from \"../../assets/slider-play-btn.svg\";\nimport sliderBg from \"../../assets/slider-bg.png\";\nimport CrossfadeImage from \"react-crossfade-image\";\nimport {\n SliderWrapper,\n SliderBackgroud,\n SliderControls,\n LeftIcon,\n RightIcon,\n CenterText,\n PlayButtonWrapper,\n PlayButtonInner,\n PlayButtonText,\n SliderNavWrapper,\n Dot\n} from \"./styles\";\n\nexport const Slider = ({\n loading,\n currentImage,\n count,\n onNext,\n onPrev,\n onSelect,\n activeIndex,\n title,\n onPlay\n}) => {\n return (\n \n \n \n \n \n \n \"left\"\n \n \n \"right\"\n \n \n \n \n \n );\n};\n\nconst SliderNav = ({ onSelect, active, count }) => (\n \n {Array(count)\n .fill(0)\n .map((_, i) => (\n \n ))}\n \n);\n\nconst PlayButton = ({ onClick }) => (\n \n \n \"play\n Play\n \n \n);\n","import styled from \"styled-components\";\n\nexport const GamesWrapper = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n`;\n\nexport const Title = styled.h2`\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 42px;\n line-height: 50px;\n letter-spacing: 0.02em;\n text-transform: uppercase;\n color: #ffffff;\n margin: 15px 44px;\n text-overflow: ellipsis;\n max-width: 100%;\n overflow: hidden;\n`;\n\nexport const GamesGrid = styled.div`\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n padding: 0 15px;\n @media (max-width: 768px) {\n padding: 0;\n justify-content: center;\n }\n`;\n\nexport const SwiperWrapper = styled.div`\n margin: 0;\n display: flex;\n flex-wrap: wrap;\n justify-content: center;\n padding: 0 15px;\n @media (max-width: 768px) {\n padding: 0;\n }\n & .swiper-container {\n overflow: visible;\n }\n`;\n\nexport const SwiperInnerWrapper = styled.div`\n width: 100%;\n & .swiper-container {\n height: 305px;\n }\n @media (max-width: 425px) {\n width: 356px;\n }\n @media (max-width: 768px) {\n width: 356px;\n }\n @media (min-width: 768px) {\n width: 712px;\n }\n @media (min-width: 1068px) {\n width: 1068px;\n }\n & .swiper-pagination-bullet {\n width: 16px;\n height: 16px;\n background: #ffffff;\n opacity: 0.2;\n box-shadow: 0px 4px 12px rgba(134, 47, 245, 0.5);\n border-radius: 8px;\n }\n &\n .swiper-pagination-bullet.swiper-pagination-bullet-active.swiper-pagination-bullet-active-main {\n opacity: 1;\n }\n & .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {\n transform: scale(0.83);\n }\n &\n .swiper-pagination-bullets-dynamic\n .swiper-pagination-bullet-active-prev-prev {\n transform: scale(0.66);\n }\n & .swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {\n transform: scale(0.83);\n }\n &\n .swiper-pagination-bullets-dynamic\n .swiper-pagination-bullet-active-next-next {\n transform: scale(0.66);\n }\n`;\n\nexport const GameItem = styled.div`\n width: 326px;\n height: 245px;\n background: #ffffff;\n border: 4px solid rgba(137, 51, 238, 0.8);\n box-sizing: border-box;\n box-shadow: 0px 2px 25px rgba(165, 60, 248, 0.72);\n border-radius: 12px;\n margin: 15px;\n position: relative;\n &:hover .hover-actions {\n opacity: 1;\n z-index: 1;\n }\n @media (max-width: 425px) {\n box-shadow: 0px 2px 15px rgba(165, 60, 248, 0.72);\n }\n .swiper-slide & {\n box-shadow: 0px 2px 15px rgba(165, 60, 248, 0.72);\n }\n`;\n\nexport const GameImage = styled.div`\n width: 318px;\n height: 174px;\n border-radius: 8px 8px 0px 0px;\n overflow: hidden;\n`;\n\nexport const GameImg = styled.img`\n width: 100%;\n height: 100%;\n object-fit: cover;\n`;\n\nexport const GameTitle = styled.div`\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n font-size: 22px;\n line-height: 26px;\n text-align: center;\n letter-spacing: 0.02em;\n color: #000000;\n position: absolute;\n bottom: 0;\n height: 63px;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n text-align: center;\n padding: 0 32px;\n`;\n\nexport const GameTitleHover = styled(GameTitle)`\n top: 23px;\n bottom: initial;\n`;\n\nexport const GameHover = styled.div`\n transition: opacity 0.5s;\n opacity: 0;\n z-index: 0;\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: #ffffff;\n box-sizing: border-box;\n border-radius: 8px;\n`;\n\nexport const GameButton = styled.button`\n position: absolute;\n width: 183px;\n height: 38px;\n background: linear-gradient(180deg, #8933ee 0%, #551c97 76.32%);\n box-shadow: 0px 4px 12px rgba(134, 47, 245, 0.5);\n border-radius: 4px;\n text-align: center;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 15px;\n line-height: 18px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n left: 50%;\n transform: translateX(-50%);\n outline: none;\n`;\n\nexport const GameWatchButton = styled(GameButton)`\n top: 113px;\n`;\n\nexport const GamePlayButton = styled(GameButton)`\n top: 169px;\n`;\n","import React from \"react\";\nimport Swiper from \"react-id-swiper\";\nimport \"swiper/css/swiper.css\";\nimport { useWindowSize } from \"../../hooks/window-size\";\nimport {\n GamesWrapper,\n Title,\n GamesGrid,\n GameItem,\n GameImage,\n GameTitle,\n GameHover,\n GameTitleHover,\n GamePlayButton,\n GameImg,\n SwiperInnerWrapper,\n SwiperWrapper\n} from \"./styles\";\n\nexport const Games = ({ title, games, onPlayGame, isMobile }) => {\n return (\n \n {title}\n \n {games.map((game, i) => (\n onPlayGame(game)}\n key={i}\n title={game.title}\n image={game.thumbnailUrl}\n />\n ))}\n \n \n );\n};\n\nexport const GamesSwiper = ({ title, games, onPlayGame, isMobile }) => {\n const windowSize = useWindowSize();\n let slidesPerView = 1;\n\n if (windowSize.width > 415) {\n slidesPerView = 1;\n }\n if (windowSize.width > 366 * 2) {\n slidesPerView = 2;\n }\n if (windowSize.width > 366 * 3) {\n slidesPerView = 3;\n }\n if (windowSize.width > 366 * 4) {\n slidesPerView = 4;\n }\n\n const params = {\n slidesPerView,\n spaceBetween: 0,\n centeredSlides: slidesPerView === 1,\n pagination: {\n el: \".swiper-pagination\",\n clickable: true,\n dynamicBullets: true\n }\n };\n return (\n \n {title}\n \n \n \n {games.map((game, i) => (\n
\n onPlayGame(game)}\n key={i}\n title={game.title}\n image={game.thumbnailUrl}\n />\n
\n ))}\n
\n
\n
\n
\n );\n};\n\nexport const Game = ({ title, image, onPlayGame, isMobile }) => {\n return (\n \n \n \n \n {title}\n {!isMobile && (\n \n {title}\n Play\n \n )}\n \n );\n};\n","import styled, { keyframes, css } from \"styled-components\";\n\nexport const UserInfoWrapper = styled.div`\n display: flex;\n justify-content: space-between;\n align-items: center;\n width: 324px;\n height: 32px;\n @media (max-width: 768px) {\n flex-direction: column;\n justify-content: flex-start;\n align-items: flex-start;\n height: auto;\n margin-top: 60px;\n }\n`;\nexport const Currency = styled.div`\n width: 26px;\n height: 26px;\n text-align: center;\n line-height: 26px;\n margin: 0 8px 0 4px;\n background-color: #290650;\n border-radius: 50%;\n box-shadow: 1px 1px 4px rgba(155, 62, 228, 0.34);\n`;\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nexport const Icon = styled.img`\n width: 32px;\n height: 32px;\n margin-right: 8px;\n transform-origin: center center;\n &.disabled {\n opacity: 0.5;\n pointer-events: none;\n }\n animation: ${(p) =>\n p.spin\n ? css`\n ${rotate} 1s linear infinite\n `\n : \"none\"};\n`;\n\nexport const Group = styled.div`\n display: flex;\n align-items: center;\n @media (max-width: 768px) {\n margin-bottom: 20px;\n }\n`;\n\nexport const UserName = styled.span`\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 17px;\n line-height: 20px;\n text-align: right;\n letter-spacing: 0.02em;\n color: #9c6dff;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 160px;\n`;\n\nexport const UserBalance = styled.span`\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 17px;\n line-height: 20px;\n text-align: right;\n letter-spacing: 0.02em;\n color: #ffffff;\n text-shadow: 0px 0px 4px #b458fc;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 160px;\n`;\n","import React from \"react\";\nimport { UserInfoWrapper, Group, UserName, UserBalance, Icon, Currency } from \"./styles\";\nimport userIcon from \"../../assets/user-icon.svg\";\nimport moneyIcon from \"../../assets/money-icon.svg\";\nimport refreshIcon from \"../../assets/refresh-icon.svg\";\n\nexport const UserInfo = ({ userName, balance, currency }) => {\n return (\n \n \n \n {userName}\n \n \n {currency}\n {balance}\n \n \n );\n};\n\nexport const RefreshIcon = ({ loading, onClick }) => {\n return (\n \n );\n};\n","import styled from \"styled-components\";\n\nexport const GamePageWrapper = styled.div`\n width: 100%;\n height: 100vh;\n display: flex;\n justify-content: center;\n align-items: center;\n background: #090217;\n mix-blend-mode: normal;\n position: relative;\n`;\n\nexport const GamePageGradient = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n background: radial-gradient(50% 50% at 50% 50%, #230639 0%, #090217 100%);\n mix-blend-mode: normal;\n opacity: 0.7;\n z-index: 1;\n`;\n\nexport const GamePageBgImage = styled.div`\n position: absolute;\n width: 100%;\n height: 100%;\n background-image: url(${(p) => p.image});\n background-position: center;\n background-size: cover;\n background-repeat: no-repeat;\n opacity: 0.7;\n z-index: 0;\n`;\n\nexport const GameContainer = styled.div`\n width: 80%;\n height: auto;\n z-index: 99;\n padding-bottom: 46%;\n z-index: 99;\n background: #403a48;\n position: relative;\n`;\n\nexport const CloseIcon = styled.div`\n width: 58px;\n height: 59px;\n position: absolute;\n right: -58px;\n top: -8px;\n & > img {\n max-width: 100%;\n max-height: 100%;\n }\n`;\n\nexport const GameFrame = styled.iframe`\n width: 100%;\n height: 100%;\n position: absolute;\n left: 0;\n top: 0;\n border: none;\n`;\n","import React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\n\nexport const LoaderWrapper = styled.div`\n display: inline-block;\n position: relative;\n width: 80px;\n height: 80px;\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n`;\n\nconst anim = keyframes`\n 0% {\n top: 8px;\n height: 64px;\n }\n 50%, 100% {\n top: 24px;\n height: 32px;\n }\n`;\nexport const LoaderInner = styled.div`\n display: inline-block;\n position: absolute;\n left: 8px;\n width: 16px;\n background: #fff;\n animation: ${anim} 1.2s cubic-bezier(0, 0.5, 0.5, 1) infinite;\n\n &:nth-child(1) {\n left: 8px;\n animation-delay: -0.24s;\n }\n &:nth-child(2) {\n left: 32px;\n animation-delay: -0.12s;\n }\n &:nth-child(3) {\n left: 56px;\n animation-delay: 0;\n }\n`;\n\nexport const FrameLoader = () => {\n return (\n \n \n \n \n \n );\n};\n","import React from \"react\";\nimport {\n GamePageWrapper,\n GamePageGradient,\n GamePageBgImage,\n GameContainer,\n CloseIcon,\n GameFrame\n} from \"./styles\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport { FrameLoader } from \"../Games/loader\";\n\nexport const GameLoader = ({ iframeUrl, backgroundImage, onClose }) => {\n return (\n \n \n \n \n \n \"logo\"\n \n {!iframeUrl && }\n {iframeUrl && (\n \n )}\n \n \n );\n};\n\nexport const GameEmpty = ({ backgroundImage }) => {\n return (\n \n \n \n \n );\n};\n","import styled from \"styled-components\";\n\nexport const AlertWrapper = styled.div`\n position: fixed;\n width: 100%;\n height: 100vh;\n left: 0px;\n top: 0px;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: 99999;\n`;\n\nexport const AlertBackdrop = styled.div`\n position: fixed;\n width: 100%;\n height: 100vh;\n left: 0px;\n top: 0px;\n background: radial-gradient(50% 50% at 50% 50%, #230639 0%, #090217 100%);\n mix-blend-mode: normal;\n opacity: 0.7;\n display: flex;\n justify-content: center;\n align-items: center;\n box-sizing: border-box;\n z-index: 99999;\n`;\n\nexport const AlertBox = styled.div`\n width: 384px;\n min-height: 120px;\n background: linear-gradient(180deg, #54179c 0%, #1f083a 100%);\n border: 1px solid rgba(137, 51, 238, 0.8);\n box-sizing: border-box;\n box-shadow: 0px 2px 25px rgba(165, 60, 248, 0.72);\n border-radius: 12px;\n padding: 20px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n z-index: 999999;\n @media (max-width: 420px) {\n width: 310px;\n }\n`;\n\nexport const Message = styled.div`\n font-family: Lato;\n font-style: normal;\n font-weight: normal;\n font-size: 17px;\n line-height: 140%;\n text-align: center;\n color: #ffffff;\n margin-bottom: 20px;\n`;\n\nexport const Button = styled.div`\n width: 100%;\n height: 38px;\n background: linear-gradient(180deg, #8933ee 0%, #551c97 76.32%);\n box-shadow: 0px 4px 6px rgba(134, 47, 245, 0.2);\n border-radius: 4px;\n font-family: Lato;\n font-style: normal;\n font-weight: 800;\n font-size: 15px;\n line-height: 18px;\n text-align: center;\n letter-spacing: 0.2em;\n color: #ffffff;\n padding: 9px;\n`;\n","import React, { useRef } from \"react\";\nimport {\n AlertWrapper,\n AlertBackdrop,\n AlertBox,\n Button,\n Message\n} from \"./styles\";\n\nexport const Alert = ({ message, onClose }) => {\n const ref = useRef();\n const handleOutsideClick = (e) => {\n if (e.target === ref.current) {\n onClose && onClose(e);\n }\n };\n return (\n \n \n \n {message}\n \n \n \n );\n};\n","import { useCallback } from \"react\";\n\nexport const useRequest = () => {\n const request = useCallback(async (method, url, body) => {\n const response = await fetch(url, {\n method: method,\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify(body),\n credentials: \"include\"\n });\n return await response.json();\n }, []);\n\n return request;\n};\n","let BASE_SERVICE_URL = \"\";\nif (process.env.NODE_ENV === \"development\") {\n BASE_SERVICE_URL = \"/_Core/Service/\";\n} else {\n BASE_SERVICE_URL = window.BASE_SERVICE_URL || \"/_Core/Service/\";\n}\nexport { BASE_SERVICE_URL };\n\nexport const EXECUTE_REQUEST_URL =\n BASE_SERVICE_URL + \"external/execute_request/\";\nexport const EXECUTE_ACTION_URL = BASE_SERVICE_URL + \"mva/execute_action\";\nexport const USER_INFO_URL = BASE_SERVICE_URL + \"mva/get_user_info\";\n\nexport const GOOGLE_FORM_LINK = \"\";\n","import { useState, useCallback } from \"react\";\nimport { useRequest } from \"./request\";\nimport { EXECUTE_REQUEST_URL, USER_INFO_URL } from \"../constants/index\";\nimport { useGlobalState, SET_ALERT, SET_AUTH } from \"../store\";\n\nexport const useUser = () => {\n const [state, dispatch] = useGlobalState();\n const [logining, setLogining] = useState(false);\n const [fetching, setFetching] = useState(false);\n const userInfo = state.auth;\n const request = useRequest();\n\n const updateUserInfo = useCallback(async () => {\n setFetching(true);\n try {\n const response = await request(\"GET\", USER_INFO_URL);\n if (response && response.result === 100) {\n dispatch({ type: SET_AUTH, auth: response });\n }\n } catch (e) {\n dispatch({ type: SET_ALERT, message: e.message });\n }\n setFetching(false);\n }, [request, dispatch]);\n\n const login = useCallback(\n async (username, password) => {\n setLogining(true);\n try {\n const response = await request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_login\",\n username,\n password\n });\n if (response && response.IsSuccess) {\n window.location.reload();\n //await updateUserInfo();\n } else if (response && response.Message) {\n dispatch({ type: SET_ALERT, message: response.Message });\n }\n } catch (e) {\n dispatch({ type: SET_ALERT, message: e.message });\n }\n setLogining(false);\n },\n [request, dispatch]\n );\n\n const register = useCallback(\n async (name, email, password) => {\n setLogining(true);\n try {\n const response = await request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_register\",\n name,\n email,\n password\n });\n if (response && response.IsSuccess) {\n window.location.reload();\n } else if (response && response.Message) {\n dispatch({ type: SET_ALERT, message: response.Message });\n }\n } catch (e) {\n dispatch({ type: SET_ALERT, message: e.message });\n }\n setLogining(false);\n },\n [request, dispatch]\n );\n\n const logout = useCallback(async () => {\n setLogining(true);\n try {\n const response = await request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_logout\"\n });\n if (response && response.IsSuccess) {\n window.location.reload();\n } else if (response && response.Message) {\n dispatch({ type: SET_ALERT, message: response.Message });\n }\n } catch (e) {\n dispatch({ type: SET_ALERT, message: e.message });\n }\n setLogining(false);\n }, [request, dispatch]);\n\n return {\n logining,\n fetching,\n login,\n register,\n logout,\n updateUserInfo,\n userInfo\n };\n};\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {useUser} from \"../../hooks/user\";\nimport {useWindowSize} from \"../../hooks/window-size\";\nimport {GOOGLE_FORM_LINK} from \"../../constants\";\nimport {\n LoginForm,\n RegisterForm,\n LogoutButton,\n UserInfo,\n RefreshIcon,\n HeaderMGroup,\n Header,\n Group,\n Logo\n} from \"../../components\";\nimport {AlertBackdrop, AlertBox, AlertWrapper, Button, Message} from \"../../components/Alert/styles\";\nimport {PopupBackdrop, PopupBox, PopupWrapper} from \"../../components/Header/styles\";\n\nexport const HeaderContainer = () => {\n const {\n logining,\n fetching,\n login,\n register,\n logout,\n userInfo,\n updateUserInfo\n } = useUser();\n const windowSize = useWindowSize();\n const ref = useRef();\n let [signInShow, setSignInShow] = useState(false);\n const [form, setForm] = useState({\n login: \"\",\n password: \"\"\n });\n\n const [rendered, setRendered] = useState(false);\n\n const handleChangeForm = (e) => {\n setForm({...form, [e.target.name]: e.target.value});\n };\n\n const handleSubmit = () => {\n login(form.login, form.password);\n };\n\n const handleRegisterSubmit = () => {\n register(form.name, form.login, form.password);\n };\n\n const handleSwapForm = (show) => {\n setSignInShow(show);\n };\n\n const handleOutsideClick = (e) => {\n if (e.target === ref.current) {\n setSignInShow(false);\n }\n };\n useEffect(() => {\n setRendered(true);\n updateUserInfo();\n }, [updateUserInfo]);\n\n useEffect(() => {\n if (userInfo) {\n const id = setInterval(() => {\n console.log(\"updateUserInfo ...\");\n updateUserInfo();\n }, 10000);\n return () => clearInterval(id);\n }\n }, [updateUserInfo, userInfo]);\n\n if (windowSize.width < 768) {\n return (\n
{signInShow}\n \n \n {userInfo && (\n \n )}\n \n {userInfo ? (\n <>\n \n \n Logout\n \n \n ) : (\n signInShow ?\n
\n );\n } else\n return (\n
\n \n {userInfo ? (\n <>\n \n \n \n \n Logout\n \n \n \n ) :\n (\n (\n
\n );\n};\n","import { useCallback, useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport {\n useGlobalState,\n SET_GAMES,\n SET_FEATURED_GAMES,\n setMainLoading\n} from \"../store\";\nimport { EXECUTE_REQUEST_URL } from \"../constants/index\";\nimport { useRequest } from \"./request\";\nimport { useUser } from \"./user\";\n\nexport const useGames = () => {\n const request = useRequest();\n const [loading, setLoading] = useState(false);\n const [state, dispatch] = useGlobalState();\n const openGame = useGameOpener();\n\n useEffect(() => {\n setLoading(true);\n request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_games\"\n }).then((data) => {\n dispatch({\n type: SET_GAMES,\n games: data.ResponseData\n });\n setLoading(false);\n });\n }, [request, dispatch]);\n\n return {\n games: state.games,\n loading,\n openGame\n };\n};\n\nexport const useFeaturedGames = () => {\n const request = useRequest();\n const [loading, setLoading] = useState(false);\n const [state, dispatch] = useGlobalState();\n const openGame = useGameOpener();\n\n useEffect(() => {\n setLoading(true);\n request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_featured_games\"\n }).then((data) => {\n const items = data.ResponseData.filter((game) => {\n return (\n typeof game.featuredUrl === \"string\" && game.featuredUrl.length > 0\n );\n });\n dispatch({\n type: SET_FEATURED_GAMES,\n games: items\n });\n setLoading(false);\n });\n }, [request, dispatch]);\n\n return {\n games: state.featuredGames,\n loading,\n openGame\n };\n};\n\nexport const useGameOpener = () => {\n const [, dispatch] = useGlobalState();\n const history = useHistory();\n const request = useRequest();\n const { userInfo } = useUser();\n const openGame = useCallback(\n async (game) => {\n const mode = userInfo ? \"Real\" : \"Fun\";\n const { instanceId, gameId } = game;\n if (isMobile()) {\n dispatch(setMainLoading(true));\n request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_game\",\n gameId,\n instanceId,\n mode\n }).then((data) => {\n dispatch(setMainLoading(false));\n window.location.href =\n data.ResponseData.data + \"&lobbyUrl=\" + window.location.href;\n });\n } else {\n history.push(`/game/${gameId}/${instanceId}?mode=${mode}`);\n }\n },\n [history, request, userInfo, dispatch]\n );\n return openGame;\n};\n\nexport const isMobile = () => {\n let check = false;\n (function(a) {\n if (\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(\n a\n ) ||\n // eslint-disable-next-line no-useless-escape\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\\-|your|zeto|zte\\-/i.test(\n a.substr(0, 4)\n )\n )\n check = true;\n })(window.navigator.userAgent || window.navigator.vendor || window.opera);\n return check;\n};\n","import React, { useState, useEffect, useCallback } from \"react\";\nimport { Slider } from \"../../components\";\nimport { useFeaturedGames } from \"../../hooks/games\";\n\nexport const SliderContainer = () => {\n const { games, loading, openGame } = useFeaturedGames();\n const [currentIndex, setCurrentIndex] = useState(-1);\n\n useEffect(() => {\n if (!loading || games.length > 0) {\n setCurrentIndex(0);\n }\n }, [loading, games]);\n\n const handlePlay = useCallback(() => {\n if (games[currentIndex]) openGame(games[currentIndex]);\n }, [currentIndex, games, openGame]);\n\n const onNext = useCallback(() => {\n const i = currentIndex + 1 > games.length - 1 ? 0 : currentIndex + 1;\n setCurrentIndex(i);\n }, [currentIndex, games]);\n\n const onPrev = () => {\n const i = currentIndex - 1 < 0 ? games.length - 1 : currentIndex - 1;\n setCurrentIndex(i);\n };\n\n useEffect(() => {\n const timeOutId = setTimeout(onNext, 10000);\n return () => clearTimeout(timeOutId);\n }, [onNext]);\n\n const game = games.length && currentIndex > -1 ? games[currentIndex] : null;\n\n const props = {\n loading,\n onSelect: (i) => setCurrentIndex(i),\n onPlay: handlePlay,\n activeIndex: currentIndex,\n currentImage: game ? game.featuredUrl : null,\n count: games.length,\n title: game ? game.title : \"\",\n onNext,\n onPrev\n };\n\n return ;\n};\n","import React from \"react\";\nimport { Games, GamesSwiper } from \"../../components\";\nimport { useGames, isMobile } from \"../../hooks/games\";\n\nexport const GamesContainer = () => {\n const { games, openGame } = useGames();\n\n const handlePlayGame = (game) => {\n openGame(game);\n };\n\n const _isMobile = isMobile();\n return (\n <>\n {games.map((category, i) => {\n const GamesComponent =\n !_isMobile || category.games.length <= 1 ? Games : GamesSwiper;\n return (\n \n );\n })}\n \n );\n};\n","import React, { useState, useEffect } from \"react\";\nimport { useRequest } from \"../../hooks/request\";\nimport { GameLoader, GameEmpty } from \"../../components\";\nimport { useParams, useHistory, useLocation } from \"react-router-dom\";\nimport { EXECUTE_REQUEST_URL } from \"../../constants/index\";\nimport { isMobile } from \"../../hooks/games\";\n\nconst _isMobile = isMobile();\n\nconst listener = (event) => {\n if (event.data.type === \"error\") {\n //... read and process event.data.message …\n console.log(\"//... read and process event.data.message …\");\n } else if (event.data.type === \"loadSuccess\") {\n //... process game loaded event…\n console.log(\"//... process game loaded event…\");\n } else if (event.data.type === \"cashier\") {\n //... request for cashier form…\n console.log(\"//... request for cashier form…\");\n } else if (event.data.type === \"home\") {\n //... redirect to main page (event appears, if lobbyUrl parameter wasn’t provided for loader url)…\n window.document.location.href = \"/\";\n } else if (event.data.type === \"refresh\") {\n //... reload the game (session token should be refreshed too)…\n console.log(\n \"//... reload the game (session token should be refreshed too)…\"\n );\n }\n};\nexport const GamePage = () => {\n const request = useRequest();\n const history = useHistory();\n const location = useLocation();\n const { instanceId, gameId } = useParams();\n const params = new URLSearchParams(location.search);\n const mode = params.get(\"mode\") || \"\";\n const [gameInfo, setGameInfo] = useState();\n\n const handleClose = () => {\n history.push(\"/\");\n };\n\n useEffect(() => {\n console.log({ instanceId, gameId, mode });\n request(\"POST\", EXECUTE_REQUEST_URL, {\n requestId: \"external_game\",\n gameId,\n instanceId,\n mode\n }).then((data) => {\n setGameInfo(data.ResponseData);\n });\n }, [request, instanceId, gameId, mode]);\n\n useEffect(() => {\n if (window.addEventListener) {\n window.addEventListener(\"message\", listener, false);\n } else {\n window.attachEvent(\"onmessage\", listener);\n }\n return () => {\n window.removeEventListener(\"message\", listener);\n };\n }, []);\n\n useEffect(() => {\n if (gameInfo && window.WEBSITE_NAME) {\n window.document.title = `${gameInfo.info.title} - ${window.WEBSITE_NAME}`;\n }\n }, [gameInfo]);\n\n if (_isMobile /*|| gameId === \"liveLobby\"*/ && gameInfo && gameInfo.data) {\n window.location.href = gameInfo.data;\n }\n\n if (_isMobile) {\n return ;\n }\n\n return (\n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { BrowserRouter as Router, Switch, Route } from \"react-router-dom\";\nimport { StateProvider, useGlobalState, SET_ALERT } from \"../../store\";\nimport {\n AppWrapper,\n AppShadow,\n Padding,\n AppBackgroud,\n Container,\n AppLoader,\n ContainerShadow\n} from \"../../components\";\nimport mainBgImage from \"../../assets/main-bg.png\";\nimport { HeaderContainer } from \"../header/index\";\nimport { SliderContainer } from \"../slider/index\";\nimport { GamesContainer } from \"../games/index\";\nimport { GamePage } from \"../game/index\";\nimport { Alert } from \"../../components\";\n\nfunction MainPage() {\n const [state, dispatch] = useGlobalState();\n const handleCloseAlert = () => {\n dispatch({ type: SET_ALERT, message: null });\n };\n useEffect(() => {\n if (window.WEBSITE_NAME) {\n window.document.title = window.WEBSITE_NAME;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [window.location.href]);\n\n return (\n \n {state.mainLoading && }\n \n \n {state.alert && (\n \n )}\n {state.register && (\n \n )}\n \n \n \n \n \n \n \n \n \n );\n}\n\nfunction App() {\n return (\n \n \n \n \n \n \n \n \n );\n}\n\nexport default App;\n","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"normalize.css\";\nimport \"./index.css\";\nimport App from \"./containers/app\";\n\nReactDOM.render(, document.getElementById(\"root\"));\n"],"sourceRoot":""}