{"version":3,"sources":["utils/dateConversion.js","utils/verisoulUtils.js","common/errorPopup.jsx","common/loaderImag.jsx","web3/connectors/metaMask.js","web3/connectors/coinbase.js","contests/components/common/detailsModalCard.jsx","store/contest.js","utils/misc.js","common/HeaderButton.jsx","common/header.jsx","store/sweepstakes.js","common/sections/nonLoggedInPlaceholder.jsx","common/sections/discordChat.jsx","common/alert/alertError.jsx","contests/components/modals/howItWorks.jsx","common/modals/onboarding/freeCredits.jsx","utils/localStorageServices.js","common/dateDropDown.jsx","common/modals/onboarding/onboardingEmail.jsx","common/modals/onboarding/onboardingOptions.jsx","common/modals/onboarding/updateUsername.jsx","common/modals/onboarding/walletLogin.jsx","common/modals/onboarding/onboarding.jsx","common/gtmDatalayer.js","store/lootbox.js","web3/connectors.js","container/boardGame.jsx","App.js","store/practiceGame.js","store/entities.js","store/reducer.js","store/middleware/api.js","common/alert/alertClose.jsx","index.js","store/configureStore.js","utils/withRouter.js","utils/cookiesUtilities.js","store/api.js","store/user.js","store/game.js"],"names":["formatDate","date","format","moment","tz","dateAsUtc","_dateObj$add","dateObj","offSet","utcOffset","add","verisoulSessionId","async","_window3","window","Verisoul","_window4","_window4$Verisoul","session_id","session","e","verisoulLogout","_window5","_window6","_window6$Verisoul","reinitialize","ErrorPopup","Component","constructor","arguments","state","render","themeMode","getCookie","getUser","togglePopupRedux","toggleConnectWalletRedux","this","props","_jsx","Modal","className","concat","dialogClassName","show","error","onHide","setError","id","children","_jsxs","onClick","errorType","router","navigate","src","process","alt","errorTitle","toUpperCase","HtmlParser","href","preventDefault","showConnectWalletAfter","withRouter","connect","dispatch","payload","LoaderImg","metaMask","metaMaskHooks","initializeConnector","actions","MetaMask","coinbaseWallet","coinbaseWalletHooks","CoinbaseWallet","options","url","appName","DetailsModalCard","_ref","title","subTitle","icon","style","height","type","slice","createSlice","name","initialState","contestDetails","loadingContestDetails","activeContests","loadingStatsArcade","loadingStatsLoot","contestStatsArcade","contestStatsLoot","loading","players","myGame","players1","myGame1","question","gameAvailable","lastTriviaGame","rates","empty","allContests","pendingContests","pendingContestsLastKey","pendingContestsCount","allContestsData","loadingContestResult","contestResult","loadingP","lastFetchPendingContests","reducers","contestDetailsRequested","misc","action","contestDetailsReceived","data","lastFetch","Date","now","allContestReceived","_jwt","contestPayload","jwt","typeOrder","sort","a","b","contestType","splice","pendingContestRequested","pendingContestReceived","_jwt2","_jwt3","_jwt4","lastKey","totalCount","morePendingContestReceived","_jwt5","_jwt6","contestDetailsRequestFailed","message","contestResultRequested","contestResultRequestFailed","contestResultReceived","activeContestsRequested","activeContestsReceived","statsArcadeRequested","statsLootRequested","contestStatsArcadeReceived","contestStatsLootReceived","statsArcadeRequestFailed","statsLootRequestFailed","leaderBoardReceived","length","dailyTriviaCheckReceived","lastGame","leaderBoardReceived2","gameQuestionReceived","activeContestsRequestFailed","pendingContestFailed","gameUrl","contestUrl","loadContestDetails","callback","apiCallBegan","onStart","onSuccess","onError","loadPendingContests","params","getState","more","entities","contest","diff","loadMyActiveGames","loadLeaderBoard","loadAllContests","loadContestsStatsArcade","sendAll","loadContestsStatsLoot","getContests","createSelector","contests","getNumberWithOrdinal","n","s","v","SWEEP_INSTANCES_TEXTS","heading","subText","heading2","subText2","loadJS","FILE_URL","undefined","scriptEle","document","createElement","setAttribute","body","appendChild","addEventListener","ev","SWEEPS_RECORDS_PER_PAGE","CONTESTWINNER_RECORDS_PER_PAGE","innerWidth","SWEEPSRULES_RECORDS_PER_PAGE","STRIP_APPEARANCE","theme","labels","variables","borderRadius","colorText","fontFamily","fontWeightBold","colorBackground","focusBoxShadow","focusOutline","colorPrimary","colorDanger","colorSuccess","colorTextSecondary","iconColor","gridRowSpacing","gridColumnSpacing","rules","borderColor","border","color","backgroundColor","outline","Button","classes","target","iconLeft","iconWidth","iconHeight","Link","to","width","lazy","ConnectPopup","HowItWorks","NotificationModal","PurchaseCoinsModal","OnboardingModal","ConnectWalletPopup","NotificationDropdown","DailyCredit","mobLogo","darkLogo","userIcon","adminIcon","arcadeCoinIcon","lootCoinIcon","xpIcon","Header","showShadow","showPopupW","showLoginPopup","showHowItWorks","tokenId","showDailyStreak","showNotifications","loginLoading","showSignupModal","isNotificationOpen","isChatOpen","showChat","showNotificationModal","onboardingType","emptyProfiledata","componentDidUpdate","prevProps","prevState","_this$props$getUser","_this$props$getUser$n","profileLoaded","loadAvailableTickets","unreadNotifications","notifications","filter","notif","isRead","topic","unreadCount","page","localStorage","getItem","setItem","toggleNotification","toggleSignUpFromSlider","toggleSignup","setToggle","referralCode","location","pathname","replace","toggleChatModal","setState","val","closeLoginPopup","openLoginPopup","togglePopupW","toggleHowItWorks","mixpanel","track","dataLayer","push","prepareData","event","click_text","toggleDailyStreak","componentWillUnmount","removeItem","disconnect","web3Functions","deactivate","componentDidMount","_this$props$router","_this$props$router$lo","_this$props$router2","_this$props$router2$l","searchParams","URLSearchParams","search","user","JSON","parse","userName","email","loadProfile","res","_res$data$userProfile","_res$data$userProfile2","_res$data","_res$data2","status","stringify","userProfile","_hsq","lastVisit","profile","setCookie","LogRocket","identify","walletAddress","loadNotifications","get","togglePurchaseCoinsRedux","code","loginModal","registerModal","toggleGoogleAuthUrlLoading","toggleFBAuthUrlLoading","toggleDiscordAuthUrlLoading","_userProfile$arcadeCo","_userProfile$arcadeCo2","_userProfile$lootBonu","_userProfile$lootBonu2","_userProfile$xP$toLoc","_userProfile$xP","_userProfile$arcadeCo3","_userProfile$arcadeCo4","_userProfile$lootBonu3","_userProfile$lootBonu4","_userProfile$xP$toLoc2","_userProfile$xP2","_this$state$onboardin","connectedWallet","availableTickets","_Fragment","scrollY","paddingRight","crashGame","_","isEmpty","image","small","arcadeCoins","toLocaleString","lootBonusCoins","minimumFractionDigits","maximumFractionDigits","xP","interaction_type","ids","map","markNotificationAsRead","changeUnreadCount","Suspense","fallback","toggleDiscordModalRedux","showDiscordModal","rel","Skeleton","circle","marginLeft","containerClassName","showModal","toggleModal","showHowToPlay","toggleHowToPlayRedux","togglePopup","showPopup","setLoginLoading","openCredits","showConnect","signIn","loadTransactions","checkWallet","instances","instanceDetails","sweepstakesLeaderBoard","myInstances","myInstancesLastKey","pastInstances","pastInstancesLastKey","pastInstancesCount","leaderBoardLoading","pastInstanceLoading","myInstanceLoading","loadingUpdatedInfo","lastFetchPastInstances","sweepsRequested","sweepsRequestFailed","sweepsUpdatedInfoRequested","sweepsUpdatedInfoRequestFailed","sweepsLeaderBoardRequestFailed","sweepsLeaderBoardRequested","sweepsPastInstanceRequested","sweepsPastInstanceRequestFailed","instancesReceived","pastInstancesReceived","morePastInstancesReceived","instanceDetailsReceived","sweepstakesLeaderBoardReceived","myActiveSweepsRequested","myActiveInstancesReceived","moreMyActiveInstancesReceived","myActiveSweepsRequestFailed","sweepsUrl","instanceUrl","loadInstances","loadInstanceDetails","slug","loadUpdatedInstanceInfo","enterSweep","method","loadSweepstakesLeaderBoard","loadMyInstances","loadPastInstances","sweepstakes","getSweepStakes","NonLoggedInPlaceholder","setShowSignupModal","useState","setOnboardingType","useNavigate","onAPI","api","on","server","URL","hostname","split","isLoggedIn","WidgetBot","channel","shard","AlertError","contestEntry","bgGame","nav1","setNav1","nav2","setNav2","useEffect","section","advanmcement","step","description","desktopImage","tabindex","_createElement","Slider","ref","slider","slidesToShow","slidesToScroll","arrows","fade","dots","adaptiveHeight","asNavFor","key","large","padding","loginUser","verifyOTP","checkUsername","checkEmail","updateImage","registerUser","resendOTP","resetPassword","toggleHTPRedux","loadBountyBoxes","_getUser$profile","marginTop","setToken","refresh","auth","DateDropDown","onChangeDate","dayOptions","Array","fill","i","toString","value","monthOptions","day","setDay","month","setMonth","year","setYear","lastDayOfMonth","d","isNaN","getFullYear","parseInt","getDate","lastMonthOfYear","getMonth","Dropdown","Toggle","as","Menu","_ref5","Item","_ref2","years","months","days","onChangeDay","_ref6","_ref3","lastDay","onChangeMonth","generateArrayOfYears","max","min","_ref7","_ref4","lastMonth","onChangeYear","mailIcon","passwordIcon","eyeIcon","loader","eyeOffIcon","setTab","walletDetails","aRef","useRef","bRef","cRef","dRef","eRef","setData","password","cPassword","verificationCode1","verificationCode2","verificationCode3","verificationCode4","term","onChange","newErr","structuredClone","errors","otp","includes","current","focus","setErrors","onChange2","multiVal","setType","type2","setType2","showPass","setShowPass","showPass2","setShowPass2","setLoading","loadingEmail","setLoadingEmail","loadingUsername","setLoadingUsername","loadingResendCode","setLoadingResendCode","showError","setShowError","isValidEmail","setIsValidEmail","isValidUserName","setIsValidUserName","isVerificationComplete","setIsVerificationComplete","otpSent","setOtpSent","finishSetup","setFinishSetup","clearData","verificationCode","getTitle","getSubTitle","placeholder","onBlur","usernameRes","newErrors","maxLength","test","emailRes","checkEmailValidity","size","pattern","newData","checked","newError","handleCheck","for","checkEmailValidity2","mailformat","_data$date","_data$date2","_data$date3","sessionId","toLowerCase","loginRes","_loginRes$data","_loginRes$data$userPr","Type","jwtToken","_res$data$connectedWa","_window","_window$location","_document","context","hutk","pageUri","host","pageName","toLocaleLowerCase","dateOfBirth","signupRes","token","toast","payLoad","verifyRes","_verifyRes$data","_verifyRes$data$userP","Math","floor","random","_verifyRes$data2","_verifyRes$data2$user","_verifyRes$data3","_verifyRes$data3$user","resetRes","zIndex","otpRes","loaderIcon","loadGoogleAuthURL","authorizeGoogleCode","loadFBAuthURL","authorizeFBCode","loadDiscordAuthURL","authorizeDiscordCode","loadWalletMessageToSign","setNewAcc","showErrorTitle","setShowErrorTitle","useSearchParams","fn","removeEventListener","sssoType","_loginRes$data$userPr2","_loginRes$data$userPr3","_loginRes$data2","_loginRes$data3","_loginRes$data4","_loginRes$data4$userP","new","_loginRes$data5","_loginRes$data$messag","_loginRes$data6","disabledOptions","googleAuthURLLoading","fbAuthURLLoading","discordAuthURLLoading","disabled","updateProfile","_data$date4","_data$date5","_data$date6","newAcc","setOptionsType","checkUsernameValidity","_profile$providerUser","_profile$providerUser2","_profile$providerUser3","_profile$providerUser4","_profile$providerUser5","providerUserName","trim","providerUserEmail","res1","greenIcon","walletLogin","hardRefresh","loadMessageToSign","signMessage","setSignMessage","React","signature","setSignature","loadingWallet","setLoadingWallet","setConnectedWallet","account","isActive","connector","useWeb3React","setProvider","getSignature","signMessages","messageToSign","_connector$provider","signatureStr","provider","request","setWalletDetails","_res$data2$connectedW","resetState","activating","_connectorWallet$para","connectorWallet","injected","activate","messageToSignLoading","marginBottom","_window$ethereum","ethereum","isMetaMask","open","tab","optionsType","setSearchParams","loginEmailProps","loginParam","registerParam","delete","centered","contentClassName","OnboardingOptions","OnboardingEmail","UpdateUsername","WalletLogin","FreeCredits","exports","defaultData","game_name","lead_type","social_media","Object","keys","forEach","lootboxes","lootbox","lastFetchLootboxes","spinPrize","lootboxLoading","spinLootboxLoading","lootboxesRequested","lootboxesReceived","lootboxesRequestFailed","lootboxRequested","lootboxReceived","_action$payload$data","_action$payload$data$","lootBoxPrizes","prize","isLimitReached","lootboxRequestFailed","spinLootboxRequested","spinLootboxReceived","spinLootboxRequestFailed","lootboxUrl","loadLootboxes","loadLootbox","spinLootbox","getLootbox","chainIds","connectors","InjectedConnector","supportedChainIds","walletConnect","WalletConnectConnector","rpcUrl","INFURA_KEY","bridge","qrcode","WalletLinkConnector","cardIcon1","MESSAGE_FACTORY","console","log","CowitzerLeaderboard","cowitzerLeaderboardLoading","cowitzerLeaderboard","getGame","toggleWalletPopupRedux","checkZRunNft","loadBgGames","loadBgGameDetail","cowitzerEnter","loadCowitzerLeaderBoard","savePosition","getposition","rollDice","rest","GC_API","UserBalance","GameLoaded","GameStart","setIsWaitingForNextRound","setIsTimerRunning","setMultiplierValue","PlaceBet","Multiplier","NewBet","CashOut","Last10Rounds","multiplierValue","startingIn","mybets","winner","dogBet","gameState","setIsMuted","setIsBackgroundMuted","RESET","setShowHowItWorks","howItWork","setHowItWork","bgGameLoaded","setBgGameLoaded","music","setMusic","muted","setMuted","gameLoaded","setGameLoaded","iFrame","getElementById","setTimeout","contentWindow","postMessage","updateSound","muteStateData","musicMuted","soundsMuted","_res$data$data","positionLog","position","launched","ourMessage","diceRoll","Accordion","defaultActiveKey","DiscordChatModal","IndexPage","lazyWithPreload","Winners","Profile","Contests","ContestDetails","ActiveContests","NotFound","ServerError","CheckWallet","CheckWalletError","InvalidUserAction","LandscapeOrientation","ConnectNFTAccess","SweepstakesDetails","SweepstakeRulesListings","PrivacyPolicy","TermsAndConditions","SweepstakesRules","UnderMaintance","Cookies","CrashGame","CowitzerGame","OpenLootbox","Roadmap","About","GameDemo","init","mergeIframes","childDomains","debug","track_pageview","persistence","setupLogRocketReact","loadSlides","useLocation","transitionStage","setTransistionStage","displayLocation","setDisplayLocation","preload","scrollTo","cookiesShown","HelmetProvider","Web3ReactProvider","SkeletonTheme","baseColor","highlightColor","Helmet","content","onAnimationEnd","Routes","Route","path","element","exact","BoardGame","loadingGame","gameStartedAt","loadingGameQuestion","submittingAnswer","answerData","loadingGameResult","gameOver","gameContest","gameContestLoading","removeOneLoading","removed","prepareGameRequested","game","prepareGameReceived","valueOf","prepareGameRequestFailed","gameQuestionRequested","gameQuestionRequestFailed","answerSubmitted","answerSubmittedSuccess","answerSubmittedFailed","gameResultRequested","gameResultReceived","gameResultRequestFailed","gameContestRequested","gameContestReceived","gameContestRequestFailed","removeOneRequested","removeOneReceived","removeOneRequestFailed","practiceGame","combineReducers","userReducer","contestReducer","gameReducer","practiceGameReducer","entitiesReducer","axios","interceptors","response","use","currentPath","Promise","reject","next","headers","baseURL","_error$response","_error$response2","AlertClose","container","root","createRoot","store","configureStore","reducer","middleware","getDefaultMiddleware","serializableCheck","ignoredActionPaths","reduxMiddleware","uuidv4","Sentry","dsn","integrations","BrowserTracing","tracesSampleRate","injectStyle","Provider","ToastContainer","autoClose","hideProgressBar","closeOnClick","rtl","toastClassName","draggable","closeButton","pauseOnHover","BrowserRouter","App","useParams","set","createAction","apiCallSuccess","apiCallFailed","highScoreGame","allWinnings","transactions","filteredCount","activities","arcadeActivityLastKey","lootActivities","lootActivityLastKey","transactionsLoading","loadingPrice","lastFetchPrice","isWalletConnected","isWalletLoading","activitiesLoading","creditPrices","creditPriceBonusPercent","showLoginModal","showChooseWalletModal","showHTPAfter","showOnboardingModal","showBuyCreditsModal","transactionId","usdtBalance","availableTicketsLoading","userGameData","userGameDataLoading","showPurchaseCoins","showBountyBoxModal","howItWorksModalType","bountyBoxes","bountyBoxesReceivedAt","bountyBoxesTotal","bountyBoxDetails","bountyBoxLoading","bountyBoxDetailsLoading","googleAuthUrl","fbAuthUrl","discordAuthUrl","showWalletModal","dailyGameChallengeLoading","dailyGameChallenge","dailyGameChallengeEligiblityLoading","dailyGameChallengeEligiblity","dailyStreakRewardStatusLoading","dailyStreakRewardStatus","threeDayStreakRewardStatusLoading","threeDayStreakRewardStatus","weeklyStreakRewardStatusLoading","weeklyStreakRewardStatus","zRunNft","zRunNFTLoading","walletConnectLoading","walletDisconnectLoading","referralCodesLoading","referralCodes","referralRewardsLoading","referralRewards","slides","slidesLoading","rewards","lastFetchRewards","lastFetchSlides","lastFetchDailyRewardStatus","lastFetchThreeDayRewardStatus","lastFetchWeeklyRewardStatus","showHideLoginModal","showHideWalletModal","showHideChooseWalletModal","showHideHTPAfterModal","showHideConnectWalletAfterModal","showHideOnboardingModal","showHideHowToPlayModal","showHidePurchaseCoinsModal","showHideBountyBoxModal","showHideDiscordModal","showHideBuyCreditsModal","disconnectWalletRequested","disconnectWalletReceived","externalWalletAddress","disconnectWalletRequestFailed","walletConnectRequested","walletConnectReceived","walletConnectRequestFailed","messageToSignRequested","messageToSignReceived","signatureMessage","messageToSignRequestFailed","profileRequested","priceRequested","priceRequestFailed","profileReceived","walletConnectionRequested","walletConnectionFailed","walletConnectionReceived","notificationsReceived","profileRequestFailed","reduceUnreadCount","transactionRequested","transactionReceived","activitiesRequested","activitiesReceived","moreActivitiesReceived","activitiesRequestFailed","lootActivitiesRequested","lootActivitiesReceived","moreLootActivitiesReceived","lootActivitiesRequestFailed","transactionRequestFailed","transactionLoadMoreReceived","creditPricesReceived","enterContestSuccess","availableTicketsRequested","availableTicketsReceived","_action$payload","_action$payload2","_action$payload2$data","availableTicketsRequestFailed","_action$payload3","userGameDataRequested","userGameDataRequestFailed","userGameDataReceived","bountyBoxesRequested","bountyBoxesRequestFailed","bountyBoxesReceived","_action$payload4","_action$payload$total","_action$payload5","total","bountyBoxDetailsRequested","bountyBoxDetailsRequestFailed","bountyBoxDetailsReceived","googleAuthUrlRequested","googleAuthUrlRequestFailed","googleAuthUrlReceived","googleAuthUrlLoading","fbAuthUrlRequested","fbAuthUrlRequestFailed","fbAuthUrlReceived","fbAuthUrlLoading","discordAuthUrlRequested","discordAuthUrlRequestFailed","discordAuthUrlReceived","discordAuthUrlLoading","rewardsRequested","rewardsLoading","rewardsRequestFailed","rewardsReceived","slidesRequested","slidesReceived","slidesRequestFailed","dailyGameChallengeRequested","dailyGameChallengeRequestFailed","dailyGameChallengeReceived","dailyGameChallengeEligiblityRequested","dailyGameChallengeEligiblityRequestFailed","dailyGameChallengeEligiblityReceived","dailyStreakRewardStatusRequested","dailyStreakRewardStatusRequestFailed","dailyStreakRewardStatusReceived","threeDayStreakRewardStatusRequested","threeDayStreakRewardStatusRequestFailed","threeDayStreakRewardStatusReceived","weeklyStreakRewardStatusRequested","weeklyStreakRewardStatusRequestFailed","weeklyStreakRewardStatusReceived","referralCodesRequested","referralCodesRequestFailed","referralCodesReceived","_action$payload$data2","_action$payload6","referralRewardsRequested","referralRewardsRequestFailed","referralRewardsReceived","_action$payload7","dailyStreakRewardRedeemed","_misc$threeDayStreakR","_misc$threeDayStreakR2","_misc$weeklyStreakRew","_misc$weeklyStreakRew2","_misc$profile$userPro","_misc$rewards","_misc$profile$userPro2","_misc$rewards2","isRedeemed","threeDayStreak","weeklyStreak","dailyArcadeCoinReward","dailyLootBonusCoinReward","threeDayStreakRewardRedeemed","_misc$profile$userPro3","_misc$rewards3","_misc$profile$userPro4","_misc$rewards4","threeDayStreakArcadeCoinReward","threeDayStreakLootBonusCoinReward","weeklyStreakRewardRedeemed","_misc$profile$userPro5","_misc$rewards5","_misc$profile$userPro6","_misc$rewards6","weeklyStreakArcadeCoinReward","weeklyStreakLootBonusCoinReward","dailyGameChallengeRewardRedeemed","_misc$profile$userPro7","_misc$dailyGameChalle","_misc$dailyGameChalle2","_misc$profile$userPro8","_misc$dailyGameChalle3","_misc$dailyGameChalle4","dailyGameChallengeArcadeCoinReward","dailyGameChallengeLootBonusCoinReward","checkzRunNftRequested","checkzRunNftReceived","checkzRunNftRequestFailed","arcadeCoinsUpdated","_misc$profile$userPro9","ticketsUpdated","lootBonusCoinsUpdated","_misc$profile$userPro10","toggleBountyBoxRedux","updateRewardStreak","updateThreeDayStreak","updateWeeklyStreak","updateGameChallengeReward","updateLootBonusCoins","disconnectWallet","loadActivities","loadMoreActivities","loadLootActivities","loadMoreLootActivities","loadMoreTransactions","connectNFT","requestCredits","redeemToken","loadCreditPrices","createCharge","purchaseCoins","createPaymentIntent","redeemCredit","processTransaction","calculateGasFee","transferAsset","sendPassCodeOTP","resetPassCode","loadRewards","loadDailyGameChallenge","loadDailyGameChallengeEligiblity","redeemDailyGameChallengeReward","loadDailyStreakRewardStatus","redeemDailyReward","loadThreeDayStreakRewardStatus","redeemThreeDayStreakReward","loadWeeklyStreakRewardStatus","redeemWeeklyStreakReward","zedRunNftColor","redeemZRunNft","redeemTickets","createReferralCode","loadReferralCodes","loadReferralRewards","claimReferralReward","bgGames","demoBgGames","bgGamesLoading","demoBgGamesLoading","gameId","lastGameCreatedAt","lastScoreSavedAt","lastFinalScoreSavedAt","bgGameDetails","cowitzerLaunching","finalScore","shareScoreLoading","shareGameScoreDetails","finalScoreResponseStatus","boardGame","gameData","gameScore","startTimer","bgPracticeGameGameId","bgPracticeGameLastGameCreatedAt","bgPracticeGameLastScoreSavedAt","bgPracticeGameLastFinalScoreSavedAt","bgPracticeGameFinalScore","bgPracticeGameFinalScoreResponseStatus","bgPracticeGameGameData","bgPracticeGameGameScore","weeklyLeaderBoard","weeklyLeaderBoardLoading","lastFetchBgGames","boardGameLoaded","cowitzerLaunched","bgGamesRequested","bgGamesReceived","sortBy","o","isComingSoon","bgGamesRequestFailed","demoBgGamesRequested","demoBgGamesReceived","demoBgGamesRequestFailed","cowitzerLeaderboardReceived","cowitzerLeaderboardRequestFailed","bgGamesDetailReceived","shareGameScoreRequested","shareGameScoreReceived","shareGameScoreRequestFailed","initialGameDataRecieved","initialGameDataRequested","createGameSuccess","createGameRequested","saveScoreRequested","saveFinalScoreReceived","saveFinalScoreStatusReceived","saveFinalScoreRequested","gameScoreRecieved","bgPracticeGameInitialGameDataRecieved","bgPracticeGameCreateGameSuccess","bgPracticeGameCreateGameRequested","bgPracticeGameSaveScoreRequested","bgPracticeGameSaveFinalScoreReceived","bgPracticeGameSaveFinalScoreStatusReceived","bgPracticeGameSaveFinalScoreRequested","bgPracticeGameGameScoreRecieved","bgPracticeGameStartTimer","weeklyLeaderBoardRequested","weeklyLeaderBoardReceived","weeklyLeaderBoardRequestFailed","loadDemoGames","shareGameScore","initialGameData","createNewGame","saveBreadcrumb","saveFinalScore","saveScoreStatusRedux","gameScoreUpdateRedux","score","startTimerRedux","bgPracticeGameInitialGameData","bgPracticeCreateNewGame","bgGameId","bgPracticeSaveBreadcrumb","bgPracticeSaveFinalScore","bgPracticeSaveScoreStatusRedux","bgPracticeGameScoreUpdateRedux"],"mappings":"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","file":"static/js/main.2a1cdd28.chunk.js","sourcesContent":["import moment from \"moment-timezone\";\n\nexport const convertDate = (date, format) => {\n return moment(date).tz(\"America/New_York\");\n};\nexport const formatDate = (date, format) => {\n return moment(date).tz(\"America/New_York\").format(format);\n};\nexport const dateAsUtc = (date, format) => {\n const dateObj = moment(date);\n const offSet = dateObj?.utcOffset();\n return dateObj?.add(offSet, \"minutes\")?.format(format);\n};\n","export const verisoulLogin = (userName) => {\n if (window?.Verisoul)\n window?.Verisoul?.account({\n id: userName,\n });\n};\nexport const verisoulSessionId = async () => {\n if (!window?.Verisoul) {\n return;\n }\n try {\n const { session_id } = await window?.Verisoul?.session();\n return session_id;\n } catch (e) {}\n};\nexport const verisoulLogout = async () => {\n if (!window?.Verisoul) {\n return;\n }\n try {\n await window?.Verisoul?.reinitialize();\n } catch (e) {}\n};\n","import React, { Component } from \"react\";\nimport { Modal } from \"react-bootstrap\";\nimport { getCookie } from \"../utils/cookiesUtilities\";\nimport { getUser, togglePopupRedux, toggleConnectWalletRedux } from \"../store/user\";\nimport { connect } from \"react-redux\";\n\nimport HtmlParser from \"react-html-parser\";\nimport { withRouter } from \"../utils/withRouter\";\n\nconst errorIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/reporticon-1.png\";\nconst closeIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/close-icon.svg\";\n\nclass ErrorPopup extends Component {\n state = {};\n render() {\n const themeMode = getCookie(\"themeMode\");\n const { getUser, togglePopupRedux, toggleConnectWalletRedux } = this.props;\n return (\n this.props.setError(false)}\n id=\"darkerrorModal\"\n >\n
\n {\n if (\n this.props.errorType &&\n (this.props.errorType === \"Invalid Contest\" || this.props.errorType === \"This contest has closed\")\n ) {\n this.props.router.navigate(\"/\");\n }\n this.props.setError(\"\");\n }}\n >\n \"\"\n
\n
\n
\n {this.props.errorTitle ? this.props.errorTitle.toUpperCase() : \"Something went wrong\"}\n
\n
\n
\n
\n
\n \"\"\n
\n\n
\n

{HtmlParser(this.props.error)}

\n
\n\n
\n {\n e.preventDefault();\n if (getUser.showConnectWalletAfter) {\n togglePopupRedux(true);\n toggleConnectWalletRedux(false);\n }\n if (\n this.props.errorType &&\n (this.props.errorType === \"Invalid Contest\" || this.props.errorType === \"This contest has closed\")\n ) {\n this.props.router.navigate(\"/contests\");\n }\n this.props.setError(\"\");\n }}\n >\n {this.props.errorType === \"Invalid Contest\" || this.props.errorType === \"This contest has closed\"\n ? \"BROWSE CONTESTS\"\n : getUser.showConnectWalletAfter\n ? \"CONNECT WALLET\"\n : \"DISMISS\"}\n \n {getUser.showConnectWalletAfter && (\n {\n e.preventDefault();\n if (getUser.showConnectWalletAfter) {\n toggleConnectWalletRedux(false);\n }\n this.props.setError(\"\");\n }}\n >\n DISMISS\n \n )}\n
\n
\n
\n \n \n );\n }\n}\nconst mapDispatchToProps = (dispatch) => ({\n togglePopupRedux: (payload) => dispatch(togglePopupRedux(payload)),\n toggleConnectWalletRedux: (payload) => dispatch(toggleConnectWalletRedux(payload)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(ErrorPopup));\n","import React from \"react\";\nconst loaderImg = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loading-icon.svg\";\n\nconst LoaderImg = () => {\n return \"\";\n};\n\nexport default LoaderImg;\n","import { initializeConnector } from \"@web3-react/core\";\nimport { MetaMask } from \"@web3-react/metamask\";\n\nexport const [metaMask, metaMaskHooks] = initializeConnector((actions) => new MetaMask({ actions }));\n","import { CoinbaseWallet } from \"@web3-react/coinbase-wallet\";\nimport { initializeConnector } from \"@web3-react/core\";\n\nexport const [coinbaseWallet, coinbaseWalletHooks] = initializeConnector(\n (actions) =>\n new CoinbaseWallet({\n actions,\n options: {\n url: `https://mainnet.infura.io/v3/${process.env.REACT_APP_INFURA_KEY}`,\n appName: \"web3-react-demo\",\n },\n }),\n);\n","import React from \"react\";\r\nconst arrowIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/s-chevron-left-arrow.svg\";\r\n\r\nfunction DetailsModalCard({ title, subTitle, icon, onClick }) {\r\n return (\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n
\r\n
{title}
\r\n

{subTitle}

\r\n
\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default DetailsModalCard;\r\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { createSelector } from \"reselect\";\nimport { apiCallBegan } from \"./api\";\nimport jwt from \"jwt-decode\";\nimport moment from \"moment\";\n\nconst slice = createSlice({\n name: \"contests\",\n initialState: {\n contestDetails: null,\n loadingContestDetails: false,\n activeContests: [],\n loadingStatsArcade: false,\n loadingStatsLoot: false,\n contestStatsArcade: null,\n contestStatsLoot: null,\n loading: false,\n players: [],\n myGame: null,\n players1: null,\n myGame1: null,\n question: null,\n gameAvailable: true,\n lastTriviaGame: null,\n rates: null,\n empty: 0,\n allContests: [],\n pendingContests: [],\n pendingContestsLastKey: null,\n pendingContestsCount: null,\n allContestsData: null,\n loadingContestResult: true,\n contestResult: null,\n loadingP: false,\n lastFetchPendingContests: null,\n },\n\n reducers: {\n contestDetailsRequested: (misc, action) => {\n misc.loadingContestDetails = true;\n },\n contestDetailsReceived: (misc, action) => {\n misc.contestDetails = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loadingContestDetails = false;\n },\n allContestReceived: (misc, action) => {\n let contestPayload = jwt(action?.payload)?.data;\n const typeOrder = { 3: 0, 1: 1, 2: 2 };\n contestPayload?.sort((a, b) => typeOrder[a.contestType] - typeOrder[b.contestType]);\n misc.allContests = contestPayload?.splice(0, 2);\n misc.allContestsData = jwt(action?.payload);\n misc.lastFetch = Date.now();\n misc.loadingContestDetails = false;\n },\n pendingContestRequested: (misc, action) => {\n misc.loadingP = true;\n },\n pendingContestReceived: (misc, action) => {\n misc.pendingContests = jwt(action?.payload)?.data;\n misc.pendingContestsLastKey = jwt(action?.payload)?.lastKey;\n misc.pendingContestsCount = jwt(action?.payload)?.totalCount;\n misc.loadingP = false;\n misc.lastFetchPendingContests = Date.now();\n },\n morePendingContestReceived: (misc, action) => {\n misc.pendingContests = [...misc.pendingContests, ...jwt(action?.payload)?.data];\n misc.pendingContestsLastKey = jwt(action?.payload)?.lastKey;\n misc.loadingP = false;\n misc.lastFetchPendingContests = Date.now();\n },\n contestDetailsRequestFailed: (misc, action) => {\n misc.loadingContestDetails = false;\n misc.contestDetails = null;\n misc.error = action.payload.message;\n },\n contestResultRequested: (misc, action) => {\n misc.loadingContestResult = true;\n },\n contestResultRequestFailed: (misc, action) => {\n misc.loadingContestResult = false;\n },\n contestResultReceived: (misc, action) => {\n misc.contestResult = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loadingContestResult = false;\n },\n activeContestsRequested: (misc, action) => {\n misc.loading = true;\n },\n activeContestsReceived: (misc, action) => {\n misc.activeContests = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loading = false;\n },\n statsArcadeRequested: (misc, action) => {\n misc.loadingStatsArcade = true;\n },\n statsLootRequested: (misc, action) => {\n misc.loadingStatsLoot = true;\n },\n contestStatsArcadeReceived: (misc, action) => {\n misc.contestStatsArcade = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loadingStatsArcade = false;\n misc.loading = false;\n },\n contestStatsLootReceived: (misc, action) => {\n misc.contestStatsLoot = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loadingStatsLoot = false;\n misc.loading = false;\n },\n statsArcadeRequestFailed: (misc, action) => {\n misc.loadingStatsArcade = false;\n },\n statsLootRequestFailed: (misc, action) => {\n misc.loadingStatsLoot = false;\n },\n leaderBoardReceived: (misc, action) => {\n misc.players = action.payload.data;\n misc.myGame = action.payload.myGame;\n if (action.payload.data.length < 2 || (action.payload.data.length === 2 && !action.payload.myGame)) {\n misc.empty += 1;\n }\n misc.lastFetch = Date.now();\n misc.loading = false;\n },\n dailyTriviaCheckReceived: (misc, action) => {\n misc.gameAvailable = action.payload.gameAvailable;\n misc.lastTriviaGame = action.payload.lastGame;\n misc.lastFetch = Date.now();\n misc.loading = false;\n },\n leaderBoardReceived2: (misc, action) => {\n misc.players1 = action.payload.data;\n misc.myGame1 = action.payload.myGame;\n misc.lastFetch = Date.now();\n misc.loading = false;\n },\n gameQuestionReceived: (misc, action) => {\n misc.question = action.payload;\n misc.lastFetch = Date.now();\n misc.loading = false;\n },\n activeContestsRequestFailed: (misc, action) => {\n misc.loading = false;\n misc.error = action.payload.message;\n },\n pendingContestFailed: (misc, action) => {\n misc.loadingP = false;\n misc.error = action.payload.message;\n },\n },\n});\n\nexport const {\n activeContestsRequested,\n activeContestsReceived,\n activeContestsRequestFailed,\n statsArcadeRequested,\n statsLootRequested,\n contestStatsArcadeReceived,\n contestStatsLootReceived,\n statsArcadeRequestFailed,\n statsLootRequestFailed,\n leaderBoardReceived,\n leaderBoardReceived2,\n gameQuestionReceived,\n dailyTriviaCheckReceived,\n contestDetailsReceived,\n contestDetailsRequested,\n contestDetailsRequestFailed,\n allContestReceived,\n contestResultReceived,\n contestResultRequested,\n contestResultRequestFailed,\n pendingContestRequested,\n pendingContestReceived,\n morePendingContestReceived,\n pendingContestFailed,\n} = slice.actions;\nexport default slice.reducer;\n\n// Action Creators\nconst gameUrl = \"game/\";\nconst contestUrl = \"contest/\";\nconst dailyTrivialGameUrl = \"dailyTriviagame/\";\n\nexport const loadContestDetailsStore = (id) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: contestUrl + id,\n onStart: contestDetailsRequested.type,\n onSuccess: contestDetailsReceived.type,\n onError: contestDetailsRequestFailed.type,\n }),\n );\n};\nexport const loadContestDetails = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: contestUrl + id,\n onStart: contestDetailsRequested.type,\n onSuccess: contestDetailsReceived.type,\n onError: contestDetailsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadPendingContests = (params, callback) => (dispatch, getState) => {\n const more = params.more;\n delete params.more;\n const { lastFetchPendingContests } = getState().entities.contest;\n const diffInMinutes = moment().diff(moment(lastFetchPendingContests), \"minutes\");\n if (diffInMinutes < 10 && !more) return;\n return dispatch(\n apiCallBegan({\n url: contestUrl + \"past\",\n onStart: pendingContestRequested.type,\n onSuccess: !more ? pendingContestReceived.type : morePendingContestReceived.type,\n onError: pendingContestFailed.type,\n params,\n callback,\n }),\n );\n};\nexport const loadMyActiveGames = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"active\",\n onStart: activeContestsRequested.type,\n onSuccess: activeContestsReceived.type,\n onError: activeContestsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadContestResult = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: contestUrl + \"results/\" + id,\n onStart: contestResultRequested.type,\n onSuccess: contestResultReceived.type,\n onError: contestResultRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadLeaderBoard = (params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"leaderboard\",\n params,\n onStart: activeContestsRequested.type,\n onSuccess: leaderBoardReceived.type,\n onError: activeContestsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadGameQuestion = (params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: dailyTrivialGameUrl + \"getQuestion\",\n params,\n onStart: activeContestsRequested.type,\n onSuccess: gameQuestionReceived.type,\n onError: activeContestsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadLeaderBoard1 = (params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"leaderboard\",\n params,\n onStart: activeContestsRequested.type,\n onSuccess: leaderBoardReceived2.type,\n onError: activeContestsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadAllContests = (params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: contestUrl,\n onStart: activeContestsRequested.type,\n onSuccess: allContestReceived.type,\n onError: activeContestsRequestFailed.type,\n params,\n callback,\n }),\n );\n};\nexport const loadContestsStatsArcade = (id, callback) => (dispatch) => {\n const params = { sendAll: true };\n return dispatch(\n apiCallBegan({\n url: contestUrl + \"arcadeStats/\" + id,\n onStart: statsArcadeRequested.type,\n onSuccess: contestStatsArcadeReceived.type,\n onError: statsArcadeRequestFailed.type,\n callback,\n params,\n }),\n );\n};\nexport const loadContestsStatsLoot = (id, callback) => (dispatch) => {\n const params = { sendAll: true };\n return dispatch(\n apiCallBegan({\n url: contestUrl + \"lootStats/\" + id,\n onStart: statsLootRequested.type,\n onSuccess: contestStatsLootReceived.type,\n onError: statsLootRequestFailed.type,\n callback,\n params,\n }),\n );\n};\nexport const loadAllContestsStats = (id, params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: contestUrl + \"stats/\" + id,\n params,\n onStart: activeContestsRequested.type,\n onSuccess: contestStatsArcadeReceived.type,\n onError: activeContestsRequestFailed.type,\n callback,\n }),\n );\n};\n\nexport const sendAnswer = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: dailyTrivialGameUrl + \"sendAnswer\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const dailyTriviaCheck = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: dailyTrivialGameUrl + \"check/\",\n onStart: activeContestsRequested.type,\n onSuccess: dailyTriviaCheckReceived.type,\n onError: activeContestsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const getContests = createSelector(\n (state) => state.entities.contest,\n (contests) => contests,\n);\n","export const getNumberWithOrdinal = (n) => {\r\n var s = [\"th\", \"st\", \"nd\", \"rd\"],\r\n v = n % 100;\r\n return s[(v - 20) % 10] || s[v] || s[0];\r\n};\r\n\r\nexport const SWEEP_INSTANCES_STATUS = [\r\n \"Inactive\", // Sweepstake has not been activated yet\r\n \"Active\", // Sweepstake is open for users to enter\r\n \"Paused\", // Sweepstake is paused\r\n \"Completed\", // Sweepstake ended and winner's prize was paid out\r\n \"Pending Chainlink\", // Sweepstake ended and random number has been requested,\r\n \"Pending Selecting Winner\", // Random number has been fulfilled by ChainLink, ready to pick winner\r\n \"Pending Setting Winner\", // Winning ticket has been found, ready to set winner\r\n \"Pending Transferring Prize\", // Winning ticket has been found, ready to set winner\r\n \"Canceled\",\r\n \"Expired\",\r\n];\r\n\r\nexport const SWEEP_INSTANCES_TEXTS = {\r\n 0: { heading: \"Sweepstake Paused\", subText: \"\" },\r\n 1: {\r\n heading: \"PROCESSING TRANSACTION\",\r\n subText: \"THIS CAN TAKE UP TO A MINUTE.\",\r\n },\r\n 2: {\r\n heading: \"Sweepstake Paused\",\r\n subText: \"\",\r\n heading2: \"Paused\",\r\n subText2: \"You can access when sweeps is active\",\r\n },\r\n 3: {\r\n heading: \"WINNER SELECTED\",\r\n subText: \"PRIZE AWARDED\",\r\n heading2: \"Prize Awarded\",\r\n subText2: \"The chosen one is here!\",\r\n },\r\n 4: {\r\n heading: \"WINNER SELECTION IN PROGRESS\",\r\n subText: \"\",\r\n heading2: \"Good Luck!\",\r\n subText2: \"Winner selection in progress...\",\r\n },\r\n 5: {\r\n heading: \"WINNER SELECTION IN PROGRESS\",\r\n subText: \"\",\r\n heading2: \"Good Luck!\",\r\n subText2: \"Winner selection in progress...\",\r\n },\r\n 6: {\r\n heading: \"WINNER SELECTION IN PROGRESS\",\r\n subText: \"\",\r\n heading2: \"Good Luck!\",\r\n subText2: \"Winner selection in progress...\",\r\n },\r\n 7: {\r\n heading: \"PENDING REWARD TRANSFER\",\r\n subText: \"\",\r\n heading2: \"\",\r\n subText2: \"Sweepstake Winner Selected\",\r\n },\r\n 8: {\r\n heading: \"Sweepstake Cancelled\",\r\n subText: \"\",\r\n heading2: \"Canceled\",\r\n subText2: \"Sweeps Canceled\",\r\n },\r\n 9: {\r\n heading: \"WINNER SELECTION IN PROGRESS\",\r\n subText: \"\",\r\n heading2: \"Good Luck!\",\r\n subText2: \"Winner selection in progress...\",\r\n },\r\n};\r\n\r\n// Play Pixel Tracking method\r\nexport function loadJS(FILE_URL, async = true) {\r\n let scriptEle = document.createElement(\"script\");\r\n\r\n scriptEle.setAttribute(\"src\", FILE_URL);\r\n scriptEle.setAttribute(\"type\", \"text/javascript\");\r\n scriptEle.setAttribute(\"async\", async);\r\n\r\n document.body.appendChild(scriptEle);\r\n\r\n // success event\r\n scriptEle.addEventListener(\"load\", () => {\r\n // console.log(\"File loaded\");\r\n });\r\n // error event\r\n scriptEle.addEventListener(\"error\", (ev) => {\r\n // console.log(\"Error on loading file\", ev);\r\n });\r\n}\r\n\r\nexport const SWEEPS_RECORDS_PER_PAGE = 4;\r\nexport const CONTESTWINNER_RECORDS_PER_PAGE = window.innerWidth < 767.98 ? 4 : 8;\r\nexport const SWEEPSRULES_RECORDS_PER_PAGE = window.innerWidth < 767.98 ? 4 : 8;\r\n\r\nexport const STRIP_APPEARANCE = {\r\n theme: \"night\",\r\n labels: \"floating\",\r\n variables: {\r\n borderRadius: \"14px\",\r\n colorText: \"#989898\",\r\n fontFamily: \"proxima-nova, sans-serif\",\r\n fontWeightBold: \"500\",\r\n colorBackground: \"#0a0a0a\",\r\n focusBoxShadow: \"none\",\r\n focusOutline: \"#f0982c\",\r\n colorPrimary: \"#b25511\",\r\n colorDanger: \"#d42d2d\",\r\n colorSuccess: \"#369f15\",\r\n colorTextSecondary: \"#989898\",\r\n iconColor: \"#fff\",\r\n gridRowSpacing: \"30px\",\r\n gridColumnSpacing: \"21px\",\r\n },\r\n rules: {\r\n \".Input\": {\r\n borderColor: \"#b25511\",\r\n border: \"2px solid #b25511\",\r\n },\r\n \".Input::placeholder\": {\r\n color: \"#989898\",\r\n },\r\n \".Input:focus\": {\r\n borderColor: \"#b25511\",\r\n border: \"2px solid #b25511\",\r\n },\r\n \".Tab--selected\": {\r\n backgroundColor: \"none\",\r\n outline: \"none\",\r\n border: \"2px solid #b25511\",\r\n },\r\n \".Tab:focus\": {\r\n outline: \"none\",\r\n border: \"2px solid #b25511\",\r\n borderColor: \"#b15310\",\r\n },\r\n \".Tab\": {\r\n outline: \"none\",\r\n border: \"2px solid #b25511\",\r\n borderColor: \"#b15310\",\r\n },\r\n },\r\n};\r\n","import { Link } from \"react-router-dom\";\n\nconst Button = ({ classes, onClick, title, icon, href, target, iconLeft, iconWidth, iconHeight }) => {\n return (\n {\n if (onClick) onClick(e);\n }}\n target={target ?? \"_self\"}\n >\n {iconLeft && (\n \n \"\"\n \n )}\n {title}\n {icon && (\n \n \"\"\n \n )}\n \n );\n};\nexport default Button;\n","import React, { Component, Suspense, lazy } from \"react\";\nimport { setCookie, getCookie } from \"../utils/cookiesUtilities\";\nimport { Link } from \"react-router-dom\";\nimport Skeleton from \"react-loading-skeleton\";\nimport _ from \"lodash\";\nimport LogRocket from \"logrocket\";\nimport { connect } from \"react-redux\";\n\nimport {\n getUser,\n loadProfile,\n signIn,\n checkWallet,\n loadTransactions,\n loadNotifications,\n markNotificationAsRead,\n changeUnreadCount,\n togglePopupRedux,\n toggleHowToPlayRedux,\n toggleDiscordModalRedux,\n loadAvailableTickets,\n togglePurchaseCoinsRedux,\n toggleGoogleAuthUrlLoading,\n toggleFBAuthUrlLoading,\n toggleDiscordAuthUrlLoading,\n} from \"../store/user\";\nimport moment from \"moment\";\nimport { formatDate } from \"../utils/dateConversion\";\nimport { withRouter } from \"../utils/withRouter\";\nimport mixpanel from \"mixpanel-browser\";\n\n// Components\n// import ErrorPopup from \"./errorPopup\";\n// import ConnectPopup from \"./modals/wallet/connectWallet\";\n// import HowItWorks from \"./howItWorks\";\n// import NotificationModal from \"common/modals/notifications/notification.jsx\";\n// import PurchaseCoinsModal from \"./modals/purchaseCoins/purchaseCoinsModal\";\n// import OnboardingModal from \"./modals/onboarding/onboarding\";\n// import ConnectWalletPopup from \"./modals/wallet/connectExternal\";\n\n// import NotificationDropdown from \"./headerNotification\";\nimport { prepareData } from \"./gtmDatalayer\";\n// import DailyCredit from \"./dailyCredits/dailyCredit\";\nimport Button from \"./HeaderButton\";\n\nconst ErrorPopup = lazy(() => import(\"./errorPopup\"));\nconst ConnectPopup = lazy(() => import(\"./modals/wallet/connectWallet\"));\nconst HowItWorks = lazy(() => import(\"./howItWorks\"));\nconst NotificationModal = lazy(() =>\n import(\"common/modals/notifications/notification.jsx\")\n);\nconst PurchaseCoinsModal = lazy(() =>\n import(\"./modals/purchaseCoins/purchaseCoinsModal\")\n);\nconst OnboardingModal = lazy(() => import(\"./modals/onboarding/onboarding\"));\nconst ConnectWalletPopup = lazy(() =>\n import(\"./modals/wallet/connectExternal\")\n);\nconst NotificationDropdown = lazy(() => import(\"./headerNotification\"));\nconst DailyCredit = lazy(() => import(\"./dailyCredits/dailyCredit\"));\n\n// Images\nconst logo =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/burnghost-logo.svg\";\nconst mobLogo =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/bgNewLogo.svg\";\nconst darkLogo =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/burnghostHorizontal.png\";\nconst notificationUnreadIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/notificationActive.svg\";\nconst userIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/user.png\";\nconst adminIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/admin-icon-01.svg\";\nconst notificationIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL +\n \"images/grey-notification-icon.svg\";\nconst chatIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/chat2-icon.svg\";\nconst arcadeCoinIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL +\n \"images/header-subtract-icon-2.svg\";\nconst lootCoinIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL +\n \"images/header-subtract-icon-1.svg\";\nconst xpIcon =\n process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/xp_noborder.svg\";\n\nclass Header extends Component {\n state = {\n loading: false,\n showShadow: false,\n showPopupW: false,\n showLoginPopup: false,\n showHowItWorks: false,\n tokenId: 0,\n showDailyStreak: false,\n showNotifications: false,\n loginLoading: false,\n showSignupModal: false,\n isNotificationOpen: false,\n isChatOpen: false,\n showChat: false,\n showNotificationModal: false,\n onboardingType: \"signup\",\n emptyProfiledata: false,\n };\n\n componentDidMount() {\n let searchParams = new URLSearchParams(this.props.router?.location?.search);\n const referralCode = this.props.router.params.referralCode;\n if (localStorage.getItem(\"x-auth-token\")) {\n const user = JSON.parse(localStorage.getItem(\"userProfile\"));\n if (!user?.userName || !user?.email) {\n this.setState({ emptyProfiledata: true }, () => {\n this.toggleSignup();\n });\n return;\n }\n this.props.loadProfile((res) => {\n if (res.status === 401) window.location.href = \"/\";\n if (res.status === 200) {\n localStorage.setItem(\n \"userProfile\",\n JSON.stringify(res?.data?.userProfile)\n );\n window &&\n window._hsq &&\n window._hsq.push([\n \"identify\",\n {\n email: res?.data?.userProfile.email,\n },\n ]);\n }\n let lastVisit = getCookie(\"lastVisit\") || false;\n if (lastVisit) lastVisit = JSON.parse(lastVisit);\n if (\n !lastVisit ||\n formatDate(moment(), \"YYYY-MM-DD\") !== lastVisit.date ||\n lastVisit.profile !== res.data.userProfile?.id\n ) {\n if (\n process.env.REACT_APP_DAILY_STREAK_BONUS_DISPLAY === \"1\" &&\n localStorage.getItem(\"welcomePopup\")\n ) {\n this.toggleDailyStreak();\n }\n setCookie(\n \"lastVisit\",\n JSON.stringify({\n date: formatDate(moment(), \"YYYY-MM-DD\"),\n profile: res.data.userProfile && res.data.userProfile.id,\n })\n );\n }\n LogRocket.identify(\n res.data.userProfile?.walletAddress,\n res.data.userProfile\n );\n });\n\n this.props.loadNotifications();\n const purchaseModal = searchParams.get(\"purchase\");\n if (purchaseModal) {\n this.props.togglePurchaseCoinsRedux(true);\n }\n } else if (this.props.router?.location?.search) {\n const code = searchParams.get(\"code\");\n const loginModal = searchParams.get(\"login\");\n const registerModal = searchParams.get(\"register\");\n\n if (loginModal) {\n this.setState({ onboardingType: \"login\" }, () => {\n this.toggleSignup();\n });\n } else if (registerModal) {\n this.setState({ onboardingType: \"signup\" }, () => {\n this.toggleSignup();\n });\n }\n if (code) {\n if (localStorage.getItem(\"ssoAuth\") === \"google\") {\n this.props.toggleGoogleAuthUrlLoading(true);\n } else if (localStorage.getItem(\"ssoAuth\") === \"facebook\") {\n this.props.toggleFBAuthUrlLoading(true);\n } else if (localStorage.getItem(\"ssoAuth\") === \"discord\") {\n this.props.toggleDiscordAuthUrlLoading(true);\n }\n this.toggleSignup();\n }\n } else if (referralCode) {\n localStorage.setItem(\"referralCode\", referralCode);\n this.setState({ onboardingType: \"signup\" }, () => {\n this.toggleSignup();\n });\n }\n }\n componentDidUpdate = (prevProps, prevState) => {\n if (\n this.props.getUser.profileLoaded &&\n this.props.getUser.profileLoaded !== prevProps.getUser.profileLoaded\n ) {\n this.props.loadAvailableTickets(() => {});\n }\n const unreadNotifications = this.props.getUser?.notifications?.filter(\n (notif) =>\n !notif.isRead &&\n (notif.type === \"AWARDED\" || notif?.type === \"WINNER\") &&\n notif?.topic !== \"LootBox\"\n );\n if (\n unreadNotifications?.length > 0 &&\n !this.state.showNotificationModal &&\n this.props.getUser.unreadCount > 0 &&\n this.props.page === \"home\" &&\n !localStorage.getItem(\"notificationOpen\")\n ) {\n localStorage.setItem(\"notificationOpen\", true);\n this.toggleNotification(null, true);\n }\n\n if (\n this.props.toggleSignUpFromSlider &&\n this.props.toggleSignUpFromSlider !== prevProps.toggleSignUpFromSlider\n )\n this.toggleSignup();\n if (\n this.props.toggleSignUpFromSlider &&\n this.state.showSignupModal !== prevState.showSignupModal\n ) {\n this.props.setToggle();\n }\n if (\n this.props.router.params.referralCode &&\n window.location.pathname !== \"/\"\n )\n this.props.router.navigate(\"/\", { replace: true });\n };\n\n toggleChatModal = (e) => {\n if (e) e.preventDefault();\n this.setState({ showChat: !this.state.showChat });\n };\n\n toggleNotification = (e, val) => {\n if (e) e.preventDefault();\n this.setState({\n showNotificationModal: val ?? !this.state.showNotificationModal,\n });\n };\n\n closeLoginPopup = () => this.setState({ showLoginPopup: false });\n\n openLoginPopup = () => this.setState({ showLoginPopup: true });\n // Toggle Methods for onboarding flow\n toggleSignup = (e) => {\n if (e) e.preventDefault();\n if (this.state.showSignupModal) {\n this.setState({ onboardingType: \"signup\" });\n }\n this.setState({ showSignupModal: !this.state.showSignupModal });\n };\n\n togglePopupW = (e) => {\n this.setState({\n showPopupW: !this.state.showPopupW,\n });\n };\n\n toggleHowItWorks = (e) => {\n if (process.env.REACT_APP_MIXPANEL === \"1\")\n mixpanel?.track(\"How to play modal_viewed \");\n\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"header_clicks\", // fixed value\n click_text: \"How to play\", // dynamic value\n })\n );\n if (e) e.preventDefault();\n this.setState({\n showHowItWorks: !this.state.showHowItWorks,\n });\n };\n\n toggleDailyStreak = (e) => {\n if (e) e.preventDefault();\n this.setState({\n showDailyStreak: !this.state.showDailyStreak,\n });\n };\n\n componentWillUnmount = () => {\n localStorage.removeItem(\"notificationOpen\");\n };\n disconnect = async () => {\n try {\n this.props.web3Functions.deactivate();\n window.location.href = \"/\";\n } catch (error) {}\n };\n\n render() {\n const { userProfile, connectedWallet } = this.props.getUser.profile;\n const { notifications, unreadCount, profileLoaded, availableTickets } =\n this.props.getUser;\n // const profileLoaded = false;\n return (\n <>\n
0 && \"fixed\"}`}>\n \n
\n }>\n BURN GHOST\"}\n />\n \n }>\n \n !notif.isRead &&\n (notif.type === \"AWARDED\" || notif?.type === \"WINNER\") &&\n notif?.topic !== \"LootBox\"\n )}\n toggleModal={this.toggleNotification}\n />\n \n }>\n this.props.toggleHowToPlayRedux()}\n type=\"onboarding\"\n />\n \n }>\n \n \n }>\n \n this.setState({ showLoginPopup: !this.state.showLoginPopup })\n }\n type=\"connect\"\n openCredits={true}\n />{\" \"}\n \n }>\n \n \n {/* Sign up flow modals */}\n }>\n \n \n }>\n \n \n }>\n \n \n \n );\n }\n}\n\nconst mapDispatchToProps = (dispatch) => ({\n signIn: (data, callback) => dispatch(signIn(data, callback)),\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n loadAvailableTickets: (callback) => dispatch(loadAvailableTickets(callback)),\n loadTransactions: () => dispatch(loadTransactions()),\n loadNotifications: (callback) => dispatch(loadNotifications(callback)),\n checkWallet: (data, callback) => dispatch(checkWallet(data, callback)),\n changeUnreadCount: (data) => dispatch(changeUnreadCount(data)),\n markNotificationAsRead: (data, callback) =>\n dispatch(markNotificationAsRead(data, callback)),\n toggleHowToPlayRedux: (data) => dispatch(toggleHowToPlayRedux(data)),\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n togglePopupRedux: (data) => dispatch(togglePopupRedux(data)),\n togglePurchaseCoinsRedux: (data) => dispatch(togglePurchaseCoinsRedux(data)),\n toggleFBAuthUrlLoading: (data) => dispatch(toggleFBAuthUrlLoading(data)),\n toggleGoogleAuthUrlLoading: (data) =>\n dispatch(toggleGoogleAuthUrlLoading(data)),\n toggleDiscordAuthUrlLoading: (data) =>\n dispatch(toggleDiscordAuthUrlLoading(data)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(Header));\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { createSelector } from \"reselect\";\nimport { apiCallBegan } from \"./api\";\nimport jwt from \"jwt-decode\";\nimport moment from \"moment\";\n\nconst slice = createSlice({\n name: \"sweepstakes\",\n initialState: {\n // Instances\n instances: [],\n instanceDetails: null,\n sweepstakesLeaderBoard: [],\n myInstances: [],\n myInstancesLastKey: null,\n pastInstances: [],\n pastInstancesLastKey: null,\n pastInstancesCount: null,\n\n // loading states\n loading: true,\n leaderBoardLoading: false,\n pastInstanceLoading: false,\n myInstanceLoading: false,\n loadingUpdatedInfo: false,\n lastFetchPastInstances: null,\n },\n\n reducers: {\n sweepsRequested: (misc, action) => {\n misc.loading = true;\n },\n sweepsRequestFailed: (misc, action) => {\n misc.loading = false;\n },\n sweepsUpdatedInfoRequested: (misc, action) => {\n misc.loadingUpdatedInfo = true;\n },\n sweepsUpdatedInfoRequestFailed: (misc, action) => {\n misc.loadingUpdatedInfo = false;\n },\n sweepsLeaderBoardRequestFailed: (misc, action) => {\n misc.leaderBoardLoading = false;\n },\n sweepsLeaderBoardRequested: (misc, action) => {\n misc.leaderBoardLoading = true;\n },\n sweepsPastInstanceRequested: (misc, action) => {\n misc.pastInstanceLoading = true;\n },\n sweepsPastInstanceRequestFailed: (misc, action) => {\n misc.pastInstanceLoading = false;\n },\n\n // Instances\n instancesReceived: (misc, action) => {\n misc.instances = action.payload.data;\n misc.loading = false;\n },\n pastInstancesReceived: (misc, action) => {\n misc.pastInstances = action.payload.data;\n misc.pastInstancesLastKey = action.payload.lastKey;\n misc.pastInstancesCount = action.payload.totalCount;\n misc.pastInstanceLoading = false;\n misc.lastFetchPastInstances = Date.now();\n },\n morePastInstancesReceived: (misc, action) => {\n misc.pastInstances = [...misc.pastInstances, ...action.payload.data];\n misc.pastInstancesLastKey = action.payload.lastKey;\n misc.pastInstanceLoading = false;\n misc.lastFetchPastInstances = Date.now();\n },\n instanceDetailsReceived: (misc, action) => {\n misc.instanceDetails = action.payload.data;\n misc.loading = false;\n misc.loadingUpdatedInfo = false;\n },\n sweepstakesLeaderBoardReceived: (misc, action) => {\n misc.sweepstakesLeaderBoard = action.payload.data;\n misc.leaderBoardLoading = false;\n },\n\n // My Active Instances\n myActiveSweepsRequested: (misc, action) => {\n misc.myInstanceLoading = true;\n },\n myActiveInstancesReceived: (misc, action) => {\n misc.myInstances = action.payload.data;\n misc.myInstancesLastKey = action.payload.lastKey;\n misc.myInstanceLoading = false;\n },\n moreMyActiveInstancesReceived: (misc, action) => {\n misc.myInstances = [...misc.myInstances, ...action.payload.data];\n misc.myInstancesLastKey = action.payload.lastKey;\n misc.myInstanceLoading = false;\n },\n myActiveSweepsRequestFailed: (misc, action) => {\n misc.myInstanceLoading = false;\n },\n },\n});\n\nexport const {\n sweepsRequested,\n sweepsRequestFailed,\n sweepsUpdatedInfoRequested,\n sweepsUpdatedInfoRequestFailed,\n sweepsLeaderBoardRequestFailed,\n sweepsLeaderBoardRequested,\n sweepsPastInstanceRequested,\n sweepsPastInstanceRequestFailed,\n // Instances\n instancesReceived,\n instanceDetailsReceived,\n sweepstakesLeaderBoardReceived,\n myActiveInstancesReceived,\n moreMyActiveInstancesReceived,\n pastInstancesReceived,\n morePastInstancesReceived,\n myActiveSweepsRequested,\n myActiveSweepsRequestFailed,\n} = slice.actions;\nexport default slice.reducer;\n\n// Action Creators\nconst sweepsUrl = \"sweeps/\";\nconst instanceUrl = sweepsUrl + \"instance/\";\n\n// Instances\nexport const loadInstances = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: instanceUrl,\n onStart: sweepsRequested.type,\n onSuccess: instancesReceived.type,\n onError: sweepsRequestFailed.type,\n callback,\n }),\n );\n};\n// Instance Details\nexport const loadInstanceDetails = (slug, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: instanceUrl + slug,\n onStart: sweepsRequested.type,\n onSuccess: instanceDetailsReceived.type,\n onError: sweepsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadUpdatedInstanceInfo = (slug, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: instanceUrl + slug,\n onStart: sweepsUpdatedInfoRequested.type,\n onSuccess: instanceDetailsReceived.type,\n onError: sweepsUpdatedInfoRequestFailed.type,\n callback,\n }),\n );\n};\n// Enter Sweep\nexport const enterSweep = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: instanceUrl + \"enter\",\n data: data,\n callback,\n }),\n );\n};\n// Sweep Leaderboard\nexport const loadSweepstakesLeaderBoard = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: instanceUrl + \"leaderboard/\" + id,\n onStart: sweepsLeaderBoardRequested.type,\n onSuccess: sweepstakesLeaderBoardReceived.type,\n onError: sweepsLeaderBoardRequestFailed.type,\n callback,\n }),\n );\n};\n// My Instances\nexport const loadMyInstances = (params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: instanceUrl + \"my\",\n onStart: myActiveSweepsRequested.type,\n onSuccess: params.lastKey ? moreMyActiveInstancesReceived.type : myActiveInstancesReceived.type,\n onError: myActiveSweepsRequestFailed.type,\n params,\n callback,\n }),\n );\n};\n\n// Past Instances\nexport const loadPastInstances = (params, callback) => (dispatch, getState) => {\n const more = params.more;\n delete params.more;\n const { lastFetchPastInstances } = getState().entities.sweepstakes;\n const diffInMinutes = moment().diff(moment(lastFetchPastInstances), \"minutes\");\n if (diffInMinutes < 10 && !more) return;\n return dispatch(\n apiCallBegan({\n url: sweepsUrl + \"pastInstance\",\n onStart: sweepsPastInstanceRequested.type,\n onSuccess: !more ? pastInstancesReceived.type : morePastInstancesReceived.type,\n onError: sweepsLeaderBoardRequestFailed.type,\n params,\n callback,\n }),\n );\n};\nexport const getSweepStakes = createSelector(\n (state) => state.entities.sweepstakes,\n (sweepstakes) => sweepstakes,\n);\n","import React, { useState } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport OnboardingModal from \"common/modals/onboarding/onboarding\";\n//images\nconst signupBannerImg = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/free-coins-img.png\";\nconst createAccountImg = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/add-friend-icon.svg\";\nconst lootImg = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loot-icon-logo.svg\";\nconst prizesImg = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/ticket-logo.svg\";\n\nconst NonLoggedInPlaceholder = () => {\n const [showSignupModal, setShowSignupModal] = useState(false);\n const [onboardingType, setOnboardingType] = useState(\"login\");\n const navigate = useNavigate();\n return (\n <>\n
\n
\n
\n \"not\n
\n
\n
\n {\n setOnboardingType(\"signup\");\n setShowSignupModal(true);\n }}\n >\n
\n \"\"\n
\n
\n

Create Account

\n

Bonus for new users only

\n
\n
\n {\n navigate(\"/contests\");\n }}\n >\n
\n \"\"\n
\n
\n

Enter Loot Contests

\n

Win tickets from your rank

\n
\n
\n {/* {\n navigate(\"/prizes\");\n }}\n >\n
\n \"\"\n
\n
\n

Win Sweepstakes Prizes

\n

Enter tickets for a shot to win

\n
\n */}\n \n
\n {\n setOnboardingType(\"signup\");\n setShowSignupModal(true);\n }}\n >\n Sign Up\n \n {\n setOnboardingType(\"login\");\n setShowSignupModal(true);\n }}\n >\n SIGN IN\n \n
\n \n setShowSignupModal(false)}\n onboardingType={onboardingType}\n />\n \n );\n};\n\nexport default NonLoggedInPlaceholder;\n","import WidgetBot from \"@widgetbot/react-embed\";\nimport { connect } from \"react-redux\";\nimport { getUser } from \"../../store/user\";\nimport NonLoggedInPlaceholder from \"./nonLoggedInPlaceholder\";\n\nfunction DiscordChatModal(props) {\n const onAPI = (api) => {\n api.on(\"signIn\", (user) => {});\n };\n const url = new URL(process.env.REACT_APP_SITE_URL).hostname;\n const parts = url.split(\".\");\n const server = parts[0];\n const isLoggedIn = localStorage.getItem(\"x-auth-token\");\n\n return (\n <>\n {!isLoggedIn ? (\n \n ) : (\n <>\n {server === \"dev\" || server === \"staging\" || server === \"demo\" ? (\n \n ) : (\n \n )}\n \n )}\n \n );\n}\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default connect(mapStateToProps, null)(DiscordChatModal);\n","import React from \"react\";\n\n//Images\nconst statusIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/warning.svg\";\nconst AlertError = (props) => {\n return (\n <>\n
\n \"\"\n
\n
\n {typeof props.message === \"string\" ? props.message : \"Something went wrong\"}\n
\n \n );\n};\n\nexport default AlertError;\n","import { useEffect, useState } from \"react\";\nimport { Modal } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport Slider from \"react-slick\";\nimport { getCookie } from \"utils/cookiesUtilities\";\n\n// Images\n\nimport { prepareData } from \"common/gtmDatalayer\";\nimport { contestEntry, getUser, loadProfile } from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\n\nconst HowItWorks = ({ showModal, toggleModal, bgGame }) => {\n const themeMode = getCookie(\"themeMode\");\n const [nav1, setNav1] = useState(null);\n const [nav2, setNav2] = useState(null);\n\n useEffect(() => {\n if (showModal) {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"how_to_play\", // fixed value\n section: \"carousel\", // fixed value\n advanmcement: \"button\", // dynamic value\n step: \"1\", // dynamic value\n }),\n );\n }\n }, [showModal]);\n\n const options1 = {\n slidesToShow: 1,\n slidesToScroll: 1,\n arrows: false,\n fade: true,\n dots: true,\n adaptiveHeight: true,\n asNavFor: \".tuts-text-slider\",\n };\n const options2 = {\n slidesToShow: 1,\n slidesToScroll: 1,\n asNavFor: \".tuts-thumbnail-slider\",\n dots: false,\n arrows: false,\n adaptiveHeight: true,\n };\n const { description, desktopImage } = bgGame;\n return (\n <>\n \n
\n setNav1(slider)}\n className=\"pb-0 tuts-thumbnail-slider w-100\"\n {...options1}\n asNavFor={nav2}\n key=\"hiw-slider-3\"\n >\n
\n
\n \"\"\n
\n
\n \n
\n setNav2(slider)}\n {...options2}\n asNavFor={nav1}\n key=\"hiw-slider-4\"\n className=\"pb-0 tuts-text-slider w-100\"\n >\n
\n

How It Works

\n

{description}

\n\n {\n e.preventDefault();\n toggleModal(e);\n }}\n >\n DISMISS\n \n
\n \n
\n
\n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n contestEntry: (data, callback) => dispatch(contestEntry(data, callback)),\n loadProfile: () => dispatch(loadProfile()),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(HowItWorks));\n","import Skeleton from \"react-loading-skeleton\";\nimport { connect } from \"react-redux\";\nimport {\n checkEmail,\n checkUsername,\n contestEntry,\n getUser,\n loadBountyBoxes,\n loadProfile,\n loginUser,\n registerUser,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n toggleHowToPlayRedux,\n toggleHTPRedux,\n togglePopupRedux,\n updateImage,\n verifyOTP,\n} from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\n\n// Images\nconst creditsImage = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loot-arcade-winner-img.png\";\nconst lootIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loot-logo-large.svg\";\nconst arcadeIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/ticketLogo-2.svg\";\n\nconst FreeCredits = ({ toggleModal, getUser, toggleHowToPlayRedux }) => {\n const userProfile = getUser.profile?.userProfile;\n return (\n <>\n
\n
\n
ACCOUNT CREATED
\n
\n
\n
\n
PLAY ON US!
\n
FREE ARCADE COINS & LOOT BUCKS DELIVERED.
\n
\n
\n
\n
\n \"ticketWinner\"\n
\n
\n
\n
\n {getUser.loading ? (\n \n ) : (\n
\n
\n \"ticketLogo2\"\n
\n
\n
{userProfile?.arcadeCoins?.toLocaleString(\"en-us\") ?? 0}
\n
ARCADE COINS
\n
\n
\n )}\n
\n
\n {getUser.loading ? (\n \n ) : (\n
\n
\n \"ticketLogo1\"\n
\n
\n
\n {userProfile?.lootBonusCoins?.toLocaleString(undefined, {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2,\n }) ?? 0}\n
\n
FREE LOOT Bucks
\n
\n
\n )}\n
\n
\n
\n
\n

\n Now it’s time to show the community what you’ve got! Enter contests to rank the leaderboard & win prizes.\n

\n
\n
\n
\n {\n e.preventDefault();\n toggleHowToPlayRedux(true);\n // togglePopupRedux(true);\n toggleModal();\n }}\n >\n Continue\n \n
\n
\n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n contestEntry: (data, callback) => dispatch(contestEntry(data, callback)),\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n loginUser: (data, callback) => dispatch(loginUser(data, callback)),\n verifyOTP: (data, callback) => dispatch(verifyOTP(data, callback)),\n checkUsername: (data, callback) => dispatch(checkUsername(data, callback)),\n checkEmail: (data, callback) => dispatch(checkEmail(data, callback)),\n updateImage: (data, callback) => dispatch(updateImage(data, callback)),\n registerUser: (data, callback) => dispatch(registerUser(data, callback)),\n resendOTP: (data, callback) => dispatch(resendOTP(data, callback)),\n resetPassword: (data, callback) => dispatch(resetPassword(data, callback)),\n togglePopupRedux: (data) => dispatch(togglePopupRedux(data)),\n toggleHTPRedux: (data) => dispatch(toggleHTPRedux(data)),\n toggleHowToPlayRedux: (data) => dispatch(toggleHowToPlayRedux(data)),\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n loadBountyBoxes: (callback) => dispatch(loadBountyBoxes(callback)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(FreeCredits));\n","export const setToken = (refresh, auth) => {\n if (refresh) localStorage.setItem(\"x-refresh-token\", refresh);\n localStorage.setItem(\"x-auth-token\", auth);\n};\n\nexport const getToken = (type) => {\n if (type === \"refresh\") return localStorage.getItem(\"x-refresh-token\");\n if (type === \"auth\") return localStorage.getItem(\"x-auth-token\");\n return false;\n};\n\nexport const clearAllToken = () => {\n localStorage.clear();\n};\n\nexport const setProfile = (data) => {\n localStorage.setItem(\"data\", JSON.stringify(data));\n};\nexport const getProfile = () => {\n return JSON.parse(localStorage.getItem(\"data\"));\n};\n","import React, { useState } from \"react\";\nimport { Dropdown } from \"react-bootstrap\";\n\nconst DateDropDown = ({ onChangeDate }) => {\n const dayOptions = Array(31)\n .fill()\n .map((_, i) => ({ name: (i + 1).toString(), value: i + 1 }));\n const monthOptions = [\n { name: \"Jan\", value: 1 },\n { name: \"Feb\", value: 2 },\n { name: \"Mar\", value: 3 },\n { name: \"Apr\", value: 4 },\n { name: \"May\", value: 5 },\n { name: \"Jun\", value: 6 },\n { name: \"Jul\", value: 7 },\n { name: \"Aug\", value: 8 },\n { name: \"Sep\", value: 9 },\n { name: \"Oct\", value: 10 },\n { name: \"Nov\", value: 11 },\n { name: \"Dec\", value: 12 },\n ];\n const generateArrayOfYears = () => {\n const max = new Date().getFullYear();\n const min = max - 100;\n const years = [];\n\n for (var i = max; i >= min; i--) {\n years.push({ name: i, value: i });\n }\n return years;\n };\n const [day, setDay] = useState({});\n const [month, setMonth] = useState({});\n const [year, setYear] = useState({});\n\n const onChangeDay = ({ value, name }) => {\n setDay({ value, name });\n onChangeDate({ target: { name: \"date\", value: { years: year?.value, months: month?.value - 1, days: value } } });\n };\n const lastDayOfMonth = (month, year) => {\n const date = new Date();\n let d = 31;\n if (!isNaN(month)) {\n if (isNaN(year)) d = new Date(date.getFullYear(), parseInt(month), 0).getDate();\n else d = new Date(parseInt(year), parseInt(month), 0).getDate();\n }\n return d;\n };\n const lastMonthOfYear = (year) => {\n const date = new Date();\n let d = 12;\n\n if (!isNaN(year) && date.getFullYear() === year) d = date.getMonth() + 1;\n\n return d;\n };\n const onChangeMonth = ({ value, name }) => {\n const lastDay = lastDayOfMonth(value, year?.value);\n if (!isNaN(day?.value) && lastDay < day?.value) setDay({});\n setMonth({ value, name });\n onChangeDate({ target: { name: \"date\", value: { years: year?.value, months: value - 1, days: day?.value } } });\n };\n const onChangeYear = ({ value, name }) => {\n const lastDay = lastDayOfMonth(month?.value, value);\n if (!isNaN(day?.value) && lastDay < day?.value) setDay({});\n const lastMonth = lastMonthOfYear(value);\n if (!isNaN(month?.value) && lastMonth < month?.value) setMonth({});\n setYear({ value, name });\n onChangeDate({ target: { name: \"date\", value: { years: value, months: month?.value - 1, days: day?.value } } });\n };\n return (\n
\n
\n
\n \n \n {day?.name}\n \n \n {dayOptions.slice(0, lastDayOfMonth(month?.value, year?.value)).map(({ value, name }) => (\n onChangeDay({ value, name })}>{name}\n ))}\n \n \n
\n
\n
\n
\n \n \n {month?.name}\n \n \n {monthOptions?.slice(0, lastMonthOfYear(year?.value)).map(({ value, name }) => (\n onChangeMonth({ value, name })}>{name}\n ))}\n \n \n
\n
\n
\n
\n \n \n {year?.name}\n \n \n {generateArrayOfYears().map(({ value, name }) => (\n onChangeYear({ value, name })}>{name}\n ))}\n \n \n
\n
\n
\n );\n};\n\nexport default DateDropDown;\n","import _ from \"lodash\";\nimport mixpanel from \"mixpanel-browser\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n checkEmail,\n checkUsername,\n contestEntry,\n getUser,\n loadBountyBoxes,\n loadProfile,\n loginUser,\n registerUser,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n toggleHowToPlayRedux,\n toggleHTPRedux,\n togglePopupRedux,\n updateImage,\n verifyOTP,\n} from \"store/user\";\nimport { getCookie } from \"utils/cookiesUtilities\";\nimport { setToken } from \"utils/localStorageServices\";\nimport { loadJS } from \"utils/misc\";\nimport { withRouter } from \"utils/withRouter\";\n\n// Components\nimport AlertError from \"common/alert/alertError\";\nimport DateDropDown from \"common/dateDropDown\";\nimport moment from \"moment\";\nimport { toast } from \"react-toastify\";\nimport { dateAsUtc } from \"utils/dateConversion\";\nimport { verisoulSessionId } from \"utils/verisoulUtils\";\nimport ErrorPopup from \"../../errorPopup\";\nimport { prepareData } from \"../../gtmDatalayer\";\nimport LoaderImg from \"../../loaderImag\";\n\n// Images\nconst logo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/bgNewLogo.svg\";\nconst closeIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/close-icon.svg\";\nconst mailIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/mail-ad-icon.svg\";\nconst usernameIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/username.svg\";\nconst passwordIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/password.svg\";\nconst eyeIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/eye.svg\";\nconst loader = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loader-grey.svg\";\nconst eyeOffIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/eye-off.svg\";\nconst creditImage = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/credit-image-20.jpg\";\nconst creditIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/credit-icon.svg\";\n\nconst HowItWorks = (props) => {\n const {\n showModal,\n toggleModal,\n getUser,\n loginUser,\n registerUser,\n verifyOTP,\n loadProfile,\n updateImage,\n checkEmail,\n checkUsername,\n toggleHowToPlayRedux,\n toggleHTPRedux,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n onboardingType = \"login\",\n loadBountyBoxes,\n setTab,\n walletDetails,\n } = props;\n const aRef = useRef();\n const bRef = useRef();\n const cRef = useRef();\n const dRef = useRef();\n const eRef = useRef();\n\n // Component States\n const [data, setData] = useState({\n email: \"\",\n password: \"\",\n cPassword: \"\",\n userName: \"\",\n verificationCode1: \"\",\n verificationCode2: \"\",\n verificationCode3: \"\",\n verificationCode4: \"\",\n date: {},\n term: false,\n });\n\n const handleCheck = (e) => {\n const { name, checked } = e;\n const newData = structuredClone(data);\n const newError = structuredClone(errors);\n newData[name] = checked;\n if (checked) delete newError[name];\n setData(newData);\n\n setErrors(newError);\n };\n\n const onChange = async (e) => {\n const { name, value } = e.target;\n const newErr = type === \"login\" ? {} : structuredClone(errors);\n const otp = structuredClone(data);\n if (type === \"resetPassword2\" && name === \"password\") delete newErr.cPassword;\n if (\n name.includes(\"verificationCode\") &&\n ((value !== \"\" && otp[name] !== \"\") || (value !== \"\" && isNaN(parseInt(value))))\n )\n return;\n delete newErr[name];\n\n otp[name] = value;\n if (otp[name] !== \"\") {\n setData(otp);\n if (name === \"verificationCode1\") bRef.current.focus();\n if (name === \"verificationCode2\") cRef.current.focus();\n if (name === \"verificationCode3\") dRef.current.focus();\n if (name === \"verificationCode4\") eRef.current.focus();\n } else {\n setData(otp);\n }\n setErrors(newErr);\n };\n const onChange2 = async (e) => {\n const { name, value } = e.target;\n const newErr = structuredClone(errors);\n const otp = structuredClone(data);\n if ((value !== \"\" && otp[name] !== \"\") || (value !== \"\" && isNaN(parseInt(value)))) return;\n delete newErr[name];\n\n let multiVal = value?.split(\"\");\n if (value === \"\") {\n otp[name] = \"\";\n setData(otp);\n } else if (name === \"verificationCode1\" && value?.length > 1) {\n let multiVal = value?.split(\"\");\n otp.verificationCode1 = multiVal[0];\n otp.verificationCode2 = multiVal[1];\n otp.verificationCode3 = multiVal[2];\n otp.verificationCode4 = multiVal[3];\n eRef.current.focus();\n setData(otp);\n } else if (value?.length > 1) {\n otp[name] = multiVal[0];\n } else if (value?.length === 1) {\n otp[name] = value;\n setData(otp);\n if (name === \"verificationCode1\") bRef.current.focus();\n if (name === \"verificationCode2\") cRef.current.focus();\n if (name === \"verificationCode3\") dRef.current.focus();\n if (name === \"verificationCode4\") eRef.current.focus();\n } else {\n setData(otp);\n }\n setErrors(newErr);\n };\n const onChangeDate = (e) => {\n const { name, value } = e.target;\n const newErr = structuredClone(errors);\n const newData = structuredClone(data);\n delete newErr[name];\n newData[name] = value;\n\n if (value?.days && !isNaN(value?.months) && value?.years && moment().diff(moment(value), \"years\") < 18)\n newErr[name] = \"You must be 18 or older to create an account\";\n setData(newData);\n setErrors(newErr);\n };\n const [errors, setErrors] = useState({});\n const [type, setType] = useState(onboardingType ?? \"signup\");\n const [type2, setType2] = useState(\"\");\n const [showPass, setShowPass] = useState(false);\n const [showPass2, setShowPass2] = useState(false);\n const [loading, setLoading] = useState(false);\n const [loadingEmail, setLoadingEmail] = useState(false);\n const [loadingUsername, setLoadingUsername] = useState(false);\n const [loadingResendCode, setLoadingResendCode] = useState(false);\n const [showError, setShowError] = useState(false);\n const [isValidEmail, setIsValidEmail] = useState(false);\n const [isValidUserName, setIsValidUserName] = useState(false);\n const [isVerificationComplete, setIsVerificationComplete] = useState(false);\n const [otpSent, setOtpSent] = useState(false);\n const [finishSetup, setFinishSetup] = useState(false);\n\n // All useEffects for data re-rendering\n useEffect(() => {\n if (showModal) {\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n if (type === \"signup\") mixpanel.track(\"View email registration form\");\n if (type === \"login\") mixpanel.track(\"View login form \");\n }\n const { profile } = getUser;\n const { userProfile } = profile;\n if (!userProfile || !userProfile.walletAddress) {\n setType(onboardingType);\n }\n if (!_.isEmpty(userProfile)) {\n toggleModal();\n } else if (userProfile?.walletAddress) toggleModal();\n } else {\n clearData();\n }\n }, [showModal]);\n\n useEffect(() => {\n setErrors({});\n setIsValidEmail(false);\n setIsValidUserName(false);\n if (process.env.REACT_APP_MIXPANEL === \"1\" && showModal) {\n if (type === \"signup\") mixpanel.track(\"View registration Form\");\n if (type === \"verify\") mixpanel.track(\"View verification code prompt\");\n }\n if (process.env.REACT_APP_GA === \"1\" && showModal) {\n if (type === \"verify\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"View verification code prompt\",\n }),\n );\n }\n }\n }, [type]);\n\n useEffect(() => {\n if (data.verificationCode1 && data.verificationCode2 && data.verificationCode3 && data.verificationCode4) {\n delete errors.verificationCode;\n }\n }, [data.verificationCode1, data.verificationCode2, data.verificationCode3, data.verificationCode4]);\n\n // Switch case method to get the title of the flyer\n const getTitle = () => {\n switch (type) {\n case \"signup\":\n return finishSetup ? \"Finish Setup\" : \"Create Account\";\n case \"resetPassword\":\n return \"Reset Password\";\n case \"resetPassword2\":\n return \"Reset Password\";\n case \"verify\":\n return isVerificationComplete ? \"Verification Complete\" : \"Verify Email Address\";\n default:\n return \"Login Now\";\n }\n };\n\n // Switch case method to get the sub-title of the flyer\n const getSubTitle = () => {\n switch (type) {\n case \"signup\":\n return \"Create an account in just a few clicks to reserve your place in the metaverse. \";\n case \"resetPassword\":\n return \"Enter your user account's verified email address and we will send you a four digit verification code.\";\n case \"resetPassword2\":\n return \"Enter your new password\";\n case \"verify\":\n return type2 === \"resetPassword\"\n ? \"Enter the 4 digit code that was delivered to your email to finish resetting your password. This code will expire in 15 minutes.\"\n : isVerificationComplete\n ? \"Play your first few games on us!\"\n : \"Enter the 4 digit code that was delivered to your email to finish setting up your account. This code will expire in 15 minutes.\";\n default:\n return \"Enter your username (or email address) & password to login.\";\n }\n };\n\n // Method to clear all the states\n const clearData = () => {\n setData({\n term: false,\n email: \"\",\n password: \"\",\n userName: \"\",\n verificationCode1: \"\",\n verificationCode2: \"\",\n verificationCode3: \"\",\n verificationCode4: \"\",\n date: {},\n });\n setIsVerificationComplete(false);\n setErrors({});\n setType(\"signup\");\n setShowPass(false);\n setLoading(false);\n setLoadingEmail(false);\n setLoadingUsername(false);\n setShowError(false);\n setIsValidEmail(false);\n setIsValidUserName(false);\n setType2(\"\");\n setShowPass2(false);\n setOtpSent(false);\n };\n\n // On Clicking on submit buttons data validation is done and api is called\n const handleSubmit = async (e) => {\n if (e) e.preventDefault();\n if (loading || loadingUsername || loadingEmail) return;\n let newErrors = structuredClone(errors);\n var mailformat =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n // Validations of the data\n if (type === \"verify\") {\n if (!data.verificationCode1 || !data.verificationCode2 || !data.verificationCode3 || !data.verificationCode4) {\n newErrors.verificationCode = \"Please enter the 4 digit code sent to your email address\";\n }\n } else if (type === \"resetPassword\") {\n if (_.isEmpty(data.email)) {\n newErrors.email = \"Email is required\";\n }\n if (data.email && !mailformat.test(data.email)) {\n newErrors.email = \"Email is invalid\";\n }\n } else if (type === \"resetPassword2\") {\n if (_.isEmpty(data.password)) {\n newErrors.password = \"Password is required\";\n }\n if (data.password && data.password.length < 6) newErrors.password = \"Password must be at least 6 characters\";\n if (data.cPassword !== data.password) {\n newErrors.cPassword = \"Passwords do not match\";\n }\n } else {\n if (_.isEmpty(data.userName))\n newErrors.userName = type === \"login\" ? \"Username or email is required\" : \"Username is required\";\n\n if (type === \"signup\") {\n if (_.isEmpty(data.email)) {\n newErrors.email = \"Email is required\";\n }\n if (data.email && !mailformat.test(data.email)) {\n newErrors.email = \"Email is invalid\";\n }\n\n if (finishSetup) {\n if (!data.term) {\n newErrors.term = \"Please agree to the Burn Ghost Terms of Service\";\n }\n if (!data?.date?.days || isNaN(data?.date?.months) || !data?.date?.years)\n newErrors.date = \"Date of birth is required\";\n else if (moment().diff(moment(data?.date), \"years\") < 18)\n newErrors.date = \"You must be 18 or older to create an account\";\n }\n }\n if (_.isEmpty(data.password) && _.isEmpty(walletDetails)) {\n newErrors.password = \"Password is required\";\n }\n if (type === \"signup\" && data.password && data.password.length < 6)\n newErrors.password = \"Password must be at least 6 characters\";\n }\n\n if (!_.isEmpty(newErrors)) {\n if (type === \"signup\") {\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Submit registration form_failure\",\n }),\n );\n }\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"Submit registration form_failure\");\n }\n return setErrors(newErrors);\n }\n setLoading(true);\n\n const { email, password, userName } = data;\n if (type === \"login\") {\n const sessionId = await verisoulSessionId();\n loginUser({ userName: userName.toLowerCase(), password, sessionId }, (loginRes) => {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"login\", // fixed value\n }),\n );\n if (loginRes.status === 200) {\n toggleModal();\n\n localStorage.setItem(\"userProfile\", JSON.stringify(loginRes.data.userProfile));\n\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"Login\", { Type: \"email\" });\n mixpanel.identify(loginRes?.data?.userProfile?.id);\n }\n setToken(false, loginRes.data.jwtToken);\n loadProfile((res) => {\n if (res?.data?.connectedWallet?.walletAddress) {\n loadBountyBoxes();\n }\n });\n window.innerWidth > 1280.98 && toggleDiscordModalRedux(true);\n } else {\n newErrors.password = loginRes.data.message;\n setErrors(newErrors);\n }\n setLoading(false);\n });\n } else if (type === \"signup\") {\n if (finishSetup) {\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"Submit registration form_successful\");\n }\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Submit email registration form_successful\",\n }),\n );\n }\n const sessionId = await verisoulSessionId();\n const referralCode = localStorage.getItem(\"referralCode\");\n const context = {\n hutk: getCookie(\"hubspotutk\"),\n pageUri: window?.location?.host,\n pageName: document?.title,\n };\n const payload = {\n email,\n userName: userName.toLocaleLowerCase(),\n dateOfBirth: parseInt(dateAsUtc(data?.date, \"x\")),\n sessionId,\n context,\n ...walletDetails,\n };\n if (password) {\n payload.password = password;\n }\n if (referralCode) {\n payload.referralCode = referralCode;\n }\n registerUser(payload, (signupRes) => {\n if (signupRes.status === 200) {\n localStorage.setItem(\"signup-token\", signupRes.data.token);\n setType(\"verify\");\n } else {\n toast(\n ,\n );\n toggleModal();\n newErrors.date = signupRes.data.message;\n setErrors(newErrors);\n }\n setFinishSetup(false);\n setLoading(false);\n });\n } else {\n setFinishSetup(true);\n setLoading(false);\n }\n } else if (type === \"verify\" || type === \"resetPassword2\") {\n const otp = data.verificationCode1 + data.verificationCode2 + data.verificationCode3 + data.verificationCode4;\n var payLoad = {\n otp: parseInt(otp),\n token: localStorage.getItem(\"signup-token\"),\n type:\n type === \"verify\" && type2 === \"resetPassword\"\n ? \"verifyOtp\"\n : type === \"resetPassword2\"\n ? \"resetPassword\"\n : type2 === \"resetPassword\"\n ? \"verifyOtp\"\n : \"registration\",\n };\n if (type === \"resetPassword2\") payLoad.password = password;\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"Submit verification code_successful\");\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Submit verification code_successful\",\n }),\n );\n }\n verifyOTP(payLoad, (verifyRes) => {\n if (verifyRes.status === 200 && type2 !== \"resetPassword\") {\n // setIsVerificationComplete(true);\n setToken(false, verifyRes.data.jwtToken);\n localStorage.setItem(\"userProfile\", JSON.stringify(verifyRes.data.userProfile));\n\n if (process.env.REACT_APP_GA === \"1\") {\n loadJS(\"https://track.playcradle.com/static/burnghost_tracking_min.js\", true);\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"create account\",\n }),\n );\n window.dataLayer.push(\n prepareData({\n event: \"Create account_email\",\n }),\n );\n }\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel.identify(verifyRes?.data?.userProfile?.id);\n // Track an event. It can be anything, but in this example, we're tracking a Signed Up event.\n // Include a property about the signup, like the Signup Type\n mixpanel?.track(\"Create Account\", { Type: \"email\" });\n mixpanel?.track(\"Create account_email\");\n }\n\n updateImage(\n {\n image: `Avatars/${Math.floor(Math.random() * 140) + 1}.png`,\n },\n () => {\n toggleHTPRedux(true);\n loadProfile((loginRes) => {\n if (loginRes.status === 200) {\n localStorage.setItem(\"userProfile\", JSON.stringify(loginRes.data.userProfile));\n }\n });\n if (verifyRes.data?.userProfile?.arcadeCoins > 0 || verifyRes.data?.userProfile?.lootBonusCoins > 0)\n setTab(5);\n else {\n // togglePopupRedux(true);\n toggleHowToPlayRedux(true);\n toggleModal();\n }\n window.innerWidth > 1280.98 && toggleDiscordModalRedux(true);\n // toggleModal(e);\n setLoading(false);\n },\n );\n } else if (type === \"resetPassword2\" && verifyRes.status === 200) {\n clearData();\n setLoading(false);\n setType(\"login\");\n } else if (verifyRes.status === 200) {\n setType(\"resetPassword2\");\n localStorage.setItem(\"reset-otp\", otp);\n setLoading(false);\n } else {\n if (type === \"resetPassword2\") newErrors.cPassword = verifyRes.data.message;\n else newErrors.verificationCode = verifyRes.data.message;\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"Submit verification code_invalid code\");\n mixpanel?.track(\"create account_email_failure\");\n mixpanel?.track(\"create account_failure\");\n }\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Create Account_failure\",\n }),\n );\n window.dataLayer.push(\n prepareData({\n event: \"create account_email_failure\",\n }),\n );\n window.dataLayer.push(\n prepareData({\n event: \"Submit verification code_error\",\n }),\n );\n }\n\n setErrors(newErrors);\n setLoading(false);\n }\n });\n } else if (type === \"resetPassword\") {\n resetPassword({ email }, (resetRes) => {\n if (resetRes.status === 200) {\n localStorage.setItem(\"signup-token\", resetRes.data.token);\n setType(\"verify\");\n setType2(\"resetPassword\");\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"Recover password\");\n } else {\n newErrors.email = resetRes.data.message;\n setErrors(newErrors);\n setLoadingEmail(false);\n setLoadingUsername(false);\n }\n setLoading(false);\n });\n }\n };\n\n // Resend OTP method\n const resendCode = (e) => {\n if (e) e.preventDefault();\n setLoadingResendCode(true);\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"Resend verification code _clicked\");\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Resend verification code _clicked\",\n }),\n );\n }\n resendOTP(\n {\n token: localStorage.getItem(\"signup-token\"),\n type: type2 ? type2 : \"registration\",\n },\n (otpRes) => {\n localStorage.setItem(\"signup-token\", otpRes.data.token);\n setLoadingResendCode(false);\n setOtpSent(true);\n setData({\n ...data,\n verificationCode1: \"\",\n verificationCode2: \"\",\n verificationCode3: \"\",\n verificationCode4: \"\",\n });\n setErrors({});\n },\n );\n };\n\n // Method to check if email is valid or not\n const checkEmailValidity = (email) => {\n const newErrors = structuredClone(errors);\n\n if (!_.isEmpty(email)) {\n var mailformat =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (!mailformat.test(email)) {\n newErrors.email = \"Email is invalid\";\n return setErrors(newErrors);\n }\n setLoadingEmail(true);\n checkEmail({ email }, (emailRes) => {\n if (emailRes.status === 200) {\n setIsValidEmail(true);\n } else {\n setIsValidEmail(false);\n if (emailRes.data.message === '\"\"email\" must be a valid email\"') {\n newErrors.email = \"Email is invalid\";\n } else newErrors.email = emailRes.data.message;\n setErrors(newErrors);\n }\n setLoadingEmail(false);\n });\n }\n };\n\n const checkEmailValidity2 = (email) => {\n const newErrors = structuredClone(errors);\n\n if (!_.isEmpty(email)) {\n var mailformat =\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n if (!mailformat.test(email)) {\n newErrors.email = \"Email is invalid\";\n return setErrors(newErrors);\n }\n }\n };\n\n // Method to check if username is valid or not\n const checkUsernameValidity = (userName) => {\n if (type === \"signup\" && !_.isEmpty(userName)) {\n setLoadingUsername(true);\n checkUsername({ userName }, (usernameRes) => {\n const newErrors = structuredClone(errors);\n if (usernameRes.status === 200) {\n setIsValidUserName(true);\n } else {\n newErrors.userName = usernameRes.data.message;\n setErrors(newErrors);\n setIsValidUserName(false);\n }\n setLoadingUsername(false);\n });\n }\n };\n\n // JSX starts here\n return (\n <>\n {\n if (isVerificationComplete) {\n toggleHTPRedux(true);\n // togglePopupRedux(true);\n }\n toggleModal(e);\n }}\n >\n \"\"\n \n
\n
\n \"\"\n
{getTitle()}
\n

{!finishSetup && getSubTitle()}

\n
\n {!isVerificationComplete ? (\n
\n {/* username */}\n {!finishSetup && type !== \"verify\" && type !== \"resetPassword\" && type !== \"resetPassword2\" && (\n \n
\n
\n \"\"\n
\n {\n checkUsernameValidity(e.target.value);\n }}\n maxLength={type === \"signup\" ? 15 : false}\n value={data.userName}\n />\n \"\"\n
\n {errors.userName &&
{errors.userName}
}\n
\n )}\n {/* email */}\n {type === \"signup\" && !finishSetup && (\n \n
\n
\n \"\"\n
\n {\n checkEmailValidity(e.target.value);\n }}\n />{\" \"}\n \"\"\n
\n {errors.email &&
{errors.email}
}\n
\n )}\n {/* password */}\n {(type === \"login\" ||\n (type === \"signup\" && !finishSetup && _.isEmpty(walletDetails)) ||\n type === \"resetPassword2\") && (\n
\n
\n
\n \"\"\n
\n
\n \n {\n e.preventDefault();\n setShowPass(!showPass);\n }}\n >\n \"\"\n
\n
\n
{\" \"}\n {errors.password &&
{errors.password}
}\n \n )}\n {type === \"verify\" && (\n
\n
\n
\n \n
\n
\n \n
\n
\n \n
\n
\n \n
\n {errors.verificationCode && (\n
{errors.verificationCode}
\n )}\n
\n
\n )}\n {finishSetup && (\n
\n
Date of Birth
\n \n {errors.date &&
{errors.date}
}\n
\n )}\n {type === \"signup\" && finishSetup && (\n
\n
\n handleCheck({ name: \"term\", checked: !data.term })}\n checked={data.term}\n />\n \n
\n
\n )}\n {type === \"resetPassword\" && (\n \n
\n
\n \"\"\n
\n {\n checkEmailValidity2(e.target.value);\n setErrors({});\n }}\n />{\" \"}\n \"\"\n
\n {errors.email &&
{errors.email}
}\n \n )}\n {type === \"resetPassword2\" && (\n
\n
\n
\n \"\"\n
\n
\n \n {\n e.preventDefault();\n setShowPass2(!showPass2);\n }}\n >\n \"\"\n
\n
\n
{\" \"}\n {errors.cPassword &&
{errors.cPassword}
}\n \n )}\n\n
\n \n {loading ? (\n \n ) : type === \"signup\" ? (\n \"Agree and Create Account\"\n ) : type === \"login\" ? (\n \"Login Now\"\n ) : type === \"resetPassword\" ? (\n \"Send Password Reset Email\"\n ) : type === \"resetPassword2\" ? (\n \"Reset Password\"\n ) : (\n \"Confirm\"\n )}\n \n
\n \n ) : (\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n
\n
\n \"\" {isVerificationComplete} CREDITS\n
\n
ADDed TO YOUR ACCOUNT
\n
\n
\n
\n )}\n\n {!isVerificationComplete ? (\n
\n {type === \"signup\" && (\n \n Existing Account?{\" \"}\n {\n e.preventDefault();\n setType(\"login\");\n }}\n >\n {\" \"}\n Login\n {\" \"}\n \n )}\n {type === \"login\" && (\n <>\n \n Don’t have an account?{\" \"}\n {\n e.preventDefault();\n setData({\n email: \"\",\n password: \"\",\n cPassword: \"\",\n userName: \"\",\n verificationCode1: \"\",\n verificationCode2: \"\",\n verificationCode3: \"\",\n verificationCode4: \"\",\n term: false,\n date: {},\n });\n setType(\"signup\");\n }}\n >\n {\" \"}\n Create Account\n {\" \"}\n \n \n Forgot Password?{\" \"}\n {\n e.preventDefault();\n setType(\"resetPassword\");\n }}\n >\n {\" \"}\n Reset Password\n {\" \"}\n \n \n )}\n {type === \"verify\" && (\n \n {otpSent ? (\n Your code has been resent\n ) : (\n <>\n Didn’t receive a code?{\" \"}\n {loadingResendCode ? (\n \n ) : (\n \n {\" \"}\n Resend Code\n \n )}{\" \"}\n \n )}\n \n )}\n
\n ) : (\n <>\n
\n {\n toggleHTPRedux(true);\n // togglePopupRedux(true);\n toggleModal(e);\n }}\n >\n Continue\n \n
\n \n )}\n \n\n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n contestEntry: (data, callback) => dispatch(contestEntry(data, callback)),\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n loginUser: (data, callback) => dispatch(loginUser(data, callback)),\n verifyOTP: (data, callback) => dispatch(verifyOTP(data, callback)),\n checkUsername: (data, callback) => dispatch(checkUsername(data, callback)),\n checkEmail: (data, callback) => dispatch(checkEmail(data, callback)),\n updateImage: (data, callback) => dispatch(updateImage(data, callback)),\n registerUser: (data, callback) => dispatch(registerUser(data, callback)),\n resendOTP: (data, callback) => dispatch(resendOTP(data, callback)),\n resetPassword: (data, callback) => dispatch(resetPassword(data, callback)),\n togglePopupRedux: (data) => dispatch(togglePopupRedux(data)),\n toggleHTPRedux: (data) => dispatch(toggleHTPRedux(data)),\n toggleHowToPlayRedux: (data) => dispatch(toggleHowToPlayRedux(data)),\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n loadBountyBoxes: (callback) => dispatch(loadBountyBoxes(callback)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(HowItWorks));\n","import React, { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n getUser,\n loadGoogleAuthURL,\n authorizeGoogleCode,\n toggleGoogleAuthUrlLoading,\n loadProfile,\n loadBountyBoxes,\n loadFBAuthURL,\n authorizeFBCode,\n toggleFBAuthUrlLoading,\n loadDiscordAuthURL,\n authorizeDiscordCode,\n toggleDiscordAuthUrlLoading,\n toggleHTPRedux,\n loadWalletMessageToSign,\n} from \"store/user\";\nimport { useNavigate, useSearchParams } from \"react-router-dom\";\nimport { setToken } from \"utils/localStorageServices\";\nimport mixpanel from \"mixpanel-browser\";\nimport { getCookie } from \"utils/cookiesUtilities\";\n\n// Components\nimport ErrorPopup from \"../../errorPopup\";\nimport { prepareData } from \"common/gtmDatalayer\";\nimport { verisoulSessionId } from \"utils/verisoulUtils\";\n\n// Images\nconst googleIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/google-icon__1.svg\";\nconst fbIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/facebook__logo__1.svg\";\nconst wallet1 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/t-mode-2.svg\";\nconst discordIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/discord.svg\";\nconst emailIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/email-icon__91.svg\";\nconst loaderIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loader-svg.svg\";\nconst closeIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/close-icon.svg\";\nconst bgLogo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/bgNewLogo.svg\";\nconst OnboardingOptions = ({\n setTab,\n loadGoogleAuthURL,\n getUser,\n authorizeGoogleCode,\n toggleGoogleAuthUrlLoading,\n toggleModal,\n loadProfile,\n loadBountyBoxes,\n loadFBAuthURL,\n authorizeFBCode,\n toggleFBAuthUrlLoading,\n loadDiscordAuthURL,\n authorizeDiscordCode,\n toggleDiscordAuthUrlLoading,\n toggleHTPRedux,\n setNewAcc,\n onboardingType,\n loadWalletMessageToSign,\n}) => {\n const [showError, setShowError] = useState(false);\n const [showErrorTitle, setShowErrorTitle] = useState(false);\n const [searchParams] = useSearchParams();\n const navigate = useNavigate();\n\n useEffect(() => {\n const code = searchParams.get(\"code\");\n\n const fn = (event) => {\n if (code) {\n (async () => {\n const sessionId = await verisoulSessionId();\n const referralCode = localStorage.getItem(\"referralCode\");\n const context = {\n hutk: getCookie(\"hubspotutk\"),\n pageUri: window?.location?.host,\n pageName: document?.title,\n };\n const payload = { code, sessionId, context };\n if (referralCode) {\n payload.referralCode = referralCode;\n }\n if (localStorage.getItem(\"ssoAuth\") === \"google\") {\n authorizeGoogleCode(payload, callback);\n } else if (localStorage.getItem(\"ssoAuth\") === \"facebook\") {\n authorizeFBCode(payload, callback);\n } else if (localStorage.getItem(\"ssoAuth\") === \"discord\") {\n authorizeDiscordCode(payload, callback);\n } else {\n window.location.href = \"/\";\n }\n })();\n }\n };\n window.addEventListener(\"load\", fn);\n return () => window.removeEventListener(\"load\", fn);\n }, []);\n\n useEffect(() => {\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"View SSO form\");\n }\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"View SSO form\",\n }),\n );\n }\n }, []);\n\n const callback = (loginRes) => {\n toggleGoogleAuthUrlLoading(false);\n toggleFBAuthUrlLoading(false);\n toggleDiscordAuthUrlLoading(false);\n const sssoType = localStorage.getItem(\"ssoAuth\");\n if (loginRes.status === 200) {\n localStorage.setItem(\"userProfile\", JSON.stringify(loginRes.data.userProfile));\n setToken(false, loginRes.data.jwtToken);\n if (loginRes.data.userProfile?.userName && loginRes.data.userProfile?.email) {\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"Login\", { Type: localStorage.getItem(\"ssoAuth\") });\n mixpanel?.identify(loginRes?.data?.userProfile?.id);\n }\n loadProfile((res) => {\n localStorage.setItem(\"userProfile\", JSON.stringify(loginRes?.data?.userProfile));\n\n if (res?.data?.connectedWallet?.walletAddress) {\n loadBountyBoxes();\n }\n });\n toggleModal();\n } else {\n if (loginRes?.data?.new) {\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"Create Account\", { Type: localStorage.getItem(\"ssoAuth\") });\n mixpanel?.track(\n sssoType === \"google\"\n ? \"Create account_google\"\n : sssoType === \"discord\"\n ? \"Create account_Discord\"\n : \"Create account_FB\",\n );\n mixpanel?.identify(loginRes?.data?.userProfile?.id);\n }\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Create Account\",\n }),\n );\n window.dataLayer.push(\n prepareData({\n event:\n sssoType === \"google\"\n ? \"Create account_google\"\n : sssoType === \"discord\"\n ? \"Create account_Discord\"\n : \"Create account_FB\",\n }),\n );\n }\n toggleHTPRedux(true);\n // if (loginRes?.data?.userProfile?.arcadeCoins > 0 || loginRes?.data?.userProfile?.lootBonusCoins > 0)\n setNewAcc(true);\n }\n setTab(3);\n }\n navigate(\"/\");\n } else {\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Create Account_failure\",\n }),\n );\n window.dataLayer.push(\n prepareData({\n event:\n sssoType === \"google\"\n ? \"Create account_google_failure\"\n : sssoType === \"discord\"\n ? \"Create account_discord_failure\"\n : \"Create account_fb_failure\",\n }),\n );\n }\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\n sssoType === \"google\"\n ? \"Create account_google_failure\"\n : sssoType === \"discord\"\n ? \"Create account_discord_failure\"\n : \"Create account_fb_failure\",\n );\n mixpanel?.track(\"create account_failure\");\n }\n if (loginRes?.data?.message === \"Email already exists\") {\n setShowErrorTitle(\"Email is already in use.\");\n setShowError(\n `It appears that the email provided is already associated with an existing account. Please try signing in with your credentials.\\nIf you're encountering issues, you might consider resetting the password or contacting support for further assistance.`,\n );\n } else {\n setShowError(loginRes?.data?.message ?? \"Something went wrong\");\n setShowErrorTitle(\"Something went wrong\");\n }\n navigate(\"/\");\n }\n };\n const disabledOptions = getUser.googleAuthURLLoading || getUser.fbAuthURLLoading || getUser.discordAuthURLLoading;\n return (\n <>\n {\n toggleFBAuthUrlLoading(false);\n toggleGoogleAuthUrlLoading(false);\n toggleDiscordAuthUrlLoading(false);\n\n toggleModal(e);\n }}\n >\n \"\"\n \n
\n
\n \"\"\n
{onboardingType === \"login\" ? \"Welcome Back!\" : \"Create Account\"}
\n
\n
\n
\n
\n
\n {\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"SignupGoogle_clicked\",\n }),\n );\n }\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"SignupGoogle_clicked\");\n loadGoogleAuthURL((res) => {\n if (res.status === 200) {\n window.location.href = res.data;\n }\n });\n localStorage.setItem(\"ssoAuth\", \"google\");\n }}\n />\n \n \"\"\n
\n
\n
\n
\n
\n
\n
\n
\n {\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"SignupDiscord_clicked\",\n }),\n );\n }\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"SignupDiscord_clicked\");\n loadDiscordAuthURL((res) => {\n if (res.status === 200) {\n window.location.href = res.data;\n }\n });\n localStorage.setItem(\"ssoAuth\", \"discord\");\n }}\n />\n \n \"\"\n
\n
\n
\n
\n
\n
\n
\n
\n {\n loadWalletMessageToSign();\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"SignupWallet_clicked\",\n }),\n );\n }\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"SignupWallet_clicked\");\n setTab(4);\n }}\n />\n \n \"\"\n
\n
\n
\n
\n
\n {\n if (process.env.REACT_APP_MIXPANEL === \"1\") mixpanel?.track(\"SignupEmail_clicked\");\n if (process.env.REACT_APP_GA === \"1\") {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"SignupEmail_clicked\",\n }),\n );\n }\n setTab(2);\n }}\n >\n
\n
\n \n \n
\n
\n
\n
\n \n\n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n loadGoogleAuthURL: (callback) => dispatch(loadGoogleAuthURL(callback)),\n authorizeGoogleCode: (data, callback) => dispatch(authorizeGoogleCode(data, callback)),\n toggleGoogleAuthUrlLoading: (data) => dispatch(toggleGoogleAuthUrlLoading(data)),\n loadFBAuthURL: (callback) => dispatch(loadFBAuthURL(callback)),\n authorizeFBCode: (data, callback) => dispatch(authorizeFBCode(data, callback)),\n toggleFBAuthUrlLoading: (data) => dispatch(toggleFBAuthUrlLoading(data)),\n\n loadDiscordAuthURL: (callback) => dispatch(loadDiscordAuthURL(callback)),\n authorizeDiscordCode: (data, callback) => dispatch(authorizeDiscordCode(data, callback)),\n toggleDiscordAuthUrlLoading: (data) => dispatch(toggleDiscordAuthUrlLoading(data)),\n\n toggleHTPRedux: (data) => dispatch(toggleHTPRedux(data)),\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n loadBountyBoxes: (callback) => dispatch(loadBountyBoxes(callback)),\n loadWalletMessageToSign: () => dispatch(loadWalletMessageToSign()),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(OnboardingOptions);\n","import _ from \"lodash\";\nimport { useEffect, useState } from \"react\";\nimport { connect } from \"react-redux\";\nimport {\n checkEmail,\n checkUsername,\n contestEntry,\n getUser,\n loadBountyBoxes,\n loadProfile,\n loginUser,\n registerUser,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n toggleHTPRedux,\n toggleHowToPlayRedux,\n togglePopupRedux,\n updateImage,\n updateProfile,\n verifyOTP,\n} from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\n\n// Components\nimport DateDropDown from \"common/dateDropDown\";\nimport moment from \"moment\";\nimport { dateAsUtc } from \"utils/dateConversion\";\nimport { verisoulLogout } from \"utils/verisoulUtils\";\nimport LoaderImg from \"../../loaderImag\";\n// Images\nconst logo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/bgNewLogo.svg\";\nconst loader = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loader-grey.svg\";\nconst usernameIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/username.svg\";\nconst UPDATEUSERNAME = ({\n showModal,\n toggleModal,\n registerUser,\n checkUsername,\n togglePopupRedux,\n toggleHTPRedux,\n loadProfile,\n updateProfile,\n newAcc,\n checkEmail,\n setTab,\n updateImage,\n setOptionsType,\n toggleHowToPlayRedux,\n}) => {\n // const { profile } = getUser;\n const profile = JSON.parse(localStorage.getItem(\"userProfile\"));\n\n const [loadingUsername, setLoadingUsername] = useState(false);\n const [loading, setLoading] = useState(false);\n const [errors, setErrors] = useState({});\n const [isValidUserName, setIsValidUserName] = useState(false);\n const [data, setData] = useState({\n userName: \"\",\n email: \"\",\n date: {},\n term: false,\n });\n\n // Method to check if username is valid or not\n const checkUsernameValidity = (userName) => {\n setLoadingUsername(true);\n checkUsername({ userName }, (usernameRes) => {\n const newErrors = structuredClone(errors);\n if (usernameRes.status === 200) {\n setIsValidUserName(true);\n } else {\n newErrors.userName = usernameRes.data.message;\n setErrors(newErrors);\n setIsValidUserName(false);\n }\n setLoadingUsername(false);\n });\n };\n\n // // Method to check if email is valid or not\n // const checkEmailValidity = (email) => {\n // const newErrors = structuredClone(errors);\n\n // if (!_.isEmpty(email)) {\n // var mailformat =\n // /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\n // if (!mailformat.test(email)) {\n // newErrors.email = \"Email is invalid\";\n // return setErrors(newErrors);\n // }\n // setLoadingEmail(true);\n // checkEmail({ email }, (emailRes) => {\n // if (emailRes.status === 200) {\n // setIsValidEmail(true);\n // } else {\n // setIsValidEmail(false);\n // if (emailRes.data.message === '\"\"email\" must be a valid email\"') {\n // newErrors.email = \"Email is invalid\";\n // } else newErrors.email = emailRes.data.message;\n // setErrors(newErrors);\n // }\n // setLoadingEmail(false);\n // });\n // }\n // };\n\n // Method to toggle t&c check\n const handleCheck = (e) => {\n const { name, checked } = e;\n const newData = structuredClone(data);\n const newError = structuredClone(errors);\n newData[name] = checked;\n if (checked) delete newError[name];\n setData(newData);\n\n setErrors(newError);\n };\n\n // Change text input\n const onChange = async (e) => {\n const { name, value } = e.target;\n const newErr = structuredClone(errors);\n const newData = structuredClone(data);\n delete newErr[name];\n newData[name] = value;\n setData(newData);\n setErrors(newErr);\n };\n\n useEffect(() => {\n const newData = structuredClone(data);\n const newErrors = structuredClone(errors);\n newData.userName = profile?.providerUserName?.toLocaleLowerCase()?.trim() ?? \"\";\n newData.email = profile?.providerUserEmail ?? \"\";\n if (profile?.providerUserEmail) {\n // setDisableEmail(true)\n } else {\n newErrors.email = \"Email is required\";\n }\n if (profile?.providerUserName?.length > 15) {\n newErrors.userName = \"Username cannot be longer than 15 characters\";\n } else {\n checkUsernameValidity(profile?.providerUserName);\n }\n setErrors(newErrors);\n setData(newData);\n // checkEmailValidity(newData.email);\n }, [profile?.providerUserName, profile?.providerUserEmail]);\n\n // On Clicking on submit buttons data validation is done and api is called\n const handleSubmit = async (e) => {\n if (e) e.preventDefault();\n if (loading || loadingUsername) return;\n let newErrors = structuredClone(errors);\n\n // Validations of the data\n if (_.isEmpty(data.userName)) newErrors.userName = \"Username is required\";\n if (!data?.date?.days || isNaN(data?.date?.months) || !data?.date?.years)\n newErrors.date = \"Date of birth is required\";\n else if (moment().diff(moment(data?.date), \"years\") < 18)\n newErrors.date = \"You must be 18 or older to create an account\";\n\n if (!_.isEmpty(newErrors)) {\n return setErrors(newErrors);\n }\n\n const { userName, email } = data;\n\n setLoading(true);\n updateProfile(\n { userName: userName.toLocaleLowerCase(), email, dateOfBirth: parseInt(dateAsUtc(data?.date, \"x\")) },\n (signupRes) => {\n if (signupRes?.status === 200) {\n loadProfile((res) => {\n if (!res.data.userProfile.image) {\n updateImage(\n {\n image: `Avatars/${Math.floor(Math.random() * 140) + 1}.png`,\n },\n (res1) => {\n loadProfile();\n },\n );\n }\n localStorage.setItem(\"userProfile\", JSON.stringify(res?.data?.userProfile));\n });\n const userProfile = JSON.parse(localStorage.getItem(\"userProfile\"));\n if (newAcc) {\n if (userProfile?.arcadeCoins > 0 || userProfile?.lootBonusCoins > 0) setTab(5);\n else {\n toggleHowToPlayRedux(true);\n toggleModal();\n }\n } else {\n toggleHowToPlayRedux(true);\n toggleModal();\n }\n } else {\n newErrors[signupRes.data.data] = signupRes.data.message;\n setErrors(newErrors);\n }\n setLoading(false);\n },\n );\n };\n\n const onChangeDate = (e) => {\n const { name, value } = e.target;\n const newErr = structuredClone(errors);\n const newData = structuredClone(data);\n delete newErr[name];\n newData[name] = value;\n\n if (value?.days && !isNaN(value?.months) && value?.years && moment().diff(moment(value), \"years\") < 18)\n newErr[name] = \"You must be 18 or older to create an account\";\n setData(newData);\n setErrors(newErr);\n };\n return (\n <>\n
\n
\n \"\"\n
Finish Setup
{\" \"}\n
\n
\n {/* \n
\n
\n \"\"\n
\n {\n if (!e.target.value) {\n const newErrors = structuredClone(errors);\n newErrors.email = \"Email cannot be empty\";\n setErrors(newErrors);\n setIsValidEmail(false);\n return;\n }\n checkEmailValidity(e.target.value);\n }}\n />{\" \"}\n \"\"\n
\n {errors.email &&
{errors.email}
}\n
*/}\n \n
\n
\n \"\"\n
\n {\n if (!e.target.value) {\n const newErrors = structuredClone(errors);\n newErrors.userName = \"Username cannot be empty\";\n setErrors(newErrors);\n setIsValidUserName(false);\n return;\n }\n checkUsernameValidity(e.target.value);\n }}\n maxLength={15}\n value={data.userName}\n />\n \"\"\n
\n {errors.userName &&
{errors.userName}
}\n
\n
\n
Date of Birth
\n \n {errors.date &&
{errors.date}
}\n
\n
\n
\n handleCheck({ name: \"term\", checked: !data.term })}\n checked={data.term}\n />\n \n
\n
\n \n\n
\n \n {loading ? : \"Agree and Create Account\"}\n \n
\n \n
\n \n Have an existing Burn Ghost account?
\n {\n e.preventDefault();\n localStorage.setItem(\"logout\", \"true\");\n localStorage.setItem(\"`tryLogin`\", \"false\");\n localStorage.setItem(\"signed\", \"false\");\n localStorage.removeItem(\"x-auth-token\");\n verisoulLogout();\n localStorage.removeItem(\"userProfile\");\n setOptionsType(\"login\");\n setTab(1);\n }}\n >\n {\" \"}\n Sign in with Burn Ghost\n {\" \"}\n
\n
\n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n contestEntry: (data, callback) => dispatch(contestEntry(data, callback)),\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n loginUser: (data, callback) => dispatch(loginUser(data, callback)),\n verifyOTP: (data, callback) => dispatch(verifyOTP(data, callback)),\n checkUsername: (data, callback) => dispatch(checkUsername(data, callback)),\n checkEmail: (data, callback) => dispatch(checkEmail(data, callback)),\n updateImage: (data, callback) => dispatch(updateImage(data, callback)),\n registerUser: (data, callback) => dispatch(registerUser(data, callback)),\n resendOTP: (data, callback) => dispatch(resendOTP(data, callback)),\n resetPassword: (data, callback) => dispatch(resetPassword(data, callback)),\n togglePopupRedux: (data) => dispatch(togglePopupRedux(data)),\n toggleHTPRedux: (data) => dispatch(toggleHTPRedux(data)),\n toggleHowToPlayRedux: (data) => dispatch(toggleHowToPlayRedux(data)),\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n loadBountyBoxes: (callback) => dispatch(loadBountyBoxes(callback)),\n updateProfile: (data, callback) => dispatch(updateProfile(data, callback)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(UPDATEUSERNAME));\n","import { useWeb3React } from \"@web3-react/core\";\nimport ErrorPopup from \"common/errorPopup\";\nimport { prepareData } from \"common/gtmDatalayer\";\nimport mixpanel from \"mixpanel-browser\";\nimport React, { useEffect, useState } from \"react\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { connect } from \"react-redux\";\nimport {\n getUser,\n loadBountyBoxes,\n loadMessageToSign,\n loadProfile,\n toggleDiscordModalRedux,\n walletLogin,\n} from \"store/user\";\nimport { setToken } from \"utils/localStorageServices\";\nimport { withRouter } from \"utils/withRouter\";\nimport { connectors } from \"web3/connectors\";\nimport { coinbaseWallet } from \"web3/connectors/coinbase\";\nimport { metaMask } from \"web3/connectors/metaMask\";\n\n// Images\nconst logo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/bgNewLogo.svg\";\nconst greenIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/green-check-icon.svg\";\nconst loaderIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loader-svg.svg\";\nconst wallet1 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/t-mode-2.svg\";\nconst wallet2 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/wallet-type-2.png\";\nconst wallet3 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/wallet-type-3.png\";\n\nconst WalletLogin = (props) => {\n // const { setErrors, setGenesisError } = props || {};\n const [errors, setErrors] = useState();\n const [signMessage, setSignMessage] = React.useState(true);\n const [signature, setSignature] = React.useState(\"\");\n const [loadingWallet, setLoadingWallet] = React.useState(\"\");\n const [connectedWallet, setConnectedWallet] = React.useState(\"\");\n const { account, isActive, connector } = useWeb3React();\n const setProvider = (type) => {\n window.localStorage.setItem(\"provider\", type);\n };\n const deactivate = () => {\n if (connector.deactivate) {\n connector.deactivate();\n }\n connector?.resetState();\n };\n\n // Get signatures for different wallet connections\n useEffect(() => {\n if (account) {\n async function getSignature() {\n if (!signMessage) await signMessages();\n }\n getSignature();\n }\n }, [isActive]);\n\n // Get Messages to sign transaction\n useEffect(() => {\n clearData();\n }, []);\n\n // Reset states on modal close\n const clearData = () => {\n setSignature(\"\");\n setLoadingWallet(\"\");\n setConnectedWallet(\"\");\n setSignMessage(false);\n };\n\n // Connect wallet to the user account after signing the transaction\n const signMessages = async () => {\n // If metamask extension not found, show error\n if (!connector) return;\n if (!props.getUser.messageToSign) {\n return setErrors(\"Something went wrong. Please try again later.\");\n }\n try {\n // Sign message\n const signatureStr = props.getUser.messageToSign;\n const signature = await connector?.provider?.request({\n method: \"personal_sign\",\n params: [signatureStr, account],\n });\n setSignature(signature);\n setConnectedWallet(loadingWallet);\n props.setWalletDetails({ signature, walletAddress: account, message: signatureStr });\n // Login wallet API call\n props.walletLogin({ signature, walletAddress: account, message: signatureStr }, (res) => {\n if (res.status === 200) {\n if (process.env.REACT_APP_MIXPANEL == 1) mixpanel.track(\"Wallet Login Completed\");\n if (process.env.REACT_APP_GA == 1) {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Wallet Login Completed\",\n }),\n );\n }\n props.toggleModal();\n\n localStorage.setItem(\"userProfile\", JSON.stringify(res.data.userProfile));\n\n if (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel?.track(\"Login\", { Type: \"email\" });\n mixpanel.identify(res?.data?.userProfile?.id);\n }\n setToken(false, res.data.jwtToken);\n props.loadProfile((res) => {\n if (res?.data?.connectedWallet?.walletAddress) {\n props.loadBountyBoxes();\n }\n });\n window.innerWidth > 1280.98 && toggleDiscordModalRedux(true);\n } else {\n props.setOptionsType(\"signup\");\n props.setTab(2);\n }\n });\n } catch (error) {\n setLoadingWallet(\"\");\n setErrors(error?.message);\n deactivate();\n }\n };\n\n // Connect wallet to the user account after signing the transaction\n const activating = async (params) => {\n if (process.env.REACT_APP_MIXPANEL == 1) mixpanel?.track(\"Wallet Connection Initiated\");\n if (process.env.REACT_APP_GA == 1) {\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push(\n prepareData({\n event: \"Wallet Connection Initiated\",\n }),\n );\n }\n try {\n const connectorWallet = {\n injected: metaMask,\n coinbaseWallet: coinbaseWallet,\n };\n await connectorWallet[params]?.activate();\n } catch (error) {\n setLoadingWallet(\"\");\n setErrors(error?.message);\n }\n };\n return (\n <>\n {errors && (\n Something went wrong`} />\n )}\n
\n
\n \"\"\n
Connect Wallet
\n
\n\n {props.getUser.messageToSignLoading ? (\n
\n \n \n
\n ) : (\n <>\n
\n {\n if (connectedWallet) return;\n e.preventDefault();\n if (!window?.ethereum?.isMetaMask)\n return window.open(\"https://metamask.app.link/dapp/\" + process.env.REACT_APP_SITE_URL, \"_blank\");\n setSignMessage(false);\n activating(\"injected\");\n setProvider(\"injected\");\n setLoadingWallet(\"injected\");\n }}\n >\n
\n
\n \n \n\n {connectedWallet === \"injected\" ? (\n \"\"\n ) : (\n \"\"\n )}\n
\n
\n
\n
\n
\n {\n e.preventDefault();\n if (connectedWallet) return;\n setLoadingWallet(\"coinbaseWallet\");\n setSignMessage(false);\n activating(\"coinbaseWallet\");\n setProvider(\"coinbaseWallet\");\n }}\n >\n
\n
\n \n \n {connectedWallet === \"coinbaseWallet\" ? (\n \"\"\n ) : (\n \"\"\n )}\n
\n
\n
\n \n {/*
\n {\n e.preventDefault();\n if (connectedWallet) return;\n setLoadingWallet(\"walletConnect\");\n setSignMessage(false);\n activating(\"walletConnect\");\n setProvider(\"walletConnect\");\n }}\n >\n
\n
\n \n \n {connectedWallet === \"walletConnect\" ? (\n \"\"\n ) : (\n \"\"\n )}\n
\n
\n
\n */}\n \n )}\n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n walletLogin: (data, callback) => dispatch(walletLogin(data, callback)),\n loadProfile: () => dispatch(loadProfile()),\n loadBountyBoxes: (callback, hardRefresh) => dispatch(loadBountyBoxes(callback, hardRefresh)),\n loadMessageToSign: (callback) => dispatch(loadMessageToSign(callback)),\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(WalletLogin));\n","import { useEffect, useState } from \"react\";\nimport { Modal } from \"react-bootstrap\";\nimport { connect } from \"react-redux\";\nimport {\n checkEmail,\n checkUsername,\n contestEntry,\n getUser,\n loadBountyBoxes,\n loadProfile,\n loginUser,\n registerUser,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n toggleHowToPlayRedux,\n toggleHTPRedux,\n togglePopupRedux,\n updateImage,\n verifyOTP,\n} from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\n\n// Components\nimport { useSearchParams } from \"react-router-dom\";\nimport FreeCredits from \"./freeCredits\";\nimport OnboardingEmail from \"./onboardingEmail\";\nimport OnboardingOptions from \"./onboardingOptions\";\nimport UpdateUsername from \"./updateUsername\";\nimport WalletLogin from \"./walletLogin\";\n\nconst HowItWorks = ({\n showModal,\n toggleModal,\n getUser,\n loginUser,\n registerUser,\n verifyOTP,\n loadProfile,\n updateImage,\n checkEmail,\n checkUsername,\n togglePopupRedux,\n toggleHowToPlayRedux,\n toggleHTPRedux,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n onboardingType = \"login\",\n emptyProfiledata,\n}) => {\n const [tab, setTab] = useState(1);\n const [optionsType, setOptionsType] = useState(onboardingType);\n const [walletDetails, setWalletDetails] = useState({});\n const [searchParams, setSearchParams] = useSearchParams();\n const loginEmailProps = {\n showModal,\n toggleModal,\n getUser,\n loginUser,\n registerUser,\n verifyOTP,\n loadProfile,\n updateImage,\n checkEmail,\n checkUsername,\n togglePopupRedux,\n toggleHowToPlayRedux,\n toggleHTPRedux,\n resendOTP,\n resetPassword,\n toggleDiscordModalRedux,\n onboardingType: optionsType,\n };\n const [newAcc, setNewAcc] = useState(false);\n\n useEffect(() => {\n if (!showModal) {\n setTab(1);\n } else {\n setOptionsType(onboardingType);\n }\n const loginParam = searchParams.get(\"login\");\n const registerParam = searchParams.get(\"register\");\n if (loginParam) {\n searchParams.delete(\"login\");\n }\n if (registerParam) {\n searchParams.delete(\"register\");\n }\n if (loginParam || registerParam) setSearchParams(searchParams, { replace: true });\n }, [showModal]);\n\n useEffect(() => {\n if (emptyProfiledata) setTab(3);\n }, [emptyProfiledata]);\n return (\n \n {tab === 1 ? (\n \n ) : tab === 2 ? (\n \n ) : tab === 3 ? (\n \n ) : tab === 4 ? (\n \n ) : (\n \n )}\n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n contestEntry: (data, callback) => dispatch(contestEntry(data, callback)),\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n loginUser: (data, callback) => dispatch(loginUser(data, callback)),\n verifyOTP: (data, callback) => dispatch(verifyOTP(data, callback)),\n checkUsername: (data, callback) => dispatch(checkUsername(data, callback)),\n checkEmail: (data, callback) => dispatch(checkEmail(data, callback)),\n updateImage: (data, callback) => dispatch(updateImage(data, callback)),\n registerUser: (data, callback) => dispatch(registerUser(data, callback)),\n resendOTP: (data, callback) => dispatch(resendOTP(data, callback)),\n resetPassword: (data, callback) => dispatch(resetPassword(data, callback)),\n togglePopupRedux: (data) => dispatch(togglePopupRedux(data)),\n toggleHTPRedux: (data) => dispatch(toggleHTPRedux(data)),\n toggleHowToPlayRedux: (data) => dispatch(toggleHowToPlayRedux(data)),\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n loadBountyBoxes: (callback) => dispatch(loadBountyBoxes(callback)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(HowItWorks));\n","const prepareData = (data) => {\n const defaultData = {\n event: undefined,\n section: undefined,\n click_text: undefined,\n game_name: undefined,\n interaction_type: undefined,\n advanmcement: undefined,\n step: undefined,\n lead_type: undefined,\n social_media: undefined,\n };\n const dataLayer = {};\n Object.keys(defaultData).forEach((key) => {\n if (data[key]) {\n dataLayer[key] = data[key];\n } else {\n dataLayer[key] = defaultData[key];\n }\n });\n\n return dataLayer;\n};\n\nexports.prepareData = prepareData;\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { createSelector } from \"reselect\";\nimport { apiCallBegan } from \"./api\";\nimport moment from \"moment\";\n\nconst slice = createSlice({\n name: \"lootbox\",\n initialState: {\n lootboxes: [],\n lootbox: {},\n lastFetchLootboxes: null,\n spinPrize: {},\n loading: false,\n lootboxLoading: false,\n spinLootboxLoading: false,\n },\n\n reducers: {\n lootboxesRequested: (misc, action) => {\n misc.loading = true;\n },\n lootboxesReceived: (misc, action) => {\n misc.lootboxes = action.payload.data;\n misc.lastFetchLootboxes = Date.now();\n misc.loading = false;\n },\n lootboxesRequestFailed: (misc, action) => {\n misc.loading = false;\n },\n lootboxRequested: (misc, action) => {\n misc.lootboxLoading = true;\n },\n lootboxReceived: (misc, action) => {\n misc.lootbox = action.payload.data;\n misc.lootbox.lootBoxPrizes = action.payload.data?.lootBoxPrizes?.filter((prize) => !prize?.isLimitReached);\n misc.lastFetch = Date.now();\n misc.lootboxLoading = false;\n },\n lootboxRequestFailed: (misc, action) => {\n misc.lootboxLoading = false;\n },\n spinLootboxRequested: (misc, action) => {\n misc.spinLootboxLoading = true;\n misc.spinPrize = {}; //reset spin prize data on every spin\n },\n spinLootboxReceived: (misc, action) => {\n misc.spinPrize = action.payload.data;\n misc.lastFetch = Date.now();\n misc.spinLootboxLoading = false;\n },\n spinLootboxRequestFailed: (misc, action) => {\n misc.spinLootboxLoading = false;\n },\n },\n});\n\nexport const {\n lootboxesRequested,\n lootboxesReceived,\n lootboxesRequestFailed,\n lootboxRequested,\n lootboxReceived,\n lootboxRequestFailed,\n spinLootboxRequested,\n spinLootboxReceived,\n spinLootboxRequestFailed,\n} = slice.actions;\nexport default slice.reducer;\n\n// Action Creators\nconst lootboxUrl = \"lootBox/\";\n\nexport const loadLootboxes = (params, callback) => (dispatch, getState) => {\n const { lastFetchLootboxes } = getState().entities.lootbox;\n const diffInMinutes = moment().diff(moment(lastFetchLootboxes), \"minutes\");\n if (diffInMinutes < 10) return;\n return dispatch(\n apiCallBegan({\n url: lootboxUrl,\n params,\n onStart: lootboxesRequested.type,\n onSuccess: lootboxesReceived.type,\n onError: lootboxesRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadLootbox = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: lootboxUrl + id,\n onStart: lootboxRequested.type,\n onSuccess: lootboxReceived.type,\n onError: lootboxRequestFailed.type,\n callback,\n }),\n );\n};\nexport const spinLootbox = (id, data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: lootboxUrl + \"spin/\" + id,\n method: \"POST\",\n data,\n onStart: spinLootboxRequested.type,\n onSuccess: spinLootboxReceived.type,\n onError: spinLootboxRequestFailed.type,\n callback,\n }),\n );\n};\nexport const getLootbox = createSelector(\n (state) => state.entities.lootbox,\n (lootbox) => lootbox,\n);\n","//@web3-react/core v6 connectors, currently not in use\n\nimport { InjectedConnector } from \"@web3-react/injected-connector\";\nimport { WalletConnectConnector } from \"@web3-react/walletconnect-connector\";\nimport { WalletLinkConnector } from \"@web3-react/walletlink-connector\";\n\nlet chainIds = [];\nif (process.env.REACT_APP_MODE !== \"prod\") {\n chainIds = [80002];\n} else {\n chainIds = [1, 3, 4, 5, 137, 42];\n}\n\nconst injected = new InjectedConnector({\n supportedChainIds: chainIds,\n});\n\nconst walletconnect = new WalletConnectConnector({\n rpcUrl: `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}`,\n bridge: \"https://bridge.walletconnect.org\",\n qrcode: true,\n});\n\nconst walletlink = new WalletLinkConnector({\n url: `https://mainnet.infura.io/v3/${process.env.INFURA_KEY}`,\n appName: \"web3-react-demo\",\n});\n\nexport const connectors = {\n injected: injected,\n walletConnect: walletconnect,\n coinbaseWallet: walletlink,\n};\n","import React, { useEffect, useState } from \"react\";\nimport { getUser, loadProfile, togglePopupRedux, toggleWalletPopupRedux, checkZRunNft } from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\nimport Skeleton from \"react-loading-skeleton\";\nimport { connect } from \"react-redux\";\nimport DiscordChatModal from \"common/sections/discordChat\";\nimport Header from \"common/header\";\nimport DetailsModalCard from \"contests/components/common/detailsModalCard\";\nimport { Accordion } from \"react-bootstrap\";\nimport mixpanel from \"mixpanel-browser\";\nimport HowItWorks from \"contests/components/modals/howItWorks\";\nimport {\n cowitzerEnter,\n getGame,\n getposition,\n loadBgGameDetail,\n loadBgGames,\n loadCowitzerLeaderBoard,\n rollDice,\n savePosition,\n} from \"store/game\";\n\nconst cardIcon1 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/s-new-icon-1.png\";\nconst musicIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/music-000.png\";\nconst mutedIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/mute-icon-001.png\";\nconst sounds = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/Sound.svg\";\nconst musicMuted = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/Vector.svg\";\nconst whiteIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loot-icon.png\";\nconst greenIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loot-icon.png\";\nconst pageIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/page-icon-02.svg\";\nconst redIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/loot-icon.png\";\nconst logo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/burnghostHorizontal.png\";\nwindow.MESSAGE_FACTORY = function (name, data) {\n console.log(\"MESSAGE_FACTORY\", name, data);\n return JSON.stringify({\n type: name,\n data: data,\n });\n};\nconst BoardGame = ({\n loadProfile,\n getUser,\n togglePopupRedux,\n toggleWalletPopupRedux,\n checkZRunNft,\n loadBgGames,\n loadBgGameDetail,\n cowitzerEnter,\n loadCowitzerLeaderBoard,\n getGame,\n savePosition,\n getposition,\n rollDice,\n ...rest\n}) => {\n window.GC_API = {\n UserBalance: \"UserBalance\",\n GameLoaded: \"GameLoaded\",\n GameStart: \"GameStart\",\n setIsWaitingForNextRound: \"setIsWaitingForNextRound\",\n setIsTimerRunning: \"setIsTimerRunning\",\n setMultiplierValue: \"setMultiplierValue\",\n PlaceBet: \"PlaceBet\",\n Multiplier: \"Multiplier\",\n NewBet: \"NewBet\",\n CashOut: \"CashOut\",\n Last10Rounds: \"Last10Rounds\",\n multiplierValue: \"multiplierValue\",\n startingIn: \"startingIn\",\n mybets: \"mybets\",\n winner: \"winner\",\n dogBet: \"dogBet\",\n gameState: \"gameState\",\n setIsMuted: \"setIsMuted\",\n setIsBackgroundMuted: \"setIsBackgroundMuted\",\n RESET: \"RESET\",\n };\n\n const [showHowItWorks, setShowHowItWorks] = useState(false);\n const [howItWork, setHowItWork] = useState({});\n const [bgGameLoaded, setBgGameLoaded] = useState(false);\n const [music, setMusic] = useState(localStorage.getItem(\"musicMuted\") === \"true\");\n const [muted, setMuted] = useState(localStorage.getItem(\"soundMuted\") === \"true\");\n const [loading, setLoading] = useState(false);\n const [gameLoaded, setGameLoaded] = useState(false);\n\n useEffect(() => {\n const iFrame = document.getElementById(\"iframe-container\");\n console.log(\"GameLoaded\");\n setTimeout(() => {\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"UserBalance\", {\n lootBonusCoins: getUser.profile.userProfile.lootBonusCoins,\n }),\n \"*\",\n );\n }, 1000);\n }, [gameLoaded]);\n\n const toggleMusic = (e) => {\n if (e) e.preventDefault();\n updateSound(\"music\");\n setMusic(!music);\n };\n\n const toggleMute = (e) => {\n if (e) e.preventDefault();\n updateSound(\"sound\");\n setMuted(!muted);\n };\n\n const updateSound = (type) => {\n const iFrame = document.getElementById(\"iframe-container\");\n if (!iFrame) return;\n\n if (type === \"music\") {\n const muteStateData = {\n musicMuted: !music,\n soundsMuted: muted,\n };\n // send MuteState message to iframe using MessageFactory\n iFrame.contentWindow.postMessage(window.MESSAGE_FACTORY(\"MuteState\", muteStateData), \"*\");\n\n localStorage.setItem(\"musicMuted\", muteStateData.musicMuted);\n }\n\n if (type === \"sound\") {\n const muteStateData = {\n musicMuted: music,\n soundsMuted: !muted,\n };\n // send MuteState message to iframe setIsBackgroundMuted\n iFrame.contentWindow.postMessage(window.MESSAGE_FACTORY(\"MuteState\", muteStateData), \"*\");\n\n localStorage.setItem(\"soundMuted\", muteStateData.soundsMuted);\n }\n iFrame?.focus();\n };\n const toggleHowItWorks = (e) => {\n if (e) e.preventDefault();\n setShowHowItWorks(!showHowItWorks);\n };\n useEffect(() => {\n loadProfile((res) => {\n if (res.status === 401) window.location.href = \"/contests\";\n });\n const slug = rest.router.params.slug;\n loadBgGameDetail(slug, (res) => {\n setHowItWork(res.data.data);\n setBgGameLoaded(res.data.data);\n });\n }, []);\n\n useEffect(() => {\n if (!bgGameLoaded) return;\n if (process.env.REACT_APP_MIXPANEL == 1) {\n mixpanel?.track(\"Cowitzer Viewed\");\n }\n\n getposition((res) => {\n console.log(\"getpositiongetposition\", res.data);\n if (res.data?.data?.positionLog) {\n const iFrame = document.getElementById(\"iframe-container\");\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getPosition\", {\n position: res.data.data,\n }),\n \"*\",\n );\n }\n });\n\n //Loading iframe\n const iFrame = document.getElementById(\"iframe-container\");\n iFrame.src = bgGameLoaded.url;\n window.loading = false;\n window.launched = false;\n\n const savePositionCall = (position) => {\n console.log(\"savePosition\", position);\n savePosition({ position: position }, (res) => {\n console.log(\"savePosition\", res);\n });\n };\n\n const rollDiceCall = () => {\n rollDice((res) => {\n console.log(\"rollDiceCall\", res);\n // seding message to iframe\n const iFrame = document.getElementById(\"iframe-container\");\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getDiceRoll\", {\n diceRoll: 1,\n }),\n );\n });\n };\n\n const listener = (event) => {\n // Your existing event listener logic\n try {\n if (typeof event.data !== \"string\") return;\n const ourMessage = JSON.parse(event.data);\n console.log(\"111ourMessageourMessage===>\", ourMessage);\n if (ourMessage?.type) {\n switch (ourMessage.type) {\n case \"Position\":\n savePositionCall(ourMessage.data);\n break;\n case \"sendDiceRoll\":\n console.log(\"sendDiceRoll\");\n rollDiceCall();\n break;\n // case window.GC_API.RESET:\n // window.launched = false;\n // loadProfile();\n // loadCowitzerLeaderBoard();\n // break;\n // case window.GC_API.MuteMusic:\n // // Handle MuteMusic event\n // break;\n // case window.GC_API.MuteSounds:\n // // Handle MuteSounds event\n // break;\n\n default:\n // Handle other events if needed\n }\n }\n } catch (e) {\n // Ignore exception - not a message for us and couldn't JSON parse it\n console.log(e);\n }\n };\n\n window.addEventListener(\"message\", listener);\n }, [bgGameLoaded]);\n\n useEffect(() => {\n if (!getUser.profile.userProfile.lootBonusCoins) return;\n const iFrame = document.getElementById(\"iframe-container\");\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"userProfile\", {\n lootBonusCoins: getUser.profile.userProfile,\n }),\n \"*\",\n );\n }, [getUser.profile.userProfile]);\n\n // User Profile data\n const { cowitzerLeaderboardLoading, cowitzerLeaderboard } = getGame;\n return (\n <>\n
\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n \n \"music\"\n {\" \"}\n
\n
\n \n \"music\"\n \n
\n
\n
\n {/*
\n \n
*/}\n
\n \n
{\" \"}\n
\n
\n
\n
\n
\n
\n
\n \n \n \n
\n \n
\n
\n
\n\n
\n \n
\n
\n
\n
\n
\n \n \n \n );\n};\nconst CowitzerLeaderboard = ({ cowitzerLeaderboardLoading, cowitzerLeaderboard }) => {\n return (\n <>\n
\n
\n
\n \"\"\n
\n
\n
\n

Leaderboard

\n
\n
\n
\n
\n \n );\n};\nconst mapDispatchToProps = (dispatch) => ({\n loadProfile: (callback) => dispatch(loadProfile(callback)),\n togglePopupRedux: (payload) => dispatch(togglePopupRedux(payload)),\n toggleWalletPopupRedux: (data) => dispatch(toggleWalletPopupRedux(data)),\n checkZRunNft: (data) => dispatch(checkZRunNft(data)),\n loadBgGames: (data, callback) => dispatch(loadBgGames(data, callback)),\n loadBgGameDetail: (data, callback) => dispatch(loadBgGameDetail(data, callback)),\n cowitzerEnter: (data, callback) => dispatch(cowitzerEnter(data, callback)),\n loadCowitzerLeaderBoard: () => dispatch(loadCowitzerLeaderBoard()),\n //\n savePosition: (data, callback) => dispatch(savePosition(data, callback)),\n getposition: (callback) => dispatch(getposition(callback)),\n rollDice: (callback) => dispatch(rollDice(callback)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n getGame: getGame(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(BoardGame));\n","import React, { Suspense, useEffect } from \"react\";\nimport { Routes, Route, useLocation } from \"react-router-dom\";\nimport mixpanel from \"mixpanel-browser\";\n// import IndexPage from \"./home/home\";\n// import Winners from \"./contests/winners.jsx\";\nimport { SkeletonTheme } from \"react-loading-skeleton\";\n// import Profile from \"./profile/profile\";\nimport { Web3ReactProvider } from \"@web3-react/core\";\nimport { ethers } from \"ethers\";\nimport { getUser, loadSlides, toggleDiscordModalRedux } from \"store/user\";\n\n// Contests\n// import Contests from \"./contests/contests\";\n// import ContestDetails from \"./contests/contestDetails\";\n// import ActiveContests from \"./contests/activeContestsListing.jsx\";\n\nimport LogRocket from \"logrocket\";\nimport setupLogRocketReact from \"logrocket-react\";\n\n// import NotFound from \"./common/404\";\n// import ServerError from \"./common/500\";\n// import CheckWallet from \"./common/checkWallet\";\n// import CheckWalletError from \"./common/checkWalletError\";\n// import InvalidUserAction from \"./common/invalidUserAction\";\n// import LandscapeOrientation from \"./common/landscapeOrientation\";\nimport { Helmet, HelmetProvider } from \"react-helmet-async\";\nimport { getCookie, setCookie } from \"./utils/cookiesUtilities\";\n// import ConnectNFTAccess from \"./access/connectNFT\";\n\n// Sweepstakes\n// import SweepstakesDetails from \"sweepstakes/sweepsDetails\";\n// import SweepstakeListings from \"sweepstakes/sweepsListing.jsx\";\n// import SweepstakeRulesListings from \"sweepstakes/sweepsRulesListing.jsx\";\n\n// Misc Components\n// import PrivacyPolicy from \"./miscScreens/privacyPolicy\";\n// import TermsAndConditions from \"./miscScreens/termsAndCondition\";\n// import SweepstakesRules from \"./miscScreens/sweepstakesRules.jsx\";\nimport { useState } from \"react\";\n// import UnderMaintance from \"./common/503\";\n\nimport { connect } from \"react-redux\";\nimport lazyWithPreload from \"react-lazy-with-preload\";\n// import GameDemo from \"gameDemo/gameDemo\";\nimport BoardGame from \"container/boardGame\";\nimport { metaMask, metaMaskHooks } from \"web3/connectors/metaMask\";\nimport { coinbaseWallet, coinbaseWalletHooks } from \"web3/connectors/coinbase\";\n// import Cookies from \"common/cookies.jsx\";\n// import CrashGame from \"container/crashGame.jsx\";\n// import CowitzerGame from \"container/cowitzerGame.jsx\";\n// import OpenLootbox from \"lootbox/openLootbox.jsx\";\n// import Leaderboard from \"leaderboard/leaderboard.jsx\";\n\nconst IndexPage = lazyWithPreload(() => import(\"./home/home\"));\nconst Winners = lazyWithPreload(() => import(\"./contests/winners.jsx\"));\nconst Profile = lazyWithPreload(() => import(\"./profile/profile\"));\nconst Contests = lazyWithPreload(() => import(\"./contests/contests\"));\n\nconst ContestDetails = lazyWithPreload(() => import(\"./contests/contestDetails\"));\n\nconst ActiveContests = lazyWithPreload(() => import(\"./contests/activeContestsListing.jsx\"));\nconst NotFound = lazyWithPreload(() => import(\"./common/404\"));\n\nconst ServerError = lazyWithPreload(() => import(\"./common/500\"));\nconst CheckWallet = lazyWithPreload(() => import(\"./common/checkWallet\"));\nconst CheckWalletError = lazyWithPreload(() => import(\"./common/checkWalletError\"));\nconst InvalidUserAction = lazyWithPreload(() => import(\"./common/invalidUserAction\"));\nconst LandscapeOrientation = lazyWithPreload(() => import(\"./common/landscapeOrientation\"));\n\nconst ConnectNFTAccess = lazyWithPreload(() => import(\"./access/connectNFT\"));\n// Sweepstakes\nconst SweepstakesDetails = lazyWithPreload(() => import(\"sweepstakes/sweepsDetails\"));\n// const SweepstakeListings = lazyWithPreload(() => import(\"sweepstakes/sweepsListing.jsx\"));\nconst SweepstakeRulesListings = lazyWithPreload(() => import(\"sweepstakes/sweepsRulesListing.jsx\"));\n\n// Misc Components\nconst PrivacyPolicy = lazyWithPreload(() => import(\"./miscScreens/privacyPolicy\"));\nconst TermsAndConditions = lazyWithPreload(() => import(\"./miscScreens/termsAndCondition\"));\n\nconst SweepstakesRules = lazyWithPreload(() => import(\"./miscScreens/sweepstakesRules.jsx\"));\nconst UnderMaintance = lazyWithPreload(() => import(\"./common/503\"));\nconst Cookies = lazyWithPreload(() => import(\"common/cookies.jsx\"));\nconst CrashGame = lazyWithPreload(() => import(\"container/crashGame.jsx\"));\n\nconst CowitzerGame = lazyWithPreload(() => import(\"container/cowitzerGame.jsx\"));\nconst OpenLootbox = lazyWithPreload(() => import(\"lootbox/openLootbox.jsx\"));\n// const Leaderboard = lazyWithPreload(() => import(\"leaderboard/leaderboard.jsx\"));\nconst Roadmap = lazyWithPreload(() => import(\"roadmap/roadmap\"));\nconst About = lazyWithPreload(() => import(\"about/about\"));\nconst GameDemo = lazyWithPreload(() => import(\"gameDemo/gameDemo\"));\n\nLogRocket.init(process.env.REACT_APP_LOGROCKET_ID, {\n mergeIframes: true,\n childDomains: [\"https://dev-games.burnghost.com\"],\n});\nif (process.env.REACT_APP_MIXPANEL === \"1\") {\n mixpanel.init(process.env.REACT_APP_MIXPANEL_TOKEN, {\n debug: true,\n track_pageview: true,\n persistence: \"localStorage\",\n });\n}\nsetupLogRocketReact(LogRocket);\n\nconst getLibrary = (provider) => {\n const library = new ethers.providers.Web3Provider(provider);\n library.pollingInterval = 8000; // frequency provider is polling\n return library;\n};\n\nconst App = ({ getUser, toggleDiscordModalRedux, loadSlides }) => {\n const location = useLocation();\n const themeMode = getCookie(\"themeMode\");\n const [transitionStage, setTransistionStage] = useState(\"fadeInTransition\");\n\n const [displayLocation, setDisplayLocation] = React.useState(location);\n\n //preload pages\n useEffect(() => {\n IndexPage?.preload();\n // SweepstakeListings?.preload();\n Contests?.preload();\n Winners?.preload();\n // Leaderboard?.preload();\n Profile?.preload();\n CheckWallet?.preload();\n CheckWalletError?.preload();\n\n ActiveContests?.preload();\n ContestDetails?.preload();\n UnderMaintance?.preload();\n InvalidUserAction?.preload();\n ServerError?.preload();\n NotFound?.preload();\n PrivacyPolicy?.preload();\n TermsAndConditions?.preload();\n ConnectNFTAccess?.preload();\n\n SweepstakesDetails?.preload();\n SweepstakeRulesListings?.preload();\n SweepstakesRules?.preload();\n\n CrashGame?.preload();\n CowitzerGame?.preload();\n OpenLootbox?.preload();\n LandscapeOrientation?.preload();\n Cookies?.preload();\n Roadmap?.preload();\n About?.preload();\n GameDemo?.preload();\n if (location.pathname === \"/\") loadSlides();\n }, []);\n\n useEffect(() => {\n if (\"/game-result-new\" === location.pathname) {\n if (location !== displayLocation) setTransistionStage(\"fadeOutTransition\");\n } else {\n setDisplayLocation(location);\n }\n }, [location, displayLocation]);\n\n //ScrollToTop\n useEffect(() => {\n window.scrollTo(0, 0);\n let _hsq = (window._hsq = window._hsq || []);\n _hsq.push([\"setPath\", location.pathname]);\n _hsq.push([\"trackPageView\"]);\n }, [location.pathname]);\n\n const cookiesShown = getCookie(\"notifyCookies\");\n const connectors = [\n [metaMask, metaMaskHooks],\n [coinbaseWallet, coinbaseWalletHooks],\n ];\n return (\n \n {/* */}\n \n \n {process.env.REACT_APP_GA === \"1\" ? (\n \n \n \n ) : (\n \n \n \n )}\n {\n if (transitionStage === \"fadeOutTransition\") {\n setTransistionStage(\"fadeInTransition\");\n setDisplayLocation(location);\n }\n }}\n >\n {!cookiesShown && (\n }>\n \n \n )}\n }>\n \n {/* Profile */}\n } />\n } />\n } />\n\n {/* Contests */}\n } />\n } />\n } />\n } />\n } />\n } />\n } />\n\n {/* Miscellaneous */}\n } />\n } />\n } />\n } />\n } />\n\n } />\n } />\n } />\n\n {/* Sweepstakes */}\n } />\n {/* } /> */}\n } />\n } />\n\n {/* Crash game */}\n } />\n {/* Cowitzer game */}\n } />\n {/* Board game */}\n } />\n {/* Lootbox */}\n } />\n {/* Leaderboard */}\n {/* } /> */}\n } />\n } />\n } />\n \n \n \n }>\n \n \n \n \n \n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n toggleDiscordModalRedux: (data) => dispatch(toggleDiscordModalRedux(data)),\n loadSlides: () => dispatch(loadSlides()),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n});\nexport default connect(mapStateToProps, mapDispatchToProps)(App);\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { createSelector } from \"reselect\";\nimport { apiCallBegan } from \"./api\";\n\nconst slice = createSlice({\n name: \"practiceGame\",\n initialState: {\n error: null,\n loadingGame: false,\n id: null,\n gameStartedAt: null,\n question: null,\n loadingGameQuestion: true,\n submittingAnswer: false,\n answerData: null,\n loadingGameResult: true,\n gameOver: null,\n gameContest: null,\n gameContestLoading: true,\n removeOneLoading: false,\n removed: false,\n },\n\n reducers: {\n // Requesting a game\n prepareGameRequested: (game, action) => {\n game.loadingGame = true;\n game.id = null;\n game.question = null;\n },\n prepareGameReceived: (game, action) => {\n game.loadingGame = false;\n game.id = action.payload.game;\n game.gameStartedAt = new Date().valueOf();\n },\n prepareGameRequestFailed: (game, action) => {\n game.loadingGame = false;\n game.error = action.payload.message;\n },\n\n // Requesting a question\n gameQuestionRequested: (game, action) => {\n game.loadingGameQuestion = true;\n },\n gameQuestionReceived: (game, action) => {\n game.loadingGameQuestion = false;\n game.question = action.payload;\n },\n gameQuestionRequestFailed: (game, action) => {\n game.loadingGameQuestion = false;\n game.error = action.payload.message;\n game.question = null;\n },\n\n // Submitting an answer\n answerSubmitted: (game, action) => {\n game.submittingAnswer = true;\n },\n answerSubmittedSuccess: (game, action) => {\n game.loadingGameQuestion = true;\n game.submittingAnswer = false;\n game.answerData = action.payload;\n },\n answerSubmittedFailed: (game, action) => {\n game.submittingAnswer = false;\n game.error = action.payload.message;\n },\n\n // Requesting a game result\n gameResultRequested: (game, action) => {\n game.loadingGameResult = true;\n game.id = null;\n game.question = null;\n game.answerData = null;\n },\n gameResultReceived: (game, action) => {\n game.loadingGameResult = false;\n game.gameOver = action.payload;\n },\n gameResultRequestFailed: (game, action) => {\n game.loadingGameResult = false;\n game.error = action.payload.message;\n game.gameOver = null;\n },\n\n // Requesting a game contest\n gameContestRequested: (game, action) => {\n game.gameContestLoading = true;\n },\n gameContestReceived: (game, action) => {\n game.gameContestLoading = false;\n game.gameContest = action.payload;\n },\n gameContestRequestFailed: (game, action) => {\n game.gameContestLoading = false;\n game.error = action.payload.message;\n game.gameContest = null;\n },\n\n // Requesting a game contest\n removeOneRequested: (game, action) => {\n game.loading = true;\n },\n removeOneReceived: (game, action) => {\n game.removed = action.payload.removed;\n },\n removeOneRequestFailed: (game, action) => {\n game.loading = false;\n game.error = action.payload.message;\n },\n },\n});\nexport const {\n prepareGameRequested,\n prepareGameReceived,\n prepareGameRequestFailed,\n gameQuestionRequested,\n gameQuestionReceived,\n gameQuestionRequestFailed,\n answerSubmitted,\n answerSubmittedSuccess,\n answerSubmittedFailed,\n gameResultRequested,\n gameResultReceived,\n gameResultRequestFailed,\n gameContestRequested,\n gameContestReceived,\n gameContestRequestFailed,\n removeOneRequested,\n removeOneReceived,\n removeOneRequestFailed,\n} = slice.actions;\n\nexport default slice.reducer;\n\n// Action Creators\nconst gameUrl = \"gameFree/\";\n\n// Action Creators\n\n// Action for requesting a game\nexport const prepareGame = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"prePareGame\",\n onStart: prepareGameRequested.type,\n onSuccess: prepareGameReceived.type,\n onError: prepareGameRequestFailed.type,\n callback,\n }),\n );\n};\n\n// Action for remove one\nexport const removeOne = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"removeOne\",\n onStart: removeOneRequested.type,\n onSuccess: removeOneReceived.type,\n onError: removeOneRequestFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Action for contest details\nexport const getGameContest = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"contest/\" + id,\n onStart: gameContestRequested.type,\n onSuccess: gameContestReceived.type,\n onError: gameContestRequestFailed.type,\n callback,\n }),\n );\n};\n\n// Action for Game result\nexport const getGameResult = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"gameOver\",\n onStart: gameResultRequested.type,\n onSuccess: gameResultReceived.type,\n onError: gameResultRequestFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Action for requesting a question\nexport const loadGameQuestion = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"getQuestion\",\n onStart: gameQuestionRequested.type,\n onSuccess: gameQuestionReceived.type,\n onError: gameQuestionRequestFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Action for submitting an answer\nexport const submitAnswer = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"sendAnswer\",\n onStart: answerSubmitted.type,\n onSuccess: answerSubmittedSuccess.type,\n onError: answerSubmittedFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Selector\nexport const getPracticeGame = createSelector(\n (state) => state.entities.practiceGame,\n (practiceGame) => practiceGame,\n);\n","import { combineReducers } from \"redux\";\nimport userReducer from \"./user\";\nimport contestReducer from \"./contest\";\nimport gameReducer from \"./game\";\nimport practiceGameReducer from \"./practiceGame\";\nimport sweepstakes from \"./sweepstakes\";\nimport lootbox from \"./lootbox\";\n\nexport default combineReducers({\n user: userReducer,\n contest: contestReducer,\n game: gameReducer,\n practiceGame: practiceGameReducer,\n sweepstakes,\n lootbox,\n});\n","import { combineReducers } from \"redux\";\nimport entitiesReducer from \"./entities\";\n\nexport default combineReducers({\n entities: entitiesReducer,\n});\n","import axios from \"axios\";\nimport * as actions from \"../api\";\nconst UNAUTHORIZED = 401;\nconst NOTFOUND = 404;\nconst UNDER_MAINTENANCE = 503;\n\naxios.interceptors.response.use(\n (response) => response,\n async (error) => {\n const { status } = error.response;\n if (status === UNAUTHORIZED) {\n localStorage.removeItem(\"x-auth-token\");\n localStorage.removeItem(\"x-refresh-token\");\n // window.location.href = \"/\";\n }\n if (status === NOTFOUND) {\n //window.location.href = \"/404\";\n }\n\n //redirect to maintance page if not on maintance page\n const currentPath = window.location.pathname;\n if (status === UNDER_MAINTENANCE && currentPath !== \"/maintenance\") {\n window.location.href = \"/maintenance\";\n }\n return Promise.reject(error);\n },\n);\n\nconst api =\n ({ dispatch }) =>\n (next) =>\n async (action) => {\n if (action.type !== actions.apiCallBegan.type) return next(action);\n const { url, method, data, params, onStart, onSuccess, onError, callback = false } = action.payload;\n if (onStart) dispatch({ type: onStart });\n\n next(action);\n\n const headers = {\n \"X-API-KEY\": process.env.REACT_APP_APIKEY,\n };\n\n if (localStorage.getItem(\"x-auth-token\")) {\n headers[\"Authorization\"] = localStorage.getItem(\"x-auth-token\");\n }\n\n try {\n const response = await axios.request({\n baseURL: process.env.REACT_APP_APIURL,\n headers,\n url,\n method,\n params,\n data,\n });\n // General\n dispatch(actions.apiCallSuccess(response.data));\n // Specific\n if (onSuccess) dispatch({ type: onSuccess, payload: response.data });\n if (callback) callback(response);\n } catch (error) {\n if (error.response?.status === 500) {\n //window.location.href = \"/500\";\n } else if (error.response?.status === 404) {\n window.location.href = \"/404\";\n }\n // General\n dispatch(actions.apiCallFailed(error.message));\n // Specific\n if (onError) dispatch({ type: onError, payload: error });\n if (callback) callback(error.response);\n }\n };\n\nexport default api;\n","import React from \"react\";\nconst closeBtn = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/cross.svg\";\n\nconst AlertClose = () => {\n return (\n
\n \"\"\n
\n );\n};\n\nexport default AlertClose;\n","import * as React from \"react\";\nimport * as Sentry from \"@sentry/react\";\nimport { BrowserTracing } from \"@sentry/tracing\";\n\nimport { BrowserRouter } from \"react-router-dom\";\n\nimport \"@fortawesome/fontawesome-svg-core/styles.css\";\nimport \"rc-slider/assets/index.css\";\nimport \"react-toastify/dist/ReactToastify.css\";\nimport \"react-loading-skeleton/dist/skeleton.css\";\nimport { injectStyle } from \"react-toastify/dist/inject-style\";\n\nimport App from \"./App\";\nimport { Provider } from \"react-redux\";\nimport configureStore from \"./store/configureStore\";\nimport { createRoot } from \"react-dom/client\";\nimport { ToastContainer } from \"react-toastify\";\nimport { setCookie } from \"./utils/cookiesUtilities\";\nimport AlertClose from \"./common/alert/alertClose\";\nimport { v4 as uuidv4 } from \"uuid\";\n\nconst container = document.getElementById(\"root\");\nconst root = createRoot(container);\nconst store = configureStore();\n\nconst deviceId = localStorage.getItem(\"deviceId\");\nif (!deviceId) {\n localStorage.setItem(\"deviceId\", uuidv4());\n}\nconst themeMode = \"dark\";\nsetCookie(\"themeMode\", themeMode);\n\nSentry.init({\n dsn: process.env.REACT_APP_SENTRY_DSN,\n integrations: [new BrowserTracing()],\n\n // Set tracesSampleRate to 1.0 to capture 100%\n // of transactions for performance monitoring.\n // We recommend adjusting this value in production\n tracesSampleRate: 1.0,\n});\n\n// TOASTIFY inject call\ninjectStyle();\nroot.render(\n \n }\n pauseOnHover\n />\n \n \n \n ,\n);\n","import { configureStore, getDefaultMiddleware } from \"@reduxjs/toolkit\";\nimport reducer from \"./reducer\";\nimport api from \"./middleware/api\";\nimport LogRocket from \"logrocket\";\n\nexport default function test() {\n return configureStore({\n reducer,\n middleware: [\n ...getDefaultMiddleware({\n serializableCheck: {\n ignoredActionPaths: [\"payload.callback\"],\n },\n }),\n api,\n LogRocket.reduxMiddleware(),\n ],\n });\n}\n","import { useLocation, useNavigate, useParams } from \"react-router-dom\";\nimport { useWeb3React } from \"@web3-react/core\";\n\nexport const withRouter = (Component) => {\n function ComponentWithRouterProp(props) {\n let location = useLocation();\n let navigate = useNavigate();\n let params = useParams();\n const web3Functions = useWeb3React();\n return (\n \n );\n }\n return ComponentWithRouterProp;\n};\n","import Cookies from \"js-cookie\";\n\nexport const setCookie = (key, value) => {\n Cookies.set(key, value);\n};\n\nexport const getCookie = (key) => {\n return Cookies.get(key);\n};\n","import { createAction } from \"@reduxjs/toolkit\";\n\nexport const apiCallBegan = createAction(\"api/callBegan\");\nexport const apiCallSuccess = createAction(\"api/callSuccess\");\nexport const apiCallFailed = createAction(\"api/callFailed\");\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { createSelector } from \"reselect\";\nimport { apiCallBegan } from \"./api\";\nimport moment from \"moment\";\n\nconst slice = createSlice({\n name: \"user\",\n initialState: {\n profile: {\n userProfile: {},\n connectedWallet: null,\n data: [],\n highScoreGame: {},\n allWinnings: {},\n },\n profileLoaded: localStorage.getItem(\"x-auth-token\") ? false : true,\n transactions: { data: [], totalCount: 0, filteredCount: 0, lastKey: null },\n activities: [],\n arcadeActivityLastKey: null,\n lootActivities: [],\n lootActivityLastKey: null,\n transactionsLoading: false,\n loading: false,\n loadingPrice: false,\n lastFetchPrice: null,\n error: null,\n isWalletConnected: false,\n isWalletLoading: true,\n activitiesLoading: false,\n notifications: [],\n unreadCount: 0,\n creditPrices: [],\n creditPriceBonusPercent: 0,\n messageToSign: null,\n messageToSignLoading: true,\n showLoginModal: false,\n showChooseWalletModal: false,\n showHTPAfter: false,\n showConnectWalletAfter: false,\n showOnboardingModal: false,\n showBuyCreditsModal: false,\n showHowToPlay: false,\n showDiscordModal: false,\n transactionId: null,\n availableTickets: 0,\n usdtBalance: [],\n availableTicketsLoading: true,\n userGameData: null,\n userGameDataLoading: false,\n showPurchaseCoins: false,\n showBountyBoxModal: false,\n howItWorksModalType: \"\",\n bountyBoxes: [],\n bountyBoxesReceivedAt: null,\n bountyBoxesTotal: null,\n bountyBoxDetails: null,\n bountyBoxLoading: false,\n bountyBoxDetailsLoading: false,\n googleAuthUrl: \"\",\n googleAuthURLLoading: false,\n fbAuthUrl: \"\",\n fbAuthURLLoading: false,\n discordAuthUrl: \"\",\n discordAuthURLLoading: false,\n showWalletModal: false,\n dailyGameChallengeLoading: false,\n dailyGameChallenge: null,\n dailyGameChallengeEligiblityLoading: false,\n dailyGameChallengeEligiblity: null,\n dailyStreakRewardStatusLoading: false,\n dailyStreakRewardStatus: null,\n threeDayStreakRewardStatusLoading: false,\n threeDayStreakRewardStatus: null,\n weeklyStreakRewardStatusLoading: false,\n weeklyStreakRewardStatus: null,\n zRunNft: null,\n zRunNFTLoading: false,\n walletConnectLoading: false,\n walletDisconnectLoading: false,\n referralCodesLoading: false,\n referralCodes: [],\n referralRewardsLoading: false,\n referralRewards: {},\n slides: [],\n slidesLoading: false,\n rewards: {},\n lastFetchRewards: null,\n lastFetchSlides: null,\n lastFetchDailyRewardStatus: null,\n lastFetchThreeDayRewardStatus: null,\n lastFetchWeeklyRewardStatus: null,\n },\n\n reducers: {\n showHideLoginModal: (misc, action) => {\n misc.showLoginModal = action.payload;\n },\n showHideWalletModal: (misc, action) => {\n misc.showWalletModal = action.payload;\n },\n showHideChooseWalletModal: (misc, action) => {\n misc.showChooseWalletModal = action.payload;\n },\n showHideHTPAfterModal: (misc, action) => {\n misc.showHTPAfter = action.payload;\n },\n showHideConnectWalletAfterModal: (misc, action) => {\n misc.showConnectWalletAfter = action.payload;\n },\n showHideOnboardingModal: (misc, action) => {\n misc.showOnboardingModal = action.payload;\n },\n showHideHowToPlayModal: (misc, action) => {\n misc.showHowToPlay = action.payload;\n },\n showHidePurchaseCoinsModal: (misc, action) => {\n misc.showPurchaseCoins = action.payload;\n },\n showHideBountyBoxModal: (misc, action) => {\n misc.showBountyBoxModal = action.payload;\n },\n showHideDiscordModal: (misc, action) => {\n misc.showDiscordModal = action.payload;\n },\n showHideBuyCreditsModal: (misc, action) => {\n misc.showBuyCreditsModal = action.payload;\n },\n disconnectWalletRequested: (misc, action) => {\n misc.walletDisconnectLoading = true;\n },\n\n disconnectWalletReceived: (misc, action) => {\n misc.profile.userProfile.externalWalletAddress = null;\n misc.messageToSignLoading = true;\n misc.walletDisconnectLoading = false;\n },\n\n disconnectWalletRequestFailed: (misc, action) => {\n misc.walletDisconnectLoading = false;\n },\n\n walletConnectRequested: (misc, action) => {\n misc.isWalletLoading = true;\n },\n walletConnectReceived: (misc, action) => {\n misc.isWalletConnected = true;\n misc.isWalletLoading = false;\n },\n walletConnectRequestFailed: (misc, action) => {\n misc.isWalletLoading = false;\n },\n\n //\n messageToSignRequested: (misc, action) => {\n misc.messageToSignLoading = true;\n },\n messageToSignReceived: (misc, action) => {\n misc.messageToSign = action.payload.signatureMessage;\n misc.messageToSignLoading = false;\n },\n messageToSignRequestFailed: (misc, action) => {\n misc.messageToSignLoading = true;\n },\n\n profileRequested: (misc, action) => {\n misc.loading = true;\n misc.profileLoaded = false;\n misc.profile.userProfile.externalWalletAddress = \"\";\n },\n priceRequested: (misc, action) => {\n misc.loadingPrice = true;\n },\n priceRequestFailed: (misc, action) => {\n misc.loadingPrice = false;\n },\n profileReceived: (misc, action) => {\n misc.profile = action.payload;\n misc.lastFetch = Date.now();\n misc.loading = false;\n misc.profileLoaded = true;\n },\n\n walletConnectionRequested: (misc, action) => {\n misc.walletConnectLoading = true;\n },\n walletConnectionFailed: (misc, action) => {\n misc.walletConnectLoading = false;\n },\n walletConnectionReceived: (misc, action) => {\n misc.walletConnectLoading = false;\n },\n\n notificationsReceived: (misc, action) => {\n misc.notifications = action.payload.data;\n misc.unreadCount = action.payload.unreadCount;\n misc.lastFetch = Date.now();\n misc.loading = false;\n },\n profileRequestFailed: (misc, action) => {\n misc.loading = false;\n misc.error = action.payload.message;\n },\n changeUnreadCount: (misc, action) => {\n misc.unreadCount = 0;\n },\n reduceUnreadCount: (misc, action) => {\n misc.unreadCount = action.payload;\n },\n transactionRequested: (misc, action) => {\n misc.transactionsLoading = true;\n },\n transactionReceived: (misc, action) => {\n misc.transactions = action.payload;\n misc.transactions.totalCount = action.payload.totalCount;\n misc.transactions.filteredCount = action.payload.filteredCount;\n misc.transactions.lastKey = action.payload.lastKey;\n misc.lastFetch = Date.now();\n misc.transactionsLoading = false;\n },\n activitiesRequested: (misc, action) => {\n misc.activitiesLoading = true;\n },\n activitiesReceived: (misc, action) => {\n misc.activities = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loading = false;\n misc.arcadeActivityLastKey = action.payload.lastKey;\n },\n moreActivitiesReceived: (misc, action) => {\n misc.activities = [...misc.activities, ...action.payload.data];\n misc.lastFetch = Date.now();\n misc.loading = false;\n misc.arcadeActivityLastKey = action.payload.lastKey;\n },\n activitiesRequestFailed: (misc, action) => {\n misc.loading = false;\n misc.error = action.payload.message;\n },\n // ====> Loot Activities\n lootActivitiesRequested: (misc, action) => {\n misc.activitiesLoading = true;\n },\n lootActivitiesReceived: (misc, action) => {\n misc.lootActivities = action.payload.data;\n misc.lastFetch = Date.now();\n misc.loading = false;\n misc.lootActivityLastKey = action.payload.lastKey;\n },\n moreLootActivitiesReceived: (misc, action) => {\n misc.lootActivities = [...misc.lootActivities, ...action.payload.data];\n misc.lastFetch = Date.now();\n misc.loading = false;\n misc.lootActivityLastKey = action.payload.lastKey;\n },\n lootActivitiesRequestFailed: (misc, action) => {\n misc.loading = false;\n misc.error = action.payload.message;\n },\n // <=== Loot Activities\n\n transactionRequestFailed: (misc, action) => {\n misc.transactionsLoading = false;\n misc.error = action.payload.message;\n },\n\n transactionLoadMoreReceived: (misc, action) => {\n misc.transactions.data = [...misc.transactions.data, ...action.payload.data];\n misc.transactions.totalCount = action.payload.totalCount;\n misc.transactions.filteredCount = action.payload.filteredCount;\n misc.transactions.lastKey = action.payload.lastKey;\n\n misc.lastFetch = Date.now();\n misc.transactionsLoading = false;\n },\n creditPricesReceived: (misc, action) => {\n misc.creditPrices = action.payload.data;\n misc.creditPriceBonusPercent = action.payload.creditPriceBonusPercent;\n misc.lastFetchPrice = Date.now();\n misc.loadingPrice = false;\n },\n\n enterContestSuccess: (misc, action) => {\n misc.transactionId = action.payload.data.id;\n },\n\n availableTicketsRequested: (misc, action) => {\n misc.availableTicketsLoading = true;\n },\n availableTicketsReceived: (misc, action) => {\n misc.availableTickets = action.payload?.data?.availableTickets;\n misc.usdtBalance = action.payload?.data?.usdtBalance;\n misc.lastFetch = Date.now();\n misc.availableTicketsLoading = false;\n },\n availableTicketsRequestFailed: (misc, action) => {\n misc.availableTicketsLoading = false;\n misc.error = action?.payload?.message;\n },\n\n // Game user data\n userGameDataRequested: (misc, action) => {\n misc.userGameDataLoading = true;\n },\n userGameDataRequestFailed: (misc, action) => {\n misc.userGameDataLoading = false;\n },\n userGameDataReceived: (misc, action) => {\n misc.profile = action.payload;\n misc.userGameDataLoading = false;\n },\n\n // Bounty Box Reducers\n bountyBoxesRequested: (misc, action) => {\n misc.bountyBoxLoading = true;\n },\n bountyBoxesRequestFailed: (misc, action) => {\n misc.bountyBoxLoading = false;\n },\n bountyBoxesReceived: (misc, action) => {\n misc.bountyBoxes = action.payload?.data;\n misc.bountyBoxesTotal = action.payload?.total ?? null;\n misc.bountyBoxLoading = false;\n misc.bountyBoxesReceivedAt = Date.now();\n },\n bountyBoxDetailsRequested: (misc, action) => {\n misc.bountyBoxDetailsLoading = true;\n },\n bountyBoxDetailsRequestFailed: (misc, action) => {\n misc.bountyBoxDetailsLoading = false;\n },\n bountyBoxDetailsReceived: (misc, action) => {\n misc.bountyBoxDetails = action.payload.data;\n misc.bountyBoxDetailsLoading = false;\n },\n\n // Google SSO\n googleAuthUrlRequested: (misc, action) => {\n misc.googleAuthURLLoading = true;\n },\n googleAuthUrlRequestFailed: (misc, action) => {},\n googleAuthUrlReceived: (misc, action) => {\n misc.googleAuthUrl = action.payload.data;\n },\n googleAuthUrlLoading: (misc, action) => {\n misc.googleAuthURLLoading = action.payload;\n },\n\n // Facebook SSO\n fbAuthUrlRequested: (misc, action) => {\n misc.fbAuthURLLoading = true;\n },\n fbAuthUrlRequestFailed: (misc, action) => {},\n fbAuthUrlReceived: (misc, action) => {\n misc.fbAuthUrl = action.payload.data;\n },\n fbAuthUrlLoading: (misc, action) => {\n misc.fbAuthURLLoading = action.payload;\n },\n\n // Google SSO\n discordAuthUrlRequested: (misc, action) => {\n misc.discordAuthURLLoading = true;\n },\n discordAuthUrlRequestFailed: (misc, action) => {},\n discordAuthUrlReceived: (misc, action) => {\n misc.discordAuthUrl = action.payload.data;\n },\n discordAuthUrlLoading: (misc, action) => {\n misc.discordAuthURLLoading = action.payload;\n },\n\n //rewards\n rewardsRequested: (misc, action) => {\n misc.rewardsLoading = true;\n },\n rewardsRequestFailed: (misc, action) => {\n misc.rewardsLoading = false;\n },\n rewardsReceived: (misc, action) => {\n misc.rewards = action.payload.data;\n misc.lastFetchRewards = Date.now();\n misc.rewardsLoading = false;\n },\n //slides\n slidesRequested: (misc, action) => {\n misc.slidesLoading = true;\n misc.lastFetchSlides = Date.now();\n },\n slidesReceived: (misc, action) => {\n misc.slides = action.payload.data;\n misc.lastFetchSlides = Date.now();\n misc.slidesLoading = false;\n },\n slidesRequestFailed: (misc, action) => {\n misc.slidesLoading = false;\n misc.lastFetchSlides = null;\n },\n dailyGameChallengeRequested: (misc, action) => {\n misc.dailyGameChallengeLoading = true;\n },\n dailyGameChallengeRequestFailed: (misc, action) => {\n misc.dailyGameChallengeLoading = false;\n },\n dailyGameChallengeReceived: (misc, action) => {\n misc.dailyGameChallenge = action.payload;\n misc.dailyGameChallengeLoading = false;\n },\n dailyGameChallengeEligiblityRequested: (misc, action) => {\n misc.dailyGameChallengeEligiblityLoading = true;\n },\n dailyGameChallengeEligiblityRequestFailed: (misc, action) => {\n misc.dailyGameChallengeEligiblityLoading = false;\n },\n dailyGameChallengeEligiblityReceived: (misc, action) => {\n misc.dailyGameChallengeEligiblity = action.payload;\n misc.dailyGameChallengeEligiblityLoading = false;\n },\n dailyStreakRewardStatusRequested: (misc, action) => {\n misc.dailyStreakRewardStatusLoading = true;\n },\n dailyStreakRewardStatusRequestFailed: (misc, action) => {\n misc.dailyStreakRewardStatusLoading = false;\n },\n dailyStreakRewardStatusReceived: (misc, action) => {\n misc.dailyStreakRewardStatus = action.payload;\n misc.lastFetchDailyRewardStatus = Date.now();\n misc.dailyStreakRewardStatusLoading = false;\n },\n threeDayStreakRewardStatusRequested: (misc, action) => {\n misc.threeDayStreakRewardStatusLoading = true;\n },\n threeDayStreakRewardStatusRequestFailed: (misc, action) => {\n misc.threeDayStreakRewardStatusLoading = false;\n },\n threeDayStreakRewardStatusReceived: (misc, action) => {\n misc.threeDayStreakRewardStatus = action.payload;\n misc.lastFetchThreeDayRewardStatus = Date.now();\n misc.threeDayStreakRewardStatusLoading = false;\n },\n weeklyStreakRewardStatusRequested: (misc, action) => {\n misc.weeklyStreakRewardStatusLoading = true;\n },\n weeklyStreakRewardStatusRequestFailed: (misc, action) => {\n misc.weeklyStreakRewardStatusLoading = false;\n },\n weeklyStreakRewardStatusReceived: (misc, action) => {\n misc.weeklyStreakRewardStatus = action.payload;\n misc.lastFetchWeeklyRewardStatus = Date.now();\n misc.weeklyStreakRewardStatusLoading = false;\n },\n referralCodesRequested: (misc, action) => {\n misc.referralCodesLoading = true;\n },\n referralCodesRequestFailed: (misc, action) => {\n misc.referralCodesLoading = false;\n },\n referralCodesReceived: (misc, action) => {\n misc.referralCodes = action?.payload?.data ?? [];\n misc.referralCodesLoading = false;\n },\n referralRewardsRequested: (misc, action) => {\n misc.referralRewardsLoading = true;\n },\n referralRewardsRequestFailed: (misc, action) => {\n misc.referralRewardsLoading = false;\n },\n referralRewardsReceived: (misc, action) => {\n misc.referralRewards = action?.payload?.data;\n misc.referralRewardsLoading = false;\n },\n dailyStreakRewardRedeemed: (misc, action) => {\n misc.dailyStreakRewardStatus.isRedeemed = true;\n misc.threeDayStreakRewardStatus.threeDayStreak = Math.min(\n (misc?.threeDayStreakRewardStatus?.threeDayStreak ?? 0) + 1,\n 3,\n );\n misc.weeklyStreakRewardStatus.weeklyStreak = Math.min((misc?.weeklyStreakRewardStatus?.weeklyStreak ?? 0) + 1, 5);\n misc.profile.userProfile.arcadeCoins =\n misc.profile.userProfile?.arcadeCoins + misc.rewards?.dailyArcadeCoinReward;\n misc.profile.userProfile.lootBonusCoins =\n misc.profile.userProfile?.lootBonusCoins + misc.rewards?.dailyLootBonusCoinReward;\n },\n threeDayStreakRewardRedeemed: (misc, action) => {\n misc.threeDayStreakRewardStatus.isRedeemed = true;\n misc.profile.userProfile.arcadeCoins =\n misc.profile.userProfile?.arcadeCoins + misc.rewards?.threeDayStreakArcadeCoinReward;\n misc.profile.userProfile.lootBonusCoins =\n misc.profile.userProfile?.lootBonusCoins + misc.rewards?.threeDayStreakLootBonusCoinReward;\n },\n weeklyStreakRewardRedeemed: (misc, action) => {\n misc.weeklyStreakRewardStatus.isRedeemed = true;\n misc.profile.userProfile.arcadeCoins =\n misc.profile.userProfile?.arcadeCoins + misc.rewards?.weeklyStreakArcadeCoinReward;\n misc.profile.userProfile.lootBonusCoins =\n misc.profile.userProfile?.lootBonusCoins + misc.rewards?.weeklyStreakLootBonusCoinReward;\n },\n dailyGameChallengeRewardRedeemed: (misc, action) => {\n misc.dailyGameChallengeEligiblity.isRedeemed = true;\n misc.profile.userProfile.arcadeCoins =\n misc.profile.userProfile?.arcadeCoins + misc.dailyGameChallenge?.bgGame?.dailyGameChallengeArcadeCoinReward;\n misc.profile.userProfile.lootBonusCoins =\n misc.profile.userProfile?.lootBonusCoins +\n misc.dailyGameChallenge?.bgGame?.dailyGameChallengeLootBonusCoinReward;\n },\n checkzRunNftRequested: (misc, action) => {\n misc.zRunNFTLoading = true;\n },\n checkzRunNftReceived: (misc, action) => {\n misc.zRunNft = action.payload;\n misc.zRunNFTLoading = false;\n },\n checkzRunNftRequestFailed: (misc, action) => {\n misc.zRunNFTLoading = false;\n },\n arcadeCoinsUpdated: (misc, action) => {\n misc.profile.userProfile.arcadeCoins = misc.profile.userProfile?.arcadeCoins + action.payload;\n },\n ticketsUpdated: (misc, action) => {\n misc.availableTickets = misc.availableTickets + action.payload;\n },\n lootBonusCoinsUpdated: (misc, action) => {\n misc.profile.userProfile.lootBonusCoins = misc.profile.userProfile?.lootBonusCoins + action.payload;\n },\n },\n});\n\nexport const {\n walletConnectionRequested,\n walletConnectionFailed,\n walletConnectionReceived,\n profileReceived,\n profileRequestFailed,\n profileRequested,\n transactionReceived,\n transactionRequestFailed,\n transactionRequested,\n transactionLoadMoreReceived,\n walletConnectRequested,\n walletConnectReceived,\n walletConnectRequestFailed,\n activitiesRequested,\n activitiesReceived,\n activitiesRequestFailed,\n notificationsReceived,\n changeUnreadCount,\n reduceUnreadCount,\n creditPricesReceived,\n priceRequested,\n priceRequestFailed,\n messageToSignRequested,\n messageToSignReceived,\n messageToSignRequestFailed,\n disconnectWalletRequested,\n disconnectWalletReceived,\n disconnectWalletRequestFailed,\n showHideLoginModal,\n showHideOnboardingModal,\n showHideBuyCreditsModal,\n showHideHowToPlayModal,\n showHideHTPAfterModal,\n showHideConnectWalletAfterModal,\n enterContestSuccess,\n showHideDiscordModal,\n availableTicketsRequested,\n availableTicketsReceived,\n availableTicketsRequestFailed,\n userGameDataRequested,\n userGameDataRequestFailed,\n userGameDataReceived,\n showHidePurchaseCoinsModal,\n showHideBountyBoxModal,\n bountyBoxesRequested,\n bountyBoxesRequestFailed,\n bountyBoxesReceived,\n bountyBoxDetailsRequested,\n bountyBoxDetailsRequestFailed,\n bountyBoxDetailsReceived,\n googleAuthUrlRequested,\n googleAuthUrlRequestFailed,\n googleAuthUrlReceived,\n googleAuthUrlLoading,\n fbAuthUrlRequested,\n fbAuthUrlRequestFailed,\n fbAuthUrlReceived,\n fbAuthUrlLoading,\n discordAuthUrlRequested,\n discordAuthUrlRequestFailed,\n discordAuthUrlReceived,\n discordAuthUrlLoading,\n showHideChooseWalletModal,\n showHideWalletModal,\n lootActivitiesRequested,\n lootActivitiesReceived,\n lootActivitiesRequestFailed,\n moreActivitiesReceived,\n moreLootActivitiesReceived,\n rewardsRequested,\n rewardsRequestFailed,\n rewardsReceived,\n dailyGameChallengeRequested,\n dailyGameChallengeRequestFailed,\n dailyGameChallengeReceived,\n dailyGameChallengeEligiblityRequested,\n dailyGameChallengeEligiblityRequestFailed,\n dailyGameChallengeEligiblityReceived,\n dailyStreakRewardStatusRequested,\n dailyStreakRewardStatusRequestFailed,\n dailyStreakRewardStatusReceived,\n threeDayStreakRewardStatusRequested,\n threeDayStreakRewardStatusRequestFailed,\n threeDayStreakRewardStatusReceived,\n weeklyStreakRewardStatusRequested,\n weeklyStreakRewardStatusReceived,\n weeklyStreakRewardStatusRequestFailed,\n dailyStreakRewardRedeemed,\n threeDayStreakRewardRedeemed,\n weeklyStreakRewardRedeemed,\n dailyGameChallengeRewardRedeemed,\n checkzRunNftRequested,\n checkzRunNftReceived,\n checkzRunNftRequestFailed,\n arcadeCoinsUpdated,\n lootBonusCoinsUpdated,\n ticketsUpdated,\n referralCodesRequested,\n referralCodesReceived,\n referralCodesRequestFailed,\n referralRewardsRequested,\n referralRewardsReceived,\n referralRewardsRequestFailed,\n slidesRequested,\n slidesReceived,\n slidesRequestFailed,\n} = slice.actions;\nexport default slice.reducer;\n\n// Action Creators\nconst authUrl = \"onboarding/login\";\n\nexport const toggleWalletPopupRedux = (show) => (dispatch) => {\n dispatch(showHideWalletModal(show));\n};\n\nexport const togglePopupRedux = (show) => (dispatch) => {\n dispatch(showHideLoginModal(show));\n};\nexport const toggleChooseWalletRedux = (show) => (dispatch) => {\n dispatch(showHideChooseWalletModal(show));\n};\nexport const toggleHTPRedux = (show) => (dispatch) => {\n dispatch(showHideHTPAfterModal(show));\n};\nexport const toggleConnectWalletRedux = (show) => (dispatch) => {\n dispatch(showHideConnectWalletAfterModal(show));\n};\nexport const toggleHowToPlayRedux = (show) => (dispatch) => {\n dispatch(showHideHowToPlayModal(show));\n};\nexport const togglePurchaseCoinsRedux = (show) => (dispatch) => {\n dispatch(showHidePurchaseCoinsModal(show));\n};\nexport const toggleBountyBoxRedux = (show) => (dispatch) => {\n dispatch(showHideBountyBoxModal(show));\n};\nexport const toggleDiscordModalRedux = (show) => (dispatch) => {\n dispatch(showHideDiscordModal(show));\n};\nexport const toggleOnboardingPopup = (show) => (dispatch) => {\n dispatch(showHideOnboardingModal(show));\n};\n\nexport const toggleBuyCreditsPopup = (show) => (dispatch) => {\n dispatch(showHideBuyCreditsModal(show));\n};\n\n// SSO Loading Toggles\nexport const toggleGoogleAuthUrlLoading = (show) => (dispatch) => {\n dispatch(googleAuthUrlLoading(show));\n};\nexport const toggleFBAuthUrlLoading = (show) => (dispatch) => {\n dispatch(fbAuthUrlLoading(show));\n};\nexport const toggleDiscordAuthUrlLoading = (show) => (dispatch) => {\n dispatch(discordAuthUrlLoading(show));\n};\nexport const updateRewardStreak = () => (dispatch) => {\n dispatch(dailyStreakRewardRedeemed());\n};\nexport const updateThreeDayStreak = () => (dispatch) => {\n dispatch(threeDayStreakRewardRedeemed());\n};\nexport const updateWeeklyStreak = () => (dispatch) => {\n dispatch(weeklyStreakRewardRedeemed());\n};\nexport const updateGameChallengeReward = () => (dispatch) => {\n dispatch(dailyGameChallengeRewardRedeemed());\n};\nexport const updateLootBonusCoins = (data) => (dispatch) => {\n dispatch(lootBonusCoinsUpdated(data));\n};\nexport const updateTickets = (data) => (dispatch) => {\n dispatch(ticketsUpdated(data));\n};\nexport const updateArcadeCoins = (data) => (dispatch) => {\n dispatch(arcadeCoinsUpdated(data));\n};\nexport const disconnectWallet = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/disconnectWallet\",\n onStart: disconnectWalletRequested.type,\n onSuccess: disconnectWalletReceived.type,\n onError: disconnectWalletRequestFailed.type,\n callback,\n }),\n );\n};\n\nexport const loadMessageToSign = () => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/getMessage\",\n onStart: messageToSignRequested.type,\n onSuccess: messageToSignReceived.type,\n onError: messageToSignRequestFailed.type,\n }),\n );\n};\n\nexport const loadWalletMessageToSign = () => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/getMessage\",\n onStart: messageToSignRequested.type,\n onSuccess: messageToSignReceived.type,\n onError: messageToSignRequestFailed.type,\n }),\n );\n};\n\nexport const loadProfile = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/profile\",\n onStart: profileRequested.type,\n onSuccess: profileReceived.type,\n onError: profileRequestFailed.type,\n callback,\n }),\n );\n};\n\nexport const loadTransactions =\n (page = 1) =>\n (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"transactions\",\n params: { page },\n onStart: transactionRequested.type,\n onSuccess: transactionReceived.type,\n onError: transactionRequestFailed.type,\n }),\n );\n };\nexport const loadNotifications = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/notifications\",\n onStart: profileRequested.type,\n onSuccess: notificationsReceived.type,\n onError: profileRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadUserGameData = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"gameCount/\" + id,\n onStart: userGameDataRequested.type,\n onSuccess: userGameDataReceived.type,\n onError: userGameDataRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadActivities = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/activities\",\n onStart: activitiesRequested.type,\n onSuccess: activitiesReceived.type,\n onError: activitiesRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadMoreActivities = (lastKey, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/activities\",\n params: { lastKey },\n onStart: activitiesRequested.type,\n onSuccess: moreActivitiesReceived.type,\n onError: activitiesRequestFailed.type,\n callback,\n }),\n );\n};\n\nexport const loadLootActivities = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/lootBucksActivities\",\n onStart: lootActivitiesRequested.type,\n onSuccess: lootActivitiesReceived.type,\n onError: lootActivitiesRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadMoreLootActivities = (lastKey, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/lootBucksActivities\",\n params: { lastKey },\n onStart: lootActivitiesRequested.type,\n onSuccess: moreLootActivitiesReceived.type,\n onError: lootActivitiesRequestFailed.type,\n callback,\n }),\n );\n};\n\nexport const loadMoreTransactions = (lastKey, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"transactions\",\n params: { lastKey },\n onStart: transactionRequested.type,\n onSuccess: transactionLoadMoreReceived.type,\n onError: transactionRequestFailed.type,\n callback,\n }),\n );\n};\n\nexport const checkWallet = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/checkWallet\",\n method: \"POST\",\n data,\n onStart: walletConnectRequested.type,\n onSuccess: walletConnectReceived.type,\n onError: walletConnectRequestFailed.type,\n callback,\n }),\n );\n};\nexport const registerUser = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/registration\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const loginUser = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/login\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const sendOTP = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/sendOtp\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const resendOTP = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/resendOtp\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const resetPassword = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/resetPassword\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const verifyOTP = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/verifyOtp\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\nexport const markNotificationAsRead = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/notifications/read\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const signIn = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/connectWallet\",\n method: \"POST\",\n data,\n callback,\n onStart: walletConnectionRequested.type,\n onSuccess: walletConnectionReceived.type,\n onError: walletConnectRequestFailed.type,\n }),\n );\n};\nexport const walletLogin = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/walletLogin\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const connectNFT = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/checkWallet\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const requestCredits = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/requestCredits\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const updateProfile = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/profile\",\n method: \"PUT\",\n data,\n callback,\n }),\n );\n};\n\nexport const redeemToken = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/redeemToken\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\nexport const contestEntry = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"transaction/entercontest\",\n onSuccess: enterContestSuccess.type,\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\nexport const updateImage = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/profileImage\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const logout = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: authUrl + \"logout\",\n method: \"POST\",\n callback,\n }),\n );\n};\nexport const loadCreditPrices = (callback) => (dispatch, getState) => {\n return dispatch(\n apiCallBegan({\n url: \"creditPrice\",\n onStart: priceRequested.type,\n onSuccess: creditPricesReceived.type,\n onError: priceRequestFailed.type,\n callback,\n }),\n );\n};\n\n//Create charge\nexport const createCharge = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"purchaseCredit/createCharge/\" + id,\n method: \"POST\",\n callback,\n }),\n );\n};\n\n//Purchase Coins Package\nexport const purchaseCoins = (id, data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"creditPrice/purchase/\" + id,\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\n// Create Stripe Payment Intent\nexport const createPaymentIntent = (data, id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"purchaseCredit/createStripePaymentIntent/\" + id,\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\n// Create Stripe Payment Intent\nexport const stripeWebhook = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"purchaseCredit/stripeWebhook\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\n//Create charge\nexport const redeemCredit = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/redeemDailyCredit\",\n method: \"GET\",\n callback,\n }),\n );\n};\nexport const processTransaction = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"transactions/process\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const checkUsername = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/checkUserName\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const checkEmail = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/checkEmail\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\nexport const loadAvailableTickets = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/availableTickets\",\n onStart: availableTicketsRequested.type,\n onSuccess: availableTicketsReceived.type,\n onError: availableTicketsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const createWallet = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/createWallet\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\n// Transfer/Withdraw USDT\nexport const calculateGasFee = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/calculateGasFee\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const transferAsset = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/transferAsset\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\nexport const sendPassCodeOTP = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/resetPasscodeOtp\",\n method: \"GET\",\n callback,\n }),\n );\n};\nexport const resetPassCode = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/resetPasscode\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\n// Bounty Box Redemptions Actions\nexport const loadBountyBoxes = (callback, hardRefresh) => (dispatch, getState) => {\n if (!hardRefresh) {\n const { profile, bountyBoxesReceivedAt } = getState().entities.user;\n if (!profile.userProfile.externalWalletAddress) return;\n const diffInSeconds = moment().diff(moment(bountyBoxesReceivedAt), \"seconds\");\n if (diffInSeconds < 30) return;\n }\n\n return dispatch(\n apiCallBegan({\n url: \"bountyBox\",\n onStart: bountyBoxesRequested.type,\n onSuccess: bountyBoxesReceived.type,\n onError: bountyBoxesRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadBountyBoxDetails = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"bountyBox/\" + id,\n onStart: bountyBoxDetailsRequested.type,\n onSuccess: bountyBoxDetailsReceived.type,\n onError: bountyBoxDetailsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const redeemBountyBox = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"bountyBox/process/\" + id,\n callback,\n }),\n );\n};\n\n// SSO\nexport const loadGoogleAuthURL = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/google/authURL\",\n onStart: googleAuthUrlRequested.type,\n onSuccess: googleAuthUrlReceived.type,\n onError: googleAuthUrlRequestFailed.type,\n callback,\n }),\n );\n};\nexport const authorizeGoogleCode = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/google/authorize\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const loadFBAuthURL = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/facebook/authURL\",\n onStart: fbAuthUrlRequested.type,\n onSuccess: fbAuthUrlReceived.type,\n onError: fbAuthUrlRequestFailed.type,\n callback,\n }),\n );\n};\nexport const authorizeFBCode = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/facebook/authorize\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n\nexport const loadDiscordAuthURL = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/discord/authURL\",\n onStart: discordAuthUrlRequested.type,\n onSuccess: discordAuthUrlReceived.type,\n onError: discordAuthUrlRequestFailed.type,\n callback,\n }),\n );\n};\nexport const authorizeDiscordCode = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"onboarding/discord/authorize\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const loadRewards = (callback) => (dispatch, getState) => {\n const { lastFetchRewards } = getState().entities.user;\n const diffInMinutes = moment().diff(moment(lastFetchRewards), \"minutes\");\n if (diffInMinutes < 10) return;\n return dispatch(\n apiCallBegan({\n url: \"reward\",\n onStart: rewardsRequested.type,\n onSuccess: rewardsReceived.type,\n onError: rewardsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadDailyGameChallenge = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"dailyGameChallenge\",\n onStart: dailyGameChallengeRequested.type,\n onSuccess: dailyGameChallengeReceived.type,\n onError: dailyGameChallengeRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadDailyGameChallengeEligiblity = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"dailyGameChallenge/checkScore\",\n onStart: dailyGameChallengeEligiblityRequested.type,\n onSuccess: dailyGameChallengeEligiblityReceived.type,\n onError: dailyGameChallengeEligiblityRequestFailed.type,\n callback,\n }),\n );\n};\nexport const redeemDailyGameChallengeReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"dailyGameChallenge/redeemDailyGameChallengeReward\",\n callback,\n }),\n );\n};\nexport const loadDailyStreakRewardStatus = (callback) => (dispatch, getState) => {\n const { lastFetchDailyRewardStatus } = getState().entities.user;\n const diffInMinutes = moment().diff(moment(lastFetchDailyRewardStatus), \"minutes\");\n if (diffInMinutes < 10) return;\n return dispatch(\n apiCallBegan({\n url: \"reward/checkDailyRewardStatus\",\n onStart: dailyStreakRewardStatusRequested.type,\n onSuccess: dailyStreakRewardStatusReceived.type,\n onError: dailyStreakRewardStatusRequestFailed.type,\n callback,\n }),\n );\n};\nexport const redeemDailyReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"reward/redeemDailyReward\",\n callback,\n }),\n );\n};\nexport const loadThreeDayStreakRewardStatus = (callback) => (dispatch, getState) => {\n const { lastFetchThreeDayRewardStatus } = getState().entities.user;\n const diffInMinutes = moment().diff(moment(lastFetchThreeDayRewardStatus), \"minutes\");\n if (diffInMinutes < 10) return;\n return dispatch(\n apiCallBegan({\n url: \"reward/checkThreeDayStreakRewardStatus\",\n onStart: threeDayStreakRewardStatusRequested.type,\n onSuccess: threeDayStreakRewardStatusReceived.type,\n onError: threeDayStreakRewardStatusRequestFailed.type,\n callback,\n }),\n );\n};\nexport const redeemThreeDayStreakReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"reward/redeemThreeDayStreakReward\",\n callback,\n }),\n );\n};\nexport const loadWeeklyStreakRewardStatus = (callback) => (dispatch, getState) => {\n const { lastFetchWeeklyRewardStatus } = getState().entities.user;\n const diffInMinutes = moment().diff(moment(lastFetchWeeklyRewardStatus), \"minutes\");\n if (diffInMinutes < 10) return;\n return dispatch(\n apiCallBegan({\n url: \"reward/checkWeeklyStreakRewardStatus\",\n onStart: weeklyStreakRewardStatusRequested.type,\n onSuccess: weeklyStreakRewardStatusReceived.type,\n onError: weeklyStreakRewardStatusRequestFailed.type,\n callback,\n }),\n );\n};\nexport const redeemWeeklyStreakReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"reward/redeemWeeklyStreakReward\",\n callback,\n }),\n );\n};\n\n// Zed Run NFT Color\nexport const zedRunNftColor = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/zedRunNftColor\",\n callback,\n }),\n );\n};\n\n// Zed Run NFT check\nexport const checkZRunNft = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/checkZrunNft\",\n onStart: checkzRunNftRequested.type,\n onSuccess: checkzRunNftReceived.type,\n onError: checkzRunNftRequestFailed.type,\n callback,\n }),\n );\n};\nexport const redeemZRunNft = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/redeemZrunNft\",\n callback,\n }),\n );\n};\nexport const redeemTickets = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"user/redeemTickets\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\n//referral\nexport const createReferralCode = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"referral/code\",\n method: \"POST\",\n data,\n callback,\n }),\n );\n};\nexport const loadReferralCodes = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"referral/code\",\n onStart: referralCodesRequested.type,\n onSuccess: referralCodesReceived.type,\n onError: referralCodesRequestFailed.type,\n callback,\n }),\n );\n};\nexport const loadReferralRewards = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"referral/availableRewards\",\n onStart: referralRewardsRequested.type,\n onSuccess: referralRewardsReceived.type,\n onError: referralRewardsRequestFailed.type,\n callback,\n }),\n );\n};\nexport const claimReferralReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"referral/claimRewards\",\n callback,\n }),\n );\n};\nexport const loadSlides = (callback) => (dispatch, getState) => {\n const { lastFetchSlides } = getState().entities.user;\n const diffInMinutes = moment().diff(moment(lastFetchSlides), \"minutes\");\n if (diffInMinutes < 10) return;\n return dispatch(\n apiCallBegan({\n url: \"slider\",\n onStart: slidesRequested.type,\n onSuccess: slidesReceived.type,\n onError: slidesRequestFailed.type,\n callback,\n }),\n );\n};\nexport const getUser = createSelector(\n (state) => state.entities.user,\n (user) => user,\n);\n","import { createSlice } from \"@reduxjs/toolkit\";\nimport { createSelector } from \"reselect\";\nimport { apiCallBegan } from \"./api\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\n\nconst slice = createSlice({\n name: \"game\",\n initialState: {\n error: null,\n loadingGame: false,\n id: null,\n gameStartedAt: null,\n question: null,\n loadingGameQuestion: true,\n submittingAnswer: false,\n answerData: null,\n loadingGameResult: true,\n gameOver: null,\n gameContest: null,\n gameContestLoading: true,\n removeOneLoading: false,\n removed: false,\n bgGames: [],\n demoBgGames: [],\n cowitzerLeaderboard: [],\n cowitzerLeaderboardLoading: true,\n bgGamesLoading: false,\n demoBgGamesLoading: false,\n gameId: null,\n lastGameCreatedAt: null,\n lastScoreSavedAt: null,\n lastFinalScoreSavedAt: null,\n bgGameDetails: {},\n cowitzerLaunching: false,\n // Share score\n finalScore: null,\n shareScoreLoading: false,\n shareGameScoreDetails: null,\n finalScoreResponseStatus: null,\n boardGame: {},\n gameData: null,\n gameScore: 0,\n startTimer: false,\n\n // Practice Games\n bgPracticeGameGameId: null,\n bgPracticeGameLastGameCreatedAt: null,\n bgPracticeGameLastScoreSavedAt: null,\n bgPracticeGameLastFinalScoreSavedAt: null,\n bgPracticeGameFinalScore: null,\n bgPracticeGameFinalScoreResponseStatus: null,\n bgPracticeGameGameData: null,\n bgPracticeGameGameScore: 0,\n\n //weekly leaderboard\n weeklyLeaderBoard: [],\n weeklyLeaderBoardLoading: false,\n lastFetchBgGames: null,\n },\n\n reducers: {\n //boardGame\n boardGameLoaded: (game, action) => {\n game.boardGame = action.payload;\n },\n\n // Requesting a game\n prepareGameRequested: (game, action) => {\n game.loadingGame = true;\n game.id = null;\n game.question = null;\n },\n\n // Cowitzer launching\n cowitzerLaunching: (game, action) => {\n game.cowitzerLaunching = true;\n },\n\n //Cowitzer Launched\n cowitzerLaunched: (game, action) => {\n game.cowitzerLaunching = false;\n },\n\n prepareGameReceived: (game, action) => {\n game.loadingGame = false;\n game.id = action.payload.game;\n game.gameStartedAt = new Date().valueOf();\n },\n prepareGameRequestFailed: (game, action) => {\n game.loadingGame = false;\n game.error = action.payload.message;\n },\n\n // Requesting a question\n gameQuestionRequested: (game, action) => {\n game.loadingGameQuestion = true;\n },\n gameQuestionReceived: (game, action) => {\n game.loadingGameQuestion = false;\n game.question = action.payload;\n },\n gameQuestionRequestFailed: (game, action) => {\n game.loadingGameQuestion = false;\n game.error = action.payload.message;\n game.question = null;\n },\n\n // Submitting an answer\n answerSubmitted: (game, action) => {\n game.submittingAnswer = true;\n },\n answerSubmittedSuccess: (game, action) => {\n game.loadingGameQuestion = true;\n game.submittingAnswer = false;\n game.answerData = action.payload;\n },\n answerSubmittedFailed: (game, action) => {\n game.submittingAnswer = false;\n game.error = action.payload.message;\n },\n\n // Requesting a game result\n gameResultRequested: (game, action) => {\n game.loadingGameResult = true;\n game.id = null;\n game.question = null;\n game.answerData = null;\n },\n gameResultReceived: (game, action) => {\n game.loadingGameResult = false;\n game.gameOver = action.payload;\n },\n gameResultRequestFailed: (game, action) => {\n game.loadingGameResult = false;\n game.error = action.payload.message;\n game.gameOver = null;\n },\n\n // Requesting a game contest\n gameContestRequested: (game, action) => {\n game.gameContestLoading = true;\n },\n gameContestReceived: (game, action) => {\n game.gameContestLoading = false;\n game.gameContest = action.payload;\n },\n gameContestRequestFailed: (game, action) => {\n game.gameContestLoading = false;\n game.error = action.payload.message;\n game.gameContest = null;\n },\n\n // Requesting a game contest\n removeOneRequested: (game, action) => {\n game.loading = true;\n },\n removeOneReceived: (game, action) => {\n game.removed = action.payload.removed;\n },\n removeOneRequestFailed: (game, action) => {\n game.loading = false;\n game.error = action.payload.message;\n },\n\n // Requesting BG Games\n bgGamesRequested: (game, action) => {\n game.bgGamesLoading = true;\n game.gameScore = 0;\n game.startTimer = false;\n },\n bgGamesReceived: (game, action) => {\n game.bgGamesLoading = false;\n game.bgGames = _.sortBy(action.payload.data, [(o) => o.isComingSoon]);\n game.lastFetchBgGames = Date.now();\n },\n bgGamesRequestFailed: (game, action) => {\n game.bgGamesLoading = false;\n game.error = action.payload.message;\n game.bgGames = [];\n },\n demoBgGamesRequested: (game, action) => {\n game.demoBgGamesLoading = true;\n },\n demoBgGamesReceived: (game, action) => {\n game.demoBgGamesLoading = false;\n game.demoBgGames = action.payload.data;\n },\n demoBgGamesRequestFailed: (game, action) => {\n game.demoBgGamesLoading = false;\n },\n cowitzerLeaderboardReceived: (game, action) => {\n game.cowitzerLeaderboardLoading = false;\n game.cowitzerLeaderboard = action.payload.data;\n },\n cowitzerLeaderboardRequestFailed: (game, action) => {\n game.cowitzerLeaderboardLoading = false;\n },\n\n bgGamesDetailReceived: (game, action) => {\n game.bgGameDetails = action.payload;\n },\n\n // Share Game Score\n shareGameScoreRequested: (game, action) => {\n game.shareScoreLoading = true;\n },\n shareGameScoreReceived: (game, action) => {\n game.shareScoreLoading = false;\n game.shareGameScoreDetails = action.payload;\n },\n shareGameScoreRequestFailed: (game, action) => {\n game.shareScoreLoading = false;\n game.error = action.payload.message;\n game.shareGameScoreDetails = null;\n },\n\n // initialGameDataRecieved\n initialGameDataRecieved: (game, action) => {\n game.gameData = action.payload.gameData;\n },\n\n initialGameDataRequested: (game, action) => {\n game.gameScore = 0;\n },\n\n createGameSuccess: (game, action) => {\n game.gameId = action.payload.game;\n },\n createGameRequested: (game, action) => {\n game.lastGameCreatedAt = Date.now();\n game.gameScore = 0;\n },\n saveScoreRequested: (game, action) => {\n game.lastScoreSavedAt = Date.now();\n },\n saveFinalScoreReceived: (game, action) => {\n game.finalScore = action.payload;\n game.lastGameCreatedAt = null;\n },\n saveFinalScoreStatusReceived: (game, action) => {\n game.finalScoreResponseStatus = action.payload;\n },\n saveFinalScoreRequested: (game, action) => {\n game.lastFinalScoreSavedAt = Date.now();\n game.startTimer = false;\n },\n\n gameScoreRecieved: (game, action) => {\n game.gameScore = action.payload;\n },\n startTimer: (game, action) => {\n game.startTimer = true;\n },\n\n /**\n *\n * BG Practice Games\n *\n */\n bgPracticeGameInitialGameDataRecieved: (game, action) => {\n game.bgPracticeGameGameData = action.payload.gameData;\n },\n bgPracticeGameCreateGameSuccess: (game, action) => {\n game.bgPracticeGameGameId = action.payload.game;\n },\n bgPracticeGameCreateGameRequested: (game, action) => {\n game.bgPracticeGameLastGameCreatedAt = Date.now();\n game.bgPracticeGameGameScore = 0;\n },\n bgPracticeGameSaveScoreRequested: (game, action) => {\n game.bgPracticeGameLastScoreSavedAt = Date.now();\n },\n bgPracticeGameSaveFinalScoreReceived: (game, action) => {\n game.bgPracticeGameFinalScore = action.payload;\n game.bgPracticeGameLastGameCreatedAt = null;\n },\n bgPracticeGameSaveFinalScoreStatusReceived: (game, action) => {\n game.bgPracticeGameFinalScoreResponseStatus = action.payload;\n },\n bgPracticeGameSaveFinalScoreRequested: (game, action) => {\n game.bgPracticeGameLastFinalScoreSavedAt = Date.now();\n game.startTimer = false;\n },\n\n bgPracticeGameGameScoreRecieved: (game, action) => {\n game.bgPracticeGameGameScore = action.payload;\n },\n bgPracticeGameStartTimer: (game, action) => {\n game.startTimer = true;\n },\n //weekly leaderboard\n weeklyLeaderBoardRequested: (game, action) => {\n game.weeklyLeaderBoardLoading = true;\n },\n weeklyLeaderBoardReceived: (game, action) => {\n game.weeklyLeaderBoardLoading = false;\n game.weeklyLeaderBoard = action.payload;\n },\n weeklyLeaderBoardRequestFailed: (game, action) => {\n game.weeklyLeaderBoardLoading = false;\n },\n },\n});\nexport const {\n prepareGameRequested,\n prepareGameReceived,\n prepareGameRequestFailed,\n gameQuestionRequested,\n gameQuestionReceived,\n gameQuestionRequestFailed,\n answerSubmitted,\n answerSubmittedSuccess,\n answerSubmittedFailed,\n gameResultRequested,\n gameResultReceived,\n gameResultRequestFailed,\n gameContestRequested,\n gameContestReceived,\n gameContestRequestFailed,\n removeOneRequested,\n removeOneReceived,\n removeOneRequestFailed,\n bgGamesRequested,\n bgGamesReceived,\n bgGamesRequestFailed,\n demoBgGamesRequested,\n demoBgGamesReceived,\n demoBgGamesRequestFailed,\n weeklyLeaderBoardRequested,\n weeklyLeaderBoardReceived,\n weeklyLeaderBoardRequestFailed,\n createGameSuccess,\n createGameRequested,\n shareGameScoreRequested,\n shareGameScoreReceived,\n shareGameScoreRequestFailed,\n saveScoreRequested,\n saveFinalScoreRequested,\n bgGamesDetailReceived,\n saveFinalScoreReceived,\n saveFinalScoreStatusReceived,\n initialGameDataRecieved,\n initialGameDataRequested,\n gameScoreRecieved,\n startTimer,\n bgPracticeGameInitialGameDataRecieved,\n bgPracticeGameCreateGameSuccess,\n bgPracticeGameCreateGameRequested,\n bgPracticeGameSaveScoreRequested,\n bgPracticeGameSaveFinalScoreReceived,\n bgPracticeGameSaveFinalScoreStatusReceived,\n bgPracticeGameSaveFinalScoreRequested,\n bgPracticeGameGameScoreRecieved,\n bgPracticeGameStartTimer,\n cowitzerLeaderboardReceived,\n cowitzerLaunched,\n cowitzerLaunching,\n cowitzerLeaderboardRequestFailed,\n boardGameLoaded,\n} = slice.actions;\n\nexport default slice.reducer;\n\n// Action Creators\nconst gameUrl = \"game/\";\nconst practiceGameUrl = \"bgGamePractice/\";\n\n// Action Creators\n\n// Action for requesting a game\nexport const prepareGame = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"prePareGame\",\n onStart: prepareGameRequested.type,\n onSuccess: prepareGameReceived.type,\n onError: prepareGameRequestFailed.type,\n params: data,\n callback,\n }),\n );\n};\n\n// Action for remove one\nexport const removeOne = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"removeOne\",\n onStart: removeOneRequested.type,\n onSuccess: removeOneReceived.type,\n onError: removeOneRequestFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Action for contest details\nexport const getGameContest = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"contest/\" + id,\n onStart: gameContestRequested.type,\n onSuccess: gameContestReceived.type,\n onError: gameContestRequestFailed.type,\n callback,\n }),\n );\n};\n\n// Action for BG Games\nexport const cowitzerEnter = (data, callback) => (dispatch, getState) => {\n // if got cowitzerLaunching then return\n if (getState().entities.game.cowitzerLaunching) return;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"game/cowitzer/entercontest\",\n data,\n onStart: cowitzerLaunching.type,\n onSuccess: cowitzerLaunched.type,\n onError: cowitzerLaunched.type,\n callback,\n }),\n );\n};\n\n// Action for BG Games\nexport const loadBgGames = (params, callback) => (dispatch, getState) => {\n // params.sort = \"createdAt\";\n // params.order = \"desc \";\n const { lastFetchBgGames } = getState().entities.game;\n const diffInMinutes = moment().diff(moment(lastFetchBgGames), \"minutes\");\n if (diffInMinutes < 2) return;\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"bgGame/\",\n onStart: bgGamesRequested.type,\n onSuccess: bgGamesReceived.type,\n onError: bgGamesRequestFailed.type,\n params,\n callback,\n }),\n );\n};\nexport const loadDemoGames = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: \"bgGame/demo\",\n onStart: demoBgGamesRequested.type,\n onSuccess: demoBgGamesReceived.type,\n onError: demoBgGamesRequestFailed.type,\n callback,\n }),\n );\n};\n// Cowitzer Leaderboard\nexport const loadCowitzerLeaderBoard = () => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"cowitzer/leaderboard\",\n onSuccess: cowitzerLeaderboardReceived.type,\n onError: cowitzerLeaderboardRequestFailed.type,\n }),\n );\n};\n\n// Action for BG Games\nexport const loadBgGameDetail = (slug, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"bgGame/\" + slug,\n onSuccess: bgGamesDetailReceived.type,\n callback,\n }),\n );\n};\nexport const loadWeeklyLeaderBoard = (params, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n url: gameUrl + \"leaderboard\",\n onStart: weeklyLeaderBoardRequested.type,\n onSuccess: weeklyLeaderBoardReceived.type,\n onError: weeklyLeaderBoardRequestFailed.type,\n params,\n callback,\n }),\n );\n};\n// Action for sharing game score\nexport const shareGameScore = (id, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: gameUrl + \"shareGameScore/\" + id,\n onStart: shareGameScoreRequested.type,\n onSuccess: shareGameScoreReceived.type,\n onError: shareGameScoreRequestFailed.type,\n callback,\n }),\n );\n};\n\n// Action for Game result\nexport const getGameResult = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"gameOver\",\n onStart: gameResultRequested.type,\n onSuccess: gameResultReceived.type,\n onError: gameResultRequestFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Action for requesting a question\nexport const loadGameQuestion = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"getQuestion\",\n onStart: gameQuestionRequested.type,\n onSuccess: gameQuestionReceived.type,\n onError: gameQuestionRequestFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Action for submitting an answer\nexport const submitAnswer = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: gameUrl + \"sendAnswer\",\n onStart: answerSubmitted.type,\n onSuccess: answerSubmittedSuccess.type,\n onError: answerSubmittedFailed.type,\n data: data,\n callback,\n }),\n );\n};\n\nexport const initialGameData = (data, callback) => (dispatch, getState) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGame/initialGameData\",\n onSuccess: initialGameDataRecieved.type,\n onStart: initialGameDataRequested.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Function for create new game and send data in callback function\nexport const createNewGame = (callback) => (dispatch, getState) => {\n const { lastGameCreatedAt } = getState().entities.game;\n const diffInSeconds = moment().diff(moment(lastGameCreatedAt), \"seconds\");\n if (diffInSeconds < 10) return;\n const { transactionId } = getState().entities.user;\n const { gameData } = getState().entities.game;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGame/createGame\",\n onStart: createGameRequested.type,\n onSuccess: createGameSuccess.type,\n data: { transactionId, gameData },\n callback,\n }),\n );\n};\n\nexport const saveBreadcrumb = (data, callback) => (dispatch, getState) => {\n const { gameId, lastScoreSavedAt } = getState().entities.game;\n const diffInSeconds = moment().diff(moment(lastScoreSavedAt), \"seconds\");\n //if (diffInSeconds < 1) return;\n data.gameId = gameId;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGame/saveBreadcrumb\",\n onStart: saveScoreRequested.type,\n data: data,\n callback,\n }),\n );\n};\n\nexport const saveFinalScore = (data, callback) => (dispatch, getState) => {\n const { gameId, lastFinalScoreSavedAt } = getState().entities.game;\n const diffInSeconds = moment().diff(moment(lastFinalScoreSavedAt), \"seconds\");\n if (diffInSeconds < 10) return;\n data.gameId = gameId;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGame/saveFinalScore\",\n onStart: saveFinalScoreRequested.type,\n onSuccess: saveFinalScoreReceived.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Board game\nexport const savePosition = (data, callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"boardGame/game/save-position\",\n data: data,\n callback,\n }),\n );\n};\n\nexport const getposition = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-position\",\n callback,\n }),\n );\n};\n\n//boardGame/game/roll-dice\nexport const rollDice = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/roll-dice\",\n callback,\n }),\n );\n};\n\nexport const saveScoreStatusRedux = (status) => (dispatch) => {\n dispatch(saveFinalScoreStatusReceived(status));\n};\n\nexport const gameScoreUpdateRedux = (score) => (dispatch) => {\n dispatch(gameScoreRecieved(score));\n};\nexport const startTimerRedux = () => (dispatch) => {\n dispatch(startTimer());\n};\n\n/**\n *\n * BG Practice Games\n *\n */\n\nexport const bgPracticeGameInitialGameData = (data, callback) => (dispatch, getState) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGamePractice/initialGameData\",\n onSuccess: bgPracticeGameInitialGameDataRecieved.type,\n onStart: initialGameDataRequested.type,\n data: data,\n callback,\n }),\n );\n};\n\n// Function for create new game and send data in callback function\nexport const bgPracticeCreateNewGame = (bgGameId, callback) => (dispatch, getState) => {\n const { lastGameCreatedAt } = getState().entities.game;\n const diffInSeconds = moment().diff(moment(lastGameCreatedAt), \"seconds\");\n if (diffInSeconds < 10) return;\n const { transactionId } = getState().entities.user;\n const { bgPracticeGameGameData } = getState().entities.game;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGamePractice/createGame\",\n onStart: bgPracticeGameCreateGameRequested.type,\n onSuccess: bgPracticeGameCreateGameSuccess.type,\n data: { bgGameId, gameData: bgPracticeGameGameData },\n callback,\n }),\n );\n};\n\nexport const bgPracticeSaveBreadcrumb = (data, callback) => (dispatch, getState) => {\n const { bgPracticeGameGameId, lastScoreSavedAt } = getState().entities.game;\n const diffInSeconds = moment().diff(moment(lastScoreSavedAt), \"seconds\");\n //if (diffInSeconds < 1) return;\n data.gameId = bgPracticeGameGameId;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGamePractice/saveBreadcrumb\",\n onStart: bgPracticeGameSaveScoreRequested.type,\n data: data,\n callback,\n }),\n );\n};\n\nexport const bgPracticeSaveFinalScore = (data, callback) => (dispatch, getState) => {\n const { bgPracticeGameGameId, lastFinalScoreSavedAt } = getState().entities.game;\n const diffInSeconds = moment().diff(moment(lastFinalScoreSavedAt), \"seconds\");\n if (diffInSeconds < 10) return;\n data.gameId = bgPracticeGameGameId;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"bgGamePractice/saveFinalScore\",\n onStart: bgPracticeGameSaveFinalScoreRequested.type,\n onSuccess: bgPracticeGameSaveFinalScoreReceived.type,\n data: data,\n callback,\n }),\n );\n};\n\nexport const bgPracticeSaveScoreStatusRedux = (status) => (dispatch) => {\n dispatch(bgPracticeGameSaveFinalScoreStatusReceived(status));\n};\n\nexport const bgPracticeGameScoreUpdateRedux = (score) => (dispatch) => {\n dispatch(bgPracticeGameGameScoreRecieved(score));\n};\n\n// Selector\nexport const getGame = createSelector(\n (state) => state.entities.game,\n (game) => game,\n);\n"],"sourceRoot":""}