{"version":3,"sources":["common/loaderImag.jsx","utils/dateConversion.js","utils/verisoulUtils.js","common/errorPopup.jsx","web3/connectors/metaMask.js","web3/connectors/coinbase.js","store/contest.js","common/HeaderButton.jsx","common/header.jsx","store/sweepstakes.js","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","store/lootbox.js","utils/misc.js","common/sections/nonLoggedInPlaceholder.jsx","common/sections/discordChat.jsx","contests/components/common/detailsModalCard.jsx","web3/connectors.js","utils/withRouter.js","store/game.js","store/boardGame.js","metagameBoosts/carousel.jsx","metagameBoosts/SVG.js","metagameBoosts/pieSection.jsx","metagameBoosts/spinner.jsx","metagameBoosts/metagameSpinner.jsx","container/boardGame/iframeComponent.jsx","container/boardGame/gameSections.jsx","metagameBoosts/wonRewards.jsx","container/boardGame.jsx","appLogin.js","App.js","store/practiceGame.js","store/entities.js","store/reducer.js","store/middleware/api.js","common/alert/alertClose.jsx","index.js","store/configureStore.js","store/api.js","utils/cookiesUtilities.js","common/gtmDatalayer.js","store/user.js"],"names":["LoaderImg","_jsx","src","process","className","alt","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","Modal","concat","dialogClassName","show","error","onHide","setError","id","children","_jsxs","onClick","errorType","router","navigate","errorTitle","toUpperCase","HtmlParser","href","preventDefault","showConnectWalletAfter","withRouter","connect","dispatch","payload","metaMask","metaMaskHooks","initializeConnector","actions","MetaMask","coinbaseWallet","coinbaseWalletHooks","CoinbaseWallet","options","url","appName","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","type","onSuccess","onError","loadPendingContests","params","getState","more","entities","contest","diff","loadMyActiveGames","loadLeaderBoard","loadAllContests","loadContestsStatsArcade","sendAll","loadContestsStatsLoot","getContests","createSelector","contests","Button","_ref","classes","title","icon","target","iconLeft","iconWidth","iconHeight","Link","to","width","height","lazy","ConnectPopup","HowItWorks","NotificationModal","PurchaseCoinsModal","OnboardingModal","BountyBoxModal","ConnectWalletPopup","NotificationDropdown","DailyCredit","mobLogo","darkLogo","userIcon","adminIcon","arcadeCoinIcon","lootCoinIcon","xpIcon","Header","showShadow","showPopupW","showLoginPopup","showHowItWorks","tokenId","showDailyStreak","showNotifications","loginLoading","showSignupModal","isNotificationOpen","isChatOpen","showChat","showNotificationModal","showBountyBox","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$data3","_res$data3$connectedW","_res$data$userProfile","_res$data$userProfile2","_res$data","_res$data2","status","stringify","userProfile","_hsq","lastVisit","connectedWallet","walletAddress","loadBountyBoxes","profile","setCookie","LogRocket","identify","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","availableTickets","bountyBoxesTotal","bountyBoxLoading","_Fragment","scrollY","style","paddingRight","crashGame","_","isEmpty","image","small","arcadeCoins","toLocaleString","lootBonusCoins","undefined","minimumFractionDigits","maximumFractionDigits","xP","color","interaction_type","ids","map","n","markNotificationAsRead","changeUnreadCount","Suspense","fallback","toggleDiscordModalRedux","showDiscordModal","rel","Skeleton","bountyBox","toggleBountyBoxRedux","innerWidth","circle","marginLeft","borderRadius","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","AlertError","contestEntry","bgGame","nav1","setNav1","useState","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","_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","split","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","document","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","useNavigate","fn","addEventListener","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","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","getNumberWithOrdinal","s","v","SWEEP_INSTANCES_TEXTS","heading","subText","heading2","subText2","SWEEPS_RECORDS_PER_PAGE","CONTESTWINNER_RECORDS_PER_PAGE","SWEEPSRULES_RECORDS_PER_PAGE","STRIP_APPEARANCE","theme","labels","variables","colorText","fontFamily","fontWeightBold","colorBackground","focusBoxShadow","focusOutline","colorPrimary","colorDanger","colorSuccess","colorTextSecondary","iconColor","gridRowSpacing","gridColumnSpacing","rules","borderColor","border","backgroundColor","outline","NonLoggedInPlaceholder","setShowSignupModal","setOnboardingType","onAPI","api","on","server","URL","hostname","isLoggedIn","WidgetBot","channel","shard","DetailsModalCard","subTitle","chainIds","connectors","InjectedConnector","supportedChainIds","walletConnect","WalletConnectConnector","rpcUrl","INFURA_KEY","bridge","qrcode","WalletLinkConnector","useLocation","useParams","loadingGame","gameStartedAt","loadingGameQuestion","submittingAnswer","answerData","loadingGameResult","gameOver","gameContest","gameContestLoading","removeOneLoading","removed","bgGames","demoBgGames","cowitzerLeaderboard","cowitzerLeaderboardLoading","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","game","prepareGameRequested","cowitzerLaunched","prepareGameReceived","valueOf","prepareGameRequestFailed","gameQuestionRequested","gameQuestionRequestFailed","answerSubmitted","answerSubmittedSuccess","answerSubmittedFailed","gameResultRequested","gameResultReceived","gameResultRequestFailed","gameContestRequested","gameContestReceived","gameContestRequestFailed","removeOneRequested","removeOneReceived","removeOneRequestFailed","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","cowitzerEnter","loadBgGames","loadDemoGames","loadCowitzerLeaderBoard","loadBgGameDetail","shareGameScore","initialGameData","createNewGame","transactionId","saveBreadcrumb","saveFinalScore","savePosition","getAvailableDice","getposition","rollDice","getCard","getUserCardList","getBoard","loadSpinRewardsList","loadSpinReward","loadSlotRewardsList","loadSloReward","saveScoreStatusRedux","gameScoreUpdateRedux","score","startTimerRedux","bgPracticeGameInitialGameData","bgPracticeCreateNewGame","bgGameId","bgPracticeSaveBreadcrumb","bgPracticeSaveFinalScore","bgPracticeSaveScoreStatusRedux","bgPracticeGameScoreUpdateRedux","getGame","enterGameRecieved","console","log","_id","getBoardGame","Carousel","spinState","setAllowClose","images","setShowSuccess","carousels","currDegs","setCurrDegs","playPress","useSound","playSpin","playWin","forEach","carousel","index","gsap","rotateY","rotateX","rotateZ","duration","transformOrigin","ease","onComplete","randomRotate","setTimeout","newDegs","randomIndex","findIndex","_spinState$reels","reels","real","newAngle","carouselRef","transform","realImage","SpinnerSVG","viewBox","xmlns","stroke","strokeWidth","PieSection","position","text","imageSrc","documentElement","setProperty","Spinner","sections","pointerRef","wheelRef","bonus","setBonus","currentSection","setCurrentSection","spin","setSpin","prevTick","newSec","spinnerLocation","angle","useMemo","reduce","obj","positionColor","setPositionColor","volume","playTick","playBonus","playHeartbeat","findCurrentSection","useCallback","rotation","currentRotation","startAngle","endAngle","updateSectionColors","finalColor","newSection","checkAndPlayTick","angles","roundedRotation","some","abs","find","backout","useGSAP","delayComplete","randomRotation","randomBackout","rotate","onUpdate","getProperty","delay","lottieRef","createRef","toggle","handleClose","getAvailableDiceCall","rewards","setRewards","spinnerLoading","setSpinnerLoading","allowClose","spinReward","setSpinReward","slotReward","setSlotReward","showSuccess","showConfetti","setShowConfetti","_res$data$data","aspectRatio","rewardValue","Lottie","background","speed","loop","play","animationData","ConfettiJSON","_res$data4","IframeComponent","enterGame","apiMessageQueueApiCall","pushToQueue","processQueue","Promise","resolve","savingBreadcrumb","gameEndDelay","setShowGame","caches","keys","then","names","GC_API","GameLoaded","BreadCrumb","FinalScores","NewGame","GoHome","MuteState","Score","MuteMusic","MuteSounds","GameStart","CG_API","InitGame","MESSAGE_FACTORY","eventListenerGame","gameScoreUpdating","totalScore","initialGameDataCall","queueTimer","clearTimeout","iFrame","getElementById","muteStateData","musicMuted","soundsMuted","mutedMessage","contentWindow","postMessage","randomGame","WonRewards","rewardType","toggleWalletPopupRedux","checkZRunNft","rest","UserBalance","setIsWaitingForNextRound","setIsTimerRunning","setMultiplierValue","PlaceBet","Multiplier","NewBet","CashOut","Last10Rounds","multiplierValue","startingIn","mybets","winner","dogBet","gameState","setIsMuted","setIsBackgroundMuted","RESET","setShowHowItWorks","howItWork","setHowItWork","showGame","bgGameLoaded","setBgGameLoaded","music","setMusic","muted","setMuted","openSpinner","setOpenSpinner","slotSpinner","setSlotsSpinner","showWonRewards","setShowWonRewards","setRewardValue","setRandomGame","diceRoll","getPositionCall","dailyReward","positionLog","_res$data2$data","launched","getUserCardListCall","ourMessage","prizeValue","boardMyType","GameSectionBoard","MetagameSpinner","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","transitionStage","setTransistionStage","displayLocation","setDisplayLocation","preload","scrollTo","cookiesShown","HelmetProvider","Web3ReactProvider","SkeletonTheme","baseColor","highlightColor","Helmet","content","onAnimationEnd","Routes","Route","path","element","AppLogin","exact","BoardGame","practiceGame","combineReducers","userReducer","contestReducer","gameReducer","boardGameReducer","practiceGameReducer","entitiesReducer","axios","interceptors","response","use","currentPath","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","createAction","apiCallSuccess","apiCallFailed","set","exports","defaultData","game_name","lead_type","social_media","Object","highScoreGame","allWinnings","transactions","filteredCount","activities","arcadeActivityLastKey","lootActivities","lootActivityLastKey","transactionsLoading","loadingPrice","lastFetchPrice","isWalletConnected","isWalletLoading","activitiesLoading","creditPrices","creditPriceBonusPercent","showLoginModal","showChooseWalletModal","showHTPAfter","showOnboardingModal","showBuyCreditsModal","usdtBalance","availableTicketsLoading","userGameData","userGameDataLoading","showPurchaseCoins","showBountyBoxModal","howItWorksModalType","bountyBoxes","bountyBoxesReceivedAt","bountyBoxDetails","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","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","updateRewardStreak","updateThreeDayStreak","updateWeeklyStreak","updateGameChallengeReward","updateLootBonusCoins","disconnectWallet","loadActivities","loadMoreActivities","loadLootActivities","loadMoreLootActivities","loadMoreTransactions","connectNFT","requestCredits","redeemToken","loadCreditPrices","createCharge","purchaseCoins","createPaymentIntent","redeemCredit","processTransaction","calculateGasFee","transferAsset","sendPassCodeOTP","resetPassCode","redeemBountyBox","loadRewards","loadDailyGameChallenge","loadDailyGameChallengeEligiblity","redeemDailyGameChallengeReward","loadDailyStreakRewardStatus","redeemDailyReward","loadThreeDayStreakRewardStatus","redeemThreeDayStreakReward","loadWeeklyStreakRewardStatus","redeemWeeklyStreakReward","zedRunNftColor","redeemZRunNft","redeemTickets","createReferralCode","loadReferralCodes","loadReferralRewards","claimReferralReward"],"mappings":"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","file":"static/js/main.47bbe7a5.chunk.js","sourcesContent":["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 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 { 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 { 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","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 loadBountyBoxes,\n toggleBountyBoxRedux,\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 BountyBoxModal from \"./modals/bountyBox/bountyBox\";\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(() => import(\"common/modals/notifications/notification.jsx\"));\nconst PurchaseCoinsModal = lazy(() => import(\"./modals/purchaseCoins/purchaseCoinsModal\"));\nconst OnboardingModal = lazy(() => import(\"./modals/onboarding/onboarding\"));\nconst BountyBoxModal = lazy(() => import(\"./modals/bountyBox/bountyBox\"));\nconst ConnectWalletPopup = lazy(() => import(\"./modals/wallet/connectExternal\"));\nconst NotificationDropdown = lazy(() => import(\"./headerNotification\"));\nconst DailyCredit = lazy(() => import(\"./dailyCredits/dailyCredit\"));\n\n// Images\nconst logo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/burnghost-logo.svg\";\nconst mobLogo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/bgNewLogo.svg\";\nconst darkLogo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/burnghostHorizontal.png\";\nconst notificationUnreadIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/notificationActive.svg\";\nconst userIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/user.png\";\nconst adminIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/admin-icon-01.svg\";\nconst notificationIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/grey-notification-icon.svg\";\nconst chatIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/chat2-icon.svg\";\nconst arcadeCoinIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/header-subtract-icon-2.svg\";\nconst lootCoinIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/header-subtract-icon-1.svg\";\nconst xpIcon = 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 showBountyBox: 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(\"userProfile\", JSON.stringify(res?.data?.userProfile));\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\n if (res?.data?.connectedWallet?.walletAddress) {\n this.props.loadBountyBoxes();\n }\n if (\n !lastVisit ||\n formatDate(moment(), \"YYYY-MM-DD\") !== lastVisit.date ||\n lastVisit.profile !== res.data.userProfile?.id\n ) {\n if (process.env.REACT_APP_DAILY_STREAK_BONUS_DISPLAY === \"1\" && localStorage.getItem(\"welcomePopup\")) {\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(res.data.userProfile?.walletAddress, res.data.userProfile);\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 (this.props.getUser.profileLoaded && this.props.getUser.profileLoaded !== prevProps.getUser.profileLoaded) {\n this.props.loadAvailableTickets(() => {});\n }\n const unreadNotifications = this.props.getUser?.notifications?.filter(\n (notif) => !notif.isRead && (notif.type === \"AWARDED\" || notif?.type === \"WINNER\") && 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 (this.props.toggleSignUpFromSlider && this.props.toggleSignUpFromSlider !== prevProps.toggleSignUpFromSlider)\n this.toggleSignup();\n if (this.props.toggleSignUpFromSlider && this.state.showSignupModal !== prevState.showSignupModal) {\n this.props.setToggle();\n }\n if (this.props.router.params.referralCode && window.location.pathname !== \"/\")\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\") 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, bountyBoxesTotal, bountyBoxLoading } =\n this.props.getUser;\n // const profileLoaded = false;\n return (\n <>\n
0 && \"fixed\"}`}>\n \n
\n }>\n BURN GHOST\"} />\n \n }>\n \n !notif.isRead && (notif.type === \"AWARDED\" || notif?.type === \"WINNER\") && 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 this.setState({ showLoginPopup: !this.state.showLoginPopup })}\n type=\"connect\"\n openCredits={true}\n />{\" \"}\n \n }>\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 loadBountyBoxes: (callback) => dispatch(loadBountyBoxes(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) => 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 toggleBountyBoxRedux: (data) => dispatch(toggleBountyBoxRedux(data)),\n toggleFBAuthUrlLoading: (data) => dispatch(toggleFBAuthUrlLoading(data)),\n toggleGoogleAuthUrlLoading: (data) => dispatch(toggleGoogleAuthUrlLoading(data)),\n toggleDiscordAuthUrlLoading: (data) => 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 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 finishSetup ? (\n \"Agree and Create Account\"\n ) : (\n \"Create Account\"\n )\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","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","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 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\";\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","//@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 { 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 { 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/\";\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\n// boardGame/game/get-available-dice\nexport const getAvailableDice = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-available-dice\",\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\n//get-card\nexport const getCard = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-card\",\n callback,\n }),\n );\n};\n\n// get-user-card-list\nexport const getUserCardList = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-user-card-list\",\n callback,\n }),\n );\n};\n\n//get-board\nexport const getBoard = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-board\",\n callback,\n }),\n );\n};\nexport const loadSpinRewardsList = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/list-spin-reward\",\n callback,\n }),\n );\n};\nexport const loadSpinReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/spin\",\n callback,\n }),\n );\n};\nexport const loadSlotRewardsList = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/list-slot-reward\",\n callback,\n }),\n );\n};\nexport const loadSloReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/spin-slot\",\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","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: \"boardGame\",\n initialState: {\n error: null,\n loadingGame: false,\n id: null,\n transactionId: 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 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 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 = action.payload.data;\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\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 enterGameRecieved: (game, action) => {\n console.log(\"enterGameRecieved\", action.payload);\n game.transactionId = action.payload.data._id;\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});\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 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 cowitzerLaunched,\n cowitzerLaunching,\n boardGameLoaded,\n enterGameRecieved,\n} = slice.actions;\n\nexport default slice.reducer;\n\n// Action Creators\nconst gameUrl = \"game/\";\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 = (id, 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: \"metaBgGame/\" + id,\n onStart: bgGamesRequested.type,\n onSuccess: bgGamesReceived.type,\n onError: bgGamesRequestFailed.type,\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\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};\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: \"metaBgGame/initialGameData\",\n onSuccess: initialGameDataRecieved.type,\n onStart: initialGameDataRequested.type,\n data: data,\n callback,\n }),\n );\n};\n\nexport const enterGame = (data) => (dispatch, getState) => {\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"metaBgGame/enterGame\",\n onSuccess: enterGameRecieved.type,\n data: data,\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.boardGame;\n const { gameData } = getState().entities.boardGame;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"metaBgGame/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 } = getState().entities.boardGame;\n data.gameId = gameId;\n return dispatch(\n apiCallBegan({\n method: \"POST\",\n url: \"metaBgGame/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.boardGame;\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: \"metaBgGame/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\n// boardGame/game/get-available-dice\nexport const getAvailableDice = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-available-dice\",\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\n//get-card\nexport const getCard = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-card\",\n callback,\n }),\n );\n};\n\n// get-user-card-list\nexport const getUserCardList = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-user-card-list\",\n callback,\n }),\n );\n};\n\n//get-board\nexport const getBoard = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/get-board\",\n callback,\n }),\n );\n};\nexport const loadSpinRewardsList = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/list-spin-reward\",\n callback,\n }),\n );\n};\nexport const loadSpinReward = (callback) => (dispatch) => {\n return dispatch(\n apiCallBegan({\n method: \"GET\",\n url: \"boardGame/game/spin\",\n callback,\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// Selector\nexport const getBoardGame = createSelector(\n (state) => state.entities.boardGame,\n (boardGame) => boardGame,\n);\n","import React, { useState, useEffect, useRef } from \"react\";\nimport gsap from \"gsap\";\nimport useSound from \"use-sound\";\nconst question = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/a.png\";\nconst loot = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/b.png\";\nconst arcade = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/c.png\";\nconst star = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/d.png\";\nconst xp = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/e.png\";\nconst dice = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/f.png\";\nconst spin = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/spin.mp3\";\nconst win = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/win.mp3\";\nconst press = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/press.mp3\";\n\nconst Carousel = ({ spinState, setAllowClose, images, setShowSuccess }) => {\n //three carousels that make up spinner\n const carousels = [useRef(null), useRef(null), useRef(null)];\n //degrees for each carousel\n const [currDegs, setCurrDegs] = useState([0, 0, 0]);\n\n //sound effects\n const [playPress] = useSound(press);\n const [playSpin] = useSound(spin);\n const [playWin] = useSound(win);\n console.log(\"images:\", images, spinState);\n\n const randomRotate = () => {\n //sound effects\n playPress();\n\n setTimeout(() => {\n playSpin();\n }, 300);\n\n setTimeout(() => {\n playWin();\n }, 1400);\n setTimeout(() => {\n setShowSuccess(true);\n }, 2500);\n\n const newDegs = carousels.map((_, index) => {\n // Find the correct target index from the API response\n const randomIndex = images.findIndex((image) => spinState?._id + \"-\" + spinState?.reels?.[index] === image?.real);\n if (randomIndex === -1) {\n console.error(\"Target not found in images array for reel:\", index);\n return currDegs[index];\n }\n\n // Calculate the new angle to stop at the target index\n const newAngle = -(360 / images.length) * randomIndex;\n\n // Ensure multiple rotations while aligning to the correct item\n const rotations = 5; // Number of full rotations before stopping (can be adjusted)\n const totalAngle = newAngle + 360 * rotations;\n\n // Calculate the final degree by subtracting any extra rotation\n const finalAngle = currDegs[index] + 360 * rotations + newAngle - (currDegs[index] % 360);\n\n return finalAngle; // Set the final degrees for the reel\n });\n\n //triggers the animation useEffect\n setCurrDegs(newDegs);\n };\n\n useEffect(() => {\n //rotate the carousel to the new position\n carousels.forEach((carousel, index) => {\n gsap.to(carousel.current, {\n rotateY: currDegs[index],\n rotateX: 0,\n rotateZ: 90,\n duration: 0.75 + index * 0.45,\n transformOrigin: \"center center\",\n ease: \"power2.inOut\",\n onComplete: () => {\n setAllowClose(true);\n },\n });\n });\n }, [currDegs]);\n\n useEffect(() => {\n //prototype for number of spins\n if (spinState) {\n randomRotate();\n }\n }, [spinState]);\n\n return (\n
\n
\n
\n {carousels.map((carouselRef, i) => (\n
\n
\n {images.map((image, index) => (\n \n {/* {index} */}\n {/* {(360 / images.length) * index} */}\n {image.real}\n
\n ))}\n
\n
\n ))}\n
\n
\n \n );\n};\nexport default Carousel;\n","export function SpinnerSVG() {\n return (\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 \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","import React, { useEffect } from \"react\";\n\nconst PieSection = ({ position, text, imageSrc, color }) => {\n useEffect(() => {\n // Set root color of the section based on the position prop\n document.documentElement.style.setProperty(`--${position}`, color);\n }, [position, color]);\n\n return (\n
\n
{text}
\n \"\"\n
\n );\n};\n\nexport default PieSection;\n","import React, { useEffect, useRef, useState, useCallback, useMemo } from \"react\";\nimport { useGSAP } from \"@gsap/react\";\nimport gsap from \"gsap\";\nimport useSound from \"use-sound\";\nimport { SpinnerSVG } from \"./SVG\";\nimport PieSection from \"./pieSection\";\nimport ConfettiJSON from \"../include/confetti.json\";\nimport Lottie from \"react-lottie-player\";\nimport { createRef } from \"react\";\n\nconst lottieRef = createRef(null);\nconst successIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/crypto-wallet-Success-1.png\";\n\nconst question = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/a.png\";\nconst dice = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/f.png\";\nconst dice2 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/g.png\";\nconst dice3 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/h.png\";\nconst dice4 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/j.png\";\nconst key = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/k.png\";\nconst key1 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/l.png\";\nconst key2 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/m.png\";\nconst key3 = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/n.png\";\nconst spinsfx = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/spin.mp3\";\nconst win = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/win.mp3\";\nconst press = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/press.mp3\";\nconst tick = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/tick.wav\";\nconst bonusWin = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/bonus.mp3\";\nconst heartbeat = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"sfx/heartbeat.wav\";\n\nconst Spinner = ({ spinState, sections, setAllowClose, setShowSuccess }) => {\n const pointerRef = useRef(null);\n const wheelRef = useRef(null);\n const [bonus, setBonus] = useState(false);\n const [currentSection, setCurrentSection] = useState(null);\n const [spin, setSpin] = useState(false);\n const prevTick = useRef(null);\n\n // const rewardSections = createSections(sections);\n let newSec = sections?.filter((section) => (bonus ? section.spinnerLocation === 2 : section.spinnerLocation === 1));\n if (!bonus) {\n newSec.push({\n ...sections[0],\n angle: 0,\n image: question,\n value: \"Bonus\",\n color: \"#171717\",\n id: \"1\",\n });\n newSec.push({\n ...sections[3],\n angle: 180,\n image: question,\n value: \"Bonus\",\n color: \"#171717\",\n id: \"2\",\n });\n }\n\n const defaultColors = useMemo(\n () => sections?.reduce((obj, section) => ({ ...obj, [section?.position]: section?.color }), {}),\n [],\n );\n const [positionColor, setPositionColor] = useState(() =>\n sections?.reduce((obj, section) => ({ ...obj, [section?.position]: section?.color }), {}),\n );\n\n const baseColorLight = \"#1e1e1e\";\n const baseColorDark = \"#171717\";\n const highlightColor = \"#B56200\";\n const selectedColor = \"#04C100\";\n\n const [playPress] = useSound(press, { volume: 0.5 });\n const [playSpin] = useSound(spinsfx, { volume: 0.5 });\n const [playWin] = useSound(win, { volume: 0.5 });\n const [playTick] = useSound(tick, { volume: 0.5 });\n const [playBonus] = useSound(bonusWin, { volume: 0.5 });\n const [playHeartbeat] = useSound(heartbeat, { volume: 0.5 });\n\n const handleSpin = () => {\n if (!spin) {\n setSpin(true);\n playPress();\n playSpin();\n }\n };\n\n const findCurrentSection = useCallback((rotation) => {\n const currentRotation = ((rotation % 360) + 360) % 360; // Normalize rotation\n for (const section of sections) {\n let startAngle = section.angle - 30;\n let endAngle = section.angle + 30;\n\n // Special case for the top-center section crossing the 0-degree boundary\n if (section.angle === 0) {\n if (currentRotation >= 330 || currentRotation < 30) {\n return [section.position, section.id];\n }\n } else {\n if (startAngle < 0) startAngle += 360;\n if (endAngle >= 360) endAngle -= 360;\n\n if (currentRotation >= startAngle && currentRotation < endAngle) {\n return [section.position, section.id, section.type, section.value];\n }\n }\n }\n return null;\n }, []);\n\n const updateSectionColors = useCallback((rotation, finalColor = null) => {\n const newSection = findCurrentSection(rotation)[0];\n\n if (newSection !== currentSection) {\n setCurrentSection(newSection);\n\n sections.forEach((section) => {\n const color = section.position === newSection ? finalColor || highlightColor : section.color;\n\n document.documentElement.style.setProperty(`--${section.position}`, color);\n });\n }\n }, []);\n\n const checkAndPlayTick = useCallback(\n (currentRotation) => {\n const angles = [30, 90, 150, 210, 270, 330];\n const tolerance = 5; // Tolerance for floating-point precision\n const roundedRotation = Math.floor(currentRotation * -1);\n if (angles.some((angle) => Math.abs(roundedRotation - angle) < tolerance && prevTick.current !== angle)) {\n updateSectionColors(currentRotation - 15);\n playTick();\n prevTick.current = angles.find((angle) => Math.abs(roundedRotation - angle) < tolerance);\n }\n },\n [playTick, updateSectionColors],\n );\n\n const duration = bonus ? 5.0 : 5.25;\n const backout = bonus ? 0.0 : 0.6;\n\n useGSAP(() => {\n //useGSAP is similar to useEffect but it is used for GSAP animations\n // this triggers animations for the regular spin and bonus spin\n if (spin || bonus) {\n let delayComplete = false;\n\n const rotationArray = [1080, 1020, 1320, 1260, 1200, 1140];\n const index = spinState?.spinnerLocation === 2 && !bonus ? 0 : spinState?.angle / 60;\n const randomRotation = rotationArray[index];\n\n const randomBackout = Math.random() * 0.5 + backout;\n if (!bonus) {\n gsap.to(wheelRef.current, {\n rotate: randomRotation,\n duration: duration,\n ease: `back.out(${randomBackout})`,\n });\n }\n\n gsap.to(pointerRef.current, {\n rotation: -randomRotation,\n duration: duration,\n ease: `back.out(${randomBackout})`,\n onStart: () => {\n setTimeout(() => {\n delayComplete = true;\n }, 200);\n if (randomBackout >= 0.75) {\n setTimeout(() => {\n playTick();\n updateSectionColors((randomRotation % 360) * -1);\n }, duration * 1000 * 0.76);\n }\n },\n onUpdate: () => {\n const currentRotation = gsap.getProperty(pointerRef.current, \"rotation\") % 360;\n\n if (delayComplete) {\n checkAndPlayTick(currentRotation);\n }\n },\n onComplete: () => {\n const currentRotation = gsap.getProperty(pointerRef.current, \"rotation\") % 360;\n updateSectionColors(currentRotation, selectedColor);\n if (spinState?.spinnerLocation === 2 && !bonus) {\n gsap.to(pointerRef.current, {\n rotation: 0,\n duration: 0.0,\n\n delay: 1,\n onComplete: () => {\n setBonus(true);\n setTimeout(() => {\n playBonus();\n }, 1950);\n setTimeout(() => {\n setShowSuccess(true);\n setAllowClose(true);\n }, 6000);\n playHeartbeat();\n },\n });\n } else {\n setTimeout(() => {\n setShowSuccess(true);\n }, 2000);\n }\n setAllowClose(true);\n playWin();\n },\n });\n }\n }, [spin, bonus]);\n\n useEffect(() => {\n if (spinState) {\n handleSpin();\n }\n }, [spinState]);\n\n useEffect(() => {\n if (bonus) setAllowClose(false);\n }, [bonus]);\n\n return (\n
\n \n
\n
\n
\n
\n\n {newSec?.map((section, index) => (\n \n ))}\n
\n );\n};\nexport default Spinner;\n","import Carousel from \"./carousel\";\nimport React, { useState, useEffect } from \"react\";\nimport Spinner from \"./spinner\";\nimport { withRouter } from \"utils/withRouter\";\nimport { connect } from \"react-redux\";\nimport { getGame, loadSpinReward, loadSpinRewardsList, loadSlotRewardsList, loadSloReward } from \"store/game\";\nimport Skeleton from \"react-loading-skeleton\";\nimport LoaderImg from \"common/loaderImag\";\nimport ConfettiJSON from \"../include/confetti.json\";\nimport Lottie from \"react-lottie-player\";\nimport { createRef } from \"react\";\n\nconst lottieRef = createRef(null);\nconst successIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/winner-tropy-01.png\";\n\nconst MetagameSpinner = ({\n toggle,\n loadSpinRewardsList,\n loadSpinReward,\n handleClose,\n getAvailableDiceCall,\n loadSlotRewardsList,\n loadSloReward,\n}) => {\n const [spin, setSpin] = useState(0);\n const [rewards, setRewards] = useState(null);\n const [spinnerLoading, setSpinnerLoading] = useState(true);\n const [loading, setLoading] = useState(false);\n const [allowClose, setAllowClose] = useState(false);\n const [spinReward, setSpinReward] = useState(null);\n const [slotReward, setSlotReward] = useState(null);\n const [showSuccess, setShowSuccess] = useState(false);\n const [showConfetti, setShowConfetti] = useState(true);\n\n // if allowClose changed to tru then call getAvailableDiceCall\n useEffect(() => {\n if (allowClose) {\n getAvailableDiceCall();\n }\n }, [allowClose]);\n\n //reset the spin slottate to false when the toggle button is clicked\n useEffect(() => {\n if (toggle) {\n loadSlotRewardsList((res) => {\n if (res.status === 200) {\n setRewards(res?.data?.data?.[0]);\n setSpinnerLoading(false);\n }\n });\n } else {\n loadSpinRewardsList((res) => {\n if (res.status === 200) {\n setRewards(res?.data?.data);\n setSpinnerLoading(false);\n }\n });\n }\n }, []);\n useEffect(() => {\n setSpin(0);\n }, [toggle]);\n function handleSpin() {\n if (toggle && spin < 10) {\n setLoading(true);\n loadSloReward((res) => {\n if (res.status === 200) {\n setSlotReward(res?.data?.data);\n }\n setLoading(false);\n });\n setSpin(spin + 1);\n } else if (!toggle && spin === 0) {\n setLoading(true);\n loadSpinReward((res) => {\n if (res.status === 200) {\n setSpinReward(res?.data?.data);\n }\n setLoading(false);\n });\n setSpin(spin + 1);\n }\n }\n useEffect(() => {\n if (showSuccess)\n setTimeout(() => {\n setShowConfetti(false);\n }, 3500);\n }, [showSuccess]);\n\n console.log(\"slot:\", slotReward);\n return (\n
\n {spinnerLoading ? (\n <>\n \n \n \n ) : (\n <>\n {showSuccess ? (\n
\n
\n
{spinReward ? spinReward.value : slotReward?.rewardValue} Dice
\n
\n

\n You won {spinReward ? spinReward.value : slotReward?.rewardValue} dice throws that you can use in\n the metagame\n

\n
\n
\n \"trophy\"\n
\n
\n {showConfetti && (\n
\n \n
\n )}\n
\n ) : !toggle ? (\n \n ) : (\n \n )}\n (spin === 1 ? (showSuccess ? handleClose() : null) : handleSpin())}\n >\n {loading ? : <>{spin === 1 ? \"Close\" : \"Spin\"}}\n \n \n )}\n
\n );\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n loadSpinRewardsList: (callback) => dispatch(loadSpinRewardsList(callback)),\n loadSpinReward: (callback) => dispatch(loadSpinReward(callback)),\n loadSlotRewardsList: (callback) => dispatch(loadSlotRewardsList(callback)),\n loadSloReward: (callback) => dispatch(loadSloReward(callback)),\n});\nconst mapStateToProps = (state) => ({\n getGame: getGame(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(MetagameSpinner));\n","import React from \"react\";\n\nconst IframeComponent = (props) => {\n return (\n <>\n \n \n );\n};\n\nexport default IframeComponent;\n","import React, { useEffect, useRef } from \"react\";\nimport IframeComponent from \"./iframeComponent\";\nimport {\n createNewGame,\n enterGame,\n gameScoreUpdateRedux,\n getBoardGame,\n initialGameData,\n saveBreadcrumb,\n saveFinalScore,\n saveScoreStatusRedux,\n startTimerRedux,\n} from \"store/boardGame\";\nimport { getUser } from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\nimport { connect } from \"react-redux\";\n\nconst GameSectionBoard = (props) => {\n const [error, setError] = React.useState(false);\n useEffect(() => {\n if (error) {\n //setTab(\"game\");\n console.log(\"error\", error);\n }\n }, [error]);\n\n const iframeRef = useRef(null);\n\n const creatingGame = () => {\n props.startTimer();\n setTimeout(() => {\n props.createNewGame();\n }, 2000);\n };\n\n const restartGame = () => {\n props.contestEntryCall();\n };\n\n const goHome = () => {\n props.router.navigate(\"/\");\n };\n\n // Function to save breadcrumb\n const savingBreadcrumb = (message) => {\n const payLoad = {\n data: message,\n };\n\n // API call to save breadcrumb\n props.saveBreadcrumb(payLoad, async (res) => {\n // Sleep for 500ms to allow the iframe to load the next page\n await Promise.resolve(setTimeout(() => {}, 500));\n processQueue();\n if (res.status !== 200)\n return props.setError(\n \"An unknown error has occurred. Please try again. If the problem continues, kindly get in touch with our support team.\",\n );\n // start the queue processing\n });\n };\n\n const gameScoreUpdating = (message) => {\n props.gameScoreUpdateRedux(message);\n };\n\n const saveFinalScore = (message) => {\n const payLoad = {\n data: message,\n };\n\n // API call to save final score\n props.saveFinalScore(payLoad, (res) => {\n if (res.status === 409 || res.status === 200) {\n const gameEndDelay = res.data.gameEndDelay ? res.data.gameEndDelay : 0;\n setTimeout(() => {\n props.setShowGame(false);\n }, gameEndDelay);\n\n processQueue();\n } else\n return props.setError(\n \"An unknown error has occurred. Please try again. If the problem continues, kindly get in touch with our support team.\",\n );\n });\n };\n var apiMessageQueueApiCall = { data: [] };\n\n // Function to push incoming messages to the queue\n const pushToQueue = (data, type) => {\n console.log(\"pushToQueue===?\", data, type);\n apiMessageQueueApiCall.data.push({ data, type });\n };\n\n const processQueue = () => {\n if (apiMessageQueueApiCall.data.length === 0) {\n // Queue is empty, wait for 500ms and then check again\n return setTimeout(processQueue, 500);\n }\n\n const message = apiMessageQueueApiCall.data[0]; // Get the first message from the queue\n\n // Remove the first message from the queue\n apiMessageQueueApiCall.data = apiMessageQueueApiCall.data.slice(1);\n\n switch (message.type) {\n case \"BreadCrumb\":\n savingBreadcrumb(message.data);\n break;\n case \"FinalScores\":\n saveFinalScore(message.data);\n break;\n default:\n break;\n }\n };\n\n useEffect(() => {\n // Clear cache on page load\n caches.keys().then(function (names) {\n for (let name of names) caches.delete(name);\n });\n // Set up the event listener\n window.GC_API = {\n GameLoaded: \"GameLoaded\",\n BreadCrumb: \"BreadCrumb\",\n FinalScores: \"FinalScores\", //sends a bunch of final data\n NewGame: \"NewGame\",\n GoHome: \"GoHome\",\n MuteState: \"MuteState\",\n Score: \"Score\",\n MuteMusic: \"MuteMusic\",\n MuteSounds: \"MuteSounds\",\n GameStart: \"GameStart\",\n };\n\n window.CG_API = {\n InitGame: \"InitGame\",\n MuteState: \"MuteState\",\n };\n\n window.MESSAGE_FACTORY = function (name, data) {\n return JSON.stringify({\n type: name,\n data: data,\n });\n };\n // The queue to store incoming API messages\n\n var eventListenerGame = function (event) {\n try {\n const message = JSON.parse(event.data);\n if (message?.type) {\n switch (message.type) {\n case \"Score\":\n gameScoreUpdating(message.data.totalScore);\n break;\n\n case \"GameLoaded\":\n initialGameDataCall();\n break;\n\n case \"GameStart\":\n creatingGame();\n break;\n\n case \"BreadCrumb\":\n console.log(\"BreadCrumb message.data\", message.data);\n // merge game id with message data\n //savingBreadcrumb(message.data);\n pushToQueue(message.data, \"BreadCrumb\");\n break;\n\n case \"FinalScores\":\n console.log(\"FinalScores message.data\", message.data);\n //saveFinalScore(message.data);\n pushToQueue(message.data, \"FinalScores\");\n break;\n\n default:\n break;\n }\n }\n } catch (e) {\n // Ignore exception - not a message for us and couldn't JSON parse it\n }\n };\n // Add event listener for messages from the iframe\n\n window.addEventListener(\"message\", eventListenerGame);\n\n const queueTimer = processQueue();\n\n return () => {\n clearTimeout(queueTimer); // Clear the timeout to stop the processQueue function\n // Clean up the event listener when the component unmounts\n window.removeEventListener(\"message\", eventListenerGame);\n };\n }, []);\n\n const initialGameDataCall = () => {\n //alert(\"initialGameDataCall\");\n console.log(\"initialGameDataCall randomGame\", props.getBoardGame.bgGames);\n const iFrame = document.getElementById(\"iframe-container\");\n const muteStateData = {\n musicMuted: localStorage.getItem(\"musicMuted\") === \"true\" ? true : false,\n soundsMuted: localStorage.getItem(\"soundMuted\") === \"true\" ? true : false,\n };\n // send MuteState message to iframe\n const mutedMessage = window.MESSAGE_FACTORY(window.CG_API.MuteState, muteStateData);\n\n iFrame.contentWindow.postMessage(mutedMessage, \"*\");\n props.enterGame({ bgGameId: props.getBoardGame.bgGames.id });\n props.initialGameData({ bgGameId: props.getBoardGame.bgGames.id }, (res) => {\n const message = window.MESSAGE_FACTORY(window.CG_API.InitGame, res.data.gameData);\n iFrame.contentWindow.postMessage(message, \"*\");\n\n const muteStateData = {\n musicMuted: localStorage.getItem(\"musicMuted\") === \"true\" ? true : false,\n soundsMuted: localStorage.getItem(\"soundMuted\") === \"true\" ? true : false,\n };\n // send MuteState message to iframe\n const mutedMessage = window.MESSAGE_FACTORY(window.CG_API.MuteState, muteStateData);\n\n iFrame.contentWindow.postMessage(mutedMessage, \"*\");\n });\n };\n console.log(\"props.randomGame\", props.randomGame);\n\n return ;\n};\n\nconst mapDispatchToProps = (dispatch) => ({\n createNewGame: (data, callback) => dispatch(createNewGame(data, callback)),\n enterGame: (data) => dispatch(enterGame(data)),\n saveBreadcrumb: (data, callback) => dispatch(saveBreadcrumb(data, callback)),\n saveFinalScore: (data, callback) => dispatch(saveFinalScore(data, callback)),\n saveScoreStatusRedux: (payLoad) => dispatch(saveScoreStatusRedux(payLoad)),\n gameScoreUpdateRedux: (payLoad) => dispatch(gameScoreUpdateRedux(payLoad)),\n initialGameData: (data, callback) => dispatch(initialGameData(data, callback)),\n startTimer: () => dispatch(startTimerRedux()),\n});\nconst mapStateToProps = (state) => ({\n getBoardGame: getBoardGame(state),\n getUser: getUser(state),\n});\n\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(GameSectionBoard));\n","import Carousel from \"./carousel\";\nimport React, { useState, useEffect } from \"react\";\nimport Spinner from \"./spinner\";\nimport { withRouter } from \"utils/withRouter\";\nimport { connect } from \"react-redux\";\nimport { getGame, loadSpinReward, loadSpinRewardsList, loadSlotRewardsList, loadSloReward } from \"store/game\";\nimport Skeleton from \"react-loading-skeleton\";\nimport LoaderImg from \"common/loaderImag\";\nimport ConfettiJSON from \"../include/confetti.json\";\nimport Lottie from \"react-lottie-player\";\nimport { createRef } from \"react\";\n\nconst lottieRef = createRef(null);\nconst successIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/winner-tropy-01.png\";\n\nconst WonRewards = ({ handleClose, rewardType, rewardValue }) => {\n const [showConfetti, setShowConfetti] = useState(true);\n\n useEffect(() => {\n setTimeout(() => {\n setShowConfetti(false);\n }, 3500);\n }, []);\n return (\n
\n
\n
\n
\n {rewardValue} {rewardType}\n
\n
\n

\n You won {rewardValue} {rewardType} that you can use in the metagame\n

\n
\n
\n \"trophy\"\n
\n
\n {showConfetti && (\n
\n \n
\n )}\n
\n \n
\n );\n};\nexport default WonRewards;\n","import React, { useEffect, useState } from \"react\";\nimport { getUser, loadProfile, togglePopupRedux, toggleWalletPopupRedux, checkZRunNft } from \"store/user\";\nimport { withRouter } from \"utils/withRouter\";\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 getAvailableDice,\n getBoard,\n getCard,\n getGame,\n getposition,\n getUserCardList,\n loadBgGameDetail,\n loadCowitzerLeaderBoard,\n rollDice,\n savePosition,\n} from \"store/game\";\n\nimport { getBoardGame, loadBgGames } from \"store/boardGame\";\n\nimport MetagameSpinner from \"metagameBoosts/metagameSpinner\";\nimport GameSectionBoard from \"./boardGame/gameSections\";\nimport WonRewards from \"metagameBoosts/wonRewards\";\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 pageIcon = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/page-icon-02.svg\";\nconst logo = process.env.REACT_APP_WEBSITE_ASSETS_URL + \"images/burnghostHorizontal.png\";\n\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 getBoard,\n getAvailableDice,\n getUserCardList,\n getCard,\n getBoardGame,\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 [showGame, setShowGame] = useState(false);\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 [openSpinner, setOpenSpinner] = useState(false);\n const [slotSpinner, setSlotsSpinner] = useState(false);\n const [showWonRewards, setShowWonRewards] = useState(\"\");\n const [rewardValue, setRewardValue] = useState(0);\n const [randomGame, setRandomGame] = useState({});\n\n useEffect(() => {\n if (showGame) {\n console.log(\"getBoardGamegetBoardGame\", getBoardGame.bgGames);\n\n // select a random game\n const randomGame = getBoardGame.bgGames;\n setRandomGame(randomGame);\n }\n }, [showGame]);\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-boardGame\");\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 const rollDiceCall = () => {\n rollDice((res) => {\n getAvailableDiceCall();\n console.log(\"rollDiceCall\", res);\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n console.log(\"iFrame\", iFrame);\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getDiceRoll\", {\n diceRoll: res.data,\n }),\n \"*\",\n );\n });\n };\n\n //getAvailableDiceCall\n const getAvailableDiceCall = () => {\n getAvailableDice((res) => {\n console.log(\"getAvailableDice\", res);\n // seding message to iframe\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n console.log(\"iFrame\", iFrame);\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getAvailableDice\", {\n diceRoll: res.data.data,\n }),\n \"*\",\n );\n });\n };\n\n //get board\n const getBoardCall = () => {\n getBoard((res) => {\n console.log(\"getBoard\", res);\n // seding message to iframe\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n console.log(\"iFrame\", iFrame);\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getBoard\", {\n getBoard: res.data.data,\n }),\n \"*\",\n );\n\n setTimeout(() => {\n getPositionCall();\n }, 1000);\n });\n };\n\n const getPositionCall = () => {\n getposition((res) => {\n console.log(\"getpositiongetposition\", res.data.dailyReward);\n if (!res.data.dailyReward) setOpenSpinner(true);\n\n if (res.data?.data?.positionLog) {\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getPosition\", {\n position: res.data.data,\n }),\n \"*\",\n );\n }\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.dailyReward);\n if (!res.data.dailyReward) setOpenSpinner(true);\n\n if (res.data?.data?.positionLog) {\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\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-boardGame\");\n\n //setTimeout(() => {\n iFrame.src = bgGameLoaded.url;\n //}, 1000);\n\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 if (res.data.icon.type === \"slot\") {\n setOpenSpinner(true);\n setSlotsSpinner(true);\n } else if (res.data.icon.type == \"spinner\") {\n setOpenSpinner(true);\n } else if (res.data.icon.type === \"dice\" || res.data.icon.type === \"coin\") {\n setShowWonRewards(res.data.icon.type);\n setRewardValue(res.data.icon.prizeValue);\n } else if (res.data.boardMyType.bgGameId) {\n loadBgGames(res.data.boardMyType.bgGameId, (res) => {\n console.log(res);\n setShowGame(true);\n });\n }\n });\n };\n\n const getCardCall = () => {\n getCard((res) => {\n console.log(\"getCardCall\", res);\n // seding message to iframe\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n console.log(\"iFrame\", iFrame);\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getCartRecieved\", {\n data: res.data.data,\n }),\n \"*\",\n );\n });\n };\n\n const getUserCardListCall = () => {\n getUserCardList((res) => {\n console.log(\"getUserCardList\", res);\n // seding message to iframe\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n console.log(\"iFrame\", iFrame);\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"getUserCartListRecieved\", {\n diceRoll: res.data.data,\n }),\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 \"gameLoaded\":\n getAvailableDiceCall();\n getPositionCall();\n getUserCardListCall();\n getBoardCall();\n break;\n case \"getCard\":\n getCardCall();\n break;\n case \"getUserCardList\":\n getUserCardListCall();\n break;\n default:\n\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 (!showGame && bgGameLoaded) {\n //Loading iframe\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n if (!iFrame) return;\n iFrame.src = bgGameLoaded.url;\n }\n }, [showGame]);\n\n useEffect(() => {\n if (!getUser.profile.userProfile.lootBonusCoins) return;\n const iFrame = document.getElementById(\"iframe-container-boardGame\");\n iFrame.contentWindow.postMessage(\n window.MESSAGE_FACTORY(\"userProfile\", {\n lootBonusCoins: getUser.profile.userProfile,\n }),\n \"*\",\n );\n }, [getUser.profile.userProfile]);\n\n console.log(\"Position:\", openSpinner, slotSpinner);\n // User Profile data\n return (\n <>\n
\n
\n
\n
\n
\n
\n {localStorage.getItem(\"appLogin\") !== \"true\" && (\n
\n
\n
\n )}\n {showGame ? (\n
\n \n
\n ) : (\n
\n \n {openSpinner && (\n {\n setSlotsSpinner(false);\n setOpenSpinner(false);\n }}\n />\n )}\n {showWonRewards && (\n {\n setShowWonRewards(false);\n setRewardValue(0);\n setShowWonRewards(\"\");\n }}\n rewardType={showWonRewards}\n rewardValue={rewardValue}\n />\n )}\n
\n )}\n
\n
\n
\n
\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 getAvailableDice: (callback) => dispatch(getAvailableDice(callback)),\n savePosition: (data, callback) => dispatch(savePosition(data, callback)),\n getposition: (callback) => dispatch(getposition(callback)),\n rollDice: (callback) => dispatch(rollDice(callback)),\n getBoard: (callback) => dispatch(getBoard(callback)),\n getUserCardList: (callback) => dispatch(getUserCardList(callback)),\n getCard: (callback) => dispatch(getCard(callback)),\n});\nconst mapStateToProps = (state) => ({\n getUser: getUser(state),\n getGame: getGame(state),\n getBoardGame: getBoardGame(state),\n});\nexport default withRouter(connect(mapStateToProps, mapDispatchToProps)(BoardGame));\n","import React from \"react\";\nimport { withRouter } from \"utils/withRouter\";\n\nconst AppLogin = (props) => {\n console.log(\"AppLogin props\", props);\n const { location } = props.router;\n const { search } = location;\n\n if (!search) {\n // Redirect to login page\n window.location.href = \"/\";\n } else {\n // Extract token from search\n const token = search.split(\"=\")[1];\n if (token) {\n // Save token to local storage\n localStorage.setItem(\"x-auth-token\", token);\n localStorage.setItem(\"userProfile\", JSON.stringify({ userName: \"app-login\", email: \"appLogin\" }));\n localStorage.setItem(\"appLogin\", \"true\");\n // Redirect to home page\n window.location.href = \"/board-game/board\";\n } else {\n // Redirect to login page\n window.location.href = \"/\";\n }\n }\n return
Loading...
;\n};\n\nexport default withRouter(AppLogin);\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\";\nimport AppLogin from \"appLogin\";\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 {localStorage.getItem(\"appLogin\") !== \"true\" && !cookiesShown && (\n }>\n \n \n )}\n }>\n \n {/* Profile */}\n } />\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 boardGameReducer from \"./boardGame\";\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 boardGame: boardGameReducer,\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 { 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 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","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: \"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"],"sourceRoot":""}