{"version":3,"sources":["selectors/currentStoryGame.ts","styles/SocialIcons.module.scss","utils/CognitoUtils.js","utils/helperUtils.js","actions/analytics.ts","styles/PreviewBit.module.scss","api/auth.js","utils/analyticsUtils.js","utils/routes.js","api/subscription.ts","api/account.js","utils/browserUtils.js","utils/referralUtils.js","utils/reducerHelperUtils.ts","actions/current.ts","styles/DownloadLink.module.css","styles/GenericLogoLander.module.scss","constants/planMetadata.ts","hooks/useIsMobile.tsx","api/GoogleTagManager.ts","containers/genai/components/CircularProgress.tsx","hooks/useInfiniteProgress.ts","containers/genai/components/PromptMessage.tsx","containers/genai/components/BuildBBDocCYOA.tsx","api/BBPlatform.ts","containers/genai/components/AnimatedButton.tsx","containers/genai/components/PreviewBit.tsx","containers/genai/components/DownloadBBDocCYOA.tsx","containers/genai/components/GeneratingGameAssetsCYOA.tsx","containers/genai/components/GeneratingGameDataCYOA.tsx","containers/genai/components/LoginPrompt.tsx","utils/CognitoHelper.ts","containers/genai/components/ErrorOutOfCreditsCYOA.tsx","containers/genai/components/InitialCYOAPrompt.tsx","containers/genai/constants/mapPromptToDisplay.tsx","img/LogoBB_Normal.png","actions/cart.ts","utils/accountUtils.ts","actions/account.ts","Env.ts","api/analytics.js","selectors/selectCurrentState.ts","selectors/isLoggingInFromClient.ts","api/mailchimp.js","utils/validationForm.ts","styles/Header.module.scss","reducers/models.ts","containers/genai/constants/bbai.prompts.ts","constants/GenPrompTypes.ts","selectors/selectGAClientId.ts","constants/HeaderItems.ts","components/MenuItem.jsx","components/SocialIcons.tsx","containers/Header.tsx","utils/setCssVariables.js","containers/Footer.tsx","components/AppliedRoute.js","Routes.js","containers/BrowserRoadblock.js","OneTrust.tsx","App.js","reducers/storyGameReducer.ts","utils/StorageVersion.ts","img/BB4_Logo_Wordmark_Wht.png","styles/App.module.scss","styles/AnimatedButton.module.css","actions/storyGame.ts","shared/utility.ts","api/referralprogram.js","actions/auth.ts","api/storyGame.ts","actions/error.ts","styles/PromptMessage.module.css","utils/Log.js","serviceWorker.js","containers/ChunkErrorBoundary.tsx","constants/amplify_config.js","reducers/authReducer.ts","reducers/accountReducer.ts","reducers/saleReducer.ts","reducers/errorReducer.ts","reducers/cartReducer.ts","reducers/currentReducer.ts","reducers/monetizationReducer.ts","reducers/index.ts","configureStore.tsx","index.js","styles/Footer.module.scss","selectors/currentUserInfo.ts"],"names":["state","storyGame","module","exports","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","delegateYield","checkTokenExpiration","_ref","_asyncToGenerator","_callee","token","parseJwt","_yield$parseJwt","exp","_context","JSON","parse","atob","split","Date","getTime","t0","Log","error","_x","apply","arguments","getCognitoUser","_ref2","_callee2","isSocialSignReferral","refCodeId","user","refreshToken","_user$attributes","email","userObject","_context2","sessionStorage","getItem","updateCustomField","setItem","Auth","currentAuthenticatedUser","signInUserSession","accessToken","jwtToken","attributes","referralTrackingId","info","_updateCustomField","_callee10","xsollaTrackingId","_context10","findCookieValue","updateUserAttributes","getUserAttributes","_ref3","_callee3","_context3","reject","fetch","concat","process","headers","mode","cache","body","stringify","AccessToken","response","json","data","newObj","UserAttributes","obj","key","_objectSpread","username","Username","_x2","getRefreshedCognitoTokens","_ref4","_callee4","cognitoClientId","clientSecretHash","_context4","ClientId","AuthFlow","AuthParameters","REFRESH_TOKEN","SECRET_HASH","AuthenticationResult","_x3","_x4","_x5","cognitoLogin","_ref5","_callee5","password","_context5","PASSWORD","USERNAME","_x6","_x7","_x8","_ref6","_callee6","userAttributes","cognitoAttributesList","_context6","Name","Value","status","message","statusText","_x9","_x10","changeCognitoPassword","_ref7","_callee7","previousPassword","newPassword","_context7","PreviousPassword","ProposedPassword","_x11","_x12","_x13","refreshWebAccessToken","_ref8","_callee8","cognitoUser","currentSession","_context8","refreshSession","session","confirmAccount","userName","confirmationCode","API","post","clientId","res","getRandomColor","color","Math","floor","random","formatUNIXTimestamp","timestamp","hyperWalletStyle","dateObject","month","toLocaleString","day","year","getBBVersion","productType","console","log","BBVersions","GENERIC","toLowerCase","BUILDBOX2","BUILDBOX3","BUILDBOX4","BUILDBOXWORLD","SOUNDBOX","openNewWindow","url","writeToWindow","window","outerHeight","screenY","x","outerWidth","screenX","newwindow","open","focus","document","write","setAnalyticsRegistrationEvent","uuid","deviceType","dispatch","setAnalyticsWorkState","WorkState","Loading","waitForGAClientId","googleClientId","createUserRegistrationRequest","None","setAnalyticsPurchaseEvent","planType","planInterval","product","createUserPurchaseRequest","dataLayer","event","payload","setGAClientId","gaClientId","actions","auth","SET_GA_CLIENT_ID","createUser","referralInfo","proposedBuildboxUserId","oneTimeCode","isGuest","Token","newUser","fetchTokensforCode","get","ssoTokenResponse","storeSSOTokens","clientSecret","id","updateUserScreenName","screenName","fetchUserScreenName","getGAClientId","ga","getAll","trackers","trackingId","localStorage","gaTimeElapsed","cb","trace","setTimeout","warn","redirectToDownloads","props","version","history","redirectToPreferredPaymentPlatformForProduct","productName","_referralInfo$Network","undefined","promoCode","ProductType","BB2","BB3","BBBundle","Soundbox","BB4","Network","redirectToXsollaCheckout","redirectToStripeCheckout","previousStripeCheckoutSessionId","query","previousXsollaCheckoutSessionId","redirectToPlans","loc","redirectToThankYouPage","redirectToThankYouRenewalPage","redirectToPreviousPage","route","redirectToLoginPage","redirectToGuestRegistration","stripeCheckoutSessionId","xsollaCheckoutSessionId","redirectToDeviceDownloadPage","currentUser","isMobileOnly","isTablet","redirectToDeviceDownloadPageSimple","redirectToUpsellPage","paymentPlatform","pathname","updateSubscription","_updateSubscription","stripePaymentId","stripePlanId","totalSeats","totalCost","saleCode","params","endpoint","userEmail","getProductEndpoint","toUpperCase","put","getUserSubscriptionProviders","_getUserSubscriptionProviders","renewSubscription","_x14","_x15","_x16","_renewSubscription","renewPaymentBody","accountlessUpdateSubscription","_x17","_x18","_x19","_x20","_x21","_x22","_x23","_x24","_accountlessUpdateSubscription","startStripeCheckoutSession","_x25","_x26","_x27","_startStripeCheckoutSession","embedded","stripePriceId","quantity","parentSessionId","couponCode","dtoBody","_args7","priceId","upsellFromPreviousSessionId","retrieveStripeCheckoutSessionFromPlatform","_x28","_retrieveStripeCheckoutSessionFromPlatform","sessionId","requestStripePurchaseEmailForSessionId","_x29","_requestStripePurchaseEmailForSessionId","_callee9","_context9","getXsollaPaystationTokenForSubscription","_x30","_x31","_x32","_x33","_x34","_x35","_x36","_getXsollaPaystationTokenForSubscription","xsollaSku","xsollaProductId","sku","purchaseType","webhook","productId","retrieveXsollaCheckoutSessionFromPlatform","_x37","_retrieveXsollaCheckoutSessionFromPlatform","_callee11","_context11","fetchUserPlan","fetchTrialUpsellInfo","updateBillingInfo","paymentProcessor","subscriptionId","fetchUserDevices","userId","updateDeviceStatus","active","macHash","Active","MACHash","ProductId","fetchUserEligibleRenewal","addUserToWaitlist","userInfo","isUnsupportedBrowser","isIE","getBrowser","isFirefox","isSafari","isChrome","getDeviceType","isBrowser","isMobileDevice","cookieName","foundCookie","cookie","find","row","startsWith","setXsollaCookie","referralCode","date","setTime","daysUntilExp","toUTCString","combineNetworks","networkReports","map","networkName","reports","item","flat","filterReducerAdboxReportItem","reportItems","platformFilter","networkFilter","word","filter","reportItem","platform","ios","android","appLovin","vungle","bundleID","package_name","includes","clientLoginRedirect","getState","_getState","router","currentUrl","_yield$cognitoLogin","RefreshToken","ReferralInfo","Email","urlQuery","websocketPort","showLinkback","provider","destUrl","location","Info","search","websocketDomain","now","webLoginRedirect","cart","afterSignupRedirect","cartItem","_auth$user","_cartItem","_auth$user2","removeItem","routes","THANK_YOU_PURCHASE","items","PlanType","Free","downloadUrl","THANK_YOU","setPlanFetchWorkState","workState","current","SET_PLAN_FETCH_STATE","setInvoicesFetchWorkState","SET_INVOICES_FETCH_STATE","setLoginWorkState","loginState","SET_LOGIN_STATE","setPurchaseState","SET_PURCHASE_STATE","setSignUpWorkState","SET_SIGNUP_STATE","setLoggingInfromClient","client","SET_LOGIN_TYPE","setFromSSORedirect","fromSSORedirect","SET_FROM_SSO_REDIRECT","resetCurrentState","RESET_CURRENT_STATE","SET_ANALYTICS_WORKSTATE","setAdSettingsWorkState","adSettingsWorkState","SET_AD_SETTINGS_WORKSTATE","setProductType","SET_PRODUCT_TYPE","setTransactionsFetchWorkState","SET_TRANSACTIONS_FETCH_WORKSTATE","setProjectsFetchWorkState","SET_PROJECTS_FETCH_WORKSTATE","PLANS_JSON","_PLANS_JSON","BB4Free","PlanIds","PlanInterval","Lifetime","productCategory","ProductCategory","planName","analyticsTierName","analyticProductTierNames","discountsAllowed","hasUpsell","trialDays","monthlyCost","annualCost","lifetimeCost","yearCommitmentCost","features","BB4Basic","Basic","Yearly","Plus","stripeId","stripeIdDev","xsollaId","xsollaProductIdDev","xsollaIdDev","BB4Pro","Pro","featured","simplifiedFeatures","bannerText","BB4TrialUpsell","_defineProperty","BB4Beginner","Beginner","Monthly","SoundboxFree","SoundboxPro","BB3Free","BB3Monthly","nonGridFeatures","badgeText","BB3Plus","BB3Pro","BB3TrialUpsell","BB3Beginner","BB2Free","BB2Monthly","BB2Plus","BB2Pro","BB2Beginner","BB2TrialUpsell","Bundle","preBundleCost","BBBundleUpsell","PLAN_MAP","useIsMobile","_useState","useState","innerWidth","_useState2","_slicedToArray","width","setWidth","handleWindowSizeChange","useEffect","addEventListener","removeEventListener","isMobile","customEventDataLayerTrigger","eventName","otherData","prePendEventName","Env","AOB_ENV","customEventName","TagManager","UserId","CircularProgress","_ref$progress","progress","React","createElement","Progress","percent","strokeWidth","size","strokeColor","useInfiniteProgress","successReport","setProgress","interval","setInterval","clearInterval","randomeNumberIncrement","PromptMessage","_ref$message","_ref$loading","promptStage","loading","_ref$successReport","component","_ref$error","progressValue","handleDoneTyping","completed","Fragment","Row","className","styles","promptMessage","promptFeedbackBBAI","promptFeedbackUser","Col","xs","sm","md","lg","xl","senderImg","src","pic","alt","TypeAnimation","sequence","wrapper","speed","cursor","BuildBBDocCYOA","bbaiStore","useSelector","currentStoryGame","userStore","currentUserInfo","useDispatch","generateBBDoc","useRef","allAssetsGenerated","generateBBDOC","nextStage","refreshedToken","_bbaiStoryGamePromptO","generatedCYOAGameData","validateToken","createCYOABBDoc","projectId","projectBBDocUrl","debug","bbdocId","setBBWorldBBDocId","cyoaConfirmComplete","setConfirmComplete","setErrorState","title","bbaiStoryGamePromptOptions","promptStepStatus","errPrompt","bbaiStoryGamePromptStepStatus","BUILD_BBDOC","prompt","bbaiUser","_callSuper","_getPrototypeOf","_possibleConstructorReturn","_isNativeReflectConstruct","Reflect","construct","UUID_REGEX","BBPlatformClientError","_Error","_classCallCheck","_inherits","_createClass","_wrapNativeSuper","BBPlatform4XXError","_Error2","metadata","_this","BBPlatformClientNotAuthorizedError","_Error3","BBPlatformServerError","_BBPlatform4XXError","BBPlatformClient","tokens","injectedToken","isBBWorldMode","isAndroidJSInterface","Android","fetchBBToken","BBWorldAccessToken","ACCESS_TIMEOUT_MS","bbworldModeValue","URLSearchParams","androidJSInterfaceValue","_apiRequest","_props$headers","providedHeaders","bodyJSON","_props$publicEndpoint","publicEndpoint","_props$isAuthRetry","isAuthRetry","responseBody","_message","getUnexpiredTokens","apiRequest","_apiGet","_apiPost","_apiPut","_login","apiPost","UAM_BASE_URL","_getUserInfo","apiGet","_getGenerateAsset","this","BB2D_BASE_URL","_getAssetGenerationProgress","jobId","_generateClipdropAsset","input","output","badEndText","lose","chapterContent","goodEndText","win","badEndImageFilename","goodEndImageFilename","subtitle","mission","titleImageFilename","iconFilename","backgroundMusicFilename","chapters","ii","chapter","description","imageFilename","choicesData","choices","jj","choiceData","choice","choiceDescription","coinsDelta","healthDelta","resultDescription","_emplaceCYOAResource","filename","_createCYOABBDoc","gameData","convertBBAICYOADataToPlatformFormat","_createBBDocRandomFile","_callee12","index","randomTemplateType","_context12","templateType","_getAssetImages","_callee13","_context13","_downloadBuildboxClient","_callee14","platformDesired","_context14","navigator","foundMatch","str","some","DownloadPlatforms","WINDOWS","MAC","UNKNOWN","downloadLink","BBDownloadVersion","href","WIN","_createUserDownloadsRequest","_callee15","resp","_context15","sendUserDownloadRequestAnalytics","_sendUserDownloadRequestAnalytics","_callee16","_this2","_context16","app","_sendDownloadAnalytics","_callee17","_context17","createUserDownloadsRequest","_getUserBBDocs","_callee18","result","_args18","_context18","BB_WORLD_BASE_URL","bits","_getBBDocDownloadLink","_callee19","_context19","test","bbDocId","BB_DEEP_LINK","replace","_testError","_callee20","_context20","_getSSOToken","_callee21","ssoTokenDTO","_context21","_cyoaNewId","_callee22","_context22","_cyoaConfirmComplete","_callee23","_context23","_getCYOABBDocDownloadLink","_callee24","_context24","expiresIn","_getUserData","_callee25","_context25","_getBalance","_callee26","_context26","_getFirebaseShortenDeepLink","_callee27","bitId","_context27","AnimatedButton","text","handleClick","isAnimating","_useState3","buttonRadius","Button","animatedButton","shape","style","height","onClick","PreviewBit","css","backgroundImage","titleImage","backgroundPosition","backgroundSize","container","previewBitContainer","bgInfoBase","textInfoTitle","textInfoMission","startImgContainer","startImg","FileType","DownloadBBDocCYOA","bbdoc","setBBDoc","_useState4","dynamicLink","setDynamicLink","getBBDOC","downloadBBDOC","clickEvt","download","MouseEvent","view","bubbles","cancelable","dispatchEvent","remove","deepLink","bbworldBBDocId","getCYOABBDocDownloadLink","getFirebaseShortenDeepLink","setBBDocUrl","handleClickDownloadBBDOC","fileType","openBBWorld","BBDOC","BBCLASSIC_INSTALLER","downloadBuildboxClient","MobileRender","playBit","DesktopRender","textAlign","margin","qrContainer","QRCode","bgColor","QR_BB_WORLD","padding","marginTop","downloadStyles","downloadLinkIcon","fancyText","GeneratingGameAssetsCYOA","genAssetsRan","startTimer","generatedDataSuccess","setGeneratedDataSucesss","generateCYOAGameAssets","skipGenerate","_refreshedToken","newProjectID","jobRequest","promisesImages","chapterInfo","musicUrl","getBalance","balance","cyoaNewId","setProjectId","costInVC","disableSuggestedOptimizations","uuidv4","removeBackground","seed","webCYOASaveCopyToS3Filename","webCYOAProjectId","imageDescription","generateClipdropAsset","emplaceCYOAResource","all","setTitleImage","image","setAllAssetsGenerated","setGeneratedCYOAGameData","GENERATING_GAME_ASSETS","GeneratingGameDataCYOA","generateDataCYOA","userStoryPrompt","bodyGenAI","UserID","genai_question","genai_user_response","genai_skipped","generateCYOAGameData","userPrompt","numberOfChapters","genJob","setPromptStepState","GENERATING_GAME_DATA","cyoaGameAsJson","LoginPrompt","useHistory","handleLogin","generateTokenForSSO","ErrorOutOfCreditsCYOA","setTokenQuery","baseUrl","urltoken","VIEW_PLANS_URL","InitialCYOAPrompt","setUserStoryPrompt","notEnoughCreditsError","setNotEnoughCreditsError","CheckIfUserHasEnoughCredits","gameDataRestartID","userCreditsInfo","INITIAL","defaultUser","mapPromptToDisplay","Component","stage","addPlanToCart","planId","subscriptionPlan","planPurchaseObject","cartId","v4","seatQuantity","ADD_TO_CART","showError","updateSeatQuantity","UPDATE_SEAT_QUANTITY","mapToFreePlan","plans","devices","plansArray","entries","plan","billing","brand","expiryMonth","expiryYear","lastFour","planDetail","planDevices","billingInterval","nextPaymentDate","paymentAmount","billingInfo","selectedPlanSpecs","supportedModules","mapSupportedModules","availableWorlds","worlds","availableSections","sections","brandedSplashScreen","isCustomSplashScreenAllowed","upgradeAvailable","isPlanUpgradeAvailable","subscriptionTier","modules","supportedMod","beginXsollaCheckoutSession","_getState2","xsollaPlanId","beginStripeCheckoutSession","_getState3","_getState4","sessionResponse","purchasePlan","purchaseCost","_getState5","_getState6","_auth$user3","_auth$user4","_auth$user5","sessionProductType","accountlessPurchaseEmail","analyticProductTypes","Success","renewPlan","_getState7","_getState8","_auth$user6","_auth$user7","_auth$user8","subscriptionUpdateResponse","upcomingInvoice","account","SET_UPCOMING_INVOICE","fetchAccountData","_getState9","planData","eligibleRenewal","planInfo","bb2","bb3","bb4","bbbundle","soundbox","t1","t2","SET_CURRENT_PLANS","setEligibleRenewal","t3","updateBilling","paymentId","fetchPlanProvider","_ref10","userPlanProviders","plansAndProviders","BB2Plan","BB3Plan","BB4Plan","SoundboxPlan","planProviders","SET_PLAN_PROVIDERS","SET_USER_PLANS","clearAccount","CLEAR_ACCOUNT","SET_ELIGIBLE_RENEWAL","getRequiredEnvVar","envVarName","defaultVal","varName","val","getEnvVarForEnvironment","overrideEnvVarName","prodValue","devValue","localValue","BBAI_BASE_URL","ASSET_MANAGER_BASE_URL","LEARN_MORE_URL","MY_ACCOUNT_URL","BB4_DOWNLOAD_LINK_WIN","BB4_DOWNLOAD_LINK_MAC","BB3_DOWNLOAD_LINK_WIN","BB3_DOWNLOAD_LINK_MAC","BB2_DOWNLOAD_LINK_WIN","BB2_DOWNLOAD_LINK_MAC","SOUNDBOX_DOWNLOAD_LINK_WIN","SOUNDBOX_DOWNLOAD_LINK_MAC","APP_CLIENT_ID","GTM_ID","strVal","toString","numVal","parseInt","getRequiredIntEnvVal","DEBUG_MODE","getRequiredBoolEnvVal","CYOA_OPENAI_MODEL","CYOA_OPENAI_TEMPERATURE","parseFloat","getRequiredFloatEnvVal","customerId","createSelector","currentState","LoginClientType","Client","md5Hash","emailAddress","require","md5","sendDownloadEmail","hashedEmail","addMailchimpAudienceTags","_getMailchimpTag","GENERIC_BB_TAGS","getMailchimpTag","isTagActive","mailchimpTagName","validateLength","validateEmail","String","match","LoginState","stringToProductCategory","PaymentPlatforms","AdPaymentDescription","HWAccountStatus","HWVerificationStatus","PlanNameToPlanIds","GAME_DATA","CLAIM_LOGIN_SKIP","COMPLETE","COMPLETE_MOBILE","DOWNLOAD_BBDOC","CLAIM_ACCOUNT","APP","headerItems","externalURL","profileHeaderItems","MenuItem","menuOpenState","toggleMenuState","windowWidth","setWindowWidth","isDesktop","menuItem","toggleTab","path","activeTab","handleWindowResize","submenus","toggleMenu","stopPropagation","dropDown","menuTitleContainer","Link","to","target","rel","parentMenuTitle","subMenu","FontAwesomeIcon","menuIcon","icon","faAngleUp","faAngleDown","dropDownContent","classnames","hidden","submenu","link","SocialIcons","socialIconsContainer","socialLink","Header","useLocation","useContext","UserContext","setActiveTab","_useState5","_useState6","toggleDropdown","setToggleDropdown","color1","color2","_onLoad","handleSignIn","handleLogout","_handleLogout","logout","renderMenuItems","headerItemsArray","headerItem","onLoad","header","logoUrl","imgBuildboxLogo","logoWrapper","logo","logoElement","socialIcons","linkListDesktop","userNameLetter","background","variableObj","documentElement","setProperty","profileBtn","profileDropdown","NavLink","activeClassName","selected","signInContainer","button","LOGIN","renderAuthState","_currentUser$referral","_currentUser$referral2","getStartedButton","menuIconContainer","faTimes","faBars","animStyle","overflow","transition","maxHeight","linkHeaderItems","gridTemplateRows","linkListMobile","listContainer","loginNavLink","signInWrapper","getMobileMenu","Footer","footer","linksContainer","linksWrapper","linkItems","img","action","formInputs","required","placeholder","interestsList","htmlFor","readOnly","display","position","left","aria-hidden","linkItemsSocial","socialText","termsContainer","AppliedRoute","C","appProps","rest","_objectWithoutProperties","_excluded","scrollTo","Route","assign","render","Suspense","fallback","lazy","NewClassicStoryGamesHome","BB4Product","BB3Product","BB2Product","SoundboxProduct","Plans","NotFound","Downloads","BillingFormStripe","StripeCheckout","StripeCheckoutReturn","BillingFormXsolla","XsollaCheckoutReturn","AuthUI","ConfirmAccount","ThankYou","Login","Loader","ClientUpgradeRedirect","ClientLoginRedirect","ClientLogoutRedirect","ClientPostmessageConnection","ClientGoogleLogin","ClientFacebookLogin","ClientAppleLogin","ClientDeeplinkLogin","ClientAwaitingFacebookLogin","ClientAwaitingAppleLogin","ClientAwaitingGoogleLogin","ReportAnIssue","ContactSupport","NewFeature","FeatureThankYou","FeaturePostMessage","UserAccount","BuildBoxWorld","ReferralLandingPage","GenAIPrompt","RenewalThankYou","BB4AlphaPreviewNotes","BB4CheckoutRedirect","BB2CheckoutRedirect","UpsellAfterTrial","BB2Campaign","Routes","Switch","SPLASH","exact","PURCHASE_PLANS","DOWNLOADS","STRIPE_CHECKOUT","STRIPE_CHECKOUT_RETURN","CHECKOUT_STRIPE","CHECKOUT_XSOLLA","XSOLLA_CHECKOUT_RETURN","UPSELL_AFTER_CHECKOUT","REDIRECT","CONFIRM_ACCOUNT","ERROR","LOADING","CLIENT_REDIRECT","CLIENT_LOGOUT_REDIRECT","CLIENT_POSTMESSAGE_CONNECTION","CLIENT_GOOGLE_LOGIN","CLIENT_FACEBOOK_LOGIN","CLIENT_APPLE_LOGIN","CLIENT_DEEPLINK_LOGIN","CLIENT_AWAITING_GOOGLE_LOGIN","CLIENT_AWAITING_FACEBOOK_LOGIN","CLIENT_AWAITING_APPLE_LOGIN","REPORT_AN_ISSUE","CONTACT_SUPPORT","SUBMIT_NEW_FEATURE","REPORTING_THANK_YOU","FEATURE_POST_MESSAGE","BB4_PRODUCT","BB3_PRODUCT","BB2_PRODUCT","BB2_LANDING","SOUNDBOX_PRODUCT","USER_ACCOUNT","USER_SUBSCRIPTION","USER_AD_MANAGEMENT","REFERRAL_LANDING_PAGE","RENEWAL_THANK_YOU","STORY_GAME","BuildBoxWorldProduct","STORY_GAME_GENERATE","BB4_ALPHA_PREVIEW_NOTES","BB4_CHECKOUT_REDIRECT","BB2_CHECKOUT_REDIRECT","APPLE_PAY_SITE_VERIFICATION","Redirect","from","PIXELBOX_BANNER_REDIRECT","ANIMATIONBOX_BANNER_REDIRECT","VOXELBOX_BANNER_REDIRECT","RoadblockUI","BBLogo","BrowserRoadblock","children","isDeprecated","setRoadblock","OneTrust","createContext","withRouter","authError","setAuthError","isAuthenticated","setIsAuthenticated","errorState","clientLoginState","isLoggingInFromClient","selectGoogleClientId","selectGAClientId","referralShortCode","URL","QueryString","dispatchError","handler","login","Hub","listen","UserContextValue","hideHeaderAndFooter","App","ToastContainer","autoClose","Provider","CYOAProjectType","storeVersion","storageKey","BBAI_STORE_VERSION_KEY","storedVersionStr","storedVersion","storeStorageVersion","initialStoryGameState","projectType","isLoading","bbDocHistory","showAuthFrame","isAuthed","createAccountMode","bbDocUrl","storyGameReducer","_mapPromptToDisplay$b","SET_LOADING","SET_ERROR","SET_PROMPT_STEP","stepStatus","SET_USER_STORY_PROMPT","SET_GENERATED_STORY_GAME_DATA","SET_PROJECT_ID","SET_ALL_ASSETS_GENERATED","SET_BBWORLD_BBDOC_ID","SET_BBDOC_HISTORY","SET_GUEST","NEXT_STAGE","currentStage","SET_STAGE","SET_SHOW_AUTH_FRAME","SET_IS_AUTH","SET_CREATE_ACCOUNT_MODE","SET_USER_ID","SET_BBDOC_URL","START_OVER","SET_RETRY_ID","SET_CONFIRM_COMPLETE","GET_COMPONENTS_ARRAY","SET_TITLE_IMAGE","setStage","startOver","setRetryID","newComponentArray","_i","_Object$entries","_Object$entries$_i","Animationbox","Pixelbox","Voxelbox","downloadPaths","sendReferralTrackingId","_e$response","_e$response$data","_e$response$data$meta","cognitoUserInfo","locale","_response$payload","userCreated","userScreenName","tokenObject","setUserScreenName","Id","country","isNewUser","setUser","setAuthTokens","handleNewUserRegistration","setMailchimpMarketingTags","Unauthorized","ServerError","previousRoute","signOut","clearUser","clear","ssoTokenLogin","goToPlansPage","planView","setCognitoClientInfo","_sessionStorage$getIt","_auth$authTokens","tokenIsExpired","authTokens","refreshTokens","newToken","newError","handleUpdateUserScreenName","newScreenName","errorcode","SET_COGNITO_CLIENT_INFO","SET_SCREEN_NAME","SET_AUTH_TOKENS","SET_USER","CLEAR_USER","setAccountlessPurchaseEmail","actionBody","SET_ACCOUNTLESS_PURCHASE_EMAIL","_ref15","_ref16","_ref17","_x38","_ref19","_x40","_ref20","_x41","_x42","_ref21","userInput","_args21","_x43","_x44","getAllSharedBits","_ref22","offset","_args22","toast","toastId","onClose","clearError","dismiss","HIDE_ERROR","SHOW_ERROR","COLOURS","level","source","namespace","createDebug","enabled","generateMessage","Boolean","hostname","ChunkErrorBoundary","_React$Component","hasChunkError","hasOtherError","reload","flexDirection","justifyContent","alignItems","backgroundColor","fontSize","marginBottom","border","borderRadius","aws_config","s3","REGION","apiGateway","analyticsGateway","plansGateway","adManagerGateway","assetManagementGateway","bbworldGetway","pseudo","REACT_APP_PSEUDO_URL","bb2Gateway","bbaiGateway","assetMangerGateway","cognito","USER_POOL_ID","COOKIE_DOMAIN","REACT_APP_COGNITO_COOKIE_DOMAIN","oauth","domain","scope","redirectSignIn","redirectSignOut","responseType","initialState","fromBBClient","authReducer","subscriptions","invoices","bundleSubscription","accountReducer","_toConsumableArray","SET_INVOICES","SET_BUNDLE_SUBSCRIPTION","houseAdCampaign","website_homepage","website_pricing","website_stripe","saleData","saleContext","showSaleUI","showSalesLoader","discountedCost","saleJustEnded","saleState","saleReducer","sale","SET_SALE_STATE","SET_SALE_DATA","SET_SALE_UI","SET_SALE_LOADER","SET_DISCOUNTED_COST","SET_TOTAL_COST","RESET_SALE_STATE","SET_SALE_JUST_ENDED","CLEAR_SALE_DATA","SET_HOUSE_AD_CAMPAIGN_HOMEPAGE","houseAdCampaignForHomepage","SET_HOUSE_AD_CAMPAIGN_PRICING","houseAdCampaignForPricing","SET_HOUSE_AD_CAMPAIGN_STRIPE","houseAdCampaignForStripe","errorReducer","cartReducer","REMOVE_FROM_CART","filteredCart","updatedCart","seats","CLEAR_CART","Web","analytics","signup","purchase","planFetch","billingInfoFetch","invoicesFetch","transactionsFetch","projectsFetch","adSettings","userState","currentReducer","SET_BILLING_INFO_FETCH_STATE","UNREGISTERED","verificationStatus","REQUIRED","accountInfo","firstName","lastName","dateOfBirth","paymentHistory","transactions","projects","games","adboxReport","monthToDateEarnings","earnings","NaN","filters","networks","os","adboxDailyMetrics","dailyMetrics","monetizationReducer","monetization","SET_HW_ACCOUNT_STATE","accountState","SET_HW_ACCOUNT_INFO","SET_PAYMENT_TRANSACTIONS","SET_PROJECTS","SET_MONTH_TO_DATE_EARNINGS","SET_ADBOX_REPORT","SET_NETWORK_FILTER","SET_BUNDLE_FILTER_WORD","bundleFilterWord","SET_PLATFORM_OS_FILTER","SET_FILTERED_TABLE","SET_DAILY_METRICS","sessionStorageStoryGamePersistConfig","storage","createBrowserHistory","currentBrowser","persistConfig","whitelist","blacklist","storageSession","stripePromise","loadStripe","Amplify","configure","mandatorySignIn","region","userPoolId","userPoolWebClientId","Storage","bucket","BUCKET","endpoints","_configureStore","middlewares","routerMiddleware","thunk","enhancers","applyMiddleware","composeEnhancer","compose","reducers","combineReducers","connectRouter","persistReducer","persistedReducer","store","createStore","persistor","persistStore","configureStore","ReactDOM","PersistGate","ConnectedRouter","Elements","stripe","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.b6459162.chunk.js","sourcesContent":["import { IStoryGameState } from \"../reducers/storyGameReducer\";\n\nexport default (state: { storyGame: IStoryGameState}) => {\n return state.storyGame;\n};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"socialLinkVertical\":\"SocialIcons_socialLinkVertical__1Mihf\",\"socialIconsContainer\":\"SocialIcons_socialIconsContainer__2hQpX\",\"socialLink\":\"SocialIcons_socialLink__k2KWr\"};","import Log from \"./Log\";\nimport Auth from \"@aws-amplify/auth\";\nimport API from \"@aws-amplify/api\";\nimport { findCookieValue } from \"./referralUtils\";\n\nexport const checkTokenExpiration = async (token) => {\n if (token) {\n try {\n const parseJwt = JSON.parse(atob(token.split(\".\")[1]));\n\n const { exp } = await parseJwt;\n\n // get current epoch time\n const currentTimeStamp = new Date().getTime() / 1000;\n\n if (currentTimeStamp >= exp) {\n return true;\n } else {\n return false;\n }\n } catch (error) {\n Log.error(error, \"error caught in checkTokenExpiration\");\n return null;\n }\n }\n};\n\nexport const getCognitoUser = async () => {\n try {\n const isSocialSignReferral = sessionStorage.getItem(\"socialSignReferral\");\n\n let refCodeId = null;\n\n if (isSocialSignReferral === \"true\") {\n refCodeId = await updateCustomField();\n sessionStorage.setItem(\"socialSignReferral\", \"\");\n }\n\n const user = await Auth.currentAuthenticatedUser();\n const token = user.signInUserSession.accessToken.jwtToken;\n const refreshToken = user.signInUserSession.refreshToken.token;\n const { email, name } = user.attributes;\n refCodeId =\n refCodeId === null\n ? user.attributes[\"custom:referralTrackingId\"]\n : refCodeId;\n\n const userObject = {\n email,\n name,\n accessToken: token,\n refreshToken,\n referralTrackingId: refCodeId,\n };\n return userObject;\n } catch (e) {\n Log.info(\"error getting cognito user\", e);\n }\n};\n\nasync function updateCustomField() {\n let xsollaTrackingId = findCookieValue(\"tracking_id=\");\n\n Log.info(\"checking for xsollaTrakcingId: \", xsollaTrackingId);\n\n if (xsollaTrackingId) {\n const user = await Auth.currentAuthenticatedUser();\n\n Log.info(\"adding custom attr -> \");\n\n try {\n await Auth.updateUserAttributes(user, {\n \"custom:referralTrackingId\": xsollaTrackingId,\n });\n } catch (err) {\n Log.info(\" failed adding custom attr-> :( \", err);\n }\n\n Log.info(\n \"added custom attr -> custom:referralTrackingId \",\n\n xsollaTrackingId\n );\n\n return xsollaTrackingId;\n } else {\n return null;\n }\n}\n\nexport const getUserAttributes = async (accessToken) => {\n return new Promise((resolve, reject) => {\n fetch(\n `https://cognito-idp.${process.env.REACT_APP_REGION}.amazonaws.com/`,\n {\n headers: {\n \"X-Amz-Target\": \"AWSCognitoIdentityProviderService.GetUser\",\n \"Content-Type\": \"application/x-amz-json-1.1\",\n },\n mode: \"cors\",\n cache: \"no-cache\",\n method: \"POST\",\n body: JSON.stringify({\n AccessToken: accessToken,\n }),\n }\n )\n .then((response) => response.json())\n .then((data) => {\n Log.info(\"data from getUserAttributes\", data);\n const newObj = {};\n\n data.UserAttributes.forEach((obj) => {\n const values = Object.values(obj);\n const key = values[0];\n newObj[key] = values[1];\n });\n\n resolve({ username: data.Username, ...newObj });\n })\n .catch((error) => {\n Log.error(error, \"error caught in while calling getUserAttributes\");\n reject(error);\n });\n });\n};\n\nexport const getRefreshedCognitoTokens = async (\n refreshToken,\n cognitoClientId,\n clientSecretHash\n) => {\n return new Promise((resolve, reject) => {\n fetch(\n `https://cognito-idp.${process.env.REACT_APP_REGION}.amazonaws.com/`,\n {\n headers: {\n \"X-Amz-Target\": \"AWSCognitoIdentityProviderService.InitiateAuth\",\n \"Content-Type\": \"application/x-amz-json-1.1\",\n },\n mode: \"cors\",\n cache: \"no-cache\",\n method: \"POST\",\n body: JSON.stringify({\n ClientId: cognitoClientId,\n AuthFlow: \"REFRESH_TOKEN_AUTH\",\n AuthParameters: {\n REFRESH_TOKEN: refreshToken,\n SECRET_HASH: clientSecretHash, // add client secret if there is one\n },\n }),\n }\n )\n .then((response) => response.json())\n .then((data) => {\n Log.info(\"data from get refresh cognito tokens\", data);\n\n if (!data.AuthenticationResult) {\n reject(data);\n }\n\n resolve(data.AuthenticationResult.AccessToken);\n })\n .catch((error) => {\n Log.error(error, \"error caught in while calling REFRESH_TOKEN_AUTH\");\n reject(error);\n });\n });\n};\nexport const cognitoLogin = async (username, password, cognitoClientId) => {\n return new Promise((resolve, reject) => {\n fetch(\n `https://cognito-idp.${process.env.REACT_APP_REGION}.amazonaws.com/`,\n {\n headers: {\n \"X-Amz-Target\": \"AWSCognitoIdentityProviderService.InitiateAuth\",\n \"Content-Type\": \"application/x-amz-json-1.1\",\n },\n mode: \"cors\",\n cache: \"no-cache\",\n method: \"POST\",\n body: JSON.stringify({\n ClientId: process.env.REACT_APP_COGNITO_APP_CLIENT_ID,\n AuthFlow: \"USER_PASSWORD_AUTH\",\n AuthParameters: {\n PASSWORD: password,\n USERNAME: username,\n },\n }),\n }\n )\n .then((response) => response.json())\n .then((data) => {\n Log.info(\"data from cognitoLogin\", data);\n\n if (!data.AuthenticationResult) {\n reject(data);\n }\n resolve(data.AuthenticationResult);\n })\n .catch((error) => {\n Log.error(error, \"error caught in while calling USER_PASSWORD_AUTH\");\n reject(error);\n });\n });\n};\n\nexport const updateUserAttributes = async (accessToken, userAttributes) => {\n const cognitoAttributesList = [];\n for (const key in userAttributes) {\n cognitoAttributesList.push({\n Name: key,\n Value: userAttributes[key],\n });\n }\n\n return new Promise((resolve, reject) => {\n fetch(\n `https://cognito-idp.${process.env.REACT_APP_REGION}.amazonaws.com/`,\n {\n headers: {\n \"X-Amz-Target\":\n \"AWSCognitoIdentityProviderService.UpdateUserAttributes\",\n \"Content-Type\": \"application/x-amz-json-1.1\",\n },\n mode: \"cors\",\n cache: \"no-cache\",\n method: \"POST\",\n body: JSON.stringify({\n AccessToken: accessToken,\n UserAttributes: cognitoAttributesList,\n }),\n }\n )\n .then((response) => {\n if (response.status !== 200) {\n throw new Error({\n status: response.status,\n message: response.statusText,\n });\n }\n return response.json();\n })\n .then((data) => {\n resolve({ status: 200, body: cognitoAttributesList });\n })\n .catch((error) => {\n Log.error(error, \"error caught in while calling updateUserAttributes\");\n reject(error);\n });\n });\n};\n\nexport const changeCognitoPassword = async (\n accessToken,\n previousPassword,\n newPassword\n) => {\n return new Promise((resolve, reject) => {\n fetch(\n `https://cognito-idp.${process.env.REACT_APP_REGION}.amazonaws.com/`,\n {\n headers: {\n \"X-Amz-Target\": \"AWSCognitoIdentityProviderService.ChangePassword\",\n \"Content-Type\": \"application/x-amz-json-1.1\",\n },\n mode: \"cors\",\n cache: \"no-cache\",\n method: \"POST\",\n body: JSON.stringify({\n AccessToken: accessToken,\n PreviousPassword: previousPassword,\n ProposedPassword: newPassword,\n }),\n }\n )\n .then((response) => {\n if (response.status !== 200) {\n throw new Error({\n status: response.status,\n message: response.statusText,\n });\n }\n return response.json();\n })\n .then((data) => {\n resolve({ status: 200, body: \"password successfully changed!\" });\n })\n .catch((error) => {\n Log.error(error, \"error caught in while calling changeCognitoPassword\");\n reject(error);\n });\n });\n};\nexport const refreshWebAccessToken = async () => {\n Log.info(\"\", \"refreshWebAccessToken called\");\n\n const cognitoUser = await Auth.currentAuthenticatedUser();\n const currentSession = await Auth.currentSession();\n\n return new Promise((resolve, reject) => {\n cognitoUser.refreshSession(\n currentSession.refreshToken,\n (error, session) => {\n if (error) {\n Log.error(error, \"error caught in while refreshing web client token\");\n reject(error);\n }\n const accessToken = session.accessToken.jwtToken;\n //console.log(\"accessToken\", accessToken);\n\n resolve(accessToken);\n }\n );\n });\n};\n\nexport const confirmAccount = (cognitoClientId, userName, confirmationCode) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/confirmCognitoAccount\", {\n body: {\n clientId: cognitoClientId,\n userName: userName,\n confirmationCode: confirmationCode,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200) {\n resolve(res.data);\n }\n })\n .catch((error) => {\n reject(error);\n });\n });\n};\n\nexport const getUserSessionTokens = async () => {\n try {\n const currentSession = await Auth.currentSession();\n\n if (currentSession) {\n return true;\n }\n\n return false;\n } catch (e) {\n Log.error(e, \"error: getUserSessionTokens\");\n throw e;\n }\n};\n","import { BBVersions } from \"../reducers/models\";\n\nexport function getRandomColor() {\n var letters = \"0123456789ABCDEF\";\n var color = \"#\";\n for (var i = 0; i < 6; i++) {\n color += letters[Math.floor(Math.random() * 16)];\n }\n return color;\n}\n\nexport function formatUNIXTimestamp(timestamp, hyperWalletStyle) {\n if (timestamp) {\n const dateObject = new Date(timestamp);\n let month = dateObject.toLocaleString(\"en-US\", { month: \"short\" });\n let day = dateObject.toLocaleString(\"en-US\", { day: \"numeric\" });\n let year = dateObject.toLocaleString(\"en-US\", { year: \"numeric\" });\n if (hyperWalletStyle) {\n month = dateObject.toLocaleString(\"en-US\", { month: \"2-digit\" });\n day = dateObject.toLocaleString(\"en-US\", { day: \"2-digit\" });\n year = dateObject.toLocaleString(\"en-US\", { year: \"numeric\" });\n\n return `${year}-${month}-${day}`;\n }\n return `${month} ${day}, ${year}`;\n }\n return \"\";\n}\n\n// I don't THINK BB Bundle makes sense in here, but I'm not sure. seems mostly application-specific and bundle would be out of place\nexport function getBBVersion(productType) {\n if(productType) {\n const productTypeLowerCase = productType.toLowerCase();\n switch (productTypeLowerCase) {\n case \"bb2\":\n case \"buildbox classic\":\n return BBVersions.BUILDBOX2;\n case \"bb3\":\n case \"buildbox 3\":\n return BBVersions.BUILDBOX3;\n case \"bb4\":\n case \"buildbox 4\":\n return BBVersions.BUILDBOX4;\n case \"bbworld\":\n return BBVersions.BUILDBOXWORLD;\n case \"soundbox\":\n return BBVersions.SOUNDBOX;\n case \"generic\":\n return BBVersions.GENERIC;\n default:\n return BBVersions.GENERIC;\n }\n }\n else {\n console.log(\"product type not set, defaulting to generic\")\n return BBVersions.GENERIC;\n }\n}\n\nexport function openNewWindow(url, writeToWindow) {\n var y = window.outerHeight / 2 + window.screenY - 500 / 2;\n var x = window.outerWidth / 2 + window.screenX - 500 / 2;\n let newwindow = window.open(\n url,\n \"\",\n `height=1000,width=1000, top=${y},left=${x}`\n );\n if (window.focus) {\n if (writeToWindow) {\n newwindow.document.write(\n `\n \n `\n );\n }\n newwindow.focus();\n }\n return false;\n}\n","import { WorkState } from \"./../reducers/models\";\nimport { DefaultThunkAction } from \"./shared\";\nimport { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\nimport { waitForGAClientId } from \"../utils/analyticsUtils\";\nimport {\n createUserRegistrationRequest,\n createUserPurchaseRequest,\n} from \"../api/analytics\";\nimport { setAnalyticsWorkState } from \"./current\";\nimport Log from \"../utils/Log\";\n\nexport function setAnalyticsRegistrationEvent(\n email: string,\n uuid: string,\n clientId: string | null,\n productType: string | null,\n deviceType: string | null\n): DefaultThunkAction> {\n return async (dispatch) => {\n dispatch(setAnalyticsWorkState(WorkState.Loading));\n\n try {\n await waitForGAClientId((googleClientId: string | null) =>\n createUserRegistrationRequest(\n email,\n googleClientId,\n uuid,\n productType,\n deviceType\n )\n );\n dispatch(setAnalyticsWorkState(WorkState.None));\n } catch (error:any) {\n Log.error(error, \"error caught in setAnalyticsRegistrationEvent\");\n dispatch(setAnalyticsWorkState(WorkState.Error));\n throw error;\n }\n };\n}\n\nexport function setAnalyticsPurchaseEvent(\n email: string,\n uuid: string,\n planType: string,\n planInterval: string,\n product: string\n): DefaultThunkAction> {\n return async (dispatch) => {\n dispatch(setAnalyticsWorkState(WorkState.Loading));\n\n try {\n await waitForGAClientId((googleClientId: string | null) =>\n createUserPurchaseRequest(\n email,\n googleClientId,\n uuid,\n planType,\n planInterval,\n product\n )\n );\n\n const dataLayer = (window.dataLayer = window.dataLayer || []);\n dataLayer.push({\n event: \"successfulPayment\",\n payload: true,\n });\n dispatch(setAnalyticsWorkState(WorkState.None));\n } catch (error:any) {\n Log.error(error, \"error caught in setAnalyticsPurchaseEvent\");\n dispatch(setAnalyticsWorkState(WorkState.Error));\n\n throw error;\n }\n };\n}\n\nexport function setGAClientId(gaClientId: string | null): AnyAction {\n return {\n type: actions.auth.SET_GA_CLIENT_ID,\n gaClientId,\n };\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"PreviewBit_container__C5M9e\",\"previewBitContainer\":\"PreviewBit_previewBitContainer__20S7h\",\"bgInfoBase\":\"PreviewBit_bgInfoBase__TRj2c\",\"textInfoTitle\":\"PreviewBit_textInfoTitle__3Fdee\",\"textInfoMission\":\"PreviewBit_textInfoMission__2-wgm\",\"startImgContainer\":\"PreviewBit_startImgContainer__3lTWT\",\"startImg\":\"PreviewBit_startImg__3ekQi\"};","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\nimport {\n getUserAttributes,\n} from \"../utils/CognitoUtils\";\n/**\n * creates user and returns active subscription information\n * @param {token}: string\n * @param {email}: string\n * @param {referralInfo}: object, network (string) and info (string)\n */\n\nexport const createUser = async (token, referralInfo, proposedBuildboxUserId, oneTimeCode, isGuest) => {\n const userAttributes = await getUserAttributes(token);\n const { email } = userAttributes; \n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/webclientLogin\", {\n body: {\n referralInfo: referralInfo,\n proposedBuildboxUserId: proposedBuildboxUserId,\n oneTimeCode: oneTimeCode,\n isGuest: isGuest,\n email: email,\n },\n headers: {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Content-Type\": \"application/json\",\n Token: token,\n },\n response: true, //needs this to get the whole response object\n })\n .then((res) => {\n //200 indicates a returning user\n\n if (res.status === 200) {\n resolve({ ...res.data, newUser: false });\n }\n //201 indicates a new registration so we need to hit GA\n else if (res.status === 201) {\n resolve({ ...res.data, newUser: true });\n //send registration event\n window.dataLayer.push({\n event: \"account-creation\",\n });\n }\n })\n .catch((error) => {\n if (error.response) {\n reject(error.response.data.error);\n }\n });\n });\n};\n\n/**\n * Returns object containing information about BB client user\n * @param {token}: string\n * \n userId: cognitoSSO.UserId,\n userName: user.CognitoUserName,\n email: email,\n clientId: cognitoSSO.ClientId,\n clientSecret: cognitoSSO.ClientSecret\n accessToken: cognitoSSO.AccessToken,\n refreshToken: cognitoSSO.RefreshToken\n username: user.CognitoUserName\n */\n\nexport const fetchTokensforCode = (token) => {\n return new Promise((resolve, reject) => {\n API.get(`userAccountManagementURL`, `/tokenLogin?token=${token}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200) {\n const ssoTokenResponse = res.data;\n\n Log.info(ssoTokenResponse, \"got sso token response\");\n\n resolve(ssoTokenResponse);\n }\n })\n .catch((error) => {\n Log.error(error, \"error caught in fetchTokensforCode\");\n\n reject(error);\n });\n });\n};\n\n/**\n * Generates an SSO token as an id in the DB for client retrieval\n * * @response id: string\n */\nexport const storeSSOTokens = (\n clientId,\n clientSecret,\n accessToken,\n refreshToken\n) => {\n return new Promise((resolve, reject) => {\n API.post(`userAccountManagementURL`, \"/ssoTokens\", {\n body: {\n clientId: clientId,\n clientSecret: clientSecret,\n accessToken: accessToken,\n refreshToken: refreshToken,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n const ssoTokenResponse = res.data.payload;\n\n Log.info(ssoTokenResponse, \"storeSSOTokens response\");\n\n const { id } = ssoTokenResponse;\n\n resolve(id);\n }\n })\n .catch((error) => {\n Log.error(error, \"error caught in storeSSOTokens\");\n\n reject(error);\n });\n });\n};\n\nexport const updateUserScreenName = (accessToken, screenName) => {\n return new Promise((resolve, reject) => {\n API.post(`bbworldUrl`, \"/account/screenname\", {\n body: {\n screenName: screenName,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n resolve(res.data.payload.screenName);\n })\n .catch((error) => {\n Log.error(error, \"error caught getting user screen name\");\n reject(error.response.data);\n });\n });\n};\n\nexport const fetchUserScreenName = (accessToken) => {\n return new Promise((resolve, reject) => {\n API.get(`bbworldUrl`, \"/account\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n resolve(res.data.screenName);\n })\n .catch((error) => {\n Log.error(error, \"error caught getting user screen name\");\n reject(error.response);\n });\n });\n};\n","import Log from \"./Log\";\n\n//used to grab google client id to track users for analytic events\n\nexport const getGAClientId = () => {\n return new Promise((resolve, reject) => {\n if (\"ga\" in window && window.ga && window.ga.getAll) {\n try {\n const trackers = window.ga.getAll();\n const trackingId = window.ga.getAll()[0].get(\"trackingId\");\n for (let i = 0; i < trackers.length; i++) {\n if (trackers[i].get(\"trackingId\") === trackingId) {\n const googleClientId = trackers[i].get(\"clientId\");\n //Log.info(googleClientId, \"got GA client id\");\n\n localStorage.setItem(\"googleClientId\", googleClientId);\n resolve(googleClientId);\n }\n }\n } catch (e) {\n resolve(null);\n }\n } else {\n resolve(null);\n }\n });\n};\n\nlet gaCheckInterval = 100; // milliseconds\nlet gaTimeElapsed = -1 * gaCheckInterval; // first check comes for free\nlet gaMaxWait = 10000; // milliseconds\nexport const waitForGAClientId = async (cb) => {\n try {\n const googleClientId = await getGAClientId();\n\n if (!googleClientId) {\n gaTimeElapsed += gaCheckInterval;\n if (gaTimeElapsed >= gaMaxWait) {\n Log.trace(\"waited too long for GA client id\");\n cb(null);\n } else {\n setTimeout(() => waitForGAClientId(cb), gaCheckInterval);\n }\n } else {\n await cb(googleClientId);\n }\n } catch (e) {\n console.warn(e, \"waitforGAclientID()\");\n }\n};\n","import Log from \"../utils/Log\";\nimport { isTablet, isMobileOnly } from \"react-device-detect\";\nimport { ProductType } from \"../reducers/models\";\n\n/**\n * Note about the setTimeout - calling federatedSignIn results in 2 calls to the redirect causing the app to lost context of the correct route.\n * Fix when issue is resolved here: https://github.com/aws-amplify/amplify-js/issues/4822\n */\nexport const redirectToDownloads = (props, version) => {\n props.history.push(`/downloads/${version.toLowerCase()}`);\n};\n\n// TODO: make an enum for the products? I tried but it basically said it was typescript only\n/**\n *\n * @param {*} props\n * @param {*} productName\n * @param {string|undefined|null} promoCode\n */\nexport const redirectToPreferredPaymentPlatformForProduct = (\n props,\n productName,\n referralInfo = null,\n promoCode = null\n) => {\n if (productName === ProductType.BB2 || productName === ProductType.BB3 || \n productName === ProductType.BBBundle || productName === ProductType.Soundbox || productName === ProductType.BB4) {\n if (referralInfo?.Network?.toLowerCase() === \"xsolla\") {\n redirectToXsollaCheckout(props, promoCode);\n } else {\n redirectToStripeCheckout(props, promoCode);\n }\n } else {\n // AP: now what? throw error? redirect to 404?\n console.error(\"unexpected product name: \", productName);\n props.history.push(\"/plans\");\n // Why throw error?\n // throw(new Error(\"Unexpected product name: \", productName))\n }\n};\n\nexport const redirectToStripeCheckout = (props, promoCode, previousStripeCheckoutSessionId) => {\n let query = \"\"; \n if (promoCode) {\n if(query === \"\") {\n query += \"?\";\n }\n else {\n query += \"&\";\n }\n query += `promo=${promoCode}`;\n }\n if (previousStripeCheckoutSessionId) {\n if(query === \"\") {\n query += \"?\";\n }\n else {\n query += \"&\";\n }\n query += `parentSessionId=${previousStripeCheckoutSessionId}`;\n }\n\n const url = `/purchaseThroughStripeCheckout${query}`;\n props.history.push(url);\n};\n\nexport const redirectToXsollaCheckout = (props, promoCode, previousXsollaCheckoutSessionId) => {\n let query = \"\"; \n if (promoCode) {\n if(query === \"\") {\n query += \"?\";\n }\n else {\n query += \"&\";\n }\n query += `promo=${promoCode}`;\n }\n if (previousXsollaCheckoutSessionId) {\n if(query === \"\") {\n query += \"?\";\n }\n else {\n query += \"&\";\n }\n query += `parentSessionId=${previousXsollaCheckoutSessionId}`;\n }\n\n const url = `/purchaseThroughXsolla${query}`;\n props.history.push(url);\n};\n\n\nexport const redirectToPlans = (props, url, loc, promoCode) => {\n if (url) {\n props.history.push(`/plans/${url.toLowerCase()}`);\n } else if (promoCode) {\n props.history.push(`/plans?promo=${promoCode}`);\n } else {\n props.history.push(\"/plans\");\n }\n Log.trace(loc, \"redirecting to plans\");\n};\n\nexport const redirectToHome = (props) => {\n Log.trace(\"user not logged in - redirecting back to home\");\n\n props.history.push(\"/\");\n // window.location.href = \"http://buildbox.com\";\n};\n\nexport const redirectToAuthUI = (props, error) => {\n Log.trace(\"error logging in - redirecting to error page\");\n\n const errorURLString = error.message.toLowerCase();\n let errorQuery = \"\";\n if (errorURLString.includes(\"presignup\")) {\n errorQuery = \"presignup-error\";\n }\n Log.error(\"heard sign in error\", \"redirectToAuthUI - routes.js\");\n\n props.history.replace(`/error?${errorQuery}`);\n};\n\nexport const redirectToThankYouPage = (props, type) => {\n if(!type) {\n props.history.push(\"/thankyou\");\n }\n else {\n props.history.push(\"/thankyou?type=\" + type);\n }\n};\n\nexport const redirectToThankYouRenewalPage = (props) => {\n props.history.push(\"/renewalthankyou\")\n}\n\nexport const redirectToPreviousPage = (props) => {\n const route = sessionStorage.getItem(\"previousRoute\");\n\n Log.trace(route, \"redirecting to previousRoute:\");\n\n if (route !== null) {\n props.history.push(route);\n } else {\n props.history.push(\"/\");\n }\n};\n\nexport const redirectToLoginPage = (props) => {\n props.history.push(\"/login\");\n};\n\n// doing this with URL params instead of react magic because this page is used in links in emails as well\nexport const redirectToGuestRegistration = (props, productType, stripeCheckoutSessionId, xsollaCheckoutSessionId) => {\n let url = `/login?signup=1&showForm=true&appleavail=1&view=${productType}`;\n if(stripeCheckoutSessionId) {\n url += \"&stripeCheckoutSessionId=\" + stripeCheckoutSessionId;\n }\n if(xsollaCheckoutSessionId) {\n url += \"&xsollaCheckoutSessionId=\" + xsollaCheckoutSessionId;\n }\n props.history.push(url);\n}\n\nexport const redirectToDeviceDownloadPage = (props, version, currentUser) => {\n Log.trace(version, \"SETTING VERSION: \");\n\n sessionStorage.setItem(\"productType\", version);\n sessionStorage.setItem(\"websocket-product\", version);\n\n if (isMobileOnly || isTablet) {\n if (currentUser) {\n redirectToThankYouPage(props);\n } else {\n redirectToLoginPage(props);\n }\n } else {\n redirectToDownloads(props, version);\n }\n};\n\nexport const redirectToDeviceDownloadPageSimple = (props, version) => {\n if (isMobileOnly || isTablet) {\n redirectToThankYouPage(props);\n } \n else {\n redirectToDownloads(props, version);\n }\n};\n\nexport const redirectToUpsellPage = (props, productType, paymentPlatform, planType, stripeCheckoutSessionId, xsollaCheckoutSessionId) => {\n props.history.push({\n pathname: '/checkoutComplete',\n state: { productType, paymentPlatform, planType, stripeCheckoutSessionId, xsollaCheckoutSessionId }\n });\n};\n","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\nimport { isMobileOnly } from \"react-device-detect\";\n\n/**\n * Attempts to charge a user and change their subscription type\n * If the charge is successful they will then be rebilled via stripe.\n * @param {stripePaymentId}: string\n * @param {stripePlanId}: string\n * @param {token}: string\n * @param {totalSeats}: number\n * @param {totalCost}: number\n * @param {saleCode}: string\n */\nexport async function updateSubscription (\n token: string,\n productType: string,\n stripePaymentId: string,\n stripePlanId: string,\n totalSeats: number ,\n totalCost: number | null ,\n saleCode: string | null,\n name: string,\n email: string\n): Promise {\n\n try{\n const params = {\n stripePaymentId: stripePaymentId,\n stripePlanId: stripePlanId,\n totalSeats: totalSeats,\n totalCost: totalCost,\n saleCode: saleCode,\n name,\n userEmail: email\n };\n\n if(productType === null){\n throw Error(\"productType is not defined\")\n }\n const endpoint = getProductEndpoint(productType.toUpperCase())\n\n const res = await API.put(\"plansURL\", endpoint, {\n body: params,\n headers: {\n \"Content-Type\": \"application/json\",\n Token: token,\n },\n response: true,\n })\n\n return res.data;\n\n } catch(error: any){\n\n if (error.response) {\n console.error(\"error has been hit when updating subscription\", error.response.data.error)\n throw Error(error.response.data.error);\n }else {\n console.error(\"error has been hit when updating subscription\", error)\n throw Error(error);\n }\n }\n\n};\n\n/**\n * Returns list of all of the subscription types and their features\n * @param {token}: string\n */\n\nexport async function getPlans(token:string):Promise {\n try{\n const res = await API.get(\"userAccountManagementURL\", \"/subscriptiontypes\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: token,\n },\n response: true,\n })\n\n return res.data\n } catch(error: any) {\n if (error.response) {\n console.error(\"error has been hit when getting plans\", error.response.data.error)\n throw Error(error.response.data.error);\n }\n else{\n console.error(\"error has been hit when getting plans\", error)\n throw Error(error);\n }\n }\n};\n\n/**\n * Returns information about specific subscription plan\n * @param {subscriptionTypeId}: number\n * Not ready yet\n */\n\nexport async function getPlanInfo (token: string, subscriptionTypeId:string):Promise {\n try{\n const res = await API.get(\"userAccountManagementURL\", `subscription/${subscriptionTypeId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: token,\n },\n response: true,\n })\n\n return res.data\n }catch(error: any){\n if(error.response){\n Log.error(\"error has been hit when getting plan info\", error.response.data.error)\n throw Error(error.response.data.error)\n } else {\n Log.error(\"error has been hit when getting plan info\", error)\n throw Error(error)\n }\n }\n};\n\n/**\n * Returns list of all of the subscription types and their features\n * @param {token}: string\n */\nexport async function getUserSubscriptionProviders (token: string): Promise{\n try{\n const res = await API.get(\"plansURL\", \"/user/planProviders\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: token,\n },\n response: true,\n })\n \n return res.data.payload\n }catch(error:any) {\n if(error.response){\n Log.error(\"error has been hit when checking user plan\", error.response.data.error)\n return error.response.data.error\n } else {\n // fatal error...\n Log.error(\"error has been hit when checking user plan\", error)\n // return error\n throw error\n }\n }\n};\n\n/**\n * reNews the subscription\n * @param {stripePaymentId}: string\n * @param {stripePlanId}: string\n * @param {token}: string\n * @param {totalSeats}: number\n * @param {totalCost}: number\n * @param {saleCode}: string\n */\nexport async function renewSubscription (\n token: string,\n productType: string,\n stripePaymentId: string,\n): Promise{\n try{\n const renewPaymentBody = {\n stripePaymentId: stripePaymentId,\n }\n\n if(productType === null){\n throw Error(\"productType is not defined\")\n }\n const endpoint = getProductEndpoint(productType.toUpperCase())\n\n const res = await API.post(\"plansURL\", `${endpoint}/renew`, {\n body: renewPaymentBody,\n headers: {\n \"Content-Type\": \"application/json\",\n Token: token,\n },\n response: true,\n }) \n\n return res.data; \n\n } catch(error: any){\n\n if (error.response) {\n Log.error(\"error has been hit when renewing subscription\", error.response.data.error)\n throw Error(error.response.data.error);\n }\n else {\n Log.error(\"error has been hit when renewing subscription\", error)\n throw Error(error);\n }\n }\n};\n\n/**\n * reNews the subscription\n * @param {stripePaymentId}: string\n * @param {stripePlanId}: string\n * @param {token}: string\n * @param {totalSeats}: number\n * @param {totalCost}: number\n * @param {saleCode}: string\n */\nexport async function accountlessUpdateSubscription (\n productType: string,\n stripePaymentId: string,\n stripePlanId: string,\n totalSeats: number,\n totalCost: number | null,\n saleCode: string | null,\n name: string,\n email: string\n): Promise {\n\n try{\n const params = {\n stripePaymentId: stripePaymentId,\n stripePlanId: stripePlanId,\n totalSeats: totalSeats,\n totalCost: totalCost,\n saleCode: saleCode,\n name,\n userEmail: email\n };\n\n if(productType === null){\n throw Error(\"productType is not defined\")\n }\n const endpoint = getProductEndpoint(productType.toUpperCase())\n\n const res = await API.post(\"plansURL\", endpoint, {\n body: params,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n\n return res.data; \n\n } catch(error: any){\n\n if (error.response) {\n Log.error(\"error has been hit when accountless subscription update\", error.response.data.error)\n throw Error(error.response.data.error);\n }\n else {\n Log.error(\"error has been hit when accountless subscription update\", error)\n throw error;\n }\n }\n \n};\n\n\nfunction getProductEndpoint(productType: string): string {\n let endpoint = \"\"\n\n switch (productType) {\n case 'BB2':\n endpoint = `/users/planbb2`\n break\n case 'BB3':\n endpoint = `/users/planbb3`\n break\n case 'BB4':\n endpoint = `/users/planbb4`\n break\n case 'BBBUNDLE':\n endpoint = `/users/bundleplan`\n break\n case 'SOUNDBOX':\n endpoint = `/users/plansoundbox`\n break\n default:\n throw Error(`[stripe purchase] Unknown product type ${productType}`)\n }\n\n return endpoint\n}\n\n\n/**\n * Start a stripe checkout session\n */\nexport async function startStripeCheckoutSession (\n token: string|undefined,\n embedded: boolean,\n stripePriceId: string,\n quantity: number=1,\n productType: string,\n planType: string,\n parentSessionId: string|null,\n email?: string,\n couponCode?: string,\n): Promise{\n try{\n const dtoBody : any = {\n priceId: stripePriceId,\n quantity: quantity,\n productType: productType,\n planType: planType,\n email: email,\n couponCode: couponCode,\n embedded: embedded,\n }\n if(parentSessionId) {\n dtoBody.upsellFromPreviousSessionId = parentSessionId\n }\n \n let headers\n let url \n if(token) {\n url = \"/stripecheckout\"\n headers = {\n \"Content-Type\": \"application/json\",\n Token: token,\n }\n }\n else {\n url = \"/stripecheckoutguest\"\n headers = {\n \"Content-Type\": \"application/json\",\n }\n }\n const res = await API.post(\"plansURL\", url, {\n body: dtoBody,\n headers: headers,\n response: true,\n })\n\n return res.data; \n } catch(error: any){\n console.log(\"failed to start stripe checkout session \", error) \n throw error\n }\n};\n\n/**\n * Retrieve a stripe checkout session; note that this endpoint nests the session object and \n * also includes information about whether we think the user needs to complete registration\n * @param {sessionId}: string\n */\nexport async function retrieveStripeCheckoutSessionFromPlatform (\n sessionId: string,\n): Promise{\n try{ \n const url = \"/stripecheckout/\" + sessionId\n const headers = {\n \"Content-Type\": \"application/json\",\n }\n const res = await API.get(\"plansURL\", url, {\n headers: headers,\n response: true,\n })\n\n return res.data; \n } catch(error: any){\n console.log(\"failed to retrieve stripe checkout session \", error)\n \n if (error.response) {\n Log.error(\"error has been hit when retrieving stripe checkout session\", error.response.data.error)\n throw Error(error.response.data.error);\n }\n else {\n Log.error(\"error has been hit when retrieving stripe checkout session\", error)\n throw Error(error);\n }\n }\n};\n\nexport async function requestStripePurchaseEmailForSessionId(\n stripeCheckoutSessionId: string\n): Promise {\n try{\n const url = \"/stripecheckout/sendSessionPurchaseEmail\"\n const headers = {\n \"Content-Type\": \"application/json\",\n }\n const res = await API.post(\"plansURL\", url, {\n body: {\n stripeCheckoutSessionId: stripeCheckoutSessionId\n },\n headers: headers,\n response: true,\n })\n\n return res.data; \n } catch(error: any){\n console.log(\"failed to send stripe purchase email \", error)\n \n if (error.response) {\n Log.error(\"error has been hit when sending stripe purchase email\", error.response.data.error)\n throw Error(error.response.data.error);\n }\n else {\n Log.error(\"error has been hit when sending stripe purchase email\", error)\n throw Error(error);\n }\n }\n};\n\n\n\n/**\n * Start an xsolla checkout (paystation) session\n */\nexport async function getXsollaPaystationTokenForSubscription (\n token: string|undefined,\n xsollaSku: string,\n xsollaProductId: string,\n productType: string,\n planType: string,\n parentSessionId: string|null,\n userEmail?: string,\n): Promise{\n try{\n let deviceType = \"desktop\";\n if (isMobileOnly) {\n deviceType = \"mobile\";\n }\n\n const dtoBody : any = {\n sku: xsollaSku,\n purchaseType: \"subscription\",\n deviceType: deviceType,\n productType: productType,\n planType: planType,\n webhook: true,\n }\n if(parentSessionId) {\n dtoBody.upsellFromPreviousSessionId = parentSessionId\n }\n \n let headers\n let url \n if(token) {\n url = \"/paystation/checkouturl\"\n headers = {\n \"Content-Type\": \"application/json\",\n Token: token,\n }\n }\n else {\n url = \"/paystation/checkouturlguest\"\n headers = {\n \"Content-Type\": \"application/json\",\n }\n }\n\n\n if (userEmail) {\n dtoBody.email = userEmail;\n } \n if (xsollaProductId) {\n dtoBody.productId = \"\" + xsollaProductId; // xsolla wants a string now\n }\n\n const res = await API.post(\"plansURL\", url, {\n body: dtoBody,\n headers: headers,\n response: true,\n })\n\n return res.data; \n } catch(error: any){\n console.log(\"failed to start xsolla paystation checkout session \", error) \n throw error\n }\n};\n\n/**\n * Retrieve an xsolla checkout/invoice/transaction session; note that this endpoint nests the xsolla object info and \n * also includes information about whether we think the user needs to complete registration\n * @param {invoiceId}: string\n */\nexport async function retrieveXsollaCheckoutSessionFromPlatform (\n sessionId: string,\n): Promise{\n try{ \n const url = \"/xsollacheckout/\" + sessionId\n const headers = {\n \"Content-Type\": \"application/json\",\n }\n const res = await API.get(\"plansURL\", url, {\n headers: headers,\n response: true,\n })\n\n return res.data; \n } catch(error: any){\n console.log(\"failed to retrieve xsolla checkout session \", error)\n \n if (error.response) {\n Log.error(\"error has been hit when retrieving xsolla checkout session\", error.response.data.error)\n throw Error(error.response.data.error);\n }\n else {\n Log.error(\"error has been hit when retrieving xsolla checkout session\", error)\n throw Error(error);\n }\n }\n};\n\n// not fully implemented, turned out to work better on the platform side webhook anyway\n// export async function requestXsollaPurchaseEmail(\n// invoiceId: string,\n// ): Promise {\n// try{\n// const url = \"/xsollacheckout/sendSessionPurchaseEmail\"\n// const headers = {\n// \"Content-Type\": \"application/json\",\n// }\n// const res = await API.post(\"plansURL\", url, {\n// body: {\n// invoiceId: invoiceId,\n// },\n// headers: headers,\n// response: true,\n// })\n\n// return res.data; \n// } catch(error: any){\n// console.log(\"failed to send xsolla purchase email \", error)\n \n// if (error.response) {\n// Log.error(\"error has been hit when sending xsolla purchase email\", error.response.data.error)\n// throw Error(error.response.data.error);\n// }\n// else {\n// Log.error(\"error has been hit when sending xsolla purchase email\", error)\n// throw Error(error);\n// }\n// }\n// };","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\n\n/**\n * fetches users plans\n * @param {token}: string\n * @returns {ICurrentPlan[]}\n */\n\n/**\n * \n * @param {string} accessToken \n * @returns {Promise {\n return new Promise((resolve, reject) => {\n API.get(\"plansURL\", \"/users/plans\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - fetchUserPlan response:\");\n resolve(res.data.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in fetchUserPlan\");\n reject(error);\n }\n });\n });\n};\n\n/**\n * fetches user billing info\n * @param {token}: string\n * @returns {ISubscriptionInfo[]}\n */\n\nexport const fetchBillingInfo = (accessToken) => {\n return new Promise((resolve, reject) => {\n API.get(\"userAccountManagementURL\", \"/billing/info\", {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - fetchBillingInfo response:\");\n resolve(res.data.payload.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in fetchBillingInfo\");\n reject(error);\n }\n });\n });\n};\n\n/**\n * check if user is eligible for a trial upsell\n * @param {accessToken}: string\n * @returns {UpsellData}\n */\n\nexport const fetchTrialUpsellInfo = (accessToken, product, planType) => {\n return new Promise((resolve, reject) => {\n let endpoint\n let headers\n if(accessToken){\n if(planType === \"Pro\") {\n endpoint = `/trialUpsellInfo/ProToBundle`; \n }\n else {\n endpoint = `/trialUpsellInfo/${product}`;\n }\n headers = {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n }\n }\n else {\n if(planType === \"Pro\") {\n endpoint = `/trialUpsellInfoGuest/ProToBundle`;\n }\n else {\n endpoint = `/trialUpsellInfoGuest/${product}`;\n }\n headers = {\n \"Content-Type\": \"application/json\",\n }\n }\n API.get(\"userAccountManagementURL\", endpoint, {\n headers: headers,\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - fetchTrialUpsellInfo response:\");\n resolve(res.data.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in fetchTrialUpsellInfo\");\n reject(error);\n }\n });\n });\n};\n\n/**\n * updates user billing info\n * @param {token}: string\n * @param {paymentProcessor}: string\n * @param {subscriptionId}: string\n * @param {stripePaymentId}: string\n */\n\nexport const updateBillingInfo = (\n accessToken,\n paymentProcessor,\n subscriptionId,\n stripePaymentId\n) => {\n return new Promise((resolve, reject) => {\n API.put(\"userAccountManagementURL\", `/billing/${paymentProcessor}/update`, {\n body: {\n subscriptionId: subscriptionId,\n stripePaymentId: stripePaymentId,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - updateBillingInfo response:\");\n resolve(res.data.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in updateBillingInfo\");\n reject(error);\n }\n });\n });\n};\n\n/**\n * fetches user devices\n * @param {accessToken}: string\n * @param {userId}: string\n * @returns {Promise<{ [key: string]: bb.model.account.IDevices[] }>}\n */\nexport const fetchUserDevices = (accessToken, userId) => {\n return new Promise((resolve, reject) => {\n API.get(\"userAccountManagementURL\", `/users/${userId}/allmachines`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - fetchUserDevices response:\");\n resolve(res.data.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in fetchUserDevices\");\n reject(error);\n }\n });\n });\n};\n\n/**\n * updates user device status\n * @param {accessToken}: string\n * @param {userId}: string\n * @param {macHash}: string\n * @returns {ISubscriptionInfo[]}\n */\n\nexport const updateDeviceStatus = (accessToken, userId, active, macHash, productId) => {\n return new Promise((resolve, reject) => {\n API.put(\"userAccountManagementURL\", `/users/${userId}/updateMachineStatus`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n body: {\n Active: active,\n MACHash: macHash,\n ProductId: productId,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - updateDeviceStatus response:\");\n resolve(res.data.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in updateDeviceStatus\");\n reject(error);\n }\n });\n });\n};\n\n/**\n * \n * @param {string} accessToken \n * @param {string } userId\n * @returns {Promise}\n */\nexport const fetchUserEligibleRenewal = (accessToken, userId) => {\n return new Promise((resolve, reject) => {\n API.get(\"plansURL\", `/renewEligibility/${userId}`, {\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200) {\n resolve(res.data.payload);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error when finding eligible renewal plans\");\n reject(error);\n }\n });\n });\n};\n\nexport const addUserToWaitlist = (userInfo) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/waitlist\", {\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: userInfo,\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - addUserToWaitlist response:\");\n resolve(res.data);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in addUserToWaitlist\");\n reject(error);\n }\n });\n });\n}\n","import {\n isIE,\n isChrome,\n isSafari,\n isFirefox,\n isMobileOnly,\n isTablet,\n isBrowser,\n} from \"react-device-detect\";\n\nexport const isUnsupportedBrowser = () => {\n if (isIE) {\n return true;\n } else {\n return false;\n }\n};\n\nexport const getBrowser = () => {\n if (isIE) {\n return \"IE\";\n } else if (isFirefox){\n return \"Firefox\"\n } else if (isSafari) {\n return \"Safari\";\n } else if (isChrome) {\n return \"Chrome\";\n }\n};\n\nexport const getDeviceType = () => {\n if (isMobileOnly) {\n return \"mobile\";\n } else if (isTablet) {\n return \"tablet\";\n } else if (isBrowser) {\n return \"desktop\";\n }\n return null;\n};\n\nexport const isMobileDevice = () => {\n return isMobileOnly;\n};\n","export const findCookieValue = (cookieName) => {\n const foundCookie = document.cookie\n .split(\"; \")\n .find((row) => row.startsWith(cookieName));\n //console.log(\"foundCookie\", foundCookie);\n if (foundCookie?.length) {\n return foundCookie.split(\"=\")[1];\n }\n return false;\n};\n\nexport const setXsollaCookie = async (referralCode) => {\n let daysUntilExp = 365;\n const cookieName = \"tracking_id\";\n\n let date = new Date();\n date.setTime(date.getTime() + daysUntilExp * 24 * 60 * 60 * 1000);\n\n document.cookie =\n cookieName + \"=\" + referralCode + \"; expires=\" + date.toUTCString() + \";\";\n};\n","// take in reducer values\n// take in the values that mateter\n// intake params for the old arry, new filter settings,\n// return the filter arry for the valu\n\n//reduce the normal state athat fits the reudcer conditions\n// need to break it up\n\ntype osPlatformFilter = bb.model.monetization.osPlatformFilter;\ntype INetworkReport = bb.model.monetization.INetworkReport;\ntype INetworkFilter = bb.model.monetization.INetworkFilter;\ntype IAdBoxNetworkReportItem = bb.model.monetization.IAdBoxNetworkReportItem;\n\n// TODO: refactor this later?!\n// export const networkArrayfilterReducer = (networks:INetworkReport[] | undefined, platformFilter:osPlatformFilter, word:string ):INetworkReport[] => {\n\n// if (undefined === networks)\n// return [];\n \n// const filterNetworkReports:INetworkReport[] = [];\n\n// // TODO: filter neworks, \n\n// networks.forEach((network) => {\n// let reducedData = filterReducerAdboxReportItem(network.reports, platformFilter, word )\n// filterNetworkReports.push({\n// networkName: network.networkName,\n// reports: reducedData\n// })\n// })\n\n// return filterNetworkReports;\n// }\n\nexport const combineNetworks = (networkReports: INetworkReport[] ): IAdBoxNetworkReportItem[] => {\n\n if (undefined === networkReports || networkReports.length === 0)\n return [];\n\n return networkReports\n .map(({networkName, reports}) => reports.map(item => ({networkName, ...item})))\n .flat()\n // let combinedNetwork:IAdBoxNetworkReportItem[] = [];\n\n // networkReports.forEach((network: INetworkReport) => {\n // const networkName = network.networkName;\n\n // network.reports?.map((report: IAdboxReportItem) => {\n // const addedNetworkName = (report.results as any[]).map((result: IAppLovinReportItem | IVungleReportItem) => {\n // return {\n // ...result,\n // network: networkName,\n // }\n // })\n // combinedNetwork = [...combinedNetwork, ...addedNetworkName as any]; \n // });\n // })\n\n // return combinedNetwork;\n}\n\nexport const filterReducerAdboxReportItem = (reportItems:IAdBoxNetworkReportItem[] | undefined, platformFilter:osPlatformFilter, networkFilter: INetworkFilter ,word:string ):IAdBoxNetworkReportItem[] => {\n\n if (undefined === reportItems)\n return [];\n \n const newReportItems:IAdBoxNetworkReportItem[] = (reportItems as any[]).filter((reportItem:IAdBoxNetworkReportItem)=> {\n\n if( reportItem.platform === \"ios\" && platformFilter.ios){\n return true;\n }\n if( reportItem.platform === \"android\" && platformFilter.android) {\n return true\n }\n\n return false;\n });\n\n const reducedNetworks:IAdBoxNetworkReportItem[] = (newReportItems as any[]).filter((reportItem:IAdBoxNetworkReportItem)=> {\n\n if( (reportItem.networkName === \"applovin\" && networkFilter.appLovin) || (reportItem.networkName === 'vungle' && networkFilter.vungle)){\n return true;\n }\n\n return false;\n });\n\n const finalReduced:IAdBoxNetworkReportItem[] = (reducedNetworks as any[]).filter((reportItem:IAdBoxNetworkReportItem) => {\n \n const bundleID = reportItem.package_name.split(\".\");\n\n if( bundleID[0].includes(word)) return true;\n if( bundleID[1] !== undefined && bundleID[1].includes(word)) return true;\n if( bundleID[2] !== undefined && bundleID[2].includes(word)) return true;\n return false;\n })\n\n return finalReduced;\n}\n","import { PlanType, WorkState } from \"./../reducers/models\";\nimport Log from \"../utils/Log\";\nimport actions from \"../constants/actions.json\";\nimport { push } from \"connected-react-router\";\nimport { DefaultThunkAction } from \"./shared\";\nimport { AnyAction } from \"redux\";\nimport routes from \"../constants/routes.json\";\nimport {\n redirectToPreferredPaymentPlatformForProduct,\n redirectToPreviousPage,\n} from \"../utils/routes\";\nimport { LoginClientType, LoginState, ProductType } from \"../reducers/models\";\nimport { cognitoLogin } from \"../utils/CognitoUtils\";\nimport { createUser } from \"../api/auth\";\nimport { findCookieValue } from \"../utils/referralUtils\";\n\n//used to login users into Buildbox client by opening s3 page to intiate websocket token transfer\n\nexport function clientLoginRedirect(\n username?: string,\n password?: string,\n proposedBuildboxUserId?: string,\n oneTimeCode?: string,\n isGuest?: boolean\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n const { router } = getState();\n\n const currentUrl = router.location;\n\n try {\n //manual client login\n if (username && password) {\n const { AccessToken, RefreshToken } = await cognitoLogin(\n username,\n password\n );\n\n //if we detect a referral cookie on login include it for user creation\n const xsollaTrackingId = findCookieValue(\"tracking_id=\");\n let ReferralInfo = null;\n if (xsollaTrackingId) {\n ReferralInfo = {\n Network: \"Xsolla\",\n Info: xsollaTrackingId,\n };\n }\n const response = await createUser(AccessToken, ReferralInfo, proposedBuildboxUserId, oneTimeCode, isGuest);\n const { Email } = response.payload.user;\n\n sessionStorage.setItem(\"websocket-accessToken\", AccessToken);\n sessionStorage.setItem(\"websocket-refreshToken\", RefreshToken);\n sessionStorage.setItem(\"websocket-email\", Email);\n sessionStorage.setItem(\"websocket-username\", username);\n }\n\n const reactDomain = process.env.REACT_APP_DOMAIN_URL;\n const websocketDomain = process.env.REACT_APP_S3_WEBSOCKET_DOMAIN;\n const websocketPage = process.env.REACT_APP_S3_WEBSOCKET_PAGE;\n\n // const urlQuery = QueryString.parse(currentUrl.search);\n const urlQuery = currentUrl.search;\n\n let websocketPort;\n if (urlQuery[\"port\"]) {\n websocketPort = urlQuery[\"port\"];\n } else {\n websocketPort = sessionStorage.getItem(\"websocketPort\");\n }\n\n let showLinkback = \"0\";\n let provider = sessionStorage.getItem(\"websocket-provider\");\n if(provider === \"Google\" || provider === \"Facebook\" || provider === \"SignInWithApple\") { // social sign in may need deeplink fallback\n console.log(\"will show linkbacks\");\n showLinkback = \"1\";\n }\n\n const destUrl =\n websocketDomain +\n \"/\" +\n websocketPage +\n \"?port=\" +\n websocketPort +\n \"&d=\" +\n reactDomain +\n \"&lb=\" + \n showLinkback +\n \"&n=\" + Date.now();\n Log.trace(\"dest url: \", destUrl);\n //Log.trace(sessionStorage, \"sessionStorage\");\n //redirects to s3 client login redirect page with iframe component /clientpostmessageconnection\n window.open(destUrl, \"_self\");\n } catch (e:any) {\n Log.error(e, \"caught error in clientLoginRedirect\");\n throw new Error(e.message);\n }\n };\n}\n\n// Website user login redirect\n\nexport function webLoginRedirect(\n props: any\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n // first casting to unknown because I could not figure out the right Thunk type parameter to use to get getState to have a return type\n const { cart, auth } = (getState() as unknown as {cart:bb.state.ICart, auth:bb.state.IAuth});\n\n const afterSignupRedirect = sessionStorage.getItem(\"afterSignupRedirect\");\n const planType = sessionStorage.getItem(\"planType\");\n const isDeprecated = sessionStorage.getItem(\"isDeprecated\");\n\n if (isDeprecated === \"true\") {\n console.log(\"not redirecting deprecated plan\")\n return;\n }\n\n if(afterSignupRedirect) {\n sessionStorage.removeItem(\"afterSignupRedirect\");\n if(afterSignupRedirect.toLowerCase() === \"thankyoupageafterpurchase\") {\n dispatch(push(routes.THANK_YOU_PURCHASE));\n }\n else {\n redirectToPreviousPage(props);\n }\n }\n else if (planType) {\n //redirecting users to download page when clicking \"Download Now\" on /plans page\n if (planType.toLowerCase() === \"free\") {\n const cartItem = cart.items[0].item;\n\n if (cartItem.planType === PlanType.Free) {\n dispatch(push(cartItem.downloadUrl));\n }\n } \n else if (planType.toLowerCase() === \"thankyoupage\") {\n dispatch(push(routes.THANK_YOU));\n } \n else {\n // AP: will I need a redirect entry around here about 'choose payment platform'?\n // AP: I am not confident in this bit. how do we get to this state and what can we expect to happen?\n const promoCode = sessionStorage.getItem(\"promoCode\");\n if (cart && cart.items && cart.items.length > 0) {\n const cartItem = cart.items[0].item;\n const productName = cartItem.productType;\n //redirectToCheckout(props, promoCode);\n\n // AP: had to hack this 'any' in here because it was coming up as a new typescript error,\n // routes is a plain .js file so I guess we need a .d or something\n let referralInfo : any = null\n if(auth?.user?.referralInfo) {\n referralInfo = auth?.user?.referralInfo\n }\n redirectToPreferredPaymentPlatformForProduct(\n props,\n productName,\n referralInfo,\n promoCode\n );\n } else {\n // TODO: this is probably an error situation?\n console.error(\"plan type set with no plan info available\");\n redirectToPreviousPage(props);\n }\n }\n } else {\n redirectToPreviousPage(props);\n }\n };\n}\n\nexport function setPlanFetchWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_PLAN_FETCH_STATE,\n workState,\n };\n}\nexport function setBillingInfoFetchWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_BILLING_INFO_FETCH_STATE,\n workState,\n };\n}\nexport function setInvoicesFetchWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_INVOICES_FETCH_STATE,\n workState,\n };\n}\nexport function setPlanInfoFetchWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_PLAN_INFO_FETCH_STATE,\n workState,\n };\n}\nexport function setLoginWorkState(loginState: LoginState): AnyAction {\n return {\n type: actions.current.SET_LOGIN_STATE,\n loginState,\n };\n}\nexport function setPurchaseState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_PURCHASE_STATE,\n workState,\n };\n}\n\nexport function setSignUpWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_SIGNUP_STATE,\n workState,\n };\n}\nexport function setLoggingInfromClient(client: LoginClientType): AnyAction {\n return {\n type: actions.current.SET_LOGIN_TYPE,\n client,\n };\n}\n\nexport function setFromSSORedirect(fromSSORedirect: boolean): AnyAction {\n return {\n type: actions.current.SET_FROM_SSO_REDIRECT,\n fromSSORedirect,\n };\n}\n\nexport function resetCurrentState(): AnyAction {\n return {\n type: actions.current.RESET_CURRENT_STATE,\n };\n}\n\nexport function setAnalyticsWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_ANALYTICS_WORKSTATE,\n workState,\n };\n}\n\nexport function setAdSettingsWorkState(\n adSettingsWorkState: WorkState\n): AnyAction {\n return {\n type: actions.current.SET_AD_SETTINGS_WORKSTATE,\n adSettingsWorkState,\n };\n}\n\nexport function setProductType(productType: ProductType | string): AnyAction {\n return {\n type: actions.current.SET_PRODUCT_TYPE,\n productType,\n };\n}\n\nexport function setTransactionsFetchWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_TRANSACTIONS_FETCH_WORKSTATE,\n workState,\n };\n}\n\nexport function setProjectsFetchWorkState(workState: WorkState): AnyAction {\n return {\n type: actions.current.SET_PROJECTS_FETCH_WORKSTATE,\n workState,\n };\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"downloadLink\":\"DownloadLink_downloadLink__2GaZX\",\"downloadLinkIcon\":\"DownloadLink_downloadLinkIcon__1CuJw\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonShared\":\"GenericLogoLander_buttonShared__1IyDD\",\"buttonVerticalGradientOrangeYellow\":\"GenericLogoLander_buttonVerticalGradientOrangeYellow__18mfk\",\"buttonVerticalGradientOrange\":\"GenericLogoLander_buttonVerticalGradientOrange__CItcg\",\"buttonReglarDarkGrey\":\"GenericLogoLander_buttonReglarDarkGrey__3gL9i\",\"buttonReglarGrey\":\"GenericLogoLander_buttonReglarGrey__1mD4D\",\"buttonGradientOrange\":\"GenericLogoLander_buttonGradientOrange__3D424\",\"buttonRegularYellow\":\"GenericLogoLander_buttonRegularYellow__2KWl8\",\"buttonRegularOrange\":\"GenericLogoLander_buttonRegularOrange__3-5dJ\",\"buttonGhost\":\"GenericLogoLander_buttonGhost__1LJmj\",\"buttonGhostDisabled\":\"GenericLogoLander_buttonGhostDisabled__2xSDh\",\"buttonGhostGreen\":\"GenericLogoLander_buttonGhostGreen__1sT9_\",\"buttonGhostGradientOrange\":\"GenericLogoLander_buttonGhostGradientOrange__kVb_N\",\"buttonGhostOrange\":\"GenericLogoLander_buttonGhostOrange__2vdky\",\"buttonGhostDarkBlue\":\"GenericLogoLander_buttonGhostDarkBlue__1HYt0\",\"buttonGhostBlue\":\"GenericLogoLander_buttonGhostBlue__3qCv_\",\"buttonGhostGrey\":\"GenericLogoLander_buttonGhostGrey__2va7N\",\"buttonDisabled\":\"GenericLogoLander_buttonDisabled__2ek2U\",\"clientLoginText\":\"GenericLogoLander_clientLoginText__2bTST\",\"returnToSignIn\":\"GenericLogoLander_returnToSignIn__3_OqD\",\"error\":\"GenericLogoLander_error__2_Woy\",\"link\":\"GenericLogoLander_link__tzU5A\",\"arrow\":\"GenericLogoLander_arrow__28BXs\",\"signOut\":\"GenericLogoLander_signOut__1bj0w\",\"signOutText\":\"GenericLogoLander_signOutText__1_bBL\",\"container\":\"GenericLogoLander_container__2kubk\",\"header\":\"GenericLogoLander_header__5oYeY\",\"errorMessage\":\"GenericLogoLander_errorMessage__1TDLI\",\"BBLogo\":\"GenericLogoLander_BBLogo__2oMQI\",\"redirectButton\":\"GenericLogoLander_redirectButton__2zeIu\",\"reloadBtn\":\"GenericLogoLander_reloadBtn__1ihHs\",\"specialClientConnectionContainer\":\"GenericLogoLander_specialClientConnectionContainer__zZtg4\"};","import { PlanType, PlanIds, ProductType, ProductCategory, PlanInterval } from \"../reducers/models\";\nimport { analyticProductTierNames } from \"../shared/utility\";\n\nconst PLANS_JSON: bb.model.PlanJSON = {\n BB4Free: {\n id: PlanIds.BB4Free,\n productType: ProductType.BB4,\n planType: PlanType.Free,\n planInterval: PlanInterval.Lifetime,\n productCategory: ProductCategory.BB4,\n planName: \"Free\",\n analyticsTierName: analyticProductTierNames.Free,\n discountsAllowed: true,\n hasUpsell: false,\n trialDays: 0,\n monthlyCost: 0,\n annualCost: 0,\n lifetimeCost: 0,\n yearCommitmentCost: 0,\n features: [\n \"2D+3D Games\",\n \"1 World\",\n \"20 Scenes\",\n \"Buildbox Shop Access\",\n ],\n downloadUrl: \"/downloads/bb4\",\n },\n // AP: if this is brought back it should probably be a 'Beginner' plan not 'Weekly'\n // [PlanIds.BB4Weekly]: {\n // id: PlanIds.BB4Weekly,\n // productType: ProductType.BB4,\n // planType: PlanType.Weekly,\n // planInterval: PlanInterval.Weekly,\n // productCategory: ProductCategory.BB4,\n // planName: \"Beginner\",\n // analyticsTierName: analyticProductTierNames.Weekly, // should probably be/become 'Beginner'\n // discountsAllowed: true,\n // hasUpsell: false, \n // stripeId: {\n // Weekly: \"BB4Weekly3_99\",\n // }, \n // stripeIdDev: {\n // Weekly: \"BB4Weekly3_99\",\n // },\n // xsollaProductId: 11565942,\n // xsollaId: {\n // Weekly: \"6ksFTWCU\",\n // },\n // xsollaProductIdDev: 11561953,\n // xsollaIdDev: {\n // Weekly: \"LaxgtzZv\",\n // },\n // trialDays: 0,\n // weeklyCost: 3.99, \n // features: [\n // \"Mac and Windows Client\",\n // \"3D Games\",\n // \"Unlimited Worlds & Scenes\",\n // \"Unlimited Preview Usage\",\n // \"50 AI Tokens/week\",\n // \"AI Assistant\",\n // \"Preview Only\",\n // \"Customizable Buildbox Splash Screen\",\n // \"You keep 100% of the Sales Revenue\"\n // ],\n // downloadUrl: \"/downloads/bb4\",\n // },\n BB4Basic: {\n id: PlanIds.BB4Basic,\n productType: ProductType.BB4,\n planType: PlanType.Basic,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB4,\n planName: \"Basic\",\n analyticsTierName: analyticProductTierNames.Plus,\n discountsAllowed: true,\n hasUpsell: false,\n stripeId: {\n Yearly: \"BB4Basic180\",\n }, \n stripeIdDev: {\n Yearly: \"BB4Basic180\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Yearly: \"BtH7NNso\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Yearly: \"J5RclsiM\",\n }, \n trialDays: 0,\n annualCost: 180.00,\n features: [\n \"3D Games\",\n \"5 Worlds\",\n \"50 Scenes\",\n \"Unlimited Exports to Android and PC\",\n \"200 AI Tokens/month\",\n \"AI Assistant\",\n \"Customizable Buildbox Splash Screen\",\n \"You keep 100% of the Sales Revenue\"\n ],\n },\n BB4Pro: {\n id: PlanIds.BB4Pro,\n productType: ProductType.BB4,\n planType: PlanType.Pro,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB4,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: true,\n hasUpsell: true,\n stripeId: {\n Yearly: \"BB4_Pro_54998_year\",\n },\n stripeIdDev: {\n Yearly: \"BB4_Pro_54998_year\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Yearly: \"JzYYOeRL\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Yearly: \"FHyLKpdq\",\n }, \n trialDays: 0,\n annualCost: 549.98,\n //badgeText: \"MOST POPULAR\",\n featured: false,\n features: [\n \"3D Games\",\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Exports to Android and PC\",\n \"Unlimited Android and PC Exports\",\n \"350 AI Tokens/month\",\n \"AI Assistant, AI Code Edit, & Advance Placement Tools\",\n \"Customizable Buildbox Splash Screen\",\n \"You keep 100% of the Sales Revenue\",\n \"Controller Support\",\n ],\n simplifiedFeatures: [\n \"3D Games\",\n \"Unlimited Worlds & Scenes\",\n \"Unlimited Exports to Android and PC\",\n \"350 AI Tokens/month\",\n \"You keep 100% of all App Store Revenue\",\n \"Controller Support\",\n ],\n bannerText: \"AI Driven!\",\n },\n BB4TrialUpsell: {\n id: PlanIds.BB4TrialUpsell,\n productType: ProductType.BB4,\n planInterval: PlanInterval.Yearly,\n planType: PlanType.Pro,\n productCategory: ProductCategory.BB4,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: false,\n hasUpsell: false,\n stripeId: {\n Yearly: \"BB4_BeginnerUpsellPro_21999_year\",\n },\n stripeIdDev: {\n Yearly: \"BB4_BeginnerUpsellPro_21999_year\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Yearly: \"NnO7M1HX\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Yearly: \"RGAhE7P3\",\n }, \n trialDays: 0,\n annualCost: 219.99,\n features: [\n \"3D Games\",\n \"Unlimited Worlds & Scenes\",\n \"Unlimited Exports to Android and PC\",\n \"350 AI Tokens/month\",\n \"AI Assistant, AI Code Edit, & Advanced Placement Tools\",\n \"Customizable Buildbox Splash Screen\",\n \"You keep 100% of the Sales Revenue\"\n ],\n },\n [PlanIds.BB4Beginner]: {\n id: PlanIds.BB4Beginner,\n productType: ProductType.BB4,\n planType: PlanType.Beginner,\n planInterval: PlanInterval.Monthly,\n productCategory: ProductCategory.BB4,\n planName: \"Beginner\",\n analyticsTierName: analyticProductTierNames.Beginner,\n discountsAllowed: true,\n hasUpsell: true,\n stripeId: {\n Monthly: \"BB4_Beginner_4998_month\",\n }, \n stripeIdDev: {\n Monthly: \"BB4_Beginner_4998_month\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Monthly: \"ntySHdcq\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Monthly: \"R2zKGSb2\",\n },\n trialDays: 0,\n monthlyCost: 49.98,\n features: [\n \"3D Games\",\n \"1 World\",\n \"20 Scenes\",\n \"Preview Only\",\n \"Unlimited Preview Usage\",\n \"200 AI Tokens/week\",\n \"AI Assistant\",\n ],\n downloadUrl: \"/downloads/bb4\",\n }, \n \n\n\n\n SoundboxFree: {\n id: PlanIds.SoundboxFree,\n productType: ProductType.Soundbox,\n planType: PlanType.Free,\n planInterval: PlanInterval.Lifetime,\n productCategory: ProductCategory.Soundbox,\n planName: \"Free\",\n analyticsTierName: analyticProductTierNames.Free,\n discountsAllowed: true,\n hasUpsell: false,\n trialDays: 0,\n monthlyCost: 0,\n annualCost: 0,\n lifetimeCost: 0, \n yearCommitmentCost: 0,\n features: [\n \"\"\n ],\n downloadUrl: \"/downloads/soundbox\",\n },\n SoundboxPro: {\n id: PlanIds.SoundboxPro,\n productType: ProductType.Soundbox,\n planType: PlanType.Pro,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.Soundbox,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: true,\n hasUpsell: true,\n trialDays: 0,\n annualCost: 199.98,\n stripeId: {\n Yearly: \"Soundbox_Pro_19998_year\",\n },\n stripeIdDev: {\n Yearly: \"Soundbox_Pro_19998_year\",\n },\n xsollaProductId: 9556929,\n xsollaId: {\n Yearly: \"RjSXQSkH\",\n },\n xsollaProductIdDev: 9556922,\n xsollaIdDev: {\n Yearly: \"M1ty9K4o\",\n },\n //badgeText: \"MOST POPULAR\",\n featured: false,\n features: [\n \"Unlimited Access\",\n \"Unlimited Editing\",\n`Library of 7,500+ Audio Clips \n(Valued at over $10,000!)`,\n \"Both Music & SFX files included\",\n \"Import & Edit your own Audio Files\",\n \"Export your files to .aif, .flac, .mp3, or .wav\"\n ],\n downloadUrl: \"/downloads/soundbox\",\n }, \n\n\n BB3Free: {\n id: PlanIds.BB3Free,\n productType: ProductType.BB3,\n planType: PlanType.Free,\n planInterval: PlanInterval.Lifetime,\n productCategory: ProductCategory.BB3,\n planName: \"Free\",\n analyticsTierName: analyticProductTierNames.Free,\n discountsAllowed: true,\n hasUpsell: false,\n trialDays: 0,\n monthlyCost: 0,\n annualCost: 0,\n lifetimeCost: 0, \n yearCommitmentCost: 0,\n features: [\n \"2D+3D Games\",\n \"1 World\",\n \"20 Scenes\",\n \"Buildbox Shop Access\",\n \"Easy Game Wizard\",\n \"5 Exports to Buildbox World\",\n \"2 Story Game Creations in Buildbox World\",\n ],\n downloadUrl: \"/downloads/bb3\",\n },\n [PlanIds.BB3Monthly]: {\n id: PlanIds.BB3Monthly,\n productType: ProductType.BB3,\n planType: PlanType.Monthly,\n planInterval: PlanInterval.Monthly,\n productCategory: ProductCategory.Monthly,\n planName: \"Monthly\",\n analyticsTierName: analyticProductTierNames.Monthly,\n discountsAllowed: false,\n hasUpsell: false,\n trialDays: 0,\n monthlyCost: 19.99,\n stripeIdDev: {\n Monthly: \"BB3Monthly1999_Feb2023_product\"\n },\n stripeId: {\n Monthly: \"BB3Monthly1999_Feb2023_product\"\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Monthly: \"B4Ayhwyd\"\n }, \n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Monthly: \"v0y3BAIw\"\n },\n features: [\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Customizable Splash Screen\",\n \"Unlimited exports to Buildbox World\",\n \"100 Story Game Creations in Buildbox World\"\n ],\n nonGridFeatures: [\n \"People can play your games inside the Buildbox World App available on both the Apple App Store and Google Play\"\n ],\n downloadUrl: \"/downloads/bb3\",\n featured: false,\n badgeText: \"Buildbox 3\"\n },\n BB3Plus: {\n id: PlanIds.BB3Plus,\n productType: ProductType.BB3,\n planType: PlanType.Plus,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB3,\n planName: \"Plus\",\n analyticsTierName: analyticProductTierNames.Plus,\n discountsAllowed: true,\n hasUpsell: false,\n stripeId: {\n Yearly: \"BB3PlusYearly97_Jul2023\",\n }, \n stripeIdDev: {\n Yearly: \"BB3PlusYearly97_Jul2023\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Yearly: \"3XUFoDk2\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Yearly: \"0LDcGy99\",\n }, \n trialDays: 0,\n annualCost: 97.99,\n features: [\n \"2D+3D Games\",\n \"5 Worlds\",\n \"50 Scenes\",\n \"Buildbox Shop Access\",\n \"Easy Game Wizard\",\n \"Unlimited Buildbox World Exports\",\n \"Export to iOS, Android, and PC\",\n \"Customizable Splash Screen\",\n \"You keep 100% of all Apple App Store Revenue\",\n \"You keep 100% of all Google Play Store Revenue\",\n \"You keep 100% of all App Store Revenue\",\n \"You keep 70% of all Adbox Revenue\",\n \"100 Story Game Creations in Buildbox World\"\n ],\n },\n BB3Pro: {\n id: PlanIds.BB3Pro,\n productType: ProductType.BB3,\n planType: PlanType.Pro,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB3,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: true,\n hasUpsell: true,\n stripeId: {\n Yearly: \"BB3_Pro_24998_year\",\n },\n stripeIdDev: {\n Yearly: \"BB3_Pro_24998_year\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Yearly: \"fjXnL4cZ\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Yearly: \"a1kQBZzz\",\n }, \n trialDays: 0,\n annualCost: 249.98,\n //badgeText: \"MOST POPULAR\",\n featured: false,\n features: [\n \"2D+3D Games\",\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Buildbox Shop Access\",\n \"Easy Game Wizard\",\n \"Unlimited Buildbox World Exports\",\n \"Export to iOS, Android, and PC\",\n \"Customizable Splash Screen\",\n \"You keep 100% of all Apple App Store Revenue\",\n \"You keep 100% of all Google Play Store Revenue\",\n \"You keep 100% of all App Store Revenue\",\n \"You keep 90% of all Adbox Revenue\",\n \"You keep 100% of all Custom Ad Network Revenue\",\n \"100 Story Game Creations in Buildbox World\"\n ],\n simplifiedFeatures: [\n \"2D+3D Games\",\n \"Unlimited Worlds & Scenes\",\n \"Unlimited Exports to iOS, Android, PC, and Buildbox World\",\n \"100 Story Game Creations in Buildbox World\",\n \"You keep 100% of all App Store & Custom Ad Revenue\",\n \"You keep 90% of all Adbox Revenue\",\n \"Features Customizable Splash Screen, Game Wizard, and Buildbox Shop\"\n ],\n bannerText: \"Most Popular!\",\n },\n BB3TrialUpsell: {\n id: PlanIds.BB3TrialUpsell,\n productType: ProductType.BB3,\n planType: PlanType.Pro,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB3,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: false,\n hasUpsell: false,\n stripeId: {\n Yearly: \"BB3_BeginnerUpsellPro_9999_year\",\n },\n stripeIdDev: {\n Yearly: \"BB3_BeginnerUpsellPro_9999_year\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Yearly: \"IC6lRybc\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Yearly: \"VxLYmkDF\",\n }, \n trialDays: 0,\n annualCost: 99.99,\n features: [\n \"2D+3D Games\",\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Buildbox Shop Access\",\n \"Easy Game Wizard\",\n \"Unlimited Buildbox World Exports\",\n \"Export to iOS, Android, and PC\",\n \"Customizable Splash Screen\",\n \"You keep 100% of all Apple App Store Revenue\",\n \"You keep 100% of all Google Play Store Revenue\",\n \"You keep 100% of all App Store Revenue\",\n \"You keep 90% of all Adbox Revenue\",\n \"You keep 100% of all Custom Ad Network Revenue\",\n \"100 Story Game Creations in Buildbox World\"\n ],\n simplifiedFeatures: [\n \"2D+3D Games\",\n \"Unlimited Worlds & Scenes\",\n \"Unlimited Exports to iOS, Android, PC, and Buildbox World\",\n \"100 Story Game Creations in Buildbox World\",\n \"You keep 100% of all App Store & Custom Ad Revenue\",\n \"You keep 90% of all Adbox Revenue\",\n \"Features Customizable Splash Screen, Game Wizard, and Buildbox Shop\"\n ],\n }, \n [PlanIds.BB3Beginner]: {\n id: PlanIds.BB3Beginner,\n productType: ProductType.BB3,\n planType: PlanType.Beginner,\n planInterval: PlanInterval.Monthly,\n productCategory: ProductCategory.BB3,\n planName: \"Beginner\",\n analyticsTierName: analyticProductTierNames.Beginner,\n discountsAllowed: true,\n hasUpsell: true,\n stripeId: {\n Monthly: \"BB3_Beginner_1998_month\",\n }, \n stripeIdDev: {\n Monthly: \"BB3_Beginner_1998_month\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Monthly: \"mOHsHliu\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Monthly: \"tNtC7xJ1\",\n },\n trialDays: 0,\n monthlyCost: 19.98,\n features: [\n \"2D+3D Games\",\n \"1 World\",\n \"20 Scenes\",\n \"Customizable Splash Screen\",\n \"Buildbox Shop Access\",\n \"Easy Game Wizard\",\n \"Unlimited Exports to iOS, Android, PC, and Buildbox World\",\n ],\n }, \n\n BB2Free: {\n id: PlanIds.BB2Free,\n productType: ProductType.BB2,\n planType: PlanType.Free,\n planInterval: PlanInterval.Lifetime,\n productCategory: ProductCategory.BB2,\n planName: \"Free\",\n analyticsTierName: analyticProductTierNames.Free,\n discountsAllowed: true,\n hasUpsell: false,\n trialDays: 0,\n annualCost: 0,\n lifetimeCost: 0, \n features: [\n \"2D Games\",\n \"1 World\",\n \"20 Scenes\",\n \"5 Exports to Buildbox World\",\n \"2 Story Game Creations\"\n ],\n downloadUrl: \"/downloads/bb2\",\n },\n [PlanIds.BB2Monthly]: {\n id: PlanIds.BB2Monthly,\n productType: ProductType.BB2,\n planType: PlanType.Monthly,\n planInterval: PlanInterval.Monthly,\n productCategory: ProductCategory.Monthly,\n planName: \"Monthly\",\n analyticsTierName: analyticProductTierNames.Monthly,\n discountsAllowed: false,\n hasUpsell: false,\n trialDays: 0,\n monthlyCost: 9.99,\n stripeIdDev: {\n Monthly: \"BBClassicMonthly999_Feb2023\"\n },\n stripeId: {\n Monthly: \"BBClassicMonthly999_Feb2023\"\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Monthly: \"Xu1FUltl\"\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Monthly: \"fVyLnLbJ\"\n },\n features: [\n \"AI Access\",\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Customizable Splash Screen\",\n \"Unlimited exports to Buildbox World\",\n \"100 Story Game Creations\"\n ],\n nonGridFeatures: [\n \"People can play your games inside the Buildbox World App available on both the Apple App Store and Google Play\"\n ],\n downloadUrl: \"/downloads/bb2\",\n featured: false,\n badgeText: \"Buildbox Classic\"\n },\n BB2Plus: {\n id: PlanIds.BB2Plus,\n productType: ProductType.BB2,\n planType: PlanType.Plus,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB2,\n planName: \"Plus\",\n analyticsTierName: analyticProductTierNames.Plus,\n discountsAllowed: true,\n hasUpsell: false,\n stripeId: {\n Yearly: \"BB2PlusYearly57_Jul2023\",\n }, \n stripeIdDev: {\n Yearly: \"BB2PlusYearly57_Jul2023\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Yearly: \"ZEgygGn0\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Yearly: \"6d9v8BiM\",\n }, \n trialDays: 0,\n annualCost: 57.99,\n features: [\n \"2D Games\",\n \"5 Worlds\",\n \"50 Scenes\",\n \"Unlimited Buildbox World Exports\",\n \"100 Story Game Creations\",\n \"AI Access\",\n \"Export to iOS, Android, and PC\",\n \"Customizable Splash Screen\",\n \"You keep 100% of all Apple App Store Revenue\",\n \"You keep 100% of all Google Play Store Revenue\",\n \"You keep 100% of all In-App Purchases\",\n \"You keep 70% of all Adbox Revenue\",\n ],\n },\n BB2Pro: {\n id: PlanIds.BB2Pro,\n productType: ProductType.BB2,\n planType: PlanType.Pro,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB2,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: true,\n hasUpsell: true,\n stripeId: {\n Yearly: \"BBClassic_Pro_39998_year\",\n },\n stripeIdDev: {\n Yearly: \"BBClassic_Pro_39998_year\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Yearly: \"EdHOCc0Z\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Yearly: \"IxGUjWSp\",\n }, \n trialDays: 0,\n annualCost: 399.98,\n //badgeText: \"MOST POPULAR\",\n featured: false,\n features: [\n \"2D Games\",\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Unlimited Buildbox World Exports\",\n \"100 Story Game Creations\",\n \"AI Access\",\n \"Export to iOS, Android, and PC\",\n \"Customizable Splash Screen\",\n \"You keep 100% of all Apple App Store Revenue\",\n \"You keep 100% of all Google Play Store Revenue\",\n \"You keep 100% of all In-App Purchases\",\n \"You keep 90% of all Adbox Revenue\",\n \"You keep 100% of all Custom Ad Network Revenue\",\n ],\n simplifiedFeatures: [\n \"2D Games\",\n \"Unlimited Worlds & Scenes\",\n \"Unlimited Exports to iOS, Android, PC, and Buildbox World\",\n \"100 Story Game Creations\",\n \"You keep 100% of all App Store & Custom Ad Revenue\",\n \"You keep 90% of all Adbox Revenue\",\n ],\n bannerText: \"Easiest!\",\n },\n [PlanIds.BB2Beginner]: {\n id: PlanIds.BB2Beginner,\n productType: ProductType.BB2,\n planType: PlanType.Beginner,\n planInterval: PlanInterval.Monthly,\n productCategory: ProductCategory.BB2,\n planName: \"Beginner\",\n analyticsTierName: analyticProductTierNames.Beginner,\n discountsAllowed: true,\n hasUpsell: true,\n stripeId: {\n Monthly: \"BBClassic_Beginner_2998_month\",\n },\n stripeIdDev: {\n Monthly: \"BBClassic_Beginner_2998_month\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Monthly: \"Stp68TgM\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Monthly: \"8L3jTrMn\",\n }, \n trialDays: 0,\n monthlyCost: 29.98,\n features: [\n \"2D Games\",\n \"1 World\",\n \"20 Scenes\",\n \"5 Exports to Buildbox World\",\n \"2 Story Game Creations\"\n ],\n downloadUrl: \"/downloads/bb2\",\n },\n BB2TrialUpsell: {\n id: PlanIds.BB2TrialUpsell,\n productType: ProductType.BB2,\n planType: PlanType.Pro,\n planInterval: PlanInterval.Yearly,\n productCategory: ProductCategory.BB2,\n planName: \"Pro\",\n analyticsTierName: analyticProductTierNames.Pro,\n discountsAllowed: false,\n hasUpsell: false,\n stripeId: {\n Yearly: \"BBClassic_BeginnerUpsellPro_15999_year\",\n },\n stripeIdDev: {\n Yearly: \"BBClassic_BeginnerUpsellPro_15999_year\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Yearly: \"loW1sxmW\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Yearly: \"07zdqsA1\",\n }, \n trialDays: 0,\n annualCost: 159.99,\n features: [\n \"2D Games\",\n \"Unlimited Worlds\",\n \"Unlimited Scenes\",\n \"Unlimited Buildbox World Exports\",\n \"AI Access\",\n \"Export to iOS, Android, and PC\",\n \"Customizable Splash Screen\",\n \"You keep 100% of all Apple App Store Revenue\",\n \"You keep 100% of all Google Play Store Revenue\",\n \"You keep 100% of all In-App Purchases\",\n \"You keep 90% of all Adbox Revenue\",\n \"You keep 100% of all Custom Ad Network Revenue\",\n \"100 Story Game Creations\"\n ],\n }, \n \n \n BBBundle: {\n id: PlanIds.BBBundle,\n planType: PlanType.Bundle,\n planInterval: PlanInterval.Yearly,\n planName: \"Ultimate Bundle\",\n analyticsTierName: analyticProductTierNames.Bundle,\n discountsAllowed: true,\n hasUpsell: false,\n productType: ProductType.BBBundle,\n productCategory: ProductCategory.BBBundle,\n xsollaProductId: 9247097,\n xsollaId: {\n Yearly: \"sTgpWNWl\"\n }, \n xsollaProductIdDev: 9247069,\n xsollaIdDev: {\n Yearly: \"ns4jAJh2\"\n },\n stripeId: {\n Yearly: \"UltimateBundle_114998_year\"\n },\n stripeIdDev: {\n Yearly: \"UltimateBundle_114998_year\"\n },\n trialDays: 0,\n annualCost: 1149.98,\n preBundleCost: 1399.92,\n //badgeText: \"BEST VALUE\",\n featured: false,\n features: [\n \"Buildbox Classic Pro\",\n \"Buildbox 3 Pro\",\n \"Buildbox 4 Pro\",\n \"Soundbox\",\n ],\n simplifiedFeatures: [\n \"Buildbox Classic Pro\",\n \"Buildbox 3 Pro\",\n \"Buildbox 4 Pro\",\n \"Soundbox\",\n ],\n bannerText: \"Best Value!\",\n },\n BBBundleUpsell: {\n id: PlanIds.BBBundleUpsell,\n planType: PlanType.Bundle,\n planInterval: PlanInterval.Yearly,\n planName: \"Ultimate Bundle\",\n analyticsTierName: analyticProductTierNames.Bundle,\n discountsAllowed: false,\n hasUpsell: false,\n productType: ProductType.BBBundle,\n productCategory: ProductCategory.BBBundle,\n xsollaProductId: 9247097,\n xsollaId: {\n Yearly: \"ex2GrQrE\"\n }, \n xsollaProductIdDev: 9247069,\n xsollaIdDev: {\n Yearly: \"nFzIT3Sk\"\n },\n stripeId: {\n Yearly: \"BB_ProUpsellBundle_45999_year\"\n },\n stripeIdDev: {\n Yearly: \"BB_ProUpsellBundle_45999_year\"\n },\n trialDays: 0,\n annualCost: 459.99,\n preBundleCost: 1399.92,\n //badgeText: \"BEST VALUE\",\n featured: false,\n features: [\n \"Buildbox Classic Pro\",\n \"Buildbox 3 Pro\",\n \"Buildbox 4 Pro\",\n \"Soundbox\",\n ],\n simplifiedFeatures: [\n \"Buildbox Classic Pro\",\n \"Buildbox 3 Pro\",\n \"Buildbox 4 Pro\",\n \"Soundbox\",\n ],\n bannerText: \"Best Value!\",\n },\n};\n\nexport default PLANS_JSON;\n\nexport const PLAN_MAP: Record = {\n // the order the plans are in these arrays is the order that they'll appear on the pricing/plans page\n Monthly: [\n PLANS_JSON.BB2Monthly,\n // PLANS_JSON.BB3Monthly,\n // PLANS_JSON.BB4Monthly,\n PLANS_JSON.BBBundle,\n ],\n BB4: [\n // PLANS_JSON.BB4Free,\n //PLANS_JSON.BB4Weekly,\n PLANS_JSON.BB4Beginner,\n //PLANS_JSON.BB4Basic,\n PLANS_JSON.BB4Pro,\n PLANS_JSON.BBBundle,\n ], \n BB3: [\n //PLANS_JSON.BB3Free,\n PLANS_JSON.BB3Beginner,\n //PLANS_JSON.BB3Plus,\n PLANS_JSON.BB3Pro,\n PLANS_JSON.BBBundle,\n ],\n BB2: [\n //PLANS_JSON.BB2Free,\n PLANS_JSON.BB2Beginner,\n //PLANS_JSON.BB2Plus,\n PLANS_JSON.BB2Pro,\n PLANS_JSON.BBBundle,\n ],\n Soundbox: [\n PLANS_JSON.SoundboxPro,\n PLANS_JSON.BBBundle,\n ],\n BBBundle: [\n PLANS_JSON.BBBundle\n ]\n}\n","import {useEffect, useState} from 'react'\n\nconst useIsMobile = () => {\n\n const [width, setWidth] = useState(window.innerWidth);\n\n function handleWindowSizeChange() {\n setWidth(window.innerWidth);\n }\n useEffect(() => {\n window.addEventListener('resize', handleWindowSizeChange);\n return () => {\n window.removeEventListener('resize', handleWindowSizeChange);\n }\n }, []);\n\n const isMobile = width <= 991;\n\n return {isMobile, width}\n}\n\nexport default useIsMobile","\nimport TagManager from \"react-gtm-module\";\nimport Env from \"../Env\";\n\nexport type AnalyticDataDTO = {\n UserID: string;\n genai_question: string;\n genai_user_response: string;\n genai_skipped: boolean;\n}\n\nexport const customEventDataLayerTrigger = (eventName: string, userId: string, otherData: Partial = {}) => {\n const prePendEventName = Env.AOB_ENV.toUpperCase() === \"PROD\" ? \"\" : Env.AOB_ENV.toUpperCase() + \"_\";\n\n const customEventName = `${prePendEventName}${eventName}`;\n\n console.log(\"customEventDataLayerTrigger\", customEventName, userId, otherData);\n TagManager.dataLayer({\n dataLayer: {\n event: customEventName,\n UserId: userId,\n ...otherData\n },\n });\n\n}","import React from \"react\"\nimport { Progress } from \"antd\";\nimport { FunctionComponent } from \"react\";\n\ninterface CircularProgressProps {\n progress?: number;\n}\n \nconst CircularProgress: FunctionComponent = ({progress = 75}) => {\n \n return (\n \n );\n}\n \nexport default CircularProgress;\n","import {useEffect, useState} from 'react'\n\ntype Props = {\n successReport: boolean;\n}\nconst useInfiniteProgress = (props: Props) => {\n\n const { successReport } = props;\n const [progress, setProgress] = useState(0);\n\n useEffect(() => {\n let interval: any;\n interval = setInterval(() => {\n setProgress((prev) => {\n if (successReport || prev >= 100) {\n clearInterval(interval);\n return 100\n }else if (prev > 90){\n\n return 98\n }else if(!prev) {\n // clearInterval(interval);\n return randomeNumberIncrement();\n } else if (prev >= 100) {\n clearInterval(interval);\n return 100;\n }\n return prev + randomeNumberIncrement();\n });\n }, 3000); // increment every 3 seconds\n\n return () => {\n clearInterval(interval);\n }\n\n }, [successReport ]);\n\n const randomeNumberIncrement = ():number => {\n // number between 1 and 5, don't wanna return zero just in case\n return Math.floor(Math.random() * 5) + 1;\n }\n\n return progress\n}\n\nexport default useInfiniteProgress","import React, { FunctionComponent, useEffect} from \"react\";\nimport styles from \"../../../styles/PromptMessage.module.css\";\nimport { Row, Col } from \"antd\";\n// import { LazyLoadImage } from 'react-lazy-load-image-component';\nimport {\n AssetType,\n bbaiStoryGamePromptStepStatus,\n} from \"../constants/bbai.prompts\";\nimport CircularProgress from \"./CircularProgress\";\nimport useInfiniteProgress from \"../../../hooks/useInfiniteProgress\";\nimport { TypeAnimation } from 'react-type-animation';\n\nexport interface MessageProps {\n message: string;\n user: {\n id: string;\n pic: string;\n };\n // handleSelectedAsset?: (img: string, assetType: string, idx: number) => void;\n assetType?: AssetType | bbaiStoryGamePromptStepStatus;\n promptStage: bbaiStoryGamePromptStepStatus;\n handleDoneTyping?: () => void;\n loading?: boolean | null;\n successReport?: boolean\n component?: JSX.Element;\n error?: boolean\n completed?: boolean\n}\n\nconst PromptMessage: FunctionComponent = ({\n message = \"\",\n user,\n promptStage,\n loading = false,\n successReport = false,\n component,\n error = false,\n handleDoneTyping,\n completed = false,\n}) => {\n\n const progressValue = useInfiniteProgress({successReport})\n useEffect(() => {\n\n }, [message, user]);\n\n const checkDoneTypingShowLoad = () => {\n return !error && loading\n }\n\n return (\n <>\n \n \n \"sender\"\n \n \n { component? component : <> \n {user.id === \"1\" ? : <>{message}} {\"\"} {checkDoneTypingShowLoad() && } \n }\n \n \n \n );\n};\n\nexport default PromptMessage;\n","import React, { useEffect, useRef } from 'react'\nimport { useDispatch, useSelector } from 'react-redux';\n// import { BBPlatformClient } from '../../../api/BBPlatform'\n// import { handlePromptStepAnalytics } from '../../../api/GoogleAnalyticsWrapper'\nimport { customEventDataLayerTrigger } from '../../../api/GoogleTagManager'\nimport { bbaiStoryGamePromptOptions, bbaiStoryGamePromptStepStatus, bbaiUser } from '../constants/bbai.prompts'\n// import ClaimLoginSkipOptions, { ClaimLoginSkipOptionsType } from './ClaimLoginSkipOptions'\nimport PromptMessage from './PromptMessage'\nimport currentUserInfo from \"../../../selectors/currentUserInfo\";\nimport currentStoryGame from \"../../../selectors/currentStoryGame\";\nimport { nextStage, setBBWorldBBDocId, setConfirmComplete, setErrorState } from '../../../actions/storyGame';\nimport { createCYOABBDoc, cyoaConfirmComplete } from '../../../api/storyGame';\nimport { validateToken } from '../../../actions/auth';\n\nconst BuildBBDocCYOA = () => {\n const bbaiStore = useSelector(currentStoryGame)\n const userStore = useSelector(currentUserInfo);\n const dispatch = useDispatch()\n ///TODO: make sure the the bbdoc is ready to download \n const generateBBDoc = useRef(false) // make sure the useFfect fetch call only runs once\n\n useEffect(() => {\n\n if(generateBBDoc.current === false && bbaiStore.allAssetsGenerated && !bbaiStore.completed){\n generateBBDOC();\n generateBBDoc.current = true;\n }\n\n if(bbaiStore.completed){\n dispatch(nextStage())\n }\n\n // if(generateBBDoc.current === false){\n // generateBBDOC();\n // generateBBDoc.current = true;\n // }\n // eslint-disable-next-line\n }, [] )\n\n\n // const handleClaimLoginSkip = (e: ClaimLoginSkipOptionsType) => {\n // if (e === ClaimLoginSkipOptionsType.CLAIM) {\n // console.debug(`[handleClaimLoginSkip] CLAIM`);\n // handlePromptStepAnalytics(bbaiStoryGamePromptStepStatus.CLAIM_ACCOUNT);\n // // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.CLAIM_ACCOUNT);\n // } else if (e === ClaimLoginSkipOptionsType.LOGIN) {\n // console.debug(`[handleClaimLoginSkip] LOGIN`);\n // handlePromptStepAnalytics(bbaiStoryGamePromptStepStatus.LOGIN_ACCOUNT);\n // // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.LOGIN_ACCOUNT);\n // } else if(e === ClaimLoginSkipOptionsType.SKIP) {\n // console.debug(`[handleClaimLoginSkip] DOWNLOAD aka SKIP`);\n // handlePromptStepAnalytics(bbaiStoryGamePromptStepStatus.DOWNLOAD_BBDOC);\n // // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.DOWNLOAD_BBDOC);\n // }\n // else {\n // console.error(\"ERROR: unexpected state for claim/login/skip click\")\n // }\n // };\n\n const generateBBDOC = async (): Promise => {\n try{\n console.log(\"CYOA ask platform to generate bbdoc...\", \"Game Data:\", bbaiStore.generatedCYOAGameData )\n const refreshedToken = await dispatch(validateToken());\n\n const res = await createCYOABBDoc(refreshedToken, bbaiStore.projectId, bbaiStore.generatedCYOAGameData);\n\n customEventDataLayerTrigger(\"Web GenAI BBDoc Complete \", userStore.uuid)\n\n if (res.projectBBDocUrl === undefined) {\n console.error(\"BBDOC URL is undefined\");\n throw new Error(\"BBDOC URL is undefined\");\n }\n\n console.debug(\"generated bbdoc download link: \", res.projectBBDocUrl);\n console.log(\"generated bbdoc id: \"+ res.bbdocId)\n dispatch(setBBWorldBBDocId(res.bbdocId));\n\n await cyoaConfirmComplete(refreshedToken, bbaiStore.projectId)\n customEventDataLayerTrigger(\"Web GenAI Complete\", userStore.uuid)\n dispatch(setConfirmComplete())\n dispatch(nextStage())\n // setBBDoc(res.projectBBDocUrl);\n } catch(error){\n // TODO: handle error!!! I even added this console message, it was just empty here!\n console.error(\"Unexpected error while generating bbdoc: \", error)\n // throw error\n dispatch(setErrorState({\n title: \"Error generating Story Game download\",\n message: bbaiStoryGamePromptOptions[bbaiStore.promptStepStatus]?.errPrompt,\n }))\n // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.ERROR_RESTART_REGENERATE)\n }\n }\n\n \n return (\n <>\n { }\n {/* { bbaiStore.isGuest && } */}\n \n )\n}\n\nexport default BuildBBDocCYOA","import { AuthResult, } from \"../constants/GenPrompTypes\";\nimport { BasicUserInfo } from \"../constants/BBPlatform.types\";\nimport {\n BBDocResponseObj,\n BBDownloadVersion,\n ChooseYourOwnAdventureChapterData,\n ChooseYourOwnAdventureChoiceData,\n ChooseYourOwnAdventureCustomizationData,\n CreateTxt2ImgGenerationJobDTO,\n DownloadPlatforms,\n ImageGenerationJobCreationResultDTO,\n PostSSOTokensDTO,\n templateType,\n Txt2ImgGenerationJobCreationResultDTO,\n} from \"../constants/GenPrompTypes\";\nimport Env from \"../Env\";\n\nconst UUID_REGEX = /^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$/\n\nexport interface BBPlatformResponse {\n metadata: any; // TODO - fill this out\n payload: T;\n}\n\nexport class BBPlatformClientError extends Error {}\n\n/**\n * Indicates that validation failed for our request\n */\nexport class BBPlatform4XXError extends Error {\n constructor(\n readonly url: string,\n readonly status: number,\n readonly metadata: any\n ) {\n super(`Received ${status} from ${url}`);\n }\n}\n\n/**\n * Indicates that either the user couldn't be authenticated or is not authorized\n */\nexport class BBPlatformClientNotAuthorizedError extends Error {}\n\n/**\n * A simple extending class of BBPlatform4XXError - simply indicates that 500 error was recieved\n */\nexport class BBPlatformServerError extends BBPlatform4XXError {}\n\nexport interface RequestProps {\n url: string;\n headers?: {};\n body?: {};\n publicEndpoint?: boolean;\n isAuthRetry?: boolean;\n}\n\nexport type LoginPayload = {\n user: {\n Id: string;\n Email: string;\n ReferralInfo: any;\n };\n userCreated: boolean;\n};\n\nexport interface TimestampedTokens extends AuthResult {\n timestamp: number;\n}\n\n/** ************************************************************************************************\n * Wrapper class for BBPlatform service endpoints\n *\n * This class is designed to be a static-only/singleton class to avoid needing\n * to pass it down the react component tree\n * and avoid needint to put it in some kind of data store\n * We can revisit this if the singleton pattern presents issues\n ************************************************************************************************* */\nexport class BBPlatformClient {\n static tokens: TimestampedTokens | null = null;\n\n /* ***************************************************************************\n * generic platform-API functions below\n ************************************************************************** */\n static setTokens(tokens: (AuthResult & { timestamp: number }) | null): void {\n if (tokens !== null) {\n BBPlatformClient.tokens = tokens;\n } else {\n BBPlatformClient.tokens = null;\n }\n }\n\n static getUnexpiredTokens(): TimestampedTokens | null {\n if (BBPlatformClient.isBBWorldMode()) {\n let injectedToken: string | undefined | null;\n if (BBPlatformClient.isAndroidJSInterface()) {\n // Android BBWorld has a magic javascript injector that creates this function\n // typescript will never be happy about it because it doesn't know\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n injectedToken = Android.fetchBBToken();\n } else {\n injectedToken = (window as any).BBWorldAccessToken;\n }\n\n if (typeof injectedToken === \"string\") {\n return {\n timestamp: Date.now() + 24 * 60 * 60 * 1000,\n AccessToken: injectedToken,\n } as TimestampedTokens; // TODO - fix the AuthResult definition in bb-auth-frame to allow for nulls on Refresh and Id tokens\n } else {\n console.error(\n `[BBPlatformClient].getUnexpiredTokens] in bbworld mode, but BBWorldAccessToken tokens not found`\n );\n return null;\n }\n }\n if (\n BBPlatformClient.tokens !== null &&\n Date.now() - BBPlatformClient.tokens.timestamp < Env.ACCESS_TIMEOUT_MS\n ) {\n return BBPlatformClient.tokens;\n } else {\n return null;\n }\n }\n\n static isBBWorldMode(): boolean {\n const bbworldModeValue = new URLSearchParams(\n (window as any).location.search\n ).get(\"bbworld_mode\");\n return (\n bbworldModeValue !== null && bbworldModeValue.toLowerCase() === \"true\"\n );\n }\n\n // AP: can't be named \"useAndroidJSInterface\" like the param because React (or eslint?) will think it's a hook\n static isAndroidJSInterface(): boolean {\n const androidJSInterfaceValue = new URLSearchParams(\n (window as any).location.search\n ).get(\"use_android_js_interface\");\n return (\n androidJSInterfaceValue !== null &&\n androidJSInterfaceValue.toLowerCase() === \"true\"\n );\n }\n\n static async apiRequest(\n method: \"get\" | \"post\" | \"put\",\n props: RequestProps\n ): Promise> {\n const {\n url,\n headers: providedHeaders = {\n \"Content-Type\": \"application/json\",\n \"webgenai-client-version\": true,\n },\n body: bodyJSON,\n publicEndpoint = false,\n isAuthRetry = false,\n } = props;\n let headers = providedHeaders;\n if (!publicEndpoint) {\n const tokens = BBPlatformClient.getUnexpiredTokens();\n if (tokens !== null) {\n headers = { ...headers, Token: tokens.AccessToken };\n } else {\n throw new BBPlatformClientNotAuthorizedError();\n }\n }\n const body = bodyJSON !== undefined ? JSON.stringify(bodyJSON) : undefined;\n\n const response = await fetch(url, {\n method,\n headers,\n body,\n });\n\n const responseBody = await response.json();\n // TODO - handle network or parse errors via catch?\n\n if (response.status >= 200 && response.status < 300) {\n // a wee bit of validation before we commit this \"any\" to TS land\n if (\n typeof responseBody.payload !== \"object\" ||\n typeof responseBody.metadata !== \"object\"\n ) {\n const message = `Unexpected response body format from ${method} ${url}.`;\n console.error(message);\n console.error(responseBody);\n throw new BBPlatformClientError(message);\n }\n\n return responseBody;\n } else if (response.status === 403 || response.status === 401) {\n BBPlatformClient.tokens = null;\n if (!isAuthRetry) {\n // try again - nulling out the accessToken should trigger a token refresh if possible\n // make sure isAuthRetry is true so we don't end up in an endless loop\n return await BBPlatformClient.apiRequest(method, {\n ...props,\n isAuthRetry: true,\n });\n } else {\n console.error(\n `[BBPlatformClient] not authorized: ${url} ${response.status} ${responseBody.metadata}`\n );\n throw new BBPlatformClientNotAuthorizedError();\n }\n } else if (response.status >= 400 && response.status < 500) {\n throw new BBPlatform4XXError(url, response.status, responseBody.metadata);\n } else if (response.status >= 500 && response.status < 600) {\n throw new BBPlatformServerError(\n url,\n response.status,\n responseBody.metadata\n );\n } else {\n const message = `Received unexpected status code from ${method} ${url}: ${response.status}`;\n throw new BBPlatformClientError(message);\n }\n }\n\n static async apiGet(props: RequestProps): Promise {\n return (await BBPlatformClient.apiRequest(\"get\", props)).payload;\n }\n\n static async apiPost(props: RequestProps): Promise {\n return (await BBPlatformClient.apiRequest(\"post\", props)).payload;\n }\n\n static async apiPut(props: RequestProps): Promise {\n return (await BBPlatformClient.apiRequest(\"put\", props)).payload;\n }\n\n // static async isAuthorized():Promise {\n // let authed = false\n // try {\n // await BBPlatformClient.updateAccessToken()\n // authed = true\n // }\n // catch (e) {\n // console.error(`Got error while checking updating auth tokens`)\n // console.error(e)\n // }\n // return authed\n // }\n\n /* ***************************************************************************\n * endpoint methods below\n ************************************************************************** */\n\n static async login(): Promise {\n return await BBPlatformClient.apiPost({\n url: `${Env.UAM_BASE_URL}/webclientLogin`,\n body: {},\n });\n }\n\n static async getUserInfo(): Promise<{basicUserInfo: BasicUserInfo, userId: string}> {\n return await BBPlatformClient.apiGet<{basicUserInfo: BasicUserInfo, userId: string}>({\n url: `${Env.UAM_BASE_URL}/basicUserInfo`,\n });\n }\n\n static async getGenerateAsset(\n body: CreateTxt2ImgGenerationJobDTO\n ): Promise {\n return this.apiPost({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/txt2img`,\n body,\n });\n }\n\n static async getAssetGenerationProgress(\n jobId: string\n ): Promise {\n return await this.apiGet({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/job/${jobId}/progress`,\n });\n }\n\n // Clipdrop returns an image sync; it doesn't have progress or completion calls\n static async generateClipdropAsset(\n body: CreateTxt2ImgGenerationJobDTO\n ): Promise {\n return this.apiPost({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/clipdrop/txt2img`,\n body,\n });\n }\n\n // sorry for the hardcoded image names and other hackery in CYOA\n static convertBBAICYOADataToPlatformFormat(projectId: string, input: any) : ChooseYourOwnAdventureCustomizationData {\n // AP: a little hacky but really this whole thing is \n let output: ChooseYourOwnAdventureCustomizationData = {} as ChooseYourOwnAdventureCustomizationData\n\n output.projectId = projectId;\n output.badEndText = input.lose.chapterContent;\n output.goodEndText = input.win.chapterContent;\n output.badEndImageFilename = \"lose.png\";\n output.goodEndImageFilename = \"win.png\";\n output.title = input.title.title;\n output.subtitle = input.title.mission;\n output.titleImageFilename = \"title.png\";\n output.iconFilename = \"icon.png\";\n output.backgroundMusicFilename = \"background_music.mp3\"; // TODO: figure this out, it's actually NYI\n\n // make some chapters...\n let chapters : ChooseYourOwnAdventureChapterData[] = []\n for(let ii = 0; ii < input.chapters.length; ii++) {\n let chapter = input.chapters[ii]\n chapter.description = chapter.chapterContent;\n chapter.imageFilename = `chapter${ii}.png`\n let choicesData = chapter.choices\n let choices : ChooseYourOwnAdventureChoiceData[] = []\n for(let jj = 0; jj < choicesData.length; jj++) {\n let choiceData = choicesData[jj]\n let choice : ChooseYourOwnAdventureChoiceData = {\n choiceDescription: choiceData.choiceDescription,\n coinsDelta: choiceData.coinsDelta,\n healthDelta: choiceData.healthDelta,\n resultDescription: choiceData.resultDescription,\n }\n choices.push(choice)\n }\n chapter.choices = choices\n chapters.push(chapter)\n }\n output.chapters = chapters\n\n\n return output\n }\n\n static async emplaceCYOAResource(\n projectId: string,\n filename: string,\n url: string\n ): Promise {\n let data = {\n projectId: projectId,\n filename: filename,\n url: url,\n }\n return await this.apiPost({\n url: `${Env.BB2D_BASE_URL}/cyoa/emplace`,\n body: data\n }); \n }\n\n static async createCYOABBDoc(\n projectId: string,\n gameData: any\n ): Promise {\n let data = BBPlatformClient.convertBBAICYOADataToPlatformFormat(projectId, gameData)\n return await this.apiPost({\n url: `${Env.BB2D_BASE_URL}/cyoa/cyoa`, // yes, two cyoas\n body: data\n }); \n }\n\n static async createBBDocRandomFile(body: {\n characterImage: string;\n obstacleImage: string;\n backgroundImage: string;\n }): Promise {\n const index = Math.floor(Math.random() * Object.keys(templateType).length);\n const randomTemplateType = Object.values(templateType)[index];\n\n // will return URL of the generated file os s3 bucket\n return await this.apiPost({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/createbbdoc`,\n body: {\n ...body,\n templateType: templateType[randomTemplateType],\n //templateType: templateType[\"WORLD\"]\n },\n });\n }\n\n static async getAssetImages(\n jobId: string\n ): Promise<{ jobId: string; presignedUrls: string[] }> {\n return await this.apiGet({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/job/${jobId}/result`,\n });\n }\n\n static async downloadBuildboxClient(\n platformDesired: any,\n version: keyof typeof BBDownloadVersion\n ) {\n return new Promise((resolve) => {\n if (!platformDesired) {\n // try to auto detect platform from browser\n const platform = (window as any).navigator.platform;\n\n if (platform) {\n const macosPlatforms = [\"Macintosh\", \"MacIntel\", \"MacPPC\", \"Mac68K\"];\n const windowsPlatforms = [\"Win32\", \"Win64\", \"Windows\", \"WinCE\"];\n\n const foundMatch = (str: string) => str.includes(platform);\n if (windowsPlatforms.some(foundMatch)) {\n platformDesired = DownloadPlatforms.WINDOWS;\n } else if (macosPlatforms.some(foundMatch)) {\n platformDesired = DownloadPlatforms.MAC;\n } else {\n console.debug(\n \"unable to automatically determine download platform from \",\n platform\n );\n platformDesired = DownloadPlatforms.UNKNOWN;\n\n const dataLayer =\n ((window as any)[\"dataLayer\"] && (window as any)[\"dataLayer\"]) ||\n [];\n dataLayer.push({\n event: \"couldNotDeterminePlatformDownload\",\n payload: true,\n });\n }\n } else {\n console.debug(\"unable to automatically determine download platform\");\n platformDesired = DownloadPlatforms.UNKNOWN;\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"platformInfoNotAvailableDownload\",\n payload: true,\n });\n }\n }\n\n // download!\n if (platformDesired === DownloadPlatforms.MAC) {\n\n //TODO: Update GTM tags to track BB2\n\n const downloadLink = BBDownloadVersion[version].MAC;\n // const downloadType = BBDownloadVersion[version].APP;\n\n (window as any).location.href = downloadLink;\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"macDownload\",\n payload: true,\n });\n\n // const savedGoogleClientId = localStorage.getItem(\"googleClientId\");\n // BBPlatformClient.sendDownloadAnalytics(savedGoogleClientId, downloadType);\n\n resolve(downloadLink);\n } else if (platformDesired === DownloadPlatforms.WINDOWS) {\n\n //TODO: Update GTM tags to track BB2\n\n const downloadLink = BBDownloadVersion[version].WIN;\n // const downloadType = BBDownloadVersion[version].APP;\n\n (window as any).location.href = downloadLink;\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"winDownload\",\n payload: true,\n });\n\n // const savedGoogleClientId = localStorage.getItem(\"googleClientId\");\n\n // BBPlatformClient.sendDownloadAnalytics(savedGoogleClientId, downloadType);\n\n resolve(downloadLink);\n } else {\n console.debug(\"attempted download on non-mac/win platform\");\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"unknownPlatformDownload\",\n payload: true,\n });\n\n resolve(false);\n }\n }); // end of promise wrapper\n }\n\n // Now handleed at the createBBDocRandomFile myabe need in the future for another set of steps\n // static async uploadBBDocFile(body: UploadBBDocDTO):Promise {\n // return await this.apiPost({\n // url: `${Env.BB2D_BASE_URL}/bbdoc/upload`,\n // body\n // })\n // }\n\n static async createUserDownloadsRequest(clientId: any, version: string) {\n let error;\n for (let ii = 0; ii < 5; ii++) {\n try {\n let resp = await BBPlatformClient.sendUserDownloadRequestAnalytics(\n clientId,\n version\n );\n return resp;\n } catch (err) {\n console.error(\"cudr error: \", err);\n error = err;\n }\n }\n\n console.debug(\"throw cudr error: \", error);\n throw error;\n }\n static async sendUserDownloadRequestAnalytics(\n clientId: any,\n version: string\n ): Promise {\n return new Promise((resolve, reject) => {\n this.apiPost({\n url: `${Env.UAM_BASE_URL}/analytics/download`,\n body: {\n clientId: clientId,\n app: version,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n })\n .then((res: any) => {\n if (res.status === 200 || res.status === 201) {\n resolve(res.data);\n }\n })\n .catch((error: any) => {\n if (error) {\n console.debug(\n error,\n \"error caught in createUserDownloadsRequest: \",\n error\n );\n console.debug(\"errrrrrorrrrr \", error);\n reject(error);\n }\n });\n });\n }\n\n static async sendDownloadAnalytics(googleClientId: any, version: any) {\n try {\n await BBPlatformClient.createUserDownloadsRequest(\n googleClientId,\n version\n );\n } catch (error) {\n console.error(\n error,\n \"Downloads Component: Error caught from sendDownloadAnalytics\"\n );\n }\n }\n\n static async getUserBBDocs(limit:number=10,offset:number=0): Promise {\n const result = await this.apiGet<{bits:BBDocResponseObj[]}>({\n url: `${Env.BB_WORLD_BASE_URL}/bbdoc/owned?runtime=BBClassic&limit=10&offset=0`\n })\n return result.bits\n }\n\n static async getBBDocDownloadLink(bbdocId:string):Promise {\n const validUUID = UUID_REGEX.test(bbdocId) // make sure it's a UUID and not some sill XSS attack\n if (!validUUID) {\n throw new BBPlatformClientError(\"Invalid BBDoc ID\")\n }\n const result = await this.apiGet<{url:string}>({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/bbdoc/download/${bbdocId}`\n })\n return result.url\n }\n\n static openBBWorld(bbDocId:string=\"\"):void {\n console.debug(\"play bit\", `${Env.BB_DEEP_LINK}${bbDocId}`)\n\n window.location.replace(`${Env.BB_DEEP_LINK}${bbDocId}`);\n }\n\n static async testError(): Promise {\n throw new BBPlatformClientError(\"test error\");\n }\n\n static async getSSOToken( ssoTokenDTO:PostSSOTokensDTO ): Promise {\n const result = await this.apiPost<{ id: string }>({\n url: `${Env.UAM_BASE_URL}/ssoTokens`,\n body: {\n ...ssoTokenDTO\n },\n })\n\n return result.id\n }\n\n static async cyoaNewId (): Promise {\n const result = await this.apiPost({\n url: `${Env.BB2D_BASE_URL}/cyoa/newId`,\n })\n\n return result.projectId\n }\n\n static async cyoaConfirmComplete (projectId:string): Promise {\n return await this.apiPost({\n url: `${Env.BB2D_BASE_URL}/cyoa/complete`,\n body: {\n projectId\n }\n })\n }\n\n\n static async getCYOABBDocDownloadLink(projectId:string):Promise<{url:string, expiresIn:string}> {\n const validUUID = UUID_REGEX.test(projectId) // make sure it's a UUID and not some sill XSS attack\n if (!validUUID) {\n throw new BBPlatformClientError(\"Invalid BBDoc ID\")\n }\n const result = await this.apiGet<{url:string, expiresIn:string}>({\n url: `${Env.BB2D_BASE_URL}/cyoa/bbdoc/download/${projectId}`\n })\n\n return {url: result.url, expiresIn: result.expiresIn}\n }\n\n static async getUserData(): Promise{\n const result = await this.apiPost({\n url: `${Env.UAM_BASE_URL}/webclientLogin`,\n })\n\n return result\n }\n\n static async getBalance(): Promise<{ balance: number, creditsUsed: number}>{\n const result = await this.apiGet<{ balance: number, creditsUsed: number}>({\n url: `${Env.BB2D_BASE_URL}/cyoa/balance`,\n })\n\n return result\n }\n \n static async getFirebaseShortenDeepLink(bitId:string): Promise {\n const result = await this.apiGet<{url:string}>({\n url: `${Env.BB_WORLD_BASE_URL}/firebaseShortLink/${bitId}`,\n })\n\n return result.url\n }\n}\n","import React, { FunctionComponent, useState } from 'react';\nimport { Button } from 'antd';\nimport styles from '../../../styles/AnimatedButton.module.css';\n\nexport interface AnimatedButtonProps {\n handleClick?: () => void;\n text: string;\n}\n\nconst AnimatedButton: FunctionComponent = ({text, handleClick}) => {\n const [isAnimating] = useState(true);\n const [buttonRadius] = useState(100);\n\n return (\n \n {text}\n \n );\n};\n\nexport default AnimatedButton;\n","import React from 'react'\nimport { useSelector } from 'react-redux';\nimport currentStoryGame from '../../../selectors/currentStoryGame';\nimport styles from '../../../styles/PreviewBit.module.scss'\n\nconst PreviewBit = () => {\n const bbaiStore = useSelector(currentStoryGame);\n\n const css = {\n backgroundImage: `url(\"data:image/gif;base64,${bbaiStore.titleImage}\")`, // index change\n backgroundPosition: \"center\",\n backgroundSize: \"cover\",\n };\n\n return (\n <>\n
\n
\n
\n
\n

{bbaiStore.generatedCYOAGameData.title.title}

\n
\n
\n

{bbaiStore.generatedCYOAGameData.title.mission}

\n
\n
\n
\n \"start\"\n
\n
\n
\n \n )\n}\n\nexport default PreviewBit\n","import React, {ReactElement, useEffect, useState} from 'react';\nimport { BBPlatformClient } from '../../../api/BBPlatform';\nimport currentStoryGame from \"../../../selectors/currentStoryGame\";\nimport { Col, QRCode, Row } from 'antd';\nimport styles from \"../../../styles/PromptMessage.module.css\";\nimport { bbaiStoryGamePromptOptions, bbaiUser } from '../constants/bbai.prompts';\nimport AnimatedButton from './AnimatedButton';\nimport downloadStyles from \"../../../styles/DownloadLink.module.css\";\nimport { useDispatch, useSelector } from 'react-redux';\nimport { setBBDocUrl, setErrorState } from '../../../actions/storyGame';\nimport useIsMobile from '../../../hooks/useIsMobile';\nimport Env from '../../../Env';\nimport { validateToken } from '../../../actions/auth';\nimport { getCYOABBDocDownloadLink, getFirebaseShortenDeepLink } from '../../../api/storyGame';\nimport PreviewBit from './PreviewBit';\n\nenum FileType {\n BBCLASSIC_INSTALLER = \"bbclassic_installer\",\n BBDOC = \"bbdoc\",\n}\n\nexport const DownloadBBDocCYOA = (): ReactElement => {\n const [bbdoc, setBBDoc] = useState(null)\n // const [urlExpireTime, setUrlExpireTime] = useState(0)\n const {isMobile} = useIsMobile()\n const bbaiStore = useSelector(currentStoryGame)\n const dispatch = useDispatch()\n const [dynamicLink, setDynamicLink] = useState(null)\n\n useEffect(() => {\n getBBDOC()\n // eslint-disable-next-line\n }, [])\n\n const downloadBBDOC = async () => {\n // console.log(\"testing date logic\", urlExpireTime < (new Date().getTime() ))\n if (!bbdoc) {\n console.log(\"bbdoc no longer exists, regenerating\", bbdoc)\n // unauthorizedErrorHandler?.();\n await getBBDOC();\n return;\n\n }\n const a = document.createElement(\"a\");\n a.download = \"StoryGame.bbdoc\";\n a.href = bbdoc;\n const clickEvt = new MouseEvent(\"click\", {\n view: window,\n bubbles: true,\n cancelable: true,\n });\n a.dispatchEvent(clickEvt);\n a.remove();\n };\n\n const getBBDOC = async (): Promise => {\n try {\n if( bbaiStore.bbworldBBDocId !== \"\"){\n const refreshedToken = await dispatch(validateToken());\n\n const res = await getCYOABBDocDownloadLink(refreshedToken, bbaiStore.projectId)\n const deepLink = await getFirebaseShortenDeepLink(refreshedToken, bbaiStore.bbworldBBDocId)\n console.debug(\"firebase shorten deepLink: \", deepLink)\n setBBDoc(res.url)\n setDynamicLink(deepLink)\n dispatch(setBBDocUrl(res.url))\n } else {\n console.error(\"error: bbdoc id is empty\")\n\n }\n } catch (error) {\n console.error(\"Error: \", error);\n }\n };\n\n const handleClickDownloadBBDOC = async (fileType: FileType) => {\n try{\n\n if (isMobile) {\n if(dynamicLink){\n window.location.replace(dynamicLink)\n } else {\n BBPlatformClient.openBBWorld(bbaiStore.bbworldBBDocId)\n }\n \n } else if (fileType === FileType.BBDOC) {\n downloadBBDOC();\n } else if (fileType === FileType.BBCLASSIC_INSTALLER) {\n await BBPlatformClient.downloadBuildboxClient(null, \"BB2\");\n }\n else {\n console.error(\"error: unexpected state for download click\")\n }\n } catch(error){\n console.error(\"error: \", error)\n // TODO: handle error\n dispatch(setErrorState({\n title: \"Error generating Story Game download\",\n message: bbaiStoryGamePromptOptions[bbaiStore.promptStepStatus]?.errPrompt,\n }));\n }\n };\n\n const MobileRender = () => {\n return (\n
\n

{bbaiStoryGamePromptOptions[\"COMPLETE_MOBILE\"].prompt}

\n \n
\n );\n };\n\n const playBit = () => {\n // sendCustomEvent(\"play_bit\")\n handleClickDownloadBBDOC(FileType.BBDOC);\n // window.location.replace( `${Env.BB_DEEP_LINK}${bbdocBitId ? bbdocBitId : \"\"}`);\n }\n\n const DesktopRender = () => {\n return (\n
\n
\n With Buildbox World you can explore and play exciting bits…\n
\n
\n { dynamicLink ? : \"buildbox }\n
\n
\n

{bbaiStoryGamePromptOptions[\"COMPLETE\"].prompt}

\n
    \n
  1. \n Download and install Buildbox Classic:\n
    {\" \"}\n
    \n \"Buildbox handleClickDownloadBBDOC(FileType.BBCLASSIC_INSTALLER)}>Buildbox Classic Installer\n
    \n
  2. \n
  3. \n Download your project file:\n
    {\" \"}\n
    \n \"StoryGame.bbdoc\" handleClickDownloadBBDOC(FileType.BBDOC)}>Your game.bbdoc\n
    \n
  4. \n
  5. Open the .bbdoc file in Buildbox Classic to edit it today!
  6. \n
\n
\n );\n };\n \n return (\n <>\n \n \n \"sender\"\n \n \n \n {isMobile ? : }\n \n \n \n )\n}\n","import React, { useEffect, useRef, useState } from 'react'\nimport { bbaiStoryGamePromptOptions, bbaiStoryGamePromptStepStatus, bbaiUser } from '../constants/bbai.prompts'\nimport currentStoryGame from \"../../../selectors/currentStoryGame\";\nimport PromptMessage from './PromptMessage'\nimport { v4 as uuidv4 } from \"uuid\";\nimport currentUserInfo from \"../../../selectors/currentUserInfo\";\nimport { customEventDataLayerTrigger } from '../../../api/GoogleTagManager'\nimport { useDispatch, useSelector } from 'react-redux';\n// import { BBPlatformClient } from '../../../api/BBPlatform';\nimport { nextStage, setAllAssetsGenerated, setErrorState, setGeneratedCYOAGameData, setProjectId, setTitleImage } from '../../../actions/storyGame';\nimport { validateToken } from '../../../actions/auth';\nimport { cyoaNewId, emplaceCYOAResource, generateClipdropAsset, getBalance } from '../../../api/storyGame';\n\nexport const GeneratingGameAssetsCYOA = () => {\n\n const bbaiStore = useSelector(currentStoryGame)\n const userStore = useSelector(currentUserInfo);\n const dispatch = useDispatch()\n // const userStore = useSelector(currentUserInfo);\n const genAssetsRan = useRef(false) // make sure the useFfect fetch call only \n const startTimer = useRef(false)\n const [generatedDataSuccess, setGeneratedDataSucesss] = useState(false)\n\n useEffect(() => {\n if (bbaiStore.generatedCYOAGameData === null) {\n return;\n }\n if(!genAssetsRan.current && !bbaiStore.completed) {\n startTimer.current = true\n generateCYOAGameAssets();\n\n }\n\n if(bbaiStore.completed){\n dispatch(nextStage())\n }\n return () => {\n // allow the items to run once here\n genAssetsRan.current = true\n }\n // eslint-disable-next-line\n }, [ bbaiStore.generatedCYOAGameData ]); \n\n const generateCYOAGameAssets = async() => {\n // TODO: remove debug\n let skipGenerate = false\n try {\n const refreshedToken = await dispatch(validateToken());\n const userCreditsInfo = await getBalance(refreshedToken)\n\n if (userCreditsInfo.balance < 1) {\n skipGenerate = true;\n\n // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.ERROR_RESTART_REGENERATE)\n }\n\n if (bbaiStore.generatedCYOAGameData === null) { \n console.error(\"ERROR: no game data to generate assets from\")\n }\n\n if(skipGenerate) {\n console.log(\"skipping generating CYOA game assets\")\n }\n else {\n console.log(\"generating CYOA game assets\")\n const refreshedToken = await dispatch(validateToken());\n\n const newProjectID = await cyoaNewId(refreshedToken)\n dispatch(setProjectId(newProjectID))\n //TODO: remove the project id from the known state.\n\n // things to do...\n let jobRequest = {\n prompt: \"\",\n costInVC: 0,\n disableSuggestedOptimizations: true,\n jobId: uuidv4(),\n width: 512,\n height: 896,\n removeBackground: false,\n seed: Math.floor(Math.random() * 1000000),\n webCYOASaveCopyToS3Filename: \"\",\n webCYOAProjectId: newProjectID,\n projectId: newProjectID,\n }\n\n let promisesImages:any[] = []\n\n console.log(\"generating CYOA game assets\", bbaiStore.generatedCYOAGameData)\n // create title screen image\n jobRequest.jobId = uuidv4()\n jobRequest.webCYOASaveCopyToS3Filename = \"title.png\" \n jobRequest.prompt = bbaiStore.generatedCYOAGameData.title.imageDescription\n promisesImages.push(generateClipdropAsset(refreshedToken, jobRequest))\n\n // create win screen image\n jobRequest.jobId = uuidv4()\n jobRequest.webCYOASaveCopyToS3Filename = \"win.png\" \n jobRequest.prompt = bbaiStore.generatedCYOAGameData.win.imageDescription\n promisesImages.push(generateClipdropAsset(refreshedToken, jobRequest))\n\n // create lose screen image\n jobRequest.jobId = uuidv4()\n jobRequest.webCYOASaveCopyToS3Filename = \"lose.png\" \n jobRequest.prompt = bbaiStore.generatedCYOAGameData.lose.imageDescription\n promisesImages.push(generateClipdropAsset(refreshedToken, jobRequest))\n\n // create all chapter images\n let chapterInfo: any[] = bbaiStore.generatedCYOAGameData.chapters\n for(let ii = 0; ii < chapterInfo.length; ii++) {\n const chapter : any = chapterInfo[ii]\n jobRequest.jobId = uuidv4()\n jobRequest.webCYOASaveCopyToS3Filename = `chapter${ii}.png` \n jobRequest.prompt = chapter.imageDescription\n promisesImages.push(generateClipdropAsset(refreshedToken, jobRequest))\n }\n\n // create icon? NYFI\n jobRequest.jobId = uuidv4()\n jobRequest.webCYOASaveCopyToS3Filename = \"icon.png\"\n jobRequest.width = 512\n jobRequest.height = 512\n jobRequest.prompt = \"Make an app icon for a game: \" + bbaiStore.generatedCYOAGameData.title.title + \" \" + bbaiStore.generatedCYOAGameData.title.mission //bbaiStore.generatedCYOAGameData.iconImageDescription\n promisesImages.push(generateClipdropAsset(refreshedToken, jobRequest)) \n\n // TODO: get music?\n // for now let's hardcode it since I'm missing a prompt to send to our system to get a url\n // until then, we'll just put a url manually\n let musicUrl = \"https://frontend-assets.dev.8cell.com/bg.mp3\"\n await emplaceCYOAResource( refreshedToken, newProjectID, \"background_music.mp3\", musicUrl)\n\n const values = await Promise.all(promisesImages)\n \n customEventDataLayerTrigger(\"Web GenAI Images Complete\", userStore.uuid)\n\n await emplaceCYOAResource(refreshedToken, newProjectID, \"background_music.mp3\", musicUrl)\n customEventDataLayerTrigger(\"Web GenAI Sound Complete\", userStore.uuid)\n\n\n // console.debug(\"asset generation complete!\", values)\n // await BBPlatformClient.cyoaConfirmComplete(newProjectID)\n\n dispatch(setTitleImage(values[0].image))\n \n setGeneratedDataSucesss(true)\n dispatch(setAllAssetsGenerated(true))\n // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.BUILD_BBDOC);\n \n dispatch(nextStage())\n }\n } catch (err) {\n console.error(\"ERROR: while generating game assets: \", err)\n skipGenerate = true\n dispatch(setErrorState({\n title: \"Error generating Story Game assets\",\n message: bbaiStoryGamePromptOptions[bbaiStore.promptStepStatus]?.errPrompt,\n })); \n dispatch(setGeneratedCYOAGameData(null))\n // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.ERROR_RESTART_REGENERATE)\n }\n }\n return (\n <>\n \n \n )\n}\n","import React, { useEffect, useRef, useState } from 'react'\nimport { bbaiStoryGamePromptOptions, bbaiStoryGamePromptStepStatus, bbaiUser } from '../constants/bbai.prompts'\nimport PromptMessage from './PromptMessage'\nimport currentStoryGame from \"../../../selectors/currentStoryGame\";\n// import { BBAIPlatformClient } from '../../../api/BBAIPlatform'\nimport { customEventDataLayerTrigger } from '../../../api/GoogleTagManager'\nimport currentUserInfo from \"../../../selectors/currentUserInfo\";\nimport { useDispatch, useSelector } from 'react-redux';\nimport { nextStage, setErrorState, setGeneratedCYOAGameData, setPromptStepState } from '../../../actions/storyGame';\nimport { validateToken } from '../../../actions/auth';\nimport { cyoaGameAsJson } from '../../../api/storyGame';\n\nconst GeneratingGameDataCYOA = () => {\n\n const bbaiStore = useSelector(currentStoryGame)\n const userStore = useSelector(currentUserInfo);\n const generateDataCYOA = useRef(false) // make sure the useFfect fetch call only runs once\n const startTimer = useRef(false)\n const [generatedDataSuccess, setGeneratedDataSucesss] = useState(false)\n const dispatch = useDispatch()\n\n useEffect(() => { \n let interval: any;\n /// TODO: generate the game data here, then next step\n \n if(bbaiStore.userStoryPrompt.length > 0 && generateDataCYOA.current === false && !bbaiStore.completed){\n const bodyGenAI = {\n UserID: userStore.uuid,\n genai_question: bbaiStoryGamePromptOptions[\"INITIAL\"].prompt,\n genai_user_response: bbaiStore.userStoryPrompt,\n genai_skipped: false,\n }\n customEventDataLayerTrigger(\"Web GenAI Prompt\", userStore.uuid, bodyGenAI)\n startTimer.current = true\n generateCYOAGameData(bbaiStore.userStoryPrompt)\n \n }\n\n if(bbaiStore.completed){\n console.log(\"is it completed? \", bbaiStore.completed)\n dispatch(nextStage())\n }\n\n return () => {\n generateDataCYOA.current = true\n clearInterval(interval);\n }\n // eslint-disable-next-line\n }, [])\n\n const generateCYOAGameData = async(\n userPrompt: string,\n ) => {\n \n dispatch(setPromptStepState(bbaiStoryGamePromptStepStatus.GENERATING_GAME_DATA))\n const numberOfChapters = 10\n // even this request can take awhile, I'm nervous to await it... ?\n // console.log(\"request cyoa with user input: \", userPrompt, \" and \", numberOfChapters, \" chapters\")\n // TODO: catch and handle error?\n\n try{\n const refreshedToken = await dispatch(validateToken());\n const genJob = await cyoaGameAsJson(refreshedToken, userPrompt, numberOfChapters)\n console.log(\"got game data: \", genJob)\n dispatch(setGeneratedCYOAGameData(genJob))\n \n customEventDataLayerTrigger(\"Web GenAI Generate\", userStore.uuid)\n \n setGeneratedDataSucesss(true)\n dispatch(nextStage()) \n // AP: move on to generate assets automatically? how?\n console.log(\"got game data; TODO: generate assets from it\") \n } catch(err) {\n console.error(\"ERROR: \", err)\n dispatch(setErrorState({\n title: \"Error Generating Story Game Data\",\n message: \"There was an error generating your Story game data. Please try again later.\",\n }));\n startTimer.current = false\n // unauthorizedErrorHandler?.();\n // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.ERROR_RESTART_REGENERATE)\n }\n }\n return (\n <>\n \n \n )\n}\n\nexport default GeneratingGameDataCYOA","import React, { FunctionComponent } from \"react\";\n// import useNewCYOAStore from \"../../../newCYOAStore\";\nimport styles from \"../../../styles/PromptMessage.module.css\";\nimport { useHistory } from \"react-router-dom\";\n\ninterface LoginPromptProps {\n}\nconst LoginPrompt: FunctionComponent = () => {\n const history = useHistory();\n const handleLogin = () => {\n\n history.push(\"/login\")\n }\n return (\n <>\n

\n To continue, handleLogin()}>Create an Account or handleLogin()}>Log-In\n

\n \n );\n}\n\nexport default LoginPrompt;","// import { BBPlatformClient } from \"../api/BBPlatform\";\n// import { PostSSOTokensDTO } from \"../constants/GenPrompTypes\";\n// import jwt, { JwtPayload } from 'jwt-decode'\n// import Env from \"../Env\";\n\n\nexport const generateTokenForSSO = async (): Promise => {\n\n // const tokens = BBPlatformClient.getUnexpiredTokens()\n\n const tokens = \"\"\n\n if(!tokens){\n console.debug(\"No tokens founds\")\n return \"\"\n }\n\n // const decodedToken = jwt(tokens.AccessToken)\n\n // if(decodedToken.exp === undefined || decodedToken.exp > (new Date().getTime())){\n // console.debug(\"Access token expired, generating new token\")\n // return \"\"\n // }\n\n // const reqBody:PostSSOTokensDTO = {\n // clientId: Env.APP_CLIENT_ID,\n // clientSecret: \"\",\n // refreshToken: tokens.RefreshToken,\n // accessToken: tokens.AccessToken,\n // }\n \n // const token = await BBPlatformClient.getSSOToken(reqBody);\n \n const token = \"\"\n return token\n}\n","import React from 'react'\nimport { Col, Row } from 'antd'\nimport { bbaiUser } from '../constants/bbai.prompts'\nimport styles from \"../../../styles/PromptMessage.module.css\";\n// import currentStoryGame from \"../../../selectors/currentStoryGame\";\nimport { generateTokenForSSO } from '../../../utils/CognitoHelper';\nimport Env from '../../../Env';\n\nconst ErrorOutOfCreditsCYOA = () => {\n\n const navigateTo = (url: string) => {\n window.location.replace(url);\n }\n\n const setTokenQuery = async (baseUrl: string) => {\n\n console.log(\"WE are here lets goo\")\n const token = await generateTokenForSSO()\n \n const urltoken = token === \"\"? baseUrl : `${baseUrl}?token=${token}`\n\n console.debug(\"setTokenQuery\", urltoken)\n navigateTo(urltoken);\n }\n \n return (\n <>\n \n \n \"sender\"\n \n \n

\n Our AI loved making free StoryGames for you! They are ready to make more for you once you upgrade to any paid plan by tapping setTokenQuery(Env.VIEW_PLANS_URL as string)}>HERE\n

\n \n \n \n )\n}\n\nexport default ErrorOutOfCreditsCYOA","import React,{ ReactElement, useEffect, useState } from 'react'\nimport { bbaiStoryGamePromptOptions, bbaiStoryGamePromptStepStatus, bbaiUser, defaultUser } from '../constants/bbai.prompts'\nimport PromptMessage from './PromptMessage'\nimport currentStoryGame from \"../../../selectors/currentStoryGame\";\nimport LoginPrompt from './LoginPrompt'\n// import { BBPlatformClient } from '../../../api/BBPlatform'\nimport ErrorOutOfCreditsCYOA from './ErrorOutOfCreditsCYOA'\nimport { useDispatch, useSelector } from 'react-redux';\nimport { nextStage, setErrorState } from '../../../actions/storyGame';\nimport { validateToken } from '../../../actions/auth';\nimport { getBalance } from '../../../api/storyGame';\nimport currentUserInfo from '../../../selectors/currentUserInfo';\n\nconst InitialCYOAPrompt = (): ReactElement => {\n const [userStoryPrompt, setUserStoryPrompt] = useState(\"\")\n const [notEnoughCreditsError, setNotEnoughCreditsError] = useState(false)\n\n const bbaiStore = useSelector(currentStoryGame)\n const userStore = useSelector(currentUserInfo)\n\n const dispatch = useDispatch()\n \n useEffect(() => {\n if(bbaiStore.userStoryPrompt.length > 0){\n setUserStoryPrompt(bbaiStore.userStoryPrompt)\n if( userStore && !bbaiStore.completed){\n CheckIfUserHasEnoughCredits()\n }\n } else {\n setUserStoryPrompt(\"\")\n }\n // eslint-disable-next-line\n }, [bbaiStore.userStoryPrompt, notEnoughCreditsError, bbaiStore.gameDataRestartID])\n\n const CheckIfUserHasEnoughCredits = async() => {\n try{\n \n const refreshedToken = await dispatch(validateToken());\n const userCreditsInfo = await getBalance(refreshedToken)\n console.log(\"userCreditsInfo\", userCreditsInfo )\n if (userCreditsInfo.balance < 1) {\n setNotEnoughCreditsError(true)\n \n // bbaiStore.setPromptStepState(bbaiStoryGamePromptStepStatus.ERROR_RESTART_REGENERATE) \n }\n \n dispatch(nextStage())\n\n }catch(error){\n console.error(\"error checking user credits\", error)\n dispatch(setErrorState({\n title: \"Error ran out of Story Game credts\",\n message: \"You have run out of Story Game credits. Please purchase more credits to continue.\",\n }));\n }\n }\n\n return (\n <>\n \n\n { userStoryPrompt.length > 0 && \n \n }\n {notEnoughCreditsError && }\n\n { userStoryPrompt.length > 0 && !userStore && } message={\"\"} user={bbaiUser}\n completed={bbaiStore.completed}\n /> }\n \n )\n}\n\nexport default InitialCYOAPrompt","import React from \"react\";\nimport BuildBBDocCYOA from \"../components/BuildBBDocCYOA\";\nimport { DownloadBBDocCYOA } from \"../components/DownloadBBDocCYOA\";\nimport { GeneratingGameAssetsCYOA } from \"../components/GeneratingGameAssetsCYOA\";\nimport GeneratingGameDataCYOA from \"../components/GeneratingGameDataCYOA\";\nimport InitialCYOAPrompt from \"../components/InitialCYOAPrompt\";\nimport { Display } from \"./bbai.prompts\";\n\nexport const mapPromptToDisplay: Record = {\n \"INITIAL\": {\n Component: ,\n stage: 0,\n nextStage: \"GENERATING_GAME_DATA\"\n },\n \"GENERATING_GAME_DATA\": {\n Component: ,\n stage: 1,\n nextStage: \"GENERATING_GAME_ASSETS\"\n },\n \"GENERATING_GAME_ASSETS\": {\n Component: ,\n stage: 2,\n nextStage: \"BUILD_BBDOC\"\n },\n \"BUILD_BBDOC\": {\n Component: ,\n stage: 3,\n nextStage: \"DOWNLOAD_BBDOC\"\n }, \n \"DOWNLOAD_BBDOC\": {\n Component: ,\n stage: 4,\n nextStage: \"\"\n }\n};","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMcAAAAyCAYAAADoWs9sAAAACXBIWXMAAC4jAAAuIwF4pT92AAAGmmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxNDggNzkuMTY0MDM2LCAyMDE5LzA4LzEzLTAxOjA2OjU3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKE1hY2ludG9zaCkiIHhtcDpDcmVhdGVEYXRlPSIyMDIwLTAzLTMxVDE2OjU1OjU5LTA3OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMC0wMy0zMVQxNjo1Njo0NC0wNzowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wMy0zMVQxNjo1Njo0NC0wNzowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpjYjRjZGEwZC0wNmI3LTQ1MzEtYTQ2YS01NjgyNDcyY2NmNWQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Y2I0Y2RhMGQtMDZiNy00NTMxLWE0NmEtNTY4MjQ3MmNjZjVkIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2I0Y2RhMGQtMDZiNy00NTMxLWE0NmEtNTY4MjQ3MmNjZjVkIj4gPHhtcE1NOkluZ3JlZGllbnRzPiA8cmRmOkJhZz4gPHJkZjpsaSBzdFJlZjpsaW5rRm9ybT0iUmVmZXJlbmNlU3RyZWFtIiBzdFJlZjpmaWxlUGF0aD0iY2xvdWQtYXNzZXQ6Ly9jYy1hcGktc3RvcmFnZS5hZG9iZS5pby9hc3NldHMvYWRvYmUtbGlicmFyaWVzL2NkM2NmOTdjLTNmZTEtNGYzYi1hM2UyLTk0NTdmODIyNDcxMjtub2RlPTE1ZjdhYTI2LTg2ZTctNDlhZS05Zjk3LTk2MzVmNjRmMjc3ZiIgc3RSZWY6RG9jdW1lbnRJRD0idXVpZDowMDJjMzIwNy1jNDYwLWFhNDAtOWVhYy01MDNhZDFkZjJlNTIiLz4gPC9yZGY6QmFnPiA8L3htcE1NOkluZ3JlZGllbnRzPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmNiNGNkYTBkLTA2YjctNDUzMS1hNDZhLTU2ODI0NzJjY2Y1ZCIgc3RFdnQ6d2hlbj0iMjAyMC0wMy0zMVQxNjo1NTo1OS0wNzowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKE1hY2ludG9zaCkiLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+NR+QggAACkpJREFUeJztnXuQXEUVh7+zCWyIPJaHEMuALIJREDMihSIYtRBEipDI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\"","import Log from \"../utils/Log\";\nimport { v4 } from \"uuid\";\nimport actions from \"../constants/actions.json\";\nimport { DefaultThunkAction } from \"./shared\";\nimport { AnyAction } from \"redux\";\nimport PLANS_JSON from \"../constants/planMetadata\";\nimport { showError } from \"./error\";\nimport { setProductType } from \"./current\";\nimport { PlanIds } from \"../reducers/models\";\n\nexport function addPlanToCart(\n planId: PlanIds,\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n //TODO: Currently cart processes one item at a time - should be more dynamic as we add in more inventory/assets\n\n try {\n const subscriptionPlan: bb.model.ISubscription = PLANS_JSON[planId];\n\n if (subscriptionPlan.productType) {\n dispatch(setProductType(subscriptionPlan.productType))\n }\n else {\n throw new Error(\"Can't purchase right now, we lost track of the cart. Please try again.\")\n }\n\n //maybe move this into analytics action?\n sessionStorage.setItem(\"planType\", subscriptionPlan.planType);\n\n const planPurchaseObject = {\n cartId: v4(),\n item: subscriptionPlan,\n seatQuantity: 1,\n };\n\n await dispatch(addToCart([planPurchaseObject]));\n } catch (e:any) {\n dispatch(\n showError(\n \"Sorry something went wrong while adding your item to cart. Please try again.\"\n )\n );\n Log.error(e, \"error dispatching addPlanToCart:\");\n }\n };\n}\n\nexport function addToCart(items: bb.model.IPurchaseItem[]): AnyAction {\n return {\n type: actions.cart.ADD_TO_CART,\n items,\n };\n}\n\nexport function clearCart(): AnyAction {\n return {\n type: actions.cart.CLEAR_CART,\n };\n}\n\nexport function removeFromCart(cartId: string): AnyAction {\n return {\n type: actions.cart.REMOVE_FROM_CART,\n cartId,\n };\n}\n\nexport function updateSeatQuantity(cartId: string, quantity: number) {\n return {\n type: actions.cart.UPDATE_SEAT_QUANTITY,\n cartId,\n quantity,\n };\n}\n","import { formatUNIXTimestamp } from \"../utils/helperUtils\";\n\n//used to format plan information for user account subscription pages\n\nexport function mapToPlan(\n subscriptions: bb.model.account.ISubscriptionInfo[],\n plans: bb.model.account.IStripePlans,\n invoices: bb.model.account.IStripeInvoice[],\n devices: bb.model.account.IDevices[]\n): bb.model.account.ICurrentPlan[] {\n const hasSameIds = hasDuplicateIds(subscriptions);\n\n return subscriptions.map((subscription) => {\n let billing;\n let checkStr = subscription.planInfo.product?.toLowerCase()\n let foundPlan: bb.model.account.IStripePlan | null | undefined\n let planName: string | undefined\n\n if (subscription.billingInfo) {\n billing = {\n brand: subscription.billingInfo.cardInfo.brand?.toUpperCase(),\n expiryMonth: subscription.billingInfo.cardInfo.expMonth,\n expiryYear: subscription.billingInfo.cardInfo.expYear,\n lastFour: `**** **** **** ${subscription.billingInfo.cardInfo.last4}`,\n };\n }\n\n // soundbox comes in here for account subscription tab, but it's different\n if(checkStr === \"soundbox\") {\n foundPlan = plans[\"SoundboxPlan\"]\n // TODO BUILDBOX4 Release, this used to say 'Buildbox 3' instead of 'Soundbox' but that was probably wrong, right?\n planName = \"Soundbox \" + foundPlan?.name\n return {\n subscriptionId: subscription.id,\n product: subscription.planInfo.product,\n planName: planName,\n seatQuantity: \"0\",\n totalSeats: \"0\",\n status:\n subscription.planInfo.status[0].toUpperCase() +\n subscription.planInfo.status.substring(1),\n billingInterval: mapBillingInterval(subscription.planInfo.interval),\n nextPaymentDate: formatUNIXTimestamp(\n subscription.currentPeriodEnd * 1000\n ),\n paymentAmount: ((subscription.planInfo.amount || 0) / 100).toString(),\n billingInfo: billing,\n selectedPlanSpecs: {\n // supportedModules: mapSupportedModules(foundPlan),\n // availableWorlds: foundPlan?.worlds,\n // availableSections: foundPlan?.sections,\n // brandedSplashScreen: foundPlan?.isCustomSplashScreenAllowed,\n },\n devices: devices,\n upgradeAvailable: foundPlan?.isPlanUpgradeAvailable,\n duplicateIds: hasSameIds,\n subscriptionTier: foundPlan?.name,\n };\n }\n\n // handle Buildbox products similarly, since they have plan feature lists\n if(checkStr === \"bb4\") {\n foundPlan = plans[\"BB4Plan\"]\n planName = \"Buildbox 4 \" + foundPlan?.name\n } \n else if(checkStr === \"bb3\") {\n foundPlan = plans[\"BB3Plan\"]\n planName = \"Buildbox 3 \" + foundPlan?.name\n }\n else if(checkStr === \"bb2\") {\n foundPlan = plans[\"BB2Plan\"]\n planName = \"Buildbox Classic \" + foundPlan?.name\n }\n else {\n let errMsg = \"unrecognized product in plan info: \" + subscription.planInfo.product\n console.error(errMsg)\n throw new Error(errMsg)\n }\n \n return {\n subscriptionId: subscription.id,\n product: subscription.planInfo.product,\n planName: planName,\n seatQuantity: \"0\",\n totalSeats: \"0\",\n status:\n subscription.planInfo.status[0].toUpperCase() +\n subscription.planInfo.status.substring(1),\n billingInterval: mapBillingInterval(subscription.planInfo.interval),\n nextPaymentDate: formatUNIXTimestamp(\n subscription.currentPeriodEnd * 1000\n ),\n paymentAmount:\n hasSameIds && subscription.planInfo.product === \"BB2\"\n ? \"0.00\"\n : ((subscription.planInfo.amount || 0) / 100).toString(),\n billingInfo: billing,\n selectedPlanSpecs: {\n supportedModules: mapSupportedModules(foundPlan),\n availableWorlds: foundPlan?.worlds,\n availableSections: foundPlan?.sections,\n brandedSplashScreen: foundPlan?.isCustomSplashScreenAllowed,\n },\n devices: devices,\n upgradeAvailable: foundPlan?.isPlanUpgradeAvailable,\n duplicateIds: hasSameIds,\n subscriptionTier: foundPlan?.name,\n };\n });\n}\n\n/*\n * devices payload from backend has been updated:\n const payloadBB2: UserMachineInfo[] = await this.machineInfoBB2.retrieveMachines(userId, activeBool)\n const payloadBB3: UserMachineInfo[] = await this.machineInfoBB3.retrieveMachines(userId, activeBool)\n const payloadBB4: UserMachineInfo[] = await this.machineInfoBB4.retrieveMachines(userId, activeBool)\n const payloadSoundbox: UserMachineInfo[] = await this.machineInfoSoundbox.retrieveMachines(userId, activeBool)\n const fullPayload = {\n BB2: payloadBB2,\n BB3: payloadBB3,\n BB4: payloadBB4,\n Soundbox: payloadSoundbox,\n }\n */\nexport function mapToFreePlan(\n plans: bb.model.account.IStripePlans,\n devices: { [key: string]: bb.model.account.IDevices[] }\n): bb.model.account.ICurrentPlan[] {\n // filter out \"Soundbox Free\" plan since it doesn't actually confer any benefit\n const plansArray = Object.entries(plans).filter((plan) => plan[1] && !(plan[0] === \"SoundboxPlan\" && plan[1].name.toLowerCase().includes(\"free\")));\n\n const billing = {\n brand: \"\",\n expiryMonth: 0,\n expiryYear: 0,\n lastFour: \"N/A\",\n };\n\n return plansArray.map((plan) => {\n const planDetail = plan[1];\n\n let planType = plan[0]\n let product: string | undefined\n let planName: string | undefined\n if(planType === \"BB4Plan\") {\n product = \"BB4\" \n planName = \"Buildbox 4 \" + planDetail.name\n } \n else if(planType === \"BB3Plan\") {\n product = \"BB3\" \n planName = \"Buildbox 3 \" + planDetail.name\n }\n else if(planType === \"BB2Plan\") {\n product = \"BB2\"\n planName = \"Buildbox Classic \" + planDetail.name\n }\n else if(planType === \"SoundboxPlan\") {\n product = \"Soundbox\"\n planName = \"Soundbox \" + planDetail.name\n }\n else {\n console.error(\"unexpected plan info: \", plan)\n product = \"Unknown\"\n planName = \"\" + planDetail.name\n }\n let planDevices : bb.model.account.IDevices[] = []\n if(devices[product]) {\n planDevices = devices[product]\n }\n\n return {\n subscriptionId: \"\",\n product: product,\n planName: planName,\n seatQuantity: \"0\",\n totalSeats: \"0\",\n status: \"Active\",\n billingInterval: \"-\",\n nextPaymentDate: \"-\",\n paymentAmount: \"0\",\n billingInfo: billing,\n selectedPlanSpecs: {\n supportedModules: mapSupportedModules(planDetail),\n availableWorlds: planDetail.worlds,\n availableSections: planDetail.sections,\n brandedSplashScreen: planDetail.isCustomSplashScreenAllowed,\n },\n devices: planDevices,\n upgradeAvailable: planDetail.isPlanUpgradeAvailable,\n subscriptionTier: planDetail.name,\n };\n });\n}\n\nexport function mapBillingInterval(interval: string): string {\n switch (interval) {\n case \"year\":\n return \"Annual\";\n case \"month\":\n return \"Monthly\";\n default:\n return interval;\n }\n}\n\nexport function mapSupportedModules(plans: any | null): string[] {\n const modules = [];\n for (let supportedMod in plans) {\n if (plans[supportedMod]) {\n switch (supportedMod) {\n case \"exportIOS\":\n modules.push(\"IOS\");\n break;\n case \"exportOSX\":\n modules.push(\"OSX\");\n break;\n case \"exportWin32exe\":\n modules.push(\"Windows EXE\");\n break;\n case \"exportAndroid\":\n modules.push(\"Android\");\n break;\n case \"exportAmazon\":\n modules.push(\"Amazon\");\n break;\n }\n }\n }\n\n return modules;\n}\n\nexport function hasDuplicateIds(\n subscriptions: bb.model.account.ISubscriptionInfo[]\n) {\n const idArray = subscriptions.map((sub) => sub.planInfo.id);\n return new Set(idArray).size !== idArray.length;\n}\n","import { WorkState } from \"./../reducers/models\";\nimport {\n setPurchaseState,\n setPlanFetchWorkState,\n setInvoicesFetchWorkState,\n} from \"./current\";\nimport Log from \"../utils/Log\";\nimport actions from \"../constants/actions.json\";\nimport { DefaultThunkAction } from \"./shared\";\nimport { AnyAction } from \"redux\";\nimport { showError } from \"./error\";\nimport { \n accountlessUpdateSubscription, \n getUserSubscriptionProviders, \n getXsollaPaystationTokenForSubscription, \n renewSubscription,\n startStripeCheckoutSession, \n updateSubscription \n} from \"../api/subscription\";\nimport {\n fetchUserPlan,\n // fetchBillingInfo,\n updateBillingInfo,\n fetchUserDevices,\n fetchUserEligibleRenewal,\n addUserToWaitlist\n} from \"../api/account\";\nimport { validateToken } from \"./auth\";\nimport { setAnalyticsPurchaseEvent } from \"./analytics\";\nimport { mapToFreePlan } from \"../utils/accountUtils\";\nimport { formatUNIXTimestamp } from \"../utils/helperUtils\";\nimport { analyticProductTypes } from \"../shared/utility\";\nimport { WaitlistFormFields } from \"../components/home/WaitlistForm\";\n\nexport function beginXsollaCheckoutSession(email: string|undefined, parentSessionId: string|null): DefaultThunkAction> {\n return async (dispatch, getState) => {\n const { auth } = getState();\n const { cart } = getState();\n\n dispatch(setPurchaseState(WorkState.Loading));\n try {\n if(!email && auth.user) {\n console.log(\"using email from logged in user: \", auth.user.email)\n email = auth.user.email\n }\n else if(email) {\n console.log(\"using email from passed in email: \", email)\n }\n else {\n console.log(\"no email available, will be guest checkout session\")\n }\n\n if(cart.items.length !== 1) {\n throw new Error(\"Plans must be purchased one at a time and your cart contains \" + cart.items.length + \" items, if this is unexpected please contact support at support@buildbox.com.\");\n }\n\n const { item } = cart.items[0];\n // get xsolla plan id and product id from plan info\n let xsollaProductId = null;\n let xsollaPlanId;\n if (process.env.REACT_APP_XSOLLA_ENV === \"production\") {\n xsollaPlanId = item.xsollaId[item.planInterval];\n xsollaProductId = item.xsollaProductId;\n } \n else {\n xsollaPlanId = item.xsollaIdDev[item.planInterval];\n xsollaProductId = item.xsollaProductIdDev;\n }\n\n const { productType, planType, /*analyticsTierName*/ } = item;\n sessionStorage.setItem(\"productType\", productType);\n\n let refreshedToken\n if(auth?.user?.uuid) {\n refreshedToken = await dispatch(validateToken()) \n }\n const response = await getXsollaPaystationTokenForSubscription(\n refreshedToken,\n xsollaPlanId,\n xsollaProductId,\n productType,\n planType,\n parentSessionId,\n email,\n );\n\n dispatch(setPurchaseState(WorkState.None));\n return response;\n } \n catch (error:any) {\n console.log(\"account got error beginXsollaCheckoutSession\", error)\n dispatch(setPurchaseState(WorkState.Error));\n throw error;\n }\n };\n}\n\nexport function beginStripeCheckoutSession(\n embedded: boolean,\n quantity: number,\n parentSessionId: string|null, // used to connect steps during Upsell flow\n couponCode?: string,\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n const { auth } = getState();\n const { cart } = getState();\n\n dispatch(setPurchaseState(WorkState.Loading));\n try {\n let email\n\n if(auth.user) {\n email = auth.user.email\n }\n\n if(cart.items.length !== 1) {\n throw new Error(\"Plans must be purchased one at a time and your cart contains \" + cart.items.length + \" items, if this is unexpected please contact support at support@buildbox.com.\");\n }\n\n const { item } = cart.items[0];\n let stripePlanId;\n if (process.env.REACT_APP_STAGE === \"production\") {\n stripePlanId = item.stripeId[item.planInterval];\n }\n else {\n stripePlanId = item.stripeIdDev[item.planInterval];\n }\n\n // if item doesn't allow discounts, remove any coupon code\n // if we send it to stripe we can get a \"coupon does not apply\" error from Stripe Checkout\n if(!item.discountsAllowed) {\n couponCode = undefined;\n } \n\n const { productType, planType, /*analyticsTierName*/ } = item;\n sessionStorage.setItem(\"productType\", productType);\n\n let refreshedToken\n if(auth?.user?.uuid) {\n refreshedToken = await dispatch(validateToken()) \n }\n const sessionResponse = await startStripeCheckoutSession(\n refreshedToken,\n embedded,\n stripePlanId,\n quantity,\n productType,\n planType,\n parentSessionId,\n email,\n couponCode,\n );\n\n dispatch(setPurchaseState(WorkState.None));\n return sessionResponse;\n } catch (error:any) {\n console.log(\"account got error beginStripeCheckoutSession\", error)\n dispatch(setPurchaseState(WorkState.Error));\n throw error;\n }\n };\n}\n\n// AP: kinda weird that apparently Stripe purchases come here but Xsolla purchases don't\nexport function purchasePlan(\n stripePaymentId: string,\n quantity: number,\n purchaseCost: number | null,\n saleCode: string | null,\n name: string,\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n const { auth } = getState();\n const { cart } = getState();\n\n dispatch(setPurchaseState(WorkState.Loading));\n try {\n let email\n let uuid\n \n if(!auth?.user?.uuid ){\n email = auth.accountlessPurchaseEmail\n } \n else {\n email = auth?.user?.email;\n uuid = auth?.user?.uuid;\n }\n\n if(cart.items.length !== 1) {\n throw new Error(\"Plans must be purchased one at a time and your cart contains \" + cart.items.length + \" items, if this is unexpected please contact support.\");\n }\n\n const { item } = cart.items[0];\n let stripePlanId;\n if (process.env.REACT_APP_STAGE === \"production\") {\n stripePlanId = item.stripeId[item.planInterval];\n }\n else {\n stripePlanId = item.stripeIdDev[item.planInterval];\n }\n\n const { productType, analyticsTierName } = item;\n\n // AP: quickfix try for an error where productType wasn't available in sessionStorage;\n // more importantly though I'm adding productType just into the function params, duh\n const sessionProductType = sessionStorage.getItem(\"productType\");\n if(productType && !sessionProductType) {\n sessionStorage.setItem(\"productType\", productType);\n }\n\n if(uuid) {\n const refreshedToken = await dispatch(validateToken()) \n await updateSubscription(\n refreshedToken,\n productType,\n stripePaymentId,\n stripePlanId,\n quantity,\n purchaseCost,\n saleCode,\n name,\n email\n );\n }\n else {\n await accountlessUpdateSubscription(\n productType,\n stripePaymentId,\n stripePlanId,\n quantity,\n purchaseCost,\n saleCode,\n name,\n email\n );\n }\n\n const product = analyticProductTypes[productType];\n\n //send analytics purchase request\n await dispatch(\n setAnalyticsPurchaseEvent(email, uuid, analyticsTierName, item.planInterval, product)\n );\n\n dispatch(setPurchaseState(WorkState.Success));\n } catch (error:any) {\n Log.error(error, \"Error dispatching action: purchasePlan\");\n dispatch(setPurchaseState(WorkState.Error));\n\n throw error;\n }\n };\n}\n\nexport function renewPlan(\n stripePaymentId: string,\n quantity: number,\n purchaseCost: number | null,\n saleCode: string | null,\n name: string,\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n const { auth } = getState();\n const { cart } = getState();\n\n dispatch(setPurchaseState(WorkState.Loading));\n try {\n //TODO: how do we handle multiple plan versions in one cart in the future\n let email = \"\"\n let uuid = \"\"\n \n if(!auth?.user?.uuid ){\n email = auth.accountlessPurchaseEmail\n } else {\n email = auth?.user?.email;\n uuid = auth?.user?.uuid;\n\n }\n\n const { item } = cart.items[0];\n let stripePlanId;\n if (process.env.REACT_APP_STAGE === \"production\") {\n stripePlanId = item.stripeId[item.planInterval];\n }\n else {\n stripePlanId = item.stripeIdDev[item.planInterval];\n }\n\n const { productType, analyticsTierName } = item;\n\n if (!uuid || !stripePaymentId || !item || !item.planInterval || !stripePlanId) {\n dispatch(setPurchaseState(WorkState.Error));\n\n Log.error(\n `Found empty value for: id: ${stripePaymentId}, uuid: ${uuid}, plan interval: ${item.planInterval}, item: ${item}, stripeplanid: ${stripePlanId}`,\n \"Missing values in renew Plan action\"\n );\n throw new Error(\n \"Sorry, something went wrong. You have not been charged. Please return to signup.buildbox.com/login and try again.\"\n );\n }\n\n const refreshedToken = await dispatch(validateToken());\n\n const subscriptionUpdateResponse = await renewSubscription(\n refreshedToken,\n productType,\n stripePaymentId,\n );\n \n const product = analyticProductTypes[productType];\n\n dispatch(setUpcomingInvoice(subscriptionUpdateResponse.payload))\n \n //send analytics purchase request\n await dispatch(\n setAnalyticsPurchaseEvent(email, uuid, analyticsTierName, item.planInterval, product)\n );\n\n dispatch(setPurchaseState(WorkState.Success));\n } catch (error:any) {\n Log.error(error, \"Error dispatching action: purchasePlan\");\n dispatch(setPurchaseState(WorkState.Error));\n\n throw error;\n }\n };\n}\n\nexport function fetchAccountData(): DefaultThunkAction> {\n return async (dispatch) => {\n await dispatch(fetchCurrentPlans());\n };\n}\n\n//fetches the current user plan info and sets it into account reducer\nexport function fetchCurrentPlans(): DefaultThunkAction> {\n // accessToken: string\n return async (dispatch, getState) => {\n const { auth } = getState();\n dispatch(setPlanFetchWorkState(WorkState.Loading));\n try {\n if (auth == null) {\n throw new Error(\n \"We can't get your plan info because you are not logged in.\"\n );\n }\n\n const refreshedToken = ((await dispatch(\n validateToken()\n )) as unknown) as string;\n\n let planData: bb.model.account.IStripePlans;\n // let subs;\n let devices: { [key: string]: bb.model.account.IDevices[] } = {};\n let eligibleRenewal: bb.model.account.IEligibleRenewal = {\n bb2: false,\n bb3: false,\n bb4: false,\n bbbundle: false,\n soundbox: false\n };\n\n try {\n planData = await fetchUserPlan(refreshedToken);\n } catch (error:any) {\n Log.trace(error, \"Error fetching billing info\");\n throw new Error(\"We had an issue with looking up your plan info.\");\n }\n\n // TODO re-enable this when the endpoint is fixed to account for Xsolla\n // it can be ommitted for now because we don't currently display any of this info\n // try {\n // // @ts-ignore\n // subs = await fetchBillingInfo(refreshedToken);\n // } catch (error:any) {\n // Log.trace(error, \"Error fetching billing info\");\n // }\n\n try {\n devices = await fetchUserDevices(refreshedToken, auth.user.uuid);\n } catch (error:any) {\n Log.trace(error, \"Error fetching machine data\");\n throw new Error(\n \"We had an issue with looking up your subscription seat usage.\"\n );\n }\n\n try {\n eligibleRenewal = await fetchUserEligibleRenewal(refreshedToken, auth.user.uuid)\n }catch (error) {\n Log.trace(error, \"Error fetch User Eligible Renewal\");\n throw new Error(\n \"We had an issue with looking up your renewal eligibility.\"\n );\n }\n // const invoices = subs.invoices;\n let planInfo: bb.model.account.ICurrentPlan[];\n // TODO re-enable this when the endpoint is fixed to account for Xsolla\n // it can be ommitted for now because we don't currently display any of this info\n // if (subs.subscriptionInfo.length === 0) {\n planInfo = mapToFreePlan(planData, devices);\n // } else {\n // planInfo = mapToPlan(\n // subs.subscriptionInfo,\n // planData,\n // invoices,\n // devices\n // );\n // }\n\n dispatch(setCurrentPlans(planInfo));\n\n dispatch(setEligibleRenewal(eligibleRenewal))\n\n // await dispatch(fetchInvoices(invoices));\n dispatch(setPlanFetchWorkState(WorkState.None));\n } catch (e:any) {\n Log.error(e, \"Error dispatching: fetchCurrentPlan\");\n dispatch(setPlanFetchWorkState(WorkState.Error));\n\n if (e) {\n let message = e.message\n dispatch(showError(message));\n } else {\n dispatch(\n showError(\"There was an error fetching your current plan information\")\n );\n }\n }\n };\n}\n\n//fetches invoices on /account/subscription page\n\nexport function fetchInvoices(\n invoices: bb.model.account.IStripeInvoice[]\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n dispatch(setInvoicesFetchWorkState(WorkState.Loading));\n try {\n //TODO: call real invoices endpoint here\n\n const invoicesInfo: bb.model.account.IInvoice[] = invoices.map(\n (invoice) => {\n return {\n id: invoice.id,\n description: invoice.description,\n paidAt: formatUNIXTimestamp(invoice.paidAt * 1000),\n currency: invoice.currency.toUpperCase(),\n amountPaid: (invoice.amountPaid / 100).toString(),\n pdfUrl: invoice.pdfUrl,\n };\n }\n );\n\n dispatch(setInvoices(invoicesInfo));\n\n dispatch(setInvoicesFetchWorkState(WorkState.None));\n } catch (e:any) {\n dispatch(setInvoices([]));\n dispatch(setInvoicesFetchWorkState(WorkState.Error));\n }\n };\n}\n\n// updates billing info on /account/subscription/billing page\n\nexport function updateBilling(\n subscriptionId: string,\n paymentId: string\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n getState();\n dispatch(setPlanFetchWorkState(WorkState.Loading));\n try {\n const refreshedToken = await dispatch(validateToken());\n\n await updateBillingInfo(\n refreshedToken,\n \"stripe\",\n subscriptionId,\n paymentId\n );\n } catch (error:any) {\n let message = error.message\n dispatch(showError(message));\n }\n };\n}\n\n// add user to waitlist\nexport function addWaitlistUser(\n userInfo: WaitlistFormFields\n): DefaultThunkAction> {\n return async (dispatch) => {\n // const refreshedToken = ((await dispatch(\n // validateToken()\n // )) as unknown) as string;\n\n try {\n await addUserToWaitlist(userInfo);\n } catch (error:any) {\n Log.error(error, \"Error dispatching: addWaitlistUser\");\n dispatch(showError(\"There was an error adding you to the waitlist\"));\n }\n }\n}\n\nexport function fetchPlanProvider (): DefaultThunkAction> {\n return async (dispatch) => {\n try{ \n const refreshedToken = await dispatch(validateToken());\n\n const planData = await fetchUserPlan(refreshedToken);\n const userPlanProviders = await getUserSubscriptionProviders(\n refreshedToken\n );\n\n const plansAndProviders: bb.model.account.IPlans = {\n bb2: {\n plan: planData.BB2Plan,\n provider: userPlanProviders.bb2\n },\n bb3: {\n plan: planData.BB3Plan,\n provider: userPlanProviders.bb3\n },\n bb4: {\n plan: planData.BB4Plan,\n provider: userPlanProviders.bb4\n },\n bbbundle: {\n plan: null, // not sure if need or want\n provider: userPlanProviders.bbbundle\n },\n soundbox: {\n plan: planData.SoundboxPlan,\n provider: userPlanProviders.soundbox\n }\n }\n \n dispatch(setUserPlanProviders(userPlanProviders));\n dispatch(setUserPlans(plansAndProviders));\n\n } catch(error: any) {\n Log.error(error, \"Error dispatching: fetchPlanProvider\");\n dispatch(showError(\"There was an error fetching the plan provider\"));\n }\n }\n}\n\nexport function setCurrentPlans(\n plans: bb.model.account.ICurrentPlan[]\n): AnyAction {\n return {\n type: actions.account.SET_CURRENT_PLANS,\n plans,\n };\n}\n\nexport function setInvoices(invoices: bb.model.account.IInvoice[]): AnyAction {\n return {\n type: actions.account.SET_INVOICES,\n invoices,\n };\n}\n\nexport function clearAccount() {\n return {\n type: actions.account.CLEAR_ACCOUNT,\n };\n}\n\nexport function setUpcomingInvoice(upcomingInvoice: bb.model.account.IUpcomingInvoice): AnyAction {\n return {\n type: actions.account.SET_UPCOMING_INVOICE,\n upcomingInvoice,\n };\n}\n\nexport function setBundleSubscription(bundleSubscription: boolean ) {\n return {\n type: actions.account.SET_BUNDLE_SUBSCRIPTION,\n bundleSubscription\n };\n}\n\nexport function setEligibleRenewal(eligibleRenewal: bb.model.account.IEligibleRenewal) {\n return {\n type: actions.account.SET_ELIGIBLE_RENEWAL,\n eligibleRenewal\n }\n}\n\nexport function setUserPlanProviders(planProviders: bb.model.account.IUserPlanProviders) {\n return {\n type: actions.account.SET_PLAN_PROVIDERS,\n planProviders\n }\n}\n\nexport function setUserPlans(plans: bb.model.account.IPlans) {\n return {\n type: actions.account.SET_USER_PLANS,\n plans\n }\n}","export function getRequiredEnvVar(envVarName: string, defaultVal?:string): string {\n const varName = `REACT_APP_${envVarName}`\n const val = process.env[varName]\n if (val === undefined) {\n if (defaultVal !== undefined) {\n return defaultVal\n }\n else {\n throw new Error(`[Env] config setting: ${varName} NOT FOUND`)\n }\n }\n return val\n}\n\nexport function getRequiredIntEnvVal(envVarName:string, defaultVal:number): number {\n const strVal = getRequiredEnvVar(envVarName, defaultVal.toString(10))\n const numVal = parseInt(strVal, 10)\n if (isNaN(numVal)) {\n throw new Error(`[Env] config setting: REACT_APP_${envVarName} must be an integer value.`)\n }\n return numVal\n}\n\nexport function getRequiredFloatEnvVal(envVarName:string, defaultVal:number): number {\n const strVal = getRequiredEnvVar(envVarName, defaultVal.toString(10))\n const numVal = parseFloat(strVal)\n if (isNaN(numVal)) {\n throw new Error(`[Env] config setting: REACT_APP_${envVarName} must be an integer value.`)\n }\n return numVal\n}\n\nexport function getRequiredBoolEnvVal(envVarName:string, defaultVal:boolean): boolean {\n const strVal = getRequiredEnvVar(envVarName, \"\"+!!defaultVal).toLowerCase()\n if (strVal === \"true\" || strVal === \"on\" || strVal === \"1\" || strVal === \"yes\") {\n return true\n }\n else if (strVal === \"false\" || strVal === \"off\" || strVal === \"0\" || strVal === \"no\") {\n return false\n }\n else {\n throw new Error(`[Env] config setting: REACT_APP_${envVarName} must be a boolean value. got \"${strVal}\"`)\n }\n}\n\n/**\n * Return the appropriate value based on the existence of an env var with that name OR\n * one of the passed-in values depending on the value of AOB_ENV\n * \n * @param overrideEnvVarName the name of the environment variable that would contain an override value WITHOUT the REACT_APP_ prefix. If a value is found, that value will be used instead of any values passed into this function\n * @param prodValue will be used if there is no environment variable found AND AOB_ENV === PROD OR AOB_ENV is not recognized\n * @param {string} devValue will be used if there is no environment variable found AND (AOB_ENV === DEV OR (AOB_ENV === LOCAL AND no localValue provided))\n * @param {string?} localValue optional - will be used if defined AND there is no environment variable found AND AOB_ENV === LOCAL\n * @returns \n */\nexport function getEnvVarForEnvironment(overrideEnvVarName:string|null, prodValue:string, devValue:string, localValue?:string):string {\n let defaultVal:string\n const AOB_ENV = getRequiredEnvVar(\"AOB_ENV\", \"PROD\").toUpperCase()\n if (AOB_ENV === \"LOCAL\") {\n if (localValue !== undefined) {\n defaultVal = localValue\n }\n else {\n defaultVal = devValue\n }\n }\n else if (AOB_ENV === \"DEV\") {\n defaultVal = devValue\n }\n else {\n if (AOB_ENV !== \"PROD\") {\n console.error(`[Env] Unrecognized environment name ${AOB_ENV} defaulting to PROD value`)\n }\n defaultVal = prodValue\n }\n if (overrideEnvVarName !== null) {\n return getRequiredEnvVar(overrideEnvVarName, defaultVal)\n }\n else {\n return defaultVal\n }\n}\n\n/**\n * A map of all the config / environment variables that this web app uses\n */\nexport const Env = {\n AOB_ENV: getRequiredEnvVar(\"AOB_ENV\", \"PROD\"),\n\n // URLS\n BBAI_BASE_URL: getEnvVarForEnvironment(\"BBAI_BASE_URL\", \"https://ai.8cell.com\", \"https://ai.dev.8cell.com\"),\n UAM_BASE_URL: getEnvVarForEnvironment(\"UAM_BASE_URL\", \"https://platform.buildbox.com\", \"https://useraccountmanagement.dev.8cell.com\"),\n ASSET_MANAGER_BASE_URL: getEnvVarForEnvironment(\"ASSET_MANAGER_BASE_URL\", \"https://assetmanagementapi.buildbox.com\", \"https://assetmanagementservice.dev.8cell.com\"),\n BB2D_BASE_URL: getEnvVarForEnvironment(\"BB2D_BASE_URL\", \"https://buildbox2service.buildbox.com\", \"https://buildbox2service.dev.8cell.com\"),\n// BB2D_BASE_URL: getEnvVarForEnvironment(\"BB2D_BASE_URL\", \"https://buildbox2service.buildbox.com\", \"http://adam.dev.8cell.com:8102\"),\n BB_WORLD_BASE_URL: getEnvVarForEnvironment(\"BB_WORLD_BASE_URL\", \"https://buildboxworldservice.buildbox.com\", \"https://buildboxworldservice.dev.8cell.com\"),\n BB_DEEP_LINK: getEnvVarForEnvironment(\"BB_DEEP_LINK\", \"https://bbworld.page.link/bits?bit_id=\",\"https://bbworlddev.page.link/bits?bit_id=\"),\n LEARN_MORE_URL: getEnvVarForEnvironment(\"LEARN_MORE_URL\", \"https://signup.buildbox.com\", \"https://bbregister.dev.8cell.com\",),\n VIEW_PLANS_URL: getEnvVarForEnvironment(\"VIEW_PLANS_URL\", \"https://signup.buildbox.com/plans\", \"https://bbregister.dev.8cell.com/plans\" ),\n MY_ACCOUNT_URL: getEnvVarForEnvironment(\"MY_ACCOUNT_URL\", \"https://signup.buildbox.com/account/profile\", \"https://bbregister.dev.8cell.com/account/profile\" ),\n BB4_DOWNLOAD_LINK_WIN: getEnvVarForEnvironment(\"BB4_DOWNLOAD_LINK_WIN\", \"https://releases.buildbox.com/buildbox/current/Buildbox4.exe\", \"https://releases.buildbox.com/buildbox/current/Buildbox4.exe\"),\n BB4_DOWNLOAD_LINK_MAC: getEnvVarForEnvironment(\"BB4_DOWNLOAD_LINK_MAC\", \"https://releases.buildbox.com/buildbox/current/Buildbox4.dmg\", \"https://releases.buildbox.com/buildbox/current/Buildbox4.dmg\"),\n BB3_DOWNLOAD_LINK_WIN: getEnvVarForEnvironment(\"BB3_DOWNLOAD_LINK_WIN\", \"https://releases.buildbox.com/buildbox/current/Buildbox3.exe\", \"https://releases.buildbox.com/buildbox/current/Buildbox3.exe\"),\n BB3_DOWNLOAD_LINK_MAC: getEnvVarForEnvironment(\"BB3_DOWNLOAD_LINK_MAC\", \"https://releases.buildbox.com/buildbox/current/Buildbox3.dmg\", \"https://releases.buildbox.com/buildbox/current/Buildbox3.dmg\"),\n BB2_DOWNLOAD_LINK_WIN: getEnvVarForEnvironment(\"BB2_DOWNLOAD_LINK_WIN\", \"https://releases.buildbox.com/buildbox/current/Buildbox2.exe\", \"https://releases.buildbox.com/buildbox/current/Buildbox2.exe\"),\n BB2_DOWNLOAD_LINK_MAC: getEnvVarForEnvironment(\"BB2_DOWNLOAD_LINK_MAC\", \"https://releases.buildbox.com/buildbox/current/Buildbox2.dmg\", \"https://releases.buildbox.com/buildbox/current/Buildbox2.dmg\"),\n SOUNDBOX_DOWNLOAD_LINK_WIN: getEnvVarForEnvironment(\"SOUNDBOX_DOWNLOAD_LINK_WIN\", \"https://downloads.buildbox.com/soundbox/current/Soundbox.exe\", \"https://downloads.buildbox.com/soundbox/current/Soundbox.exe\"),\n SOUNDBOX_DOWNLOAD_LINK_MAC: getEnvVarForEnvironment(\"SOUNDBOX_DOWNLOAD_LINK_WIN\", \"https://downloads.buildbox.com/soundbox/current/Soundbox.dmg\", \"https://downloads.buildbox.com/soundbox/current/Soundbox.dmg\"),\n APP_CLIENT_ID: getEnvVarForEnvironment(\"APP_CLIENT_ID\", \"5tamhcn07jpk28maluh9ss6hq2\", \"5gqatunj3j4o2j2tntk4t1ja4n\"),\n GTM_ID: getEnvVarForEnvironment(\"GTM_ID\", \"GTM-K9XRLKZ\", \"GTM-K9XRLKZ\"),\n QR_BB_WORLD: getEnvVarForEnvironment(\"QR_BB_WORLD\", \"https://frontend-assets.buildbox.com/deeplink-qr-bbworld.png\", \"https://frontend-assets.buildbox.com/deeplink-qr-bbworld-dev.png\"),\n // config / settings\n ACCESS_TIMEOUT_MS: getRequiredIntEnvVal(\"ACCESS_TIMEOUT_MS\", 60*60*1000), // 60 minutes *60 converts to seconds *1000 converts to ms\n DEBUG_MODE: getRequiredBoolEnvVal(\"DEBUG_MODE\", false),\n CYOA_OPENAI_MODEL: getRequiredEnvVar(\"CYOA_OPENAI_MODEL\", \"gpt-4\"),\n CYOA_OPENAI_TEMPERATURE: getRequiredFloatEnvVal(\"CYOA_OPENAI_TEMPERATURE\", 0.7),\n\n // convenience methods\n get isLocal() {\n return this.AOB_ENV.toUpperCase() === \"LOCAL\"\n },\n get isDev() {\n return this.AOB_ENV.toUpperCase() === \"DEV\"\n },\n get isProd() {\n return this.AOB_ENV.toUpperCase() === \"PROD\"\n }\n}\n\nexport default Env\n","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\n\nexport const createUserRegistrationRequest = (\n email,\n clientId,\n userId,\n productType,\n deviceType\n) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/analytics/register\", {\n body: {\n customerId: userId,\n clientId: clientId,\n email: email,\n app: productType,\n platform: deviceType,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(\n res.data,\n \"SUCCESS - createUserRegistrationRequest response:\"\n );\n resolve(res.data);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in createUserRegistrationRequest\");\n reject(error);\n }\n });\n });\n};\n\nexport const createUserPurchaseRequest = (\n email,\n clientId,\n userId,\n planType,\n planInterval,\n product\n) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/analytics/purchase\", {\n body: {\n customerId: userId || email,\n clientId: clientId,\n email: email,\n plan: planType,\n planInterval: planInterval,\n app: product,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n Log.info(res.data, \"SUCCESS - createUserPurchaseRequest response:\");\n resolve(res.data);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(error, \"error caught in createUserPurchaseRequest\");\n reject(error);\n }\n });\n });\n};\n\nexport const createUserDownloadsRequest = async (clientId, version) => {\n let error;\n for (let ii = 0; ii < 5; ii++) {\n try {\n let resp = await sendUserDownloadRequestAnalytics(clientId, version);\n return resp;\n } catch (err) {\n console.log(\"cudr error: \", err);\n error = err;\n }\n }\n\n console.log(\"throw cudr error: \", error);\n throw error;\n};\n\nexport const sendUserDownloadRequestAnalytics = (clientId, version) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/analytics/download\", {\n body: {\n clientId: clientId,\n app: version,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n resolve(res.data);\n }\n })\n .catch((error) => {\n if (error) {\n Log.error(\n error,\n \"error caught in createUserDownloadsRequest: \",\n error\n );\n console.log(\"errrrrrorrrrr \", error);\n reject(error);\n }\n });\n });\n};\n","export default (state: { current: bb.state.ICurrent }) => state.current;","import { createSelector } from \"reselect\";\nimport { LoginClientType } from \"../reducers/models\";\nimport current from \"./selectCurrentState\";\n\nexport default createSelector(current, (currentState: bb.state.ICurrent) => {\n if (currentState.workState.client === LoginClientType.Client) { \n return true;\n }\n return false;\n});\n","import API from \"@aws-amplify/api\";\n\n/**\n * Returns user email as md5 hash\n * @param {emailAddress}: string\n */\n\nexport const md5Hash = (emailAddress) => {\n var md5 = require(\"md5\");\n return md5(emailAddress);\n};\n\n/**\n * Send an email containing download links for a mobile signup\n *\n * @param {accessToken}: string\n */\n\nexport const sendDownloadEmail = (accessToken, hashedEmail, productType) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/mailchimp/emailers/download\", {\n body: {\n app: productType,\n hashedEmail: hashedEmail,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Token: accessToken,\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n resolve(res.data);\n }\n })\n .catch((error) => {\n if (error.response) {\n reject(error.response);\n }\n });\n });\n};\n\nconst getMailchimpTag = (productType) => {\n const GENERIC_BB_TAGS = {\n name: \"buildbox-generic\",\n status: \"active\",\n };\n const BB2_TAGS = {\n name: \"buildbox2-free\",\n status: \"active\",\n };\n const BB3_TAGS = {\n name: \"buildbox3-free\",\n status: \"active\",\n };\n const BB4_TAGS = {\n name: \"buildbox4-free\",\n status: \"active\",\n }; \n const BBWORLD_TAGS = {\n name: \"buildbox-world\",\n status: \"active\",\n };\n // AP: TODO SOUNDBOX what mailchimp tags?\n const SOUNDBOX_TAGS = {\n name: \"soundbox-free\",\n status: \"active\",\n }\n\n switch (productType) {\n case \"BB2\":\n return BB2_TAGS;\n case \"BB3\":\n return BB3_TAGS;\n case \"BB4\":\n return BB4_TAGS;\n case \"BBWorld\":\n return BBWORLD_TAGS;\n case \"generic\":\n return GENERIC_BB_TAGS;\n case \"BBBundle\":\n return GENERIC_BB_TAGS;\n case \"Soundbox\":\n return SOUNDBOX_TAGS;\n default:\n return GENERIC_BB_TAGS;\n }\n};\n/**\n * Tags an subscriber with a buildbox2-free or buildbox3-free MC audience tag\n *\n * @param {hashedEmail}: MD5 Hash\n * @param {mailchimpTagName}: Mailchimp tag name\n * @param {isTagActive}: Mailchimp tag status\n */\n\nexport const addMailchimpAudienceTags = (emailAddress, productType) => {\n const email = emailAddress.toLowerCase();\n const hashedEmail = md5Hash(email);\n const { name, status } = getMailchimpTag(productType);\n\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/mailchimp/tags\", {\n body: {\n isTagActive: status,\n mailchimpTagName: name,\n hashedEmail: hashedEmail,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n },\n response: true,\n })\n .then((res) => {\n if (res.status === 200 || res.status === 201) {\n resolve(res.data);\n }\n })\n .catch((error) => {\n if (error.response) {\n reject(error.response);\n }\n });\n });\n};\n","export function validateLength (str: string): boolean {\n if (str.length < 3) {\n return false\n }\n return true\n}\n\nexport const validateEmail = (email:string):boolean => {\n const valid = String(email)\n .toLowerCase()\n .match(\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 );\n\n if (!valid) {\n return false\n }\n return true\n};\n\n// more validations ","// extracted by mini-css-extract-plugin\nmodule.exports = {\"buttonShared\":\"Header_buttonShared__3tcSt\",\"buttonVerticalGradientOrangeYellow\":\"Header_buttonVerticalGradientOrangeYellow__kWzUy\",\"buttonVerticalGradientOrange\":\"Header_buttonVerticalGradientOrange__5Mju4\",\"buttonReglarDarkGrey\":\"Header_buttonReglarDarkGrey__3i1HU\",\"buttonReglarGrey\":\"Header_buttonReglarGrey__JvLhN\",\"buttonGradientOrange\":\"Header_buttonGradientOrange__rt6FI\",\"buttonRegularYellow\":\"Header_buttonRegularYellow__ZWR8M\",\"buttonRegularOrange\":\"Header_buttonRegularOrange__NNKw_\",\"header\":\"Header_header__1LeQS\",\"getStartedButton\":\"Header_getStartedButton__LUB15\",\"buttonGhost\":\"Header_buttonGhost__31UyZ\",\"buttonGhostDisabled\":\"Header_buttonGhostDisabled__2rl3J\",\"buttonGhostGreen\":\"Header_buttonGhostGreen__3NXt3\",\"buttonGhostGradientOrange\":\"Header_buttonGhostGradientOrange__1GlN-\",\"buttonGhostOrange\":\"Header_buttonGhostOrange__ltJgb\",\"buttonGhostDarkBlue\":\"Header_buttonGhostDarkBlue__x2R-h\",\"buttonGhostBlue\":\"Header_buttonGhostBlue__23aEG\",\"buttonGhostGrey\":\"Header_buttonGhostGrey__22VzI\",\"buttonDisabled\":\"Header_buttonDisabled__33UP8\",\"clientLoginText\":\"Header_clientLoginText__-Bn4t\",\"returnToSignIn\":\"Header_returnToSignIn__2RjPD\",\"error\":\"Header_error__143Uq\",\"link\":\"Header_link__2_OJa\",\"arrow\":\"Header_arrow__38MIy\",\"signOut\":\"Header_signOut__2o-8Q\",\"signOutText\":\"Header_signOutText__3PD4t\",\"profileBtn\":\"Header_profileBtn__1REOq\",\"activeTab\":\"Header_activeTab__3877u\",\"socialIcons\":\"Header_socialIcons__2tHuo\",\"linkListDesktop\":\"Header_linkListDesktop__1F94g\",\"parentMenuTitle\":\"Header_parentMenuTitle__2G_3o\",\"profileDropdown\":\"Header_profileDropdown__1QMi_\",\"linkListMobile\":\"Header_linkListMobile__1FBfv\",\"dropDownContent\":\"Header_dropDownContent__2qyId\",\"menuIconContainer\":\"Header_menuIconContainer__254Jt\",\"menuIcon\":\"Header_menuIcon__14d21\",\"signout\":\"Header_signout__1q31Y\",\"selected\":\"Header_selected__3s4Be\",\"hidden\":\"Header_hidden__VSXNV\",\"listContainer\":\"Header_listContainer__1r0WJ\",\"loginNavLink\":\"Header_loginNavLink__2EnmG\",\"signInWrapper\":\"Header_signInWrapper__wYbe3\",\"menuTitleContainer\":\"Header_menuTitleContainer__28EAP\",\"button\":\"Header_button__2zTFD\",\"dropDown\":\"Header_dropDown__1HEc8\",\"logoWrapper\":\"Header_logoWrapper__2HaYU\",\"logo\":\"Header_logo__euief\",\"signingInLoaderContainer\":\"Header_signingInLoaderContainer__2oHOh\",\"signInContainer\":\"Header_signInContainer__Fe1nj\",\"welcomeMessage\":\"Header_welcomeMessage__3YSUp\"};","export enum SignUpWorkState {\n Loading = \"Loading\",\n Conflict = \"Conflict\",\n None = \"None\",\n ServerError = \"ServerError\",\n}\n\nexport enum LoginState {\n Loading = \"Loading\",\n Unauthorized = \"Unauthorized\",\n None = \"None\",\n ServerError = \"ServerError\",\n}\n\nexport enum LoginClientType {\n Web = \"Web\",\n Client = \"Client\",\n}\n\nexport enum WorkState {\n Loading = \"Loading\",\n Error = \"Error\",\n None = \"None\",\n Success = \"Success\",\n}\n\nexport enum Toast {\n HIDE_ERROR = \"HIDE_ERROR\",\n SHOW_ERROR = \"SHOW_ERROR\",\n}\n\nexport enum DownloadPlatforms {\n WINDOWS = \"win\",\n MAC = \"mac\",\n UNKNOWN = \"unknown\",\n}\n\nexport enum ProductCategory {\n Monthly = \"Monthly\",\n BB2 = \"BB2\",\n BB3 = \"BB3\",\n BB4 = \"BB4\",\n BBBundle = \"BBBundle\",\n Soundbox = \"Soundbox\"\n}\nexport function stringToProductCategory(str:string|undefined):ProductCategory|null {\n if (str === undefined) {\n return null\n }\n switch(str.toLowerCase()) {\n case ProductCategory.Monthly.toLowerCase():\n return ProductCategory.Monthly\n case ProductCategory.BB2.toLowerCase():\n return ProductCategory.BB2\n case ProductCategory.BB3.toLowerCase():\n return ProductCategory.BB3\n case ProductCategory.BB4.toLowerCase():\n return ProductCategory.BB4\n case ProductCategory.Soundbox.toLowerCase():\n return ProductCategory.Soundbox\n case ProductCategory.BBBundle.toLowerCase():\n return ProductCategory.BBBundle\n default:\n return null\n }\n}\n\nexport enum ProductType {\n BB2 = \"BB2\",\n BB3 = \"BB3\",\n BB4 = \"BB4\",\n BBBundle = \"BBBundle\",\n Soundbox = \"Soundbox\",\n}\n\nexport enum PlanType {\n Monthly = \"Monthly\", // this one is weird but legit since there's a specific \"Monthly\" tier for BB2\n Free = \"Free\",\n Plus = \"Plus\",\n Pro = \"Pro\",\n Bundle = \"Bundle\",\n //Weekly = \"Weekly\", // fixed/migrated to 'Beginner'\n Beginner = \"Beginner\",\n Basic = \"Basic\",\n}\n\nexport enum PlanIds {\n BB4Free = \"BB4Free\",\n //BB4Weekly = \"BB4Weekly\",\n BB4Basic = \"BB4Basic\",\n BB4Pro = \"BB4Pro\",\n BB4TrialUpsell = \"BB4TrialUpsell\",\n BB4Beginner = \"BB4Beginner\",\n BB3Free = \"BB3Free\",\n BB3Monthly = \"BB3Monthly\",\n BB3Plus = \"BB3Plus\",\n BB3Pro = \"BB3Pro\",\n BB3TrialUpsell = \"BB3TrialUpsell\",\n BB3Beginner = \"BB3Beginner\",\n BB2Free = \"BB2Free\",\n BB2Monthly = \"BB2Monthly\",\n BB2Plus = \"BB2Plus\",\n BB2Pro = \"BB2Pro\",\n BB2Beginner = \"BB2Beginner\",\n BB2TrialUpsell = \"BB2TrialUpsell\",\n BBBundle = \"BBBundle\",\n BBBundleUpsell = \"BBBundleUpsell\",\n SoundboxFree = \"SoundboxFree\",\n SoundboxPro = \"SoundboxPro\",\n}\n\nexport enum PlanInterval {\n Monthly = \"Monthly\",\n Yearly = \"Yearly\",\n Weekly = \"Weekly\",\n Lifetime = \"Lifetime\",\n}\n\nexport enum PaymentPlatforms {\n Stripe = \"stripe\",\n Xsolla = \"xsolla\"\n}\n\nexport enum AppPlatforms {\n iOS = \"iOS\",\n Android = \"Android\",\n}\n\nexport enum AdPaymentDescription {\n AUTOMATED = \"AUTOMATED\",\n CUSTOMER_SUPPORT = \"CUSTOMER_SUPPORT\",\n}\n\nexport enum HWAccountStatus {\n UNREGISTERED = \"UNREGISTERED\",\n PRE_ACTIVATED = \"PRE_ACTIVATED\",\n ACTIVATED = \"ACTIVATED\",\n LOCKED = \"LOCKED\",\n FROZEN = \"FROZEN\",\n DE_ACTIVATED = \"DE_ACTIVATED\",\n}\n\nexport enum HWVerificationStatus {\n NOT_REQUIRED = \"NOT_REQUIRED\",\n REQUIRED = \"REQUIRED\",\n FAILED = \"FAILED\",\n UNDER_REVIEW = \"UNDER_REVIEW\",\n VERIFIED = \"VERIFIED\",\n}\n\nexport enum BBVersions {\n BUILDBOX2 = \"BB2\",\n BUILDBOX3 = \"BB3\",\n BUILDBOX4 = \"BB4\",\n BUILDBOXWORLD = \"BBWorld\", \n GENERIC = \"generic\", \n SOUNDBOX = \"Soundbox\",\n}\n\nexport const PlanNameToPlanIds: Record = {\n \"Buildbox 4 Free\": PlanIds.BB4Free,\n //\"Buildbox 4 Weekly\": PlanIds.BB4Weekly,\n \"Buildbox 4 Basic\": PlanIds.BB4Basic,\n \"Buildbox 4 Pro\": PlanIds.BB4Pro,\n \"Buildbox 4 Beginner\": PlanIds.BB4Beginner,\n \"Buildbox 3 Free\": PlanIds.BB3Free,\n \"Buildbox 3 Plus\": PlanIds.BB3Plus,\n \"Buildbox 3 Pro\": PlanIds.BB3Pro,\n \"Buildbox Classic Free\": PlanIds.BB2Free,\n \"Buildbox Classic Plus\": PlanIds.BB2Plus,\n \"Buildbox Classic Pro\": PlanIds.BB2Pro,\n \"Buildbox Classic Beginner\": PlanIds.BB2Beginner,\n \"Buildbox Bundle\": PlanIds.BBBundle,\n \"Soundbox Free\": PlanIds.SoundboxFree,\n \"Soundbox Pro\": PlanIds.SoundboxPro,\n}\n","export const bbaiUser = {\n id: \"1\",\n pic: \"https://frontend-assets.buildbox.com/web-gen-ai/boxy_avatar.svg\",\n};\n\nexport const defaultUser = {\n id: \"2\",\n pic: \"https://frontend-assets.buildbox.com/web-gen-ai/user_avatar.svg\",\n};\n\n\nexport enum bbaiStoryGamePromptStepStatus {\n INITIAL = \"INITIAL\",\n GENERATING_GAME_DATA = \"GENERATING_GAME_DATA\",\n GENERATING_GAME_ASSETS = \"GENERATING_GAME_ASSETS\",\n BUILD_BBDOC = \"BUILD_BBDOC\",\n DOWNLOAD_BBDOC = \"DOWNLOAD_BBDOC\",\n CLAIM_ACCOUNT = \"CLAIM_ACCOUNT\",\n COMPLETE = \"COMPLETE\",\n CLAIM_LOGIN_SKIP = \"CLAIM_LOGIN_SKIP\",\n LOGIN_ACCOUNT = \"LOGIN_ACCOUNT\",\n DONE = \"DONE\",\n GAME_DATA = \"GAME_DATA\",\n ERROR_RESTART_REGENERATE = \"ERROR_RESTART_REGENERATE\",\n}\n\n\nexport const bbaiStoryGamePromptOptions: Record<\n string,\n { prompt: string; errPrompt: string }\n> = {\n INITIAL: {\n prompt: \"Hello, I'm BBAI from Buildbox, and I'm here to help you make your first game! What story do you want to tell?\",\n errPrompt: \"I'm sorry, I didn't quite get that. Could you tell me more about your story?\",\n },\n GAME_DATA: {\n prompt: \"What story do you want to tell?\",\n errPrompt: \"I'm sorry, I was unable to generate your game (something went wrong). Please try again.\",\n }, \n GENERATING_GAME_DATA: {\n prompt: \"That's a great idea! I'm writing your Story Game now, this will take a minute or two...\",\n errPrompt: \"I'm sorry, I was unable to generate your game (something went wrong). Please try again.\",\n }, \n GENERATING_GAME_ASSETS: {\n prompt: \"I finished writing your Story Game! Now I'm working on adding graphics and sounds. This will take a minute or two...\",\n errPrompt: \"I'm sorry, I was unable to generate your game (something went wrong). Please try again.\",\n },\n BUILD_BBDOC: {\n prompt: \"Just one more moment, I'm putting the full game together!\",\n errPrompt: \"I'm sorry, I was unable to construct your game (something went wrong). Please try again.\"\n },\n CLAIM_LOGIN_SKIP: {\n prompt: \"\",\n errPrompt: \"Error: I'm sorry, I didn't quite get that. Please select CLAIM, LOGIN, or SKIP.\",\n },\n COMPLETE: {\n prompt: \"You can also download your game project as well as Buildbox to start modding it!\",\n errPrompt: \"Error while trying to download BBDoc\",\n },\n COMPLETE_MOBILE: {\n prompt: \"Play your bit now on Buildbox World!\",\n errPrompt: \"something went wrong when completing the game\",\n },\n DOWNLOAD_BBDOC: {\n prompt: \"I have finished uploading your game and it is now ready to play on the Buildbox World app!\",\n errPrompt: \"Error while trying to download BBDoc\",\n },\n CLAIM_ACCOUNT: {\n prompt: \"I have finished uploading your game and it is now ready to play on the Buildbox World app!\",\n errPrompt: \"We were unable to claim your account and bbdoc, try skipping and manually claiming your game!\",\n },\n};\n\nexport enum AssetType {\n CHARACTER = \"CHARACTER\",\n ENEMY = \"ENEMY\",\n BACKGROUND = \"BACKGROUND\",\n}\n\nexport type Display = {\n Component: React.ReactElement\n stage: number// maybe make this string avlue?\n nextStage: string\n}","import Env from \"../Env\";\n\nexport interface CreateTxt2ImgGenerationJobDTO{\n prompt: string ;\n costInVC:number ;\n disableSuggestedOptimizations: boolean ;\n jobId: string ;\n width: number ;\n height: number ;\n seed: number;\n removeBackground: boolean;\n webCYOASaveCopyToS3Filename?: string|undefined\n webCYOAProjectId?: string|undefined\n projectId?:string | undefined,\n\n // note that development has consistently been adding more potential params here, see bb-platform AssetGenerationDTO for the full list\n}\n\n\nexport interface Txt2ImgGenerationJobCreationResultDTO {\n job: Txt2ImgGenerationJobDTO\n buildbux: {\n newBalance: number;\n oldBalance: number;\n };\n uploadUrl?: string;\n}\n\nexport interface Txt2ImgGenerationJobDTO {\n jobId:string\n userId:string\n prompt:string\n userPrompt:string\n userNegativePrompt:string\n userDisableSuggestedOptimizations:boolean\n userRemoveBackground:boolean\n costInVC:number\n status: ImageGenerationJobStatus\n progress:number\n createdAt:string\n updatedAt:string\n hasInputImage:boolean\n originalRequest: object|null\n}\n\n\nexport enum ImageGenerationJobStatus {\n CREATED = \"CREATED\",\n IN_PROGRESS = \"IN_PROGRESS\",\n COMPLETE = \"COMPLETE\",\n ERROR = \"ERROR\",\n CANCELLED = \"CANCELLED\",\n}\n\nexport interface GenAssetsStateDTO {\n charAsset: Txt2ImgGenerationJobCreationResultDTO | null;\n enemyAsset: Txt2ImgGenerationJobCreationResultDTO | null;\n bgAsset: Txt2ImgGenerationJobCreationResultDTO | null;\n}\n\nexport interface ImageGenerationJobDTO {\n Id: string\n UserId: string;\n Status: ImageGenerationJobStatus;\n Progress: number;\n Prompt: string;\n CostInVC: number;\n Phase: string;\n ProgressInPhase: number;\n ErrorCode: string;\n Extra: string;\n TimeToComplete: number;\n UserMessage: string; \n Finalized: boolean\n CreatedAt: Date;\n UpdatedAt: Date;\n UserPrompt: string;\n UserNegativePrompt: string;\n UserRemoveBackground: boolean \n UserDisableSuggestedOptimizations: boolean\n JobRequestJson: string\n HasInputImage: boolean \n IsSoftDeleted: boolean \n}\n\nexport interface ImageGenerationJobCreationResultDTO {\n ETA: number;\n ImageGenerationJob: ImageGenerationJobDTO;\n Queue: number\n}\n\nexport enum templateType {\n SHOOTER = \"SHOOTER\",\n WORLD = \"WORLD\",\n PORTAL = \"PORTAL\",\n JETPACK = \"JETPACK\"\n}\n\n\nexport type NotificationType = 'success' | 'info' | 'warning' | 'error';\n\nexport enum BBDocBackButtonPosition {\n TOP_LEFT = \"TopLeft\",\n TOP_CENTER = \"TopCenter\",\n TOP_RIGHT = \"TopRight\",\n LEFT = \"Left\",\n CENTER = \"Center\",\n RIGHT = \"Right\",\n BOTTOM_LEFT = \"BottomLeft\",\n BOTTOM_CENTER = \"BottomCenter\",\n BOTTOM_RIGHT = \"BottomRight\",\n}\n\nexport enum BBDocRuntime {\n BBCLASSIC = \"BBClassic\",\n BB3 = \"BB3\",\n BB4 = \"BB4\",\n}\nexport interface UploadBBDocDTO {\n displayName: string\n bytes: number\n shareGlobally?: string\n shareAsPremiumBit?: string\n runtime?: BBDocRuntime | undefined\n backButtonPosition?: BBDocBackButtonPosition | undefined \n description?: string \n}\nexport enum DownloadPlatforms {\n WINDOWS = \"win\",\n MAC = \"mac\",\n UNKNOWN = \"unknown\",\n}\n\nexport interface BBDocResponseObj {\n id: string\n displayName: string\n bytes: number\n createdAt: number\n updatedAt: number\n}\n\nexport interface IBBDownloadVersions {\n BB4: {\n WIN: string | undefined;\n MAC: string | undefined;\n APP: string;\n };\n BB3: {\n WIN: string | undefined;\n MAC: string | undefined;\n APP: string;\n };\n BB2: {\n WIN: string | undefined;\n MAC: string | undefined;\n APP: string;\n };\n Soundbox: {\n WIN: string | undefined;\n MAC: string | undefined;\n APP: string;\n }\n}\n\nexport const BBDownloadVersion: IBBDownloadVersions = {\n BB4: {\n WIN: Env.BB4_DOWNLOAD_LINK_WIN,\n MAC: Env.BB4_DOWNLOAD_LINK_MAC,\n APP: \"buildbox4\",\n },\n BB3: {\n WIN: Env.BB3_DOWNLOAD_LINK_WIN,\n MAC: Env.BB3_DOWNLOAD_LINK_MAC,\n APP: \"buildbox3\",\n },\n BB2: {\n WIN: Env.BB2_DOWNLOAD_LINK_WIN,\n MAC: Env.BB2_DOWNLOAD_LINK_MAC,\n APP: \"buildbox2\",\n },\n Soundbox: {\n WIN: Env.SOUNDBOX_DOWNLOAD_LINK_WIN,\n MAC: Env.SOUNDBOX_DOWNLOAD_LINK_MAC,\n APP: \"soundbox\",\n }\n};\n\n export interface PostSSOTokensDTO {\n accessToken: string\n refreshToken: string\n clientId: string\n clientSecret: string\n}\n\nexport interface ChooseYourOwnAdventureChoiceData {\n choiceDescription: string\n coinsDelta: number\n healthDelta: number\n resultDescription: string\n}\n\nexport interface ChooseYourOwnAdventureChapterData {\n description: string\n imageFilename: string\n choices: ChooseYourOwnAdventureChoiceData[]\n}\n\nexport interface ChooseYourOwnAdventureCustomizationData {\n projectId: string\n badEndText: string\n goodEndText: string\n badEndImageFilename: string\n goodEndImageFilename: string\n title: string\n subtitle: string\n titleImageFilename: string\n backgroundMusicFilename: string\n iconFilename: string\n chapters: ChooseYourOwnAdventureChapterData[]\n}\n\nexport enum AuthOption {\n LOGIN,\n SIGNUP,\n}\n \n export enum bbaiStoryGamePromptStepStatus {\n INITIAL = \"INITIAL\",\n GENERATING_GAME_DATA = \"GENERATING_GAME_DATA\",\n GENERATING_GAME_ASSETS = \"GENERATING_GAME_ASSETS\",\n BUILD_BBDOC = \"BUILD_BBDOC\",\n DOWNLOAD_BBDOC = \"DOWNLOAD_BBDOC\",\n CLAIM_ACCOUNT = \"CLAIM_ACCOUNT\",\n COMPLETE = \"COMPLETE\",\n CLAIM_LOGIN_SKIP = \"CLAIM_LOGIN_SKIP\",\n LOGIN_ACCOUNT = \"LOGIN_ACCOUNT\",\n DONE = \"DONE\",\n GAME_DATA = \"GAME_DATA\",\n ERROR_RESTART_REGENERATE = \"ERROR_RESTART_REGENERATE\",\n }\n\nexport type AuthResult = {\n IdToken: string;\n AccessToken: string;\n RefreshToken: string;\n isGuest: boolean;\n}","export default (state: { auth: bb.state.IAuth }) => {\n return state.auth.gaClientId;\n};\n","export type SubMenu = {\n key: string,\n title: string,\n link: string,\n externalURL: string\n}\n\nexport type HeaderItem = {\n title: string,\n route: string,\n externalURL: string,\n subMenu?: SubMenu[]\n}\n\nexport const headerItems: HeaderItem[] = [\n {\n title: \"Plans\",\n route: \"/plans\",\n externalURL: \"\"\n },\n {\n \"title\": \"Downloads\",\n \"route\": \"\",\n \"externalURL\": \"\",\n \"subMenu\": [\n {\n \"key\": \"BB2\",\n \"title\": \"Buildbox Classic\",\n \"link\": \"/downloads/bb2\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"BB3\",\n \"title\": \"Buildbox 3\",\n \"link\": \"/downloads/bb3\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"BB4\",\n \"title\": \"Buildbox 4\",\n \"link\": \"/downloads/bb4\",\n \"externalURL\": \"\"\n }, \n {\n \"key\": \"Soundbox\",\n \"title\": \"Soundbox\",\n \"link\": \"/downloads/soundbox\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"Bundle\",\n \"title\": \"Bundle\",\n \"link\": \"/downloads/bbbundle\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"OtherTools\",\n \"title\": \"Other Tools\",\n \"link\": \"/downloads/tools\",\n \"externalURL\": \"\"\n }\n ]\n },\n {\n \"title\": \"Products\",\n \"route\": \"\",\n \"externalURL\": \"\",\n \"subMenu\": [\n {\n \"key\": \"BB2\",\n \"title\": \"Buildbox Classic\",\n \"link\": \"/product/bb2\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"BB3\",\n \"title\": \"Buildbox 3\",\n \"link\": \"/product/bb3\",\n \"externalURL\": \"\"\n },\n {\"key\": \"BB4\",\n \"title\": \"Buildbox 4\", \n \"link\": \"/product/bb4\", \n \"externalURL\": \"\" \n }, \n {\n \"key\": \"BBWorld\",\n \"title\": \"Buildbox World\",\n \"link\": \"/product/buildboxworld\",\n \"externalURL\": \"https://buildboxworld.com/\" \n }, \n {\n \"key\": \"Soundbox\",\n \"title\": \"Soundbox\",\n \"link\": \"/product/soundbox\",\n \"externalURL\": \"\"\n }\n ]\n },\n // {\n // \"title\": \"Learning Center\",\n // \"route\": \"\",\n // \"externalURL\": \"\",\n // \"subMenu\": [\n // {\n // \"key\": \"BB2Tutorials\",\n // \"title\": \"Buildbox Classic\",\n // \"link\": \"\",\n // \"externalURL\": \"https://www.buildbox.com/tutorials-buildbox-classic\"\n // },\n // {\n // \"key\": \"BB3Tutorials\",\n // \"title\": \"Buildbox 3\",\n // \"link\": \"\",\n // \"externalURL\": \"https://www.buildbox.com/tutorials-buildbox-3\"\n // } \n // ]\n // },\n {\n \"title\": \"Community\",\n \"route\": \"\",\n \"externalURL\": \"\",\n \"subMenu\": [\n {\n \"key\": \"productfeedback\",\n \"title\": \"Product Feedback\",\n \"link\": \"\",\n \"externalURL\": \"http://productboard.buildbox.com\"\n },\n {\n \"key\": \"gamejam\",\n \"title\": \"Game Jam\",\n \"link\": \"\",\n \"externalURL\": \"https://www.buildbox.com/gamejam\"\n },\n {\n \"key\": \"blog\",\n \"title\": \"Buildbox Blog\",\n \"link\": \"\",\n \"externalURL\": \"https://www.buildbox.com/blog/\"\n },\n {\n \"key\": \"forum\",\n \"title\": \"Buildbox Forum\",\n \"link\": \"\",\n \"externalURL\": \"https://www.buildbox.com/forum/index.php\"\n },\n {\n \"key\": \"discord\",\n \"title\": \"Buildbox Discord\",\n \"link\": \"\",\n \"externalURL\": \"https://discord.com/invite/buildbox\"\n }\n ]\n },\n // {\n // \"title\": \"Pricing\",\n // \"route\": \"/plans\",\n // \"externalURL\": \"\"\n // },\n {\n \"title\": \"Help\",\n \"route\": \"\",\n \"externalURL\": \"\",\n \"subMenu\": [\n {\n \"key\": \"reportissue\",\n \"title\": \"Report an Issue\",\n \"link\": \"/reportAnIssue\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"contact\",\n \"title\": \"Contact Support\",\n \"link\": \"/contactSupport\",\n \"externalURL\": \"\" \n },\n {\n \"key\": \"manual\",\n \"title\": \"Buildbox Manual\",\n \"link\": \"\",\n \"externalURL\": \"https://www.buildbox.com/help/buildbox-3-manual\"\n },\n {\n \"key\": \"api\",\n \"title\": \"API Reference\",\n \"link\": \"\",\n \"externalURL\": \"https://www.buildbox.com/help/buildbox-3-api-reference/\"\n },\n {\n \"key\": \"howto\",\n \"title\": \"How To/FAQs\",\n \"link\": \"\",\n \"externalURL\": \"https://www.buildbox.com/help/how-to-faqs/\"\n }\n ]\n }\n ]\n\nexport const profileHeaderItems: HeaderItem[] = [\n {\n \"title\": \"Profile\",\n \"route\": \"\",\n \"externalURL\": \"\",\n \"subMenu\": [\n {\n \"key\": \"profileInformation\",\n \"title\": \"Profile Information\",\n \"link\": \"/account/profile\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"subscription\",\n \"title\": \"Device Management\",\n \"link\": \"/account/subscription\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"monetization\",\n \"title\": \"Adbox\",\n \"link\": \"/account/ads/earnings\",\n \"externalURL\": \"\"\n },\n {\n \"key\": \"support\",\n \"title\": \"Profile Support\",\n \"link\": \"/account/support\",\n \"externalURL\": \"\"\n }\n ]\n }\n ]\n","import React, { useState, useEffect } from \"react\";\nimport styles from \"../styles/Header.module.scss\";\nimport { Link } from \"react-router-dom\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faAngleDown } from \"@fortawesome/free-solid-svg-icons/faAngleDown\";\nimport { faAngleUp } from \"@fortawesome/free-solid-svg-icons/faAngleUp\";\nimport classnames from \"classnames\";\n\nexport const MenuItem = (props) => {\n const [menuOpenState, toggleMenuState] = useState(false);\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\n const isDesktop = windowWidth >= 650;\n const { menuItem } = props;\n\n useEffect(() => {\n const handleWindowResize = () => {\n setWindowWidth(window.innerWidth);\n };\n\n window.addEventListener(\"resize\", handleWindowResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleWindowResize);\n };\n }, []);\n\n function toggleTab(path) {\n if (props.activeTab) {\n return props.activeTab === path ? styles.activeTab : \"\";\n }\n }\n\n const toggleMenu = (event) => {\n event.stopPropagation();\n toggleMenuState(!menuOpenState);\n };\n\n const renderSubMenuItems = (submenus) => {\n return (\n \n {submenus.map((submenu, i) => {\n return submenu.link !== \"\" ? (\n \n {submenu.title}\n \n ) : (\n \n {submenu.title}\n \n );\n })}\n
\n );\n };\n\n const { title } = menuItem;\n\n const renderParentMenu = () => {\n if (menuItem.route.length) {\n return (\n \n

{title}

\n \n );\n } else if (menuItem.externalURL.length) {\n return (\n \n

{title}

\n \n );\n } else {\n return (\n

\n {title}\n

\n );\n }\n };\n\n return (\n
\n
\n {renderParentMenu()}\n\n {menuItem.subMenu && (\n \n )}\n
\n\n {menuItem.subMenu && renderSubMenuItems(menuItem.subMenu)}\n
\n );\n};\n","import classnames from \"classnames\"\nimport React, { ReactElement } from \"react\"\n\nimport styles from \"../styles/SocialIcons.module.scss\"\n\nexport function SocialIcons(props:{className?:string}): ReactElement {\n return (\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n\n\nexport function SocialText(props:{className?:string}): ReactElement {\n return (\n
\n \n Facebook\n \n \n Twitter\n \n \n Youtube\n \n \n Instagram\n \n \n Discord\n \n
\n )\n}","import React, { useContext, useState, useEffect } from \"react\";\nimport { NavLink, useHistory } from \"react-router-dom\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { UserContext } from \"../App\";\nimport { Link } from \"react-router-dom\";\nimport { useLocation } from \"react-router-dom\";\nimport Log from \"../utils/Log\";\nimport { logout } from \"../actions/auth\";\nimport { showError } from \"../actions/error\";\nimport currentUserInfo from \"../selectors/currentUserInfo\";\nimport styles from \"../styles/Header.module.scss\";\nimport imgBuildboxLogo from \"../img/LogoBB_Normal.png\";\nimport imgBuildbox4Logo from \"../img/BB4_Logo_Wordmark_Wht.png\";\nimport routes from \"../constants/routes.json\";\nimport classnames from \"classnames\"\n\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faBars } from \"@fortawesome/free-solid-svg-icons/faBars\";\nimport { faTimes } from \"@fortawesome/free-solid-svg-icons/faTimes\";\n\nimport {HeaderItem, headerItems, profileHeaderItems} from \"../constants/HeaderItems\";\nimport { MenuItem } from \"../components/MenuItem\";\nimport setCssVariables from \"../utils/setCssVariables\";\nimport { SocialIcons } from \"../components/SocialIcons\";\nimport useIsMobile from \"../hooks/useIsMobile\";\nimport { addPlanToCart } from \"../actions/cart\";\nimport { PlanIds } from \"../reducers/models\";\n\n// controls the \"Try Buildbox X\" button in upper right\nconst defaultHomepage = process.env.REACT_APP_MAIN_HOME_PAGE;\n\nexport default function Header() {\n const dispatch = useDispatch();\n const location = useLocation();\n const currentUser = useSelector(currentUserInfo);\n const { session } = useContext(UserContext);\n const {isMobile} = useIsMobile()\n const history = useHistory()\n \n const [menuOpenState, toggleMenuState] = useState(false);\n const [activeTab, setActiveTab] = useState(null);\n const [toggleDropdown, setToggleDropdown] = useState(false);\n\n const color1 = sessionStorage.getItem(\"profileColor1\");\n const color2 = sessionStorage.getItem(\"profileColor2\");\n\n async function onLoad() {\n try {\n if (currentUser) {\n // Log.trace(\"got current user!\", currentUser);\n }\n\n setActiveTab(location.pathname);\n } catch (e) {\n console.log(\"e\", e);\n }\n }\n\n useEffect(() => {\n onLoad(); //eslint-disable-next-line\n }, [location.pathname, currentUser, session]);\n\n function handleSignIn() {\n console.log(\"clicked\");\n\n try {\n // save path name to redirect after successful login\n sessionStorage.setItem(\"previousRoute\", location.pathname + location.search);\n\n // redirectToLoginPage(props);\n } catch (e) {\n Log.error(e, \"Header component: error signing in\");\n }\n }\n\n async function handleLogout() {\n try {\n await dispatch(logout());\n } catch (e: any) {\n Log.error(e, \"App Component: error caught logging out\");\n dispatch(showError(e.message));\n }\n }\n\n function renderAuthState() {\n // if (workState.loginState === LoginState.Loading) {\n // return (\n //
\n // \n //

SIGNING IN...

\n //
\n // );\n // }\n\n if (currentUser && currentUser.username) {\n const userNameLetter = currentUser.name.charAt(0).toUpperCase();\n const background = {\n \"background\": `linear-gradient(to bottom, ${color1}, ${color2})`,\n };\n setCssVariables(background);\n return (\n <>\n setToggleDropdown(!toggleDropdown)}\n >\n {userNameLetter}\n

\n {toggleDropdown && (\n
\n
    \n setToggleDropdown(!toggleDropdown)}\n >\n Profile\n \n setToggleDropdown(!toggleDropdown)}\n >\n Device Management\n \n setToggleDropdown(!toggleDropdown)}\n >\n Adbox\n \n setToggleDropdown(!toggleDropdown)}\n >\n Support\n \n
  • \n

    Sign out

    \n
  • \n
\n
\n )}\n \n );\n } else {\n return (\n \n \n Sign In\n \n \n );\n }\n }\n\n function getMobileMenu() {\n const animStyle = {\n overflow: \"hidden\",\n transition: \"max-height 0.25s cubic-bezier(0.65, 0.05, 0.36, 1) 0s\",\n height: \"height: calc( 100vh - 100px )\",\n maxHeight: \"0px\",\n };\n\n const linkHeaderItems = {\n gridTemplateRows: `repeat( ${headerItems.length}, 35px )`,\n };\n\n if (menuOpenState) {\n animStyle.maxHeight = \"100vh\"; // Value doesn't seem to really matter, as long as its not auto and larger than content height\n }\n\n return (\n \n
\n {renderMenuItems(headerItems)}\n {renderMobileAuth()}\n
\n \n );\n }\n\n function renderMenuItems(headerItemsArray: HeaderItem[]) {\n return headerItemsArray.map((headerItem) => {\n if(headerItem.title === \"Downloads\" && isMobile) return null\n return (\n \n )});\n }\n\n function renderMobileAuth() {\n if (currentUser && currentUser.username) {\n return (\n <>\n <>{renderMenuItems(profileHeaderItems)}\n
\n

\n Sign out\n

\n
\n \n );\n } else {\n return (\n \n
\n

Sign In

\n
\n \n );\n }\n }\n\n function toggleMenu() {\n toggleMenuState(!menuOpenState);\n }\n\n\n function handlePurchaseClick(): void {\n\n if(defaultHomepage === \"BBCLASSIC\") {\n dispatch(addPlanToCart(PlanIds.BB2Beginner));\n }\n else {\n dispatch(addPlanToCart(PlanIds.BB4Beginner));\n }\n\n const promoCode = sessionStorage.getItem(\"promoCode\");\n if (currentUser?.referralInfo?.Network?.toLowerCase() === \"xsolla\") {\n if (promoCode) {\n history.push(`/purchaseThroughXsolla?promo=${promoCode}`);\n } else {\n history.push(\"/purchaseThroughXsolla\");\n }\n } else {\n if (promoCode) {\n history.push(`/purchaseThroughStripeCheckout?promo=${promoCode}`);\n } else {\n history.push(\"/purchaseThroughStripeCheckout\");\n }\n }\n }\n\n function logoElement() {\n let logoUrl\n if(defaultHomepage === \"BBCLASSIC\") {\n logoUrl = imgBuildboxLogo\n }\n else {\n logoUrl = imgBuildbox4Logo\n }\n return (\n \n \n \n )\n }\n\n return (\n
\n {logoElement()}\n \n
\n {renderMenuItems(headerItems)}\n {renderAuthState()}\n {/* TODO: Double check if this is where we want to land */}\n \n
\n
\n \n
\n {getMobileMenu()}\n
\n );\n}\n","export default function setCssVariables(variableObj) {\n Object.keys(variableObj).map((key) => {\n const value = variableObj[key];\n return document.documentElement.style.setProperty(key, value);\n });\n}\n","import React from \"react\";\nimport styles from \"../styles/Footer.module.scss\";\nimport classnames from \"classnames\"\nimport img from \"../img/LogoBB_Normal.png\";\n// import { SocialText } from \"../components/SocialIcons\"\n\nexport default function Footer() {\n\n return (\n
\n
\n
\n
\n
\n \n \"logo\"\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 Facebook\n \n \n Twitter\n \n \n Youtube\n \n \n Instagram\n \n \n Discord\n \n
\n
\n
\n
\n

©2021-2024 AppOnboard, Inc

\n |\n Privacy Policy\n |\n Terms\n
\n
\n
\n );\n}\n","import React, { useEffect, Suspense } from \"react\";\nimport { Route } from \"react-router-dom\";\n\nexport default function AppliedRoute({ component: C, appProps, ...rest }) {\n useEffect(() => {\n //to bring to top of page since react-router remembers your scroll pos?\n window.scrollTo(0, 0);\n\n //TODO: this may need to include title ie below, pass informatin through the props\n // window.dataLayer.push({\n // event: \"pageview\",\n // page: {\n // url: location,\n // title: title,\n // },\n // });\n window.dataLayer.push({\n event: \"pageview\",\n });\n });\n return (\n (\n Loading...}>\n \n \n )}\n />\n );\n}\n","import React, { lazy } from \"react\";\nimport { Redirect, Switch } from \"react-router-dom\";\nimport AppliedRoute from \"./components/AppliedRoute\";\nimport routes from \"./constants/routes.json\";\n\nconst NewBB4Home = lazy(() => import(\"./containers/home/NewBB4Home\"));\nconst NewClassicStoryGamesHome = lazy(() => import(\"./containers/home/NewClassicStoryGamesHome\"));\nconst BB4Product = lazy(() => import(\"./containers/product/BB4Product.jsx\"));\nconst BB3Product = lazy(() => import(\"./containers/product/BB3Product.jsx\"));\nconst BB2Product = lazy(() => import(\"./containers/product/BB2Product.jsx\"));\nconst SoundboxProduct = lazy(() => import(\"./containers/product/SoundboxProduct.jsx\"));\nconst Plans = lazy(() => import(\"./containers/plans/Plans\"));\nconst NotFound = lazy(() => import(\"./containers/NotFound\"));\nconst Downloads = lazy(() => import(\"./containers/Downloads\"));\nconst BillingFormStripe = lazy(() => import(\"./containers/CheckoutStripe.tsx\"));\nconst StripeCheckout = lazy(() => import(\"./containers/StripeCheckout.tsx\"));\nconst StripeCheckoutReturn = lazy(() => import(\"./containers/StripeCheckoutReturn.tsx\"));\nconst BillingFormXsolla = lazy(() => import(\"./containers/CheckoutXsolla.tsx\"));\nconst XsollaCheckoutReturn = lazy(() => import(\"./containers/XsollaCheckoutReturn.tsx\"));\nconst AuthUI = lazy(() => import(\"./containers/AuthUI\"));\nconst ConfirmAccount = lazy(() => import(\"./containers/ConfirmAccount\"));\nconst ThankYou = lazy(() => import(\"./containers/ThankYou\"));\nconst Login = lazy(() => import(\"./containers/LoginPage\"));\nconst Loader = lazy(() => import(\"./containers/Loader\"));\nconst ClientUpgradeRedirect = lazy(() =>\n import(\"./containers/client/ClientUpgradeRedirect\")\n);\nconst ClientLoginRedirect = lazy(() =>\n import(\"./containers/client/ClientLoginRedirect\")\n);\nconst ClientLogoutRedirect = lazy(() =>\n import(\"./containers/client/ClientLogoutRedirect\")\n);\nconst ClientPostmessageConnection = lazy(() =>\n import(\"./containers/client/ClientPostmessageConnection\")\n);\nconst ClientGoogleLogin = lazy(() =>\n import(\"./containers/client/ClientGoogleLogin\")\n);\nconst ClientFacebookLogin = lazy(() =>\n import(\"./containers/client/ClientFacebookLogin\")\n);\nconst ClientAppleLogin = lazy(() =>\n import(\"./containers/client/ClientAppleLogin\")\n);\nconst ClientDeeplinkLogin = lazy(() =>\n import(\"./containers/client/ClientDeeplinkLogin\")\n);\nconst ClientAwaitingFacebookLogin = lazy(() =>\n import(\"./containers/client/ClientAwaitingFacebookLogin\")\n);\nconst ClientAwaitingAppleLogin = lazy(() =>\n import(\"./containers/client/ClientAwaitingAppleLogin\")\n);\nconst ClientAwaitingGoogleLogin = lazy(() =>\n import(\"./containers/client/ClientAwaitingGoogleLogin\")\n);\nconst ReportAnIssue = lazy(() => import(\"./containers/ReportAnIssue.jsx\"));\nconst ContactSupport = lazy(() => import(\"./containers/ContactSupport.jsx\"));\nconst NewFeature = lazy(() => import(\"./containers/NewFeature.jsx\"));\nconst FeatureThankYou = lazy(() => import(\"./containers/FeatureThankYou.jsx\"));\nconst FeaturePostMessage = lazy(() =>\n import(\"./containers/FeaturePostMessage.jsx\")\n);\nconst UserAccount = lazy(() => import(\"./containers/UserAccount.jsx\"));\nconst BuildBoxWorld = lazy(() => import(\"./containers/BuildBoxWorld.js\"));\nconst ReferralLandingPage = lazy(() =>\n import(\"./containers/ReferralLandingPage.jsx\")\n);\n\nconst GenAIPrompt = lazy(() => import(\"./containers/genai/GenAIPrompt.tsx\"));\nconst RenewalThankYou = lazy(() => import(\"./containers/RenewalThankYou\"))\nconst BB4AlphaPreviewNotes = lazy(() => import(\"./containers/BB4AlphaPreviewNotes\"));\nconst BB4CheckoutRedirect = lazy(() => import(\"./containers/BB4CheckoutRedirect\"));\nconst BB2CheckoutRedirect = lazy(() => import(\"./containers/BB2CheckoutRedirect\"));\n\nconst UpsellAfterTrial = lazy(() => import(\"./containers/trialUpsell/UpsellAfterTrial\"));\n\nconst BB2Campaign = lazy(() => import(\"./containers/landing/BB2Campaign\"));\n\nexport default function Routes({ appProps }) {\n const homePage = process.env.REACT_APP_MAIN_HOME_PAGE;\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 window.location.href = process.env.REACT_APP_STAGE === \"production\" ? \"https://storygames.buildbox.com/\": \"https://genai-fe.dev.8cell.com/\";\n return null;\n }}\n appProps={appProps}\n />\n {\n window.location.href = process.env.REACT_APP_STAGE === \"production\" ? \"https://buildboxworld.com/\": \"https://buildboxworld.com/\";\n return null;\n }}\n appProps={appProps}\n />\n \n \n \n \n {\n console.log('apple pay site verification route...');\n window.location.href = '/.well-known/apple-developer-merchantid-domain-association.dat';\n return null; \n }}\n appProps={appProps}\n />\n\n \n \n \n \n \n \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport styles from \"../styles/GenericLogoLander.module.scss\";\nimport { isUnsupportedBrowser } from \"../utils/browserUtils\";\n\nexport const RoadblockUI = (props) => {\n return (\n
\n
\n \n

\n Your browser is deprecated. Please use the latest version of Chrome,\n Firefox, Microsoft Edge, or Safari for an optimal experience.\n

\n
\n
\n );\n};\n\nexport default function BrowserRoadblock({ children }) {\n const [isDeprecated, setRoadblock] = useState(false);\n\n const detectBrowser = () => {\n const isIE = isUnsupportedBrowser();\n\n if (isIE) {\n setRoadblock(true);\n sessionStorage.setItem(\"isDeprecated\", true);\n } else {\n setRoadblock(false);\n sessionStorage.setItem(\"isDeprecated\", false);\n }\n };\n\n useEffect(() => {\n detectBrowser();\n }, [isDeprecated]);\n\n return <>{isDeprecated ? : children};\n}\n","import React from 'react';\nimport { Helmet } from 'react-helmet';\n\nconst OneTrust = () => {\n return (\n <>\n {process.env.REACT_APP_STAGE === \"production\" ? \n null\n // (\n // \n // \n // \n // \n // \n // ) \n : \n (\n \n \n \n \n \n )\n }\n \n );\n};\n\nexport default OneTrust;\n","import React, { useState, useEffect } from \"react\";\nimport Log from \"../src/utils/Log\";\nimport { push } from \"connected-react-router\";\nimport QueryString from \"query-string\";\nimport routes from \"./constants/routes.json\";\nimport { Hub } from \"@aws-amplify/core\";\nimport { withRouter } from \"react-router-dom\";\nimport { redirectToLoginPage } from \"./utils/routes\";\n\nimport Header from \"./containers/Header\";\nimport Footer from \"./containers/Footer\";\nimport Routes from \"./Routes\";\nimport styles from \"./styles/App.module.scss\";\n\nimport BrowserRoadblock from \"./containers/BrowserRoadblock\";\n//REDUX STUFF\nimport currentUserInfo from \"./selectors/currentUserInfo\";\nimport { login, logout } from \"./actions/auth\";\nimport { clientLoginRedirect, webLoginRedirect } from \"./actions/current\";\nimport { dispatchError } from \"./actions/error\";\nimport { showError } from \"./actions/error\";\nimport { setGAClientId } from \"./actions/analytics\";\nimport isLoggingInFromClient from \"./selectors/isLoggingInFromClient\";\n\nimport selectGAClientId from \"./selectors/selectGAClientId\";\nimport { waitForGAClientId } from \"./utils/analyticsUtils\";\nimport { setXsollaCookie } from \"./utils/referralUtils\";\n\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { ToastContainer } from \"react-toastify\";\nimport OneTrust from \"./OneTrust\";\nimport \"react-toastify/dist/ReactToastify.css\";\n\n//use UserContext only for passing around methods:\nexport const UserContext = React.createContext();\n\nfunction App(props) {\n const dispatch = useDispatch();\n\n const currentUser = useSelector(currentUserInfo);\n\n const [authError, setAuthError] = useState(null);\n\n const [isAuthenticated, setIsAuthenticated] = useState(false);\n\n const errorState = useSelector((state) => state.error.error);\n const clientLoginState = useSelector(isLoggingInFromClient);\n const selectGoogleClientId = useSelector(selectGAClientId);\n\n useEffect(() => {\n onLoad();\n //eslint-disable-next-line\n }, []);\n\n useEffect(() => {\n if (errorState) {\n Log.error(errorState, \"App.js -- dispatching error\");\n dispatch(dispatchError(errorState));\n }\n //eslint-disable-next-line\n }, [errorState]);\n\n // Subscribe to auth events\n useEffect(() => {\n const handler = async ({ payload }) => {\n switch (payload.event) {\n case \"signIn\":\n Log.info(\"\", \"sign in heard\");\n try {\n await dispatch(login(props));\n const isFromBBClient = sessionStorage.getItem(\"fromBBClient\");\n\n if (isFromBBClient === \"true\") {\n await dispatch(clientLoginRedirect());\n } else {\n await dispatch(webLoginRedirect(props));\n }\n\n setIsAuthenticated(true);\n } catch (e) {\n Log.error(e, \"App.js: error caught signing in!!!\");\n setAuthError(e);\n dispatch(showError(e.message));\n }\n break;\n\n case \"signIn_failure\":\n Log.error(payload.data, \"App Component - error caught on signIn\");\n\n if (payload.data.message.includes(\"invalid_grant\") && !currentUser) {\n dispatch(\n showError(\"Something went wrong. Please sign out and log in.\")\n );\n redirectToLoginPage(props);\n } else {\n // redirectToAuthUI(props, payload.data);\n }\n\n break;\n case \"signOut\":\n dispatch(push(routes.CLIENT_LOGOUT_REDIRECT));\n break;\n\n default:\n break;\n }\n };\n\n Hub.listen(\"auth\", handler);\n \n //clean up any events\n return () => {\n Hub.remove(\"auth\", handler);\n };\n //eslint-disable-next-line\n }, []);\n\n async function onLoad() {\n try {\n const currentUrl = new URL(window.location);\n const urlQuery = QueryString.parse(currentUrl.search);\n const referralShortCode = urlQuery[\"tracking_id\"];\n\n if (referralShortCode) {\n setXsollaCookie(referralShortCode);\n }\n\n if (currentUser !== null) {\n Log.trace(\"user is already logged in\");\n }\n if (!selectGoogleClientId) {\n await waitForGAClientId((googleClientId) =>\n dispatch(setGAClientId(googleClientId))\n );\n }\n } catch (e) {\n if (e !== \"No current user\") {\n Log.error(e, \"App Component: error caught on load\");\n }\n }\n }\n\n // window.onload = function () {\n // console.log(\"hi\");\n // let sdk = document.getElementById(\"onetrust-consent-sdk\");\n // console.log(\"onetrust-consent-sdk\", sdk);\n // sdk.remove();\n // };\n\n async function handleLogout(url) {\n try {\n await dispatch(logout(url));\n } catch (e) {\n Log.error(e, \"App Component: error caught logging out\");\n dispatch(showError(e.message));\n }\n }\n\n const UserContextValue = {\n handleLogout: handleLogout,\n authError: authError,\n session: sessionStorage,\n };\n\n const hideHeaderAndFooter =\n props.location.pathname.includes(\"login\") ||\n props.location.pathname === \"/clientAwaitingGoogleLogin\" ||\n props.location.pathname === \"/clientAwaitingFacebookLogin\" ||\n props.location.pathname === \"/clientAwaitingAppleLogin\" ||\n props.location.pathname === \"/clientredirect\" ||\n props.location.pathname === \"/featurePostMessage\" ||\n props.location.pathname === \"/clientconnection\" ||\n (props.location.pathname.includes(\"/account/\") && clientLoginState) ||\n props.location.pathname === routes.REFERRAL_LANDING_PAGE;\n\n return (\n
\n \n {!hideHeaderAndFooter && }\n \n \n\n \n {!hideHeaderAndFooter && (\n
\n )}\n \n {!hideHeaderAndFooter &&
}\n \n \n
\n );\n}\n\nexport default withRouter(App);\n","import { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\nimport { bbaiStoryGamePromptStepStatus, BBDocResponseObj } from \"../constants/GenPrompTypes\";\nimport { BBAI_STORE_VERSION, storeStorageVersion } from \"../utils/StorageVersion\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { mapPromptToDisplay } from \"../containers/genai/constants/mapPromptToDisplay\";\n\nexport const CYOAProjectType = \"cyoa\";\n\nconst BBAI_STORAGE_KEY = \"bbaiCyoa-Store\";\n\n\nstoreStorageVersion(BBAI_STORE_VERSION, BBAI_STORAGE_KEY);\n\n// localStorage.removeItem(BBAI_STORAGE_KEY);\n\nexport interface errorBody {\n title: string;\n message: string;\n}\n\nexport interface IStoryGameState {\n projectType: string;\n version: number;\n isLoading: boolean; \n completed?: boolean; \n error?: errorBody; \n promptStepStatus: bbaiStoryGamePromptStepStatus;\n userStoryPrompt: string;\n generatedCYOAGameData: any | null;\n projectId: string;\n allAssetsGenerated: boolean;\n bbworldBBDocId: string; \n isGuest: boolean;\n bbDocHistory: BBDocResponseObj[]|null\n // promptComponents: Display[] //React.ReactNode[]; //\n showAuthFrame: boolean;\n isAuthed: boolean;\n createAccountMode: boolean;\n userId: string | null;\n bbDocUrl: string | null;\n gameDataRestartID: string | null;\n titleImage: File | null;\n}\n\nexport const initialStoryGameState: IStoryGameState = {\n projectType: CYOAProjectType,\n version: BBAI_STORE_VERSION,\n isLoading: false,\n error: undefined,\n promptStepStatus: bbaiStoryGamePromptStepStatus.INITIAL,\n userStoryPrompt: \"\",\n generatedCYOAGameData: null,\n allAssetsGenerated: false,\n projectId: uuidv4(), // doesn't seeem to generate correctly\n bbworldBBDocId: \"\",\n completed: false,\n isGuest: false,\n bbDocHistory: null,\n // promptComponents: [mapPromptToDisplay[\"INITIAL\"]],\n showAuthFrame: false,\n isAuthed: false,\n createAccountMode: false,\n userId: null,\n bbDocUrl: null,\n gameDataRestartID: null,\n titleImage: null\n}; \n\n\nconst storyGameReducer = (\n state: IStoryGameState = initialStoryGameState,\n action: AnyAction\n):IStoryGameState => {\n switch (action.type) {\n case actions.storyGame.SET_LOADING: \n return {\n ...state,\n isLoading: action.loading\n }\n case actions.storyGame.INITIAL:\n return {\n ...initialStoryGameState\n }\n case actions.storyGame.SET_ERROR:\n return {\n ...state,\n error: action.error\n }\n case actions.storyGame.SET_PROMPT_STEP:\n return {\n ...state,\n promptStepStatus: action.stepStatus\n }\n case actions.storyGame.SET_USER_STORY_PROMPT:\n return {\n ...state,\n userStoryPrompt: action.prompt\n }\n case actions.storyGame.SET_GENERATED_STORY_GAME_DATA:\n return {\n ...state,\n generatedCYOAGameData: action.data\n }\n case actions.storyGame.SET_PROJECT_ID:\n return {\n ...state,\n projectId: action.id\n }\n case actions.storyGame.SET_ALL_ASSETS_GENERATED:\n return {\n ...state,\n allAssetsGenerated: action.allAssetsGenerated\n }\n case actions.storyGame.SET_BBWORLD_BBDOC_ID:\n return {\n ...state,\n bbworldBBDocId: action.id\n }\n case actions.storyGame.SET_BBDOC_HISTORY:\n return {\n ...state,\n bbDocHistory: action.history\n }\n case actions.storyGame.SET_GUEST: \n return { \n ...state,\n isGuest: action.isGuest\n }\n case actions.storyGame.NEXT_STAGE:\n const currentStage = state.promptStepStatus\n const nextStage = mapPromptToDisplay[bbaiStoryGamePromptStepStatus[currentStage]]?.nextStage\n return {\n ...state,\n promptStepStatus: bbaiStoryGamePromptStepStatus[nextStage as bbaiStoryGamePromptStepStatus],\n }\n case actions.storyGame.SET_STAGE: \n return {\n ...state,\n promptStepStatus: action.stage\n }\n case actions.storyGame.SET_SHOW_AUTH_FRAME:\n return {\n ...state,\n showAuthFrame: action.showAuthFrame\n }\n case actions.storyGame.SET_IS_AUTH: \n return {\n ...state,\n isAuthed: action.isAuthed\n }\n case actions.storyGame.SET_CREATE_ACCOUNT_MODE:\n return {\n ...state,\n createAccountMode: action.createAccountMode\n }\n case actions.storyGame.SET_USER_ID: \n return {\n ...state,\n userId: action.userId\n }\n case actions.storyGame.SET_BBDOC_URL:\n return {\n ...state,\n bbDocUrl: action.url\n }\n case actions.storyGame.START_OVER:\n return {\n ...initialStoryGameState,\n isAuthed: state.isAuthed,\n }\n case actions.storyGame.SET_RETRY_ID:\n return {\n ...state,\n gameDataRestartID: action.id\n }\n case actions.storyGame.SET_CONFIRM_COMPLETE:\n return {\n ...state,\n completed: true,\n }\n case actions.storyGame.GET_COMPONENTS_ARRAY: \n return {\n ...state,\n }\n case actions.storyGame.SET_TITLE_IMAGE:\n return {\n ...state,\n titleImage: action.titleImage\n }\n default:\n return state;\n }\n}\n\n\n\nexport default storyGameReducer;\n\n","\n\nexport const BBAI_STORE_VERSION = 6;\n\nexport const storeStorageVersion = (storeVersion: number, storageKey: string ) => {\n const BBAI_STORE_VERSION_KEY = `${storageKey}-version`;\n \n const storedVersionStr = localStorage.getItem(BBAI_STORE_VERSION_KEY);\n const storedVersion: number =\n storedVersionStr !== null ? parseInt(storedVersionStr) : 0;\n if (isNaN(storedVersion) || storedVersion < storeVersion) {\n console.warn(\n `[store.ts] Detected older version of prompt storage schema - clearing existing state`\n );\n localStorage.removeItem(storageKey);\n localStorage.setItem(BBAI_STORE_VERSION_KEY, storeVersion.toString(10));\n } else {\n console.debug(\n `[store.ts] bbai-storage-version is valid. found: ${storedVersion}, minimum: ${storeVersion}`\n );\n }\n\n}\n\n","module.exports = __webpack_public_path__ + \"static/media/BB4_Logo_Wordmark_Wht.e14e4e57.png\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"App\":\"App_App__2Fx1V\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"animatedButton\":\"AnimatedButton_animatedButton__17jzF\",\"dance\":\"AnimatedButton_dance__3wA4q\"};","// import { showError } from \"./error\";\nimport { AnyAction } from \"redux\";\n// import { PlanType, WorkState } from \"../reducers/models\";\nimport actions from \"../constants/actions.json\";\n// import { getHouseAdCampaign, getSaleData } from \"../utils/saleUtils\";\nimport { errorBody } from \"../reducers/storyGameReducer\";\nimport { bbaiStoryGamePromptStepStatus, BBDocResponseObj } from \"../constants/GenPrompTypes\";\nimport { Display } from \"../containers/genai/constants/bbai.prompts\";\nimport { mapPromptToDisplay } from \"../containers/genai/constants/mapPromptToDisplay\";\n// import { getDiscountedPlanPricing } from \"../utils/saleUtils\";\n\n// export function resetSaleState(): DefaultThunkAction> {\n// return async (dispatch) => {\n// Log.trace(\"\", \"clearing sale state\");\n// sessionStorage.removeItem(\"promoCode\");\n// window.history.replaceState(null, window.location.pathname);\n\n// dispatch(clearSaleState());\n// };\n// }\n\nexport function loadingState(loading: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_LOADING,\n loading,\n };\n}\n\nexport function setPolling(polling: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_POLLING,\n polling,\n };\n}\n\nexport function initial(): AnyAction {\n return {\n type: actions.storyGame.INITIAL,\n // showSaleUI,\n };\n}\n\nexport function setErrorState(error: errorBody | undefined): AnyAction {\n return {\n type: actions.storyGame.SET_ERROR,\n error,\n };\n}\n\nexport function setPromptStepState(stepStatus: bbaiStoryGamePromptStepStatus): AnyAction {\n return {\n type: actions.storyGame.SET_PROMPT_STEP,\n stepStatus,\n };\n}\n\nexport function setUserStoryPrompt(prompt: string): AnyAction {\n return {\n type: actions.storyGame.SET_USER_STORY_PROMPT,\n prompt,\n };\n}\n\nexport function setGeneratedCYOAGameData(data: object | null): AnyAction {\n return {\n type: actions.storyGame.SET_GENERATED_STORY_GAME_DATA,\n data,\n };\n}\n\nexport function setProjectId(id: string): AnyAction {\n return {\n type: actions.storyGame.SET_PROJECT_ID,\n id\n };\n}\n\nexport function setAllAssetsGenerated(allAssetsGenerated: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_ALL_ASSETS_GENERATED,\n allAssetsGenerated\n };\n}\n\nexport function setBBWorldBBDocId(id:string ): AnyAction {\n return {\n type: actions.storyGame.SET_BBWORLD_BBDOC_ID,\n id\n }\n}\n\nexport function setBBDocHistory(history:BBDocResponseObj[]|null): AnyAction {\n return {\n type: actions.storyGame.SET_BBDOC_HISTORY,\n history\n }\n}\n\nexport function setGuest(isGuest: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_GUEST,\n isGuest\n }\n}\n\nexport function nextStage(): AnyAction {\n return {\n type: actions.storyGame.NEXT_STAGE,\n }\n}\n\nexport function setStage(stage: bbaiStoryGamePromptStepStatus): AnyAction {\n return {\n type: actions.storyGame.SET_STAGE,\n stage\n }\n}\n\nexport function setShowAuthFrame(showAuthFrame: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_SHOW_AUTH_FRAME,\n showAuthFrame\n }\n}\n\nexport function setIsAuthed(isAuthed: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_IS_AUTH,\n isAuthed\n }\n}\n\nexport function setCreateAccountMode(createAccountMode: boolean): AnyAction {\n return {\n type: actions.storyGame.SET_CREATE_ACCOUNT_MODE,\n createAccountMode\n }\n}\n\nexport function setUserId(userId: string): AnyAction {\n return {\n type: actions.storyGame.SET_USER_ID,\n userId\n }\n}\n\nexport function setBBDocUrl(url: string): AnyAction {\n return {\n type: actions.storyGame.SET_BBDOC_URL,\n url\n }\n}\n\nexport function startOver(): AnyAction {\n return {\n type: actions.storyGame.START_OVER,\n }\n}\n\nexport function setRetryID(id: string | null): AnyAction {\n\n // console.log(\"setRestartID\", id);\n let newComponentArray:Display[] = []\n\n for (const [key, value] of Object.entries(mapPromptToDisplay)) {\n newComponentArray.push(value)\n if(key === bbaiStoryGamePromptStepStatus.INITIAL) {\n break;\n } \n }\n \n return {\n type: actions.storyGame.SET_RETRY_ID,\n id\n }\n}\n\nexport function getComponentsArray(id: string | null): AnyAction {\n return {\n type: actions.storyGame.GET_COMPONENTS_ARRAY,\n id\n }\n}\n\nexport function setConfirmComplete(): AnyAction {\n return {\n type: actions.storyGame.SET_CONFIRM_COMPLETE,\n }\n}\n\nexport function setTitleImage(titleImage: File | null): AnyAction {\n return {\n type: actions.storyGame.SET_TITLE_IMAGE,\n titleImage\n }\n}","import { PlanType } from \"../reducers/models\";\n\nexport const BBDownloadVersion: bb.utility.IBBDownloadVersions = {\n BB4: {\n WIN: process.env.REACT_APP_BB4_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_BB4_DOWNLOAD_LINK_MAC,\n APP: \"buildbox4\",\n }, \n BB3: {\n WIN: process.env.REACT_APP_BB3_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_BB3_DOWNLOAD_LINK_MAC,\n APP: \"buildbox3\",\n },\n BB2: {\n WIN: process.env.REACT_APP_BB2_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_BB2_DOWNLOAD_LINK_MAC,\n APP: \"buildbox2\",\n },\n Soundbox: {\n WIN: process.env.REACT_APP_SOUNDBOX_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_SOUNDBOX_DOWNLOAD_LINK_MAC,\n APP: \"soundbox\",\n },\n Animationbox: {\n WIN: process.env.REACT_APP_ANIMATIONBOX_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_ANIMATIONBOX_DOWNLOAD_LINK_MAC,\n APP: \"animationbox\",\n },\n Pixelbox: {\n WIN: process.env.REACT_APP_PIXELBOX_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_PIXELBOX_DOWNLOAD_LINK_MAC,\n APP: \"pixelbox\",\n },\n Voxelbox: {\n WIN: process.env.REACT_APP_VOXELBOX_DOWNLOAD_LINK_WIN,\n MAC: process.env.REACT_APP_VOXELBOX_DOWNLOAD_LINK_MAC,\n APP: \"voxelbox\",\n }\n};\n\nexport const downloadPaths: bb.utility.DownloadPaths = {\n BB4: \"downloads/bb4\",\n BB3: \"downloads/bb3\",\n BB2: \"downloads/bb2\",\n BBBundle: \"downloads/bbbundle\",\n Soundbox: \"downloads/soundbox\",\n};\n\nexport const analyticProductTypes: bb.utility.BBProductTypes = {\n BB4: \"buildbox4\",\n BB3: \"buildbox3\",\n BB2: \"buildbox2\",\n BBBundle: \"buildboxbundle\",\n Soundbox: \"soundbox\",\n};\n\ntype AnalyticsProductTierNames = {\n [K in PlanType]: U;\n};\n\nexport const analyticProductTierNames: AnalyticsProductTierNames = {\n Monthly: \"Monthly\",\n Free: \"Free\",\n Plus: \"Plus\",\n Pro: \"Pro\",\n Bundle: \"Pro\",\n //Weekly: \"Weekly\",\n Beginner: \"Beginner\",\n Basic: \"Plus\",\n}\n\n","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\n\n//NK: We decided to keep this in case we want to implement Xsolla referral program in the future\n/**\n * fires a referral signup event\n *\n * @param {trackingId}: tracking id string from the referrer\n * @param {userId}: uuid of the signed up user in our server\n */\n\nexport const sendReferralTrackingId = (trackingId, userId) => {\n return new Promise((resolve, reject) => {\n API.post(\"assetsURL\", \"/assetmanagement/referralEvent\", {\n body: {\n trackingId: trackingId,\n userId: userId,\n },\n headers: {\n \"Content-Type\": \"application/json\",\n Token: \"\", //TODO: add access token here\n },\n response: true,\n })\n .then((res) => {\n console.log(\"res ======>\", res);\n Log.info(res.data, \"Referral Signup Credited:\");\n resolve(res);\n })\n .catch((e) => {\n Log.info(e.response?.data?.metadata?.message, \"Non-referral signup:\");\n if (e.response && e.response.status === 422) {\n resolve(e.response.data);\n } else {\n reject(e);\n }\n });\n });\n};\n","import Log from \"../utils/Log\";\nimport { push, replace } from \"connected-react-router\";\nimport Auth from \"@aws-amplify/auth\";\nimport { DefaultThunkAction } from \"./shared\";\nimport { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\nimport routes from \"../constants/routes.json\";\nimport {\n createUser,\n fetchTokensforCode,\n fetchUserScreenName,\n updateUserScreenName,\n} from \"../api/auth\";\nimport { sendReferralTrackingId } from \"../api/referralprogram\";\nimport { addMailchimpAudienceTags } from \"../api/mailchimp\";\nimport { showError } from \"./error\";\nimport { LoginClientType, LoginState, WorkState } from \"../reducers/models\";\nimport {\n setFromSSORedirect,\n resetCurrentState,\n setLoginWorkState,\n setSignUpWorkState,\n setProductType,\n setLoggingInfromClient,\n} from \"./current\";\nimport {\n getCognitoUser,\n checkTokenExpiration,\n getRefreshedCognitoTokens,\n refreshWebAccessToken,\n getUserAttributes,\n} from \"../utils/CognitoUtils\";\nimport { setGAClientId, setAnalyticsRegistrationEvent } from \"./analytics\";\nimport { getGAClientId } from \"../utils/analyticsUtils\";\n// import { findCookieValue } from \"../utils/referralUtils\";\nimport { clearAccount } from \"./account\";\nimport { getDeviceType } from \"../utils/browserUtils\";\nimport { getRandomColor, getBBVersion } from \"../utils/helperUtils\";\nimport { validateEmail } from \"../utils/validationForm\";\n\n\nexport function login(props: any): DefaultThunkAction> {\n return async (dispatch) => {\n dispatch(setLoginWorkState(LoginState.Loading));\n try {\n const cognitoUserInfo:\n | bb.model.ICognitoUser\n | any = await getCognitoUser();\n const { accessToken, refreshToken, referralTrackingId } = cognitoUserInfo;\n // console.log(cognitoUserInfo);\n //if we detect a referral cookie on login include it for user creation\n const xsollaTrackingId = referralTrackingId;\n\n //console.log(\"login referral link\", referralTrackingId);\n let ReferralInfo = null;\n if (xsollaTrackingId) {\n ReferralInfo = {\n Network: \"Xsolla\",\n Info: xsollaTrackingId,\n };\n }\n\n const proposedBuildboxUserId = sessionStorage.getItem(\"proposedBuildboxUserId\");\n const oneTimeCode = sessionStorage.getItem(\"oneTimeCode\");\n const isGuest = sessionStorage.getItem(\"isGuest\") === \"1\";\n\n const userAttributes = await getUserAttributes(accessToken);\n const { email, name, username, locale } = userAttributes;\n\n const response = await createUser(accessToken, ReferralInfo, proposedBuildboxUserId, oneTimeCode, isGuest);\n const { user, userCreated } = response.payload;\n if(!user) {\n throw new Error(\"User creation failed\")\n }\n\n const userScreenName = await fetchUserScreenName(accessToken);\n dispatch(setUserScreenName(userScreenName));\n const userObject = {\n username: username,\n name: name,\n uuid: user.Id,\n email: email,\n // screenName: \"\",\n screenName: userScreenName || \"\",\n country: locale ? userAttributes.locale : \"United States of America\",\n isNewUser: userCreated,\n referralInfo: user.ReferralInfo,\n };\n\n const tokenObject = {\n refreshToken,\n accessToken,\n };\n const productType = sessionStorage.getItem(\"websocket-product\")\n ? sessionStorage.getItem(\"websocket-product\")\n : sessionStorage.getItem(\"productType\");\n\n sessionStorage.setItem(\"websocket-accessToken\", accessToken);\n sessionStorage.setItem(\"websocket-refreshToken\", refreshToken);\n sessionStorage.setItem(\"websocket-email\", email);\n sessionStorage.setItem(\"websocket-username\", username);\n\n sessionStorage.setItem(\"profileColor1\", getRandomColor());\n sessionStorage.setItem(\"profileColor2\", getRandomColor());\n\n dispatch(setUser(userObject));\n\n dispatch(setAuthTokens(tokenObject));\n\n const clientId = await getGAClientId();\n\n await dispatch(setGAClientId(clientId));\n\n //if we detect a cookie on login fire referral attribution\n // note this has to come after create user so we have the user id\n // maybe we could move it to platform side in the future.\n if (xsollaTrackingId) {\n await sendReferralTrackingId(xsollaTrackingId, user.Id);\n }\n\n if (userCreated) {\n await dispatch(handleNewUserRegistration(userObject, clientId));\n if (!email) return;\n await dispatch(setMailchimpMarketingTags(email, productType));\n } else {\n Log.info(email, \"not a new user\");\n }\n dispatch(setLoginWorkState(LoginState.None));\n\n // as we succeeded, clear out the checkout session info if there was any\n sessionStorage.removeItem(\"proposedBuildboxUserId\");\n sessionStorage.removeItem(\"oneTimeCode\");\n sessionStorage.removeItem(\"isGuest\");\n } \n catch (e:any) {\n Log.error(e, \"Error dispatching: login\");\n\n //show a global toast error for server errors on our end after Cognito signin\n dispatch(showError(e.message));\n\n if (e.response && e.response.status === 401) {\n dispatch(setLoginWorkState(LoginState.Unauthorized));\n } else {\n dispatch(setLoginWorkState(LoginState.ServerError));\n }\n }\n };\n}\n\nexport function logout(url?: string): DefaultThunkAction> {\n const previousRoute = sessionStorage.getItem(\"previousRoute\");\n\n return async (dispatch) => {\n try {\n await Auth.signOut();\n dispatch(clearUser());\n dispatch(resetCurrentState());\n dispatch(clearAccount());\n\n localStorage.clear();\n sessionStorage.clear();\n\n sessionStorage.setItem(\"previousRoute\", previousRoute || \"\");\n\n if (url && url.length) {\n window.location.href = url;\n }\n //else if (previousRoute) {\n // dispatch(push(previousRoute));\n // } else {\n // dispatch(push(routes.LOGIN));\n // }\n } catch (e:any) {\n Log.error(e, \"Error dispatching: logout\");\n let message = e.message\n dispatch(showError(message));\n }\n };\n}\n\nexport function ssoTokenLogin(\n token: string,\n goToPlansPage: boolean,\n planView?: string\n): DefaultThunkAction> {\n return async (dispatch) => {\n dispatch(setLoginWorkState(LoginState.Loading));\n try {\n const response = await fetchTokensforCode(token);\n\n Log.info(response, \"Response from fetchTokensforCode\");\n const {\n userId,\n email,\n accessToken,\n clientId,\n refreshToken,\n clientSecret,\n referralInfo,\n } = response;\n const userAttributes = await getUserAttributes(accessToken);\n Log.info(userAttributes, \"Response from userAttributes\");\n\n const userScreenName = await fetchUserScreenName(accessToken);\n\n const userObject = {\n username: userAttributes.username,\n name: userAttributes.name || email,\n uuid: userId,\n screenName: userScreenName || \"\",\n email: userAttributes.email || email,\n isNewUser: false,\n referralInfo: referralInfo,\n };\n\n const tokenObject = {\n refreshToken,\n accessToken,\n };\n\n Log.info(response, \"fetchTokensforCode response\");\n\n const gaClientId = await getGAClientId();\n\n dispatch(setGAClientId(gaClientId));\n\n //set the user object here\n dispatch(setUserScreenName(userScreenName));\n dispatch(setUser(userObject));\n\n dispatch(setCognitoClientInfo(clientId, clientSecret));\n dispatch(setAuthTokens(tokenObject));\n\n dispatch(setFromSSORedirect(true));\n dispatch(setLoggingInfromClient(LoginClientType.Client));\n dispatch(setLoginWorkState(LoginState.None));\n\n if (goToPlansPage) {\n if (planView && planView.length) {\n dispatch(setProductType(planView));\n dispatch(replace(`${routes.PURCHASE_PLANS}/${planView}`));\n } else {\n dispatch(push(routes.PURCHASE_PLANS));\n }\n }\n } catch (e:any) {\n Log.error(e, \"Error dispatching: ssoTokenLogin\");\n\n if (e.response && e.response.status === 401) {\n dispatch(setLoginWorkState(LoginState.Unauthorized));\n } else {\n dispatch(setLoginWorkState(LoginState.ServerError));\n }\n console.log(\"redirecting in sso token login!!\");\n\n //redirect user to web login\n dispatch(push(routes.LOGIN));\n }\n };\n}\n\nexport function handleNewUserRegistration(\n user: bb.model.IUser,\n clientId: string\n): DefaultThunkAction> {\n return async (dispatch) => {\n try {\n const { email, uuid } = user;\n let productName = sessionStorage.getItem(\"productType\")?.toLowerCase()\n let productType\n if(productName?.includes(\"bb2\")) {\n productType = \"buildbox2\"\n }\n else if(productName?.includes(\"bb3\")) {\n productType = \"buildbox3\"\n }\n else if(productName?.includes(\"bb4\")) {\n productType = \"buildbox4\"\n } \n else if(productName?.includes(\"soundbox\")) {\n productType = \"soundbox\"\n }\n else if(productName?.includes(\"bbbundle\") || productName?.includes(\"buildboxbundle\")) {\n productType = \"buildboxbundle\"\n }\n else {\n //console.error(\"unrecognized product: \", productName)\n //throw new Error(\"unrecognized product during user registration \" + productName)\n\n // TODO: should this be 'generic' or something?\n // throwing an error doesn't seem great\n console.log(\"no product selected on signup, defaulting to buildbox4\")\n productType = \"buildbox4\"\n }\n const deviceType = getDeviceType();\n\n Log.trace(deviceType, \"User is signing up on:\");\n await dispatch(\n setAnalyticsRegistrationEvent(\n email,\n uuid,\n clientId,\n productType,\n deviceType\n )\n );\n\n setSignUpWorkState(WorkState.None);\n } catch (error:any) {\n Log.error(error, \"Error dispatching: handleNewUserRegistration\");\n setSignUpWorkState(WorkState.Error);\n throw error;\n }\n };\n}\n\n//used to set mailchimp tags by product type for signed up user\nexport function setMailchimpMarketingTags(\n email: string,\n productType: string | null\n): DefaultThunkAction> {\n return async (dispatch) => {\n dispatch(setSignUpWorkState(WorkState.Loading));\n try {\n const product = getBBVersion(productType);\n const response = await addMailchimpAudienceTags(email, product);\n Log.info(\n response,\n `new user - adding Mailchimp Tags for product type: ${product}`\n );\n dispatch(setSignUpWorkState(WorkState.None));\n } catch (error:any) {\n //Log.error(error, \"error caught in setAnalyticsRegistrationEvent\");\n //dispatch(setSignUpWorkState(WorkState.Error));\n //throw error;\n\n // mailchimp gives too many unimportant errors, let's catch this and move on\n console.log(\"error adding mailchimp tags\", error);\n dispatch(setSignUpWorkState(WorkState.None));\n }\n };\n}\n\n//validates and refreshes cognito auth tokens\n\nexport function validateToken(): DefaultThunkAction> {\n return async (dispatch, getState) => {\n dispatch(setLoginWorkState(LoginState.Loading));\n\n try {\n const { auth } = getState();\n if(!auth || !auth.authTokens) {\n dispatch(setLoginWorkState(LoginState.Unauthorized));\n throw new Error(\"Please log in\")\n }\n\n const { accessToken, refreshToken } = auth.authTokens;\n if(!accessToken || !refreshToken) {\n dispatch(setLoginWorkState(LoginState.Unauthorized));\n throw new Error(\"Please log in\")\n }\n\n let tokenIsExpired = await checkTokenExpiration(accessToken);\n Log.trace(tokenIsExpired, \"Validate token: is token expired?\");\n\n if (tokenIsExpired || !accessToken) {\n const refreshedToken = await dispatch(refreshTokens(refreshToken));\n return refreshedToken;\n } else {\n dispatch(setLoginWorkState(LoginState.None));\n Log.info(\"\", \"access token is looking ok\");\n return accessToken;\n }\n } catch (error:any) {\n Log.error(error, \"Error dispatching: validateToken\");\n dispatch(setLoginWorkState(LoginState.Unauthorized));\n\n throw error;\n }\n };\n}\n\nexport function refreshTokens(\n refreshToken: string\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n dispatch(setLoginWorkState(LoginState.Loading));\n\n try {\n const { auth } = getState();\n const { cognitoClientId, clientSecret } = auth;\n let newToken = null;\n\n // refreshing with client tokens\n if (cognitoClientId && clientSecret) {\n newToken = await getRefreshedCognitoTokens(\n refreshToken,\n cognitoClientId,\n clientSecret\n );\n } else {\n newToken = await refreshWebAccessToken();\n }\n\n const tokenObject = {\n accessToken: newToken,\n refreshToken: refreshToken,\n };\n dispatch(setAuthTokens(tokenObject));\n dispatch(setLoginWorkState(LoginState.None));\n return newToken;\n } catch (error:any) {\n Log.error(error, \"Error dispatching: refreshTokens\");\n dispatch(setLoginWorkState(LoginState.Unauthorized));\n\n let message = error.message\n if (message) {\n throw new Error(message);\n } \n else {\n let newError = error;\n if (error === \"not authenticated\") {\n newError = new Error(\n `Your session has expired. Please sign in and try again`\n );\n // manual forced logout to prevent potential infinite loop\n await Auth.signOut();\n dispatch(clearUser());\n dispatch(resetCurrentState());\n dispatch(clearAccount());\n \n localStorage.clear();\n sessionStorage.clear(); \n }\n dispatch(push(routes.LOGIN));\n throw newError;\n }\n }\n };\n}\n\nexport function handleUpdateUserScreenName(\n screenName: string\n): DefaultThunkAction> {\n return async (dispatch) => {\n const accessToken = await dispatch>(validateToken());\n try {\n const newScreenName = await updateUserScreenName(accessToken, screenName);\n console.log(newScreenName);\n dispatch(setUserScreenName(newScreenName));\n\n return newScreenName;\n } catch (error:any) {\n console.log(\"error: \", error);\n // let err\n // if ( error.metadata.errorcode === 'ERROR_SCREEN_NAME_IN_USE'){\n // err = 'This Creator Name is already taken. Please choose a different one.'\n // }\n // if (error.metadata.errorcode === 'ERROR_SCREEN_NAME_INAPPROPRIATE' ){\n // err = error.metadata.message\n // }\n // if ( error.metadata.errorcode === 'ERROR_INVALID_SCREEN_NAME' ){\n // err = 'Creator Name must: be 3-25 characters long, only contain letters, numbers, dashes, periods, or underscores'\n // }\n\n let errorcode = error.metadata.errorcode\n throw errorcode;\n }\n };\n}\nexport function setCognitoClientInfo(\n cognitoClientId: string,\n clientSecret: string\n) {\n return {\n type: actions.auth.SET_COGNITO_CLIENT_INFO,\n cognitoClientId,\n clientSecret,\n };\n}\n\nexport function setUserScreenName(screenName: string): AnyAction {\n return {\n type: actions.auth.SET_SCREEN_NAME,\n screenName,\n };\n}\n\nexport function setAuthTokens(tokens: bb.model.ITokens): AnyAction {\n return {\n type: actions.auth.SET_AUTH_TOKENS,\n tokens,\n };\n}\n\nexport function setUser(user: bb.model.IUser): AnyAction {\n return {\n type: actions.auth.SET_USER,\n user,\n };\n}\n\nexport function clearUser(): AnyAction {\n return {\n type: actions.auth.CLEAR_USER,\n };\n}\n\nexport function setAccountlessPurchaseEmail(email: string | undefined): AnyAction {\n let actionBody: { \n type: string,\n email: string | undefined\n } = {\n type: actions.auth.SET_ACCOUNTLESS_PURCHASE_EMAIL,\n email: undefined\n }\n if(!email) return actionBody\n \n if(validateEmail(email)){\n console.debug(\"email is valid\")\n actionBody.email = email\n }\n return actionBody\n}","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\nimport {\n BBDocResponseObj,\n BBDownloadVersion,\n ChooseYourOwnAdventureChapterData,\n ChooseYourOwnAdventureChoiceData,\n ChooseYourOwnAdventureCustomizationData,\n CreateTxt2ImgGenerationJobDTO,\n DownloadPlatforms,\n ImageGenerationJobCreationResultDTO,\n PostSSOTokensDTO,\n templateType,\n Txt2ImgGenerationJobCreationResultDTO,\n} from \"../constants/GenPrompTypes\";\nimport Env from \"../Env\";\nimport { SharedBit } from \"../constants/BBPlatform.types\";\nconst UUID_REGEX = /^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$/\nexport class BBPlatformClientError extends Error {}\n\n\nfunction convertBBAICYOADataToPlatformFormat(projectId: string, input: any) : ChooseYourOwnAdventureCustomizationData {\n console.debug(\"convert to platform format for cyoa data: \", input)\n // AP: a little hacky but really this whole thing is \n let output: ChooseYourOwnAdventureCustomizationData = {} as ChooseYourOwnAdventureCustomizationData\n\n output.projectId = projectId;\n output.badEndText = input.lose.chapterContent;\n output.goodEndText = input.win.chapterContent;\n output.badEndImageFilename = \"lose.png\";\n output.goodEndImageFilename = \"win.png\";\n output.title = input.title.title;\n output.subtitle = input.title.mission;\n output.titleImageFilename = \"title.png\";\n output.iconFilename = \"icon.png\";\n output.backgroundMusicFilename = \"background_music.mp3\"; // TODO: figure this out, it's actually NYI\n\n // make some chapters...\n let chapters : ChooseYourOwnAdventureChapterData[] = []\n for(let ii = 0; ii < input.chapters.length; ii++) {\n let chapter = input.chapters[ii]\n // console.debug(\"chapter looks like: \", chapter)\n chapter.description = chapter.chapterContent;\n chapter.imageFilename = `chapter${ii}.png`\n let choicesData = chapter.choices\n let choices : ChooseYourOwnAdventureChoiceData[] = []\n for(let jj = 0; jj < choicesData.length; jj++) {\n let choiceData = choicesData[jj]\n let choice : ChooseYourOwnAdventureChoiceData = {\n choiceDescription: choiceData.choiceDescription,\n coinsDelta: choiceData.coinsDelta,\n healthDelta: choiceData.healthDelta,\n resultDescription: choiceData.resultDescription,\n }\n choices.push(choice)\n }\n chapter.choices = choices\n chapters.push(chapter)\n }\n output.chapters = chapters\n\n\n return output\n }\n\n// export const fancyTokenFunction = (): DefaultThunkAction> => {\n// return async (dispatch) => {\n// return await dispatch(validateToken());\n// }\n// }\n\nexport const getGenerateAsset = async (\n accessToken:any,\n body: CreateTxt2ImgGenerationJobDTO\n ): Promise => {\n try{ \n const res = await API.post(\"bb2URL\", \"/assetgeneration/txt2img\", {\n body: body,\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n } catch (error) {\n Log.error(error, \"error caught in getGenerateAsset\");\n throw error;\n }\n}\n\nexport const getAssetGenerationProgress = async (\n accessToken:any,\n jobId: string\n ): Promise => {\n try{ \n \n const res = await API.get(\"bb2URL\", `/assetgeneration/job/${jobId}/progress`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n\n } catch(error) {\n Log.error(error, \"error caught in getAssetGenerationProgress\");\n throw error\n }\n}\n\nexport const generateClipdropAsset = async ( \n accessToken:any,\n body: CreateTxt2ImgGenerationJobDTO\n ): Promise => {\n\n try { \n const res = await API.post(\"bb2URL\", \"/assetgeneration/clipdrop/txt2img\", {\n body: body,\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n } catch(error){ \n Log.error(error, \"error caught in generateClipdropAsset\"\n )\n throw error\n }\n}\n\nexport const emplaceCYOAResource = async ( \n accessToken:any,\n projectId: string,\n filename: string,\n url: string): Promise => {\n let data = {\n projectId: projectId,\n filename: filename,\n url: url,\n }\n\n try{\n const res = await API.post(\"bb2URL\", `/cyoa/emplace`, {\n body: data,\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n\n }catch(error){\n Log.error(error, \"error caught in emplaceCYOAResource\")\n throw error\n }\n}\n\nexport const createCYOABBDoc = async (\n accessToken:any,\n projectId: string,\n gameData: any\n ): Promise => {\n let data = convertBBAICYOADataToPlatformFormat(projectId, gameData)\n\n try{ \n const res = await API.post(\"bb2URL\", `/cyoa/cyoa`, {\n body: data,\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n } catch(error) {\n Log.error(error, \"error caught in createCYOABBDoc\")\n throw error\n }\n}\n\nexport const createBBDocRandomFile = async (body: {\n accessToken:any;\n characterImage: string;\n obstacleImage: string;\n backgroundImage: string;\n }): Promise => {\n const index = Math.floor(Math.random() * Object.keys(templateType).length);\n const randomTemplateType = Object.values(templateType)[index];\n\n try{\n const res = await API.post(\"bb2URL\", `/assetgeneration/createbbdoc`, {\n body: {\n ...body,\n templateType: templateType[randomTemplateType],\n //templateType: templateType[\"WORLD\"]\n },\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: body.accessToken\n },\n response: true\n })\n\n return res.data.payload;\n\n }catch(error) {\n Log.error(error, \"error caught in createBBDocRandomFile\")\n throw error\n }\n}\n\nexport const getAssetImages = async (\n accessToken:any,\n jobId: string\n ): Promise<{ jobId: string; presignedUrls: string[] }> => {\n try{\n const res = await API.get(\"bb2URL\", `/assetgeneration/job/${jobId}/result`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n } catch(error) {\n Log.error(error, \"error caught in getAssetImages\")\n throw error\n }\n }\n\nexport const downloadBuildboxClient = async ( \n accessToken:any,\n platformDesired: any,\n version: keyof typeof BBDownloadVersion\n ) => {\n\n try{ \n if (!platformDesired) {\n // try to auto detect platform from browser\n const platform = (window as any).navigator.platform;\n\n if (platform) {\n const macosPlatforms = [\"Macintosh\", \"MacIntel\", \"MacPPC\", \"Mac68K\"];\n const windowsPlatforms = [\"Win32\", \"Win64\", \"Windows\", \"WinCE\"];\n\n const foundMatch = (str: string) => str.includes(platform);\n if (windowsPlatforms.some(foundMatch)) {\n platformDesired = DownloadPlatforms.WINDOWS;\n } else if (macosPlatforms.some(foundMatch)) {\n platformDesired = DownloadPlatforms.MAC;\n } else {\n console.debug(\n \"unable to automatically determine download platform from \",\n platform\n );\n platformDesired = DownloadPlatforms.UNKNOWN;\n\n const dataLayer =\n ((window as any)[\"dataLayer\"] && (window as any)[\"dataLayer\"]) ||\n [];\n dataLayer.push({\n event: \"couldNotDeterminePlatformDownload\",\n payload: true,\n });\n }\n } else {\n console.debug(\"unable to automatically determine download platform\");\n platformDesired = DownloadPlatforms.UNKNOWN;\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"platformInfoNotAvailableDownload\",\n payload: true,\n });\n }\n }\n\n // download!\n if (platformDesired === DownloadPlatforms.MAC) {\n\n //TODO: Update GTM tags to track BB2\n\n const downloadLink = BBDownloadVersion[version].MAC;\n // const downloadType = BBDownloadVersion[version].APP;\n\n (window as any).location.href = downloadLink;\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"macDownload\",\n payload: true,\n });\n\n // const savedGoogleClientId = localStorage.getItem(\"googleClientId\");\n // BBPlatformClient.sendDownloadAnalytics(savedGoogleClientId, downloadType);\n\n return(downloadLink);\n } else if (platformDesired === DownloadPlatforms.WINDOWS) {\n\n //TODO: Update GTM tags to track BB2\n\n const downloadLink = BBDownloadVersion[version].WIN;\n // const downloadType = BBDownloadVersion[version].APP;\n\n (window as any).location.href = downloadLink;\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"winDownload\",\n payload: true,\n });\n\n return (downloadLink);\n } else {\n console.debug(\"attempted download on non-mac/win platform\");\n\n const dataLayer = ((window as any).dataLayer =\n (window as any).dataLayer || []);\n dataLayer.push({\n event: \"unknownPlatformDownload\",\n payload: true,\n });\n\n return (false);\n }\n } catch( error) {\n Log.error(error, \"error caught in downloadBuildboxClient\")\n throw error\n } \n\n} \n \nexport const createUserDownloadsRequest = async (\n accessToken:any,\n clientId: any, version: string) => {\n let error;\n for (let ii = 0; ii < 5; ii++) {\n try {\n let resp = await sendUserDownloadRequestAnalytics(\n accessToken,\n clientId,\n version\n );\n return resp;\n } catch (err) {\n console.error(\"cudr error: \", err);\n error = err;\n }\n }\n\n console.debug(\"throw cudr error: \", error);\n throw error;\n }\n\nexport const sendUserDownloadRequestAnalytics = async(\n accessToken:any,\n clientId: any,\n version: string\n ): Promise => {\n try{\n const res = await API.post(\"userAccountManagementURL\", `/analytics/download`, {\n body: {\n clientId: clientId,\n app: version,\n },\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.data;\n \n }catch(error) {\n Log.error(error, \"error caught in sendUserDownloadRequestAnalytics\")\n throw error\n }\n}\n\n\nexport const sendDownloadAnalytics = async ( accesssToken:string, googleClientId: any, version: any) => {\n try {\n console.debug(googleClientId, \"Downloads Component: send client id\");\n console.debug(version, \"Downloads Component: app:\", version);\n\n const analyticsResponse =\n await createUserDownloadsRequest(\n accesssToken,\n googleClientId,\n version\n );\n console.debug(\n analyticsResponse,\n \"Downloads Component: Response from /createUserDownloadsRequest\"\n );\n } catch (error) {\n console.error(\n error,\n \"Downloads Component: Error caught from sendDownloadAnalytics\"\n );\n }\n }\n\nexport const getUserBBDocs = async (accessToken:any, limit:number=10,offset:number=0): Promise => {\n try{ \n const res = await API.get(\"bbworldUrl\", `/bbdoc/owned?runtime=BBClassic&limit=${limit}&offset=${offset}`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload.bits;\n\n }catch(error) {\n Log.error(error, \"error caught in getUserBBDocs\")\n throw error\n }\n}\n\nexport const getBBDocDownloadLink = async (accessToken: any, bbdocId:string):Promise => {\n const validUUID = UUID_REGEX.test(bbdocId) // make sure it's a UUID and not some sill XSS attack\n if (!validUUID) {\n throw new BBPlatformClientError(\"Invalid BBDoc ID\")\n }\n try{ \n const res = await API.get(\"bb2URL\", `/assetgeneration/bbdoc/download/${bbdocId}`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Tokoen: accessToken\n },\n response: true\n })\n\n return res.data.payload.url;\n\n } catch (error) {\n Log.error(error, \"error caught in getBBDocDownloadLink\")\n throw error\n }\n}\n\n\nexport const openBBWorld= (bbDocId:string=\"\"):void => {\n console.debug(\"play bit\", `${Env.BB_DEEP_LINK}${bbDocId}`)\n window.location.replace(`${Env.BB_DEEP_LINK}${bbDocId}`);\n}\n\nexport const getSSOToken = async ( accessToken:any, ssoTokenDTO:PostSSOTokensDTO ): Promise => {\n try{ \n const res = await API.post(\"userAccountManagementURL\", `/ssoTokens`, {\n body: {\n ...ssoTokenDTO\n },\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload.id;\n } catch(error){\n Log.error(error, \"error caught in getSSOToken\")\n throw error\n }\n}\n\n\nexport const cyoaNewId = async (accessToken:any): Promise =>\n{\n try{\n const res = await API.post(\"bb2URL\", `/cyoa/newId`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload.projectId;\n\n } catch(error) {\n Log.error(error, \"error caught in cyoaNewId\")\n throw error\n }\n}\n\nexport const cyoaConfirmComplete = async (accessToken:any, projectId:string): Promise => {\n try{\n const res = await API.post(\"bb2URL\", `/cyoa/complete`, {\n body: {\n projectId\n },\n headers: {\n \"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n\n } catch(error) {\n Log.error(error, \"error caught in cyoaConfirmation\")\n throw error\n }\n}\n\nexport const getCYOABBDocDownloadLink = async ( accessToken:any, projectId:string):Promise<{url:string, expiresIn:string}> => {\n const validUUID = UUID_REGEX.test(projectId) // make sure it's a UUID and not some sill XSS attack\n if (!validUUID) {\n throw new BBPlatformClientError(\"Invalid BBDoc ID\")\n }\n\n try{ \n const res = await API.get(\"bb2URL\", `/cyoa/bbdoc/download/${projectId}`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return { url: res.data.payload.url, expiresIn: res.data.payload.expiresIn };\n\n } catch(error) {\n Log.error(error, \"error caught in getCYOABBDocDownloadLink\")\n throw error\n }\n}\n\nexport const getUserData = async (accessToken:any ): Promise => {\n\n try{ \n const res = await API.post(\"userAccountManagementURL\", `/webclientLogin`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n\n } catch(error) {\n Log.error(error, \"error caught in getUserData\")\n throw error\n }\n}\nexport const getBalance = async (accessToken:any): Promise<{ balance: number, creditsUsed: number}> => {\n try{ \n\n const res = await API.get(\"bb2URL\", `/cyoa/balance`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload;\n\n } catch(error) {\n console.error(error, \"error caught in getBalance\")\n throw error\n }\n}\n \nexport const getFirebaseShortenDeepLink = async ( accessToken:any, bitId:string): Promise => {\n try{ \n const res = await API.get(\"bbworldUrl\", `/firebaseShortLink/${bitId}`, {\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data.payload.url;\n } catch(error) {\n // Log.error(error, \"error caught in getFirebaseShortenDeepLink\")\n throw error\n\n }\n}\n\nexport const cyoaGameAsJson = async (accessToken: any, userInput: string, numberOfChapters: number = 10): Promise => {\n\n try{ \n const res = await API.post(\"bbaiURL\", `/cyoa/game_as_json`, {\n body: {\n \"openai_configs\": {\n \"model_name\": Env.CYOA_OPENAI_MODEL,\n \"temperature\": Env.CYOA_OPENAI_TEMPERATURE,\n },\n \"user_input\": userInput,\n \"number_of_chapters\": numberOfChapters\n },\n headers: {\n\"webgenai-client-version\": true,\n \"Content-Type\": \"application/json\",\n Token: accessToken\n },\n response: true\n })\n\n return res.data;\n\n }catch(error) {\n Log.error(error, \"error caught in cyoaGameAsJson\")\n throw error\n }\n}\n\nexport const getAllSharedBits = async ( offset: number = 0):Promise => {\n try {\n const res = await API.get(\"bbworldUrl\", `/globalBits?offset=${offset}&limit=100`, {\n headers: {\n \"Content-Type\": \"application/json\"\n }\n })\n // console.log(res.payload)\n return res.payload.bits\n }catch(error) {\n Log.error(error, \"error caught in getAllSharedBits\")\n throw error\n }\n}","import actions from \"../constants/actions.json\";\nimport { toast } from \"react-toastify\";\nimport { v4 } from \"uuid\";\nimport { DefaultThunkAction } from \"./shared\";\n\n//for global toast errors\nexport function dispatchError(\n error: string\n): DefaultThunkAction> {\n return async (dispatch, getState) => {\n setTimeout(() => {\n toast.error(error, {\n toastId: v4(),\n onClose: () => dispatch(clearError()),\n });\n }, 100);\n\n await dispatch(clearError());\n };\n}\n\nexport function clearError() {\n toast.dismiss();\n return {\n type: actions.error.HIDE_ERROR,\n };\n}\n//for global errors\nexport function showError(error: string) {\n return {\n type: actions.error.SHOW_ERROR,\n error,\n };\n}\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"promptMessage\":\"PromptMessage_promptMessage__3fses\",\"senderImg\":\"PromptMessage_senderImg__2M8Bg\",\"promptImgContainer\":\"PromptMessage_promptImgContainer__2N-zq\",\"promptImg\":\"PromptMessage_promptImg__3SdU0\",\"promptImgActive\":\"PromptMessage_promptImgActive__31nPq\",\"promptDownload\":\"PromptMessage_promptDownload__XWiwr\",\"promptFeedbackUser\":\"PromptMessage_promptFeedbackUser__WRoag\",\"promptFeedbackBBAI\":\"PromptMessage_promptFeedbackBBAI__16hC9\",\"fancyText\":\"PromptMessage_fancyText__1hl0e\",\"promptImgLandscape\":\"PromptMessage_promptImgLandscape__1aGet\",\"qrContainer\":\"PromptMessage_qrContainer__1Lmcc\"};","import debug from \"debug\";\n\n// we use this to be able to see logs only for dev in the dev tools console\n//Format Log.info(response object/\"my message\", \"some general info about where it came from\")\n//Format Log.error(error object/\"my message\", \"registration error event:\")\n\nconst BASE = \"bb-frontend-dev\";\nconst COLOURS = {\n trace: \"lightblue\",\n info: \"blue\",\n warn: \"pink\",\n error: \"red\",\n}; // choose better colours :)\n\nclass Log {\n generateMessage(level, message, source) {\n // Set the prefix which will cause debug to enable the message\n const namespace = `${BASE}:${level}`;\n const createDebug = debug(namespace);\n\n createDebug.enabled = true;\n\n // Set the colour of the message based on the level\n createDebug.color = COLOURS[level];\n\n //only show logs in dev environment\n\n if (\n process.env.REACT_APP_STAGE !== \"production\" &&\n process.env.NODE_ENV !== \"test\"\n ) {\n if (source) {\n createDebug(source, message);\n } else {\n createDebug(message);\n }\n }\n }\n\n trace(message, source) {\n return this.generateMessage(\"trace\", message, source);\n }\n\n info(message, source) {\n return this.generateMessage(\"info\", message, source);\n }\n\n warn(message, source) {\n return this.generateMessage(\"warn\", message, source);\n }\n\n error(message, source) {\n return this.generateMessage(\"error\", message, source);\n }\n}\n\nexport default new Log();\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === \"localhost\" ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === \"[::1]\" ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === \"production\" && \"serviceWorker\" in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener(\"load\", () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n \"This web app is being served cache-first by a service \" +\n \"worker. To learn more, visit https://bit.ly/CRA-PWA\"\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker==null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === \"installed\") {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n \"New content is available and will be used when all \" +\n \"tabs for this page are closed. See https://bit.ly/CRA-PWA.\"\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log(\"Content is cached for offline use.\");\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch((error) => {\n console.error(\"Error during service worker registration:\", error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { \"Service-Worker\": \"script\" },\n })\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get(\"content-type\");\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf(\"javascript\") === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n \"No internet connection found. App is running in offline mode.\"\n );\n });\n}\n\nexport function unregister() {\n if (\"serviceWorker\" in navigator) {\n navigator.serviceWorker.ready\n .then((registration) => {\n registration.unregister();\n })\n .catch((error) => {\n console.error(error.message);\n });\n }\n}\n","import React, { ReactNode } from 'react';\n\ninterface ChunkErrorBoundaryProps {\n children: ReactNode;\n}\n\ninterface ChunkErrorBoundaryState {\n hasChunkError: boolean;\n hasOtherError: boolean;\n}\n\nclass ChunkErrorBoundary extends React.Component {\n constructor(props: ChunkErrorBoundaryProps) {\n super(props);\n this.state = { \n hasChunkError: false,\n hasOtherError: false,\n };\n }\n\n static getDerivedStateFromError(error: Error): Partial | null {\n if (error.name === \"ChunkLoadError\" || error.message.includes(\"MIME type\")) {\n return { hasChunkError: true, hasOtherError: false };\n }\n else {\n return { hasChunkError: false, hasOtherError: true };\n }\n }\n\n componentDidCatch(error: Error, info: React.ErrorInfo) {\n if (error.name === \"ChunkLoadError\" || error.message.includes(\"MIME type\")) {\n console.error(\"Chunk or MIME type error caught in ChunkErrorBoundary:\", error, info);\n }\n else {\n console.error(\"Other error caught in ChunkErrorBoundary:\", error, info);\n }\n }\n\n render() {\n if (this.state.hasChunkError) {\n return (\n
\n

This page has been updated!

\n

\n Please refresh to get the latest version.\n

\n \n
\n );\n }\n else if (this.state.hasOtherError) {\n return (\n
\n

Something unexpected happened.

\n

\n You can try refreshing the page to try again. If you need more assistance please contact support@buildbox.com\n

\n \n
\n );\n\n }\n\n return this.props.children;\n }\n}\n\nconst styles = {\n container: {\n display: 'flex',\n flexDirection: 'column' as const,\n justifyContent: 'center',\n alignItems: 'center',\n height: '100vh',\n backgroundColor: '#f8f9fa',\n textAlign: 'center' as const,\n padding: '20px',\n },\n title: {\n fontSize: '24px',\n color: '#333',\n marginBottom: '16px',\n },\n message: {\n fontSize: '16px',\n color: '#555',\n marginBottom: '20px',\n },\n button: {\n padding: '10px 20px',\n fontSize: '16px',\n color: '#fff',\n backgroundColor: '#007bff',\n border: 'none',\n borderRadius: '4px',\n cursor: 'pointer',\n },\n};\n\nexport default ChunkErrorBoundary;\n","//add keys for dev and prod environments here:\n//adding just dev keys for now:\nimport Env from \"../Env\";\n\nexport const aws_config = {\n s3: {\n REGION: process.env.REACT_APP_REGION,\n },\n apiGateway: {\n REGION: process.env.REACT_APP_REGION,\n URL: process.env.REACT_APP_API_GATEWAY_URL,\n },\n analyticsGateway: {\n URL: process.env.REACT_APP_API_ANALYTICS_URL,\n },\n plansGateway: {\n URL: process.env.REACT_APP_API_PLAN_MANAGEMENT_URL,\n // URL: process.env.REACT_APP_LOCAL_PLANMGT_URL\n },\n adManagerGateway: {\n URL: process.env.REACT_APP_API_AD_MANAGER_URL,\n },\n assetManagementGateway: {\n URL: process.env.REACT_APP_ASSET_MANAGEMENT_GATEWAY_URL,\n },\n bbworldGetway: {\n URL: process.env.REACT_APP_BUILD_BOX_WORLD_GATEWAY_URL,\n },\n pseudo: {\n URL: process.env.REACT_APP_PSEUDO_URL,\n },\n bb2Gateway: {\n URL: Env.BB2D_BASE_URL,\n },\n bbaiGateway: {\n URL: Env.BBAI_BASE_URL,\n },\n assetMangerGateway: {\n URL: Env.ASSET_MANAGER_BASE_URL,\n },\n cognito: {\n REGION: process.env.REACT_APP_REGION,\n USER_POOL_ID: process.env.REACT_APP_USER_POOL_ID,\n APP_CLIENT_ID: process.env.REACT_APP_COGNITO_APP_CLIENT_ID,\n COOKIE_DOMAIN: process.env.REACT_APP_COGNITO_COOKIE_DOMAIN || \"localhost\",\n },\n oauth: {\n domain: process.env.REACT_APP_COGNITO_DOMAIN_URL,\n scope: [\"email\", \"profile\", \"openid\", \"aws.cognito.signin.user.admin\"],\n redirectSignIn: process.env.REACT_APP_REDIRECT_SIGN_IN_URL,\n redirectSignOut: process.env.REACT_APP_REDIRECT_SIGN_OUT_URL,\n responseType: \"code\",\n },\n};\n","import { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\n\nconst initialState: bb.state.IAuth = {\n user: null,\n gaClientId: null,\n fromBBClient: false,\n cognitoClientId: null,\n clientSecret: null,\n authTokens: null,\n screenName: null,\n};\n\nconst authReducer = (\n state: bb.state.IAuth = initialState,\n action: AnyAction\n): bb.state.IAuth => {\n switch (action.type) {\n case actions.auth.SET_USER:\n return {\n ...state,\n user: action.user,\n };\n case actions.auth.SET_SCREEN_NAME: \n return {\n ...state,\n screenName: action.screenName\n };\n case actions.auth.SET_GA_CLIENT_ID:\n return {\n ...state,\n gaClientId: action.gaClientId,\n };\n case actions.auth.SET_AUTH_TOKENS:\n return {\n ...state,\n authTokens: action.tokens,\n };\n case actions.auth.SET_COGNITO_CLIENT_INFO:\n return {\n ...state,\n cognitoClientId: action.cognitoClientId,\n clientSecret: action.clientSecret,\n };\n case actions.auth.CLEAR_USER:\n return initialState;\n case actions.auth.SET_ACCOUNTLESS_PURCHASE_EMAIL: \n return {\n ...state,\n accountlessPurchaseEmail: action.email\n }\n default:\n return state;\n }\n};\n\nexport default authReducer;\n","import { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\n\n\nconst initialState: bb.state.IAccount = {\n subscriptions: [],\n invoices: [],\n planInfo: [],\n upcomingInvoice: null,\n bundleSubscription: false,\n eligibleRenewal: {\n bb2: false,\n bb3: false,\n bb4: false,\n bbbundle: false,\n soundbox: false,\n },\n planProviders: {\n bb2: null,\n bb3: null,\n bb4: null,\n bbbundle: null,\n soundbox: null,\n },\n plans: {\n bb2: null,\n bb3: null,\n bb4: null,\n bbbundle: null,\n soundbox: null,\n },\n};\n\nconst accountReducer = (\n state: bb.state.IAccount = initialState,\n action: AnyAction\n): bb.state.IAccount => {\n switch (action.type) {\n case actions.account.SET_CURRENT_PLANS:\n return {\n ...state,\n subscriptions: [...action.plans],\n };\n case actions.account.SET_INVOICES:\n return {\n ...state,\n invoices: [...action.invoices],\n };\n case actions.account.SET_UPCOMING_INVOICE:\n return {\n ...state,\n upcomingInvoice: action.upcomingInvoice\n };\n case actions.account.SET_BUNDLE_SUBSCRIPTION:\n return {\n ...state,\n bundleSubscription: action.bundleSubscription\n };\n case actions.account.SET_ELIGIBLE_RENEWAL:\n return {\n ...state,\n eligibleRenewal: action.eligibleRenewal\n }\n case actions.account.CLEAR_ACCOUNT:\n return initialState;\n case actions.account.SET_PLAN_PROVIDERS:\n return {\n ...state,\n planProviders: action.planProviders\n }\n case actions.account.SET_USER_PLANS:\n return {\n ...state,\n plans: action.plans\n }\n default:\n return state;\n }\n};\n\nexport default accountReducer;\n","import { WorkState } from \"../reducers/models\";\nimport { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\nimport PLANS_JSON from \"../constants/planMetadata\";\n\nconst initialState: bb.state.ISale = {\n houseAdCampaign: {\n website_homepage: null,\n website_pricing: null,\n website_stripe: null\n },\n saleData: {},\n saleContext: {\n showSaleUI: false,\n showSalesLoader: false,\n discountedCost: PLANS_JSON, //discounted copy of plans json\n totalCost: null,\n saleJustEnded: false,\n },\n workState: {\n saleState: WorkState.None,\n },\n};\n\nconst saleReducer = (\n state: bb.state.ISale = initialState,\n action: AnyAction\n): bb.state.ISale => {\n switch (action.type) {\n case actions.sale.SET_SALE_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n saleState: action.saleState,\n },\n };\n case actions.sale.SET_SALE_DATA:\n return {\n ...state,\n saleData: Object.assign({}, { ...action.saleData }),\n };\n case actions.sale.SET_SALE_UI:\n return {\n ...state,\n saleContext: {\n ...state.saleContext,\n showSaleUI: action.showSaleUI,\n },\n };\n case actions.sale.SET_SALE_LOADER:\n return {\n ...state,\n saleContext: {\n ...state.saleContext,\n showSalesLoader: action.showSalesLoader,\n },\n };\n case actions.sale.SET_DISCOUNTED_COST:\n return {\n ...state,\n saleContext: {\n ...state.saleContext,\n discountedCost: action.discountedCost,\n },\n };\n case actions.sale.SET_TOTAL_COST:\n return {\n ...state,\n saleContext: {\n ...state.saleContext,\n totalCost: action.totalCost,\n },\n };\n case actions.sale.RESET_SALE_STATE:\n return {\n ...state,\n saleData: {},\n saleContext: {\n ...state.saleContext,\n showSaleUI: false,\n showSalesLoader: false,\n },\n };\n case actions.sale.SET_SALE_JUST_ENDED:\n return {\n ...state,\n saleContext: {\n ...state.saleContext,\n saleJustEnded: action.saleJustEnded,\n },\n };\n case actions.sale.CLEAR_SALE_DATA:\n return initialState;\n case actions.sale.SET_HOUSE_AD_CAMPAIGN_HOMEPAGE:\n const houseAdCampaignForHomepage = action.houseAdCampaign !== null? {...action.houseAdCampaign} : null\n return {\n ...state,\n houseAdCampaign: {\n ...state.houseAdCampaign,\n website_homepage: houseAdCampaignForHomepage\n }\n }\n case actions.sale.SET_HOUSE_AD_CAMPAIGN_PRICING:\n const houseAdCampaignForPricing = action.houseAdCampaign !== null? {...action.houseAdCampaign} : null\n return {\n ...state,\n houseAdCampaign: {\n ...state.houseAdCampaign,\n website_pricing: houseAdCampaignForPricing\n }\n }\n case actions.sale.SET_HOUSE_AD_CAMPAIGN_STRIPE:\n const houseAdCampaignForStripe = action.houseAdCampaign !== null? {...action.houseAdCampaign} : null\n return {\n ...state,\n houseAdCampaign: {\n ...state.houseAdCampaign,\n website_stripe: houseAdCampaignForStripe\n }\n }\n default:\n return state;\n }\n};\n\nexport default saleReducer;\n","import { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\n\nconst initialState: bb.state.IError = {\n error: null,\n};\n\nconst errorReducer = (\n state: bb.state.IError = initialState,\n action: AnyAction\n) => {\n switch (action.type) {\n case actions.error.SHOW_ERROR:\n return {\n error: action.error,\n };\n case actions.error.HIDE_ERROR:\n return {\n error: null,\n };\n default:\n return state;\n }\n};\n\nexport default errorReducer;\n","import { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\n\nconst initialState: bb.state.ICart = {\n quantity: 0,\n items: [],\n};\nconst cartReducer = (\n state: bb.state.ICart = initialState,\n action: AnyAction\n): bb.state.ICart => {\n switch (action.type) {\n case actions.cart.ADD_TO_CART:\n return {\n quantity: action.items.length,\n items: action.items,\n };\n case actions.cart.REMOVE_FROM_CART:\n const filteredCart = state.items.filter(\n (item) => item.cartId !== action.cartId\n );\n return {\n ...state,\n items: filteredCart,\n quantity: filteredCart.length,\n };\n case actions.cart.UPDATE_SEAT_QUANTITY:\n let plan = state.items.find((item) => item.cartId === action.cartId);\n let updatedCart = state.items.filter(\n (item) => item.cartId !== action.cartId\n );\n\n if (plan) {\n let seats = action.quantity;\n if (seats < 1 || seats === \"\") {\n seats = 1;\n }\n plan.seatQuantity = seats;\n updatedCart.push(plan);\n }\n\n return {\n ...state,\n items: updatedCart,\n };\n case actions.cart.CLEAR_CART:\n return initialState;\n default:\n return state;\n }\n};\n\nexport default cartReducer;\n","import { LoginClientType, LoginState, WorkState, ProductType } from \"./models\";\nimport { AnyAction } from \"redux\";\nimport actions from \"../constants/actions.json\";\n\nconst initialState: bb.state.ICurrent = {\n fromSSORedirect: false,\n workState: {\n client: LoginClientType.Web,\n loginState: LoginState.None,\n analytics: WorkState.None,\n signup: WorkState.None,\n purchase: WorkState.None,\n planFetch: WorkState.None,\n billingInfoFetch: WorkState.None,\n invoicesFetch: WorkState.None,\n transactionsFetch: WorkState.None,\n projectsFetch: WorkState.None,\n adSettings: WorkState.None,\n },\n userState: {\n productType: ProductType.BB4,\n },\n};\n\nconst currentReducer = (\n state: bb.state.ICurrent = initialState,\n action: AnyAction\n): bb.state.ICurrent => {\n switch (action.type) {\n case actions.current.SET_LOGIN_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n loginState: action.loginState,\n },\n };\n case actions.current.SET_SIGNUP_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n signup: action.workState,\n },\n };\n case actions.current.SET_ANALYTICS_WORKSTATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n analytics: action.workState,\n },\n };\n case actions.current.SET_PURCHASE_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n purchase: action.workState,\n },\n };\n case actions.current.SET_PLAN_FETCH_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n planFetch: action.workState,\n },\n };\n case actions.current.SET_BILLING_INFO_FETCH_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n billingInfoFetch: action.workState,\n },\n };\n case actions.current.SET_INVOICES_FETCH_STATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n invoicesFetch: action.workState,\n },\n };\n case actions.current.SET_TRANSACTIONS_FETCH_WORKSTATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n transactionsFetch: action.workState,\n },\n };\n case actions.current.SET_PROJECTS_FETCH_WORKSTATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n projectsFetch: action.workState,\n },\n };\n case actions.current.SET_AD_SETTINGS_WORKSTATE:\n return {\n ...state,\n workState: {\n ...state.workState,\n adSettings: action.adSettingsWorkState,\n },\n };\n case actions.current.SET_LOGIN_TYPE:\n return {\n ...state,\n workState: {\n ...state.workState,\n client: action.client,\n },\n };\n case actions.current.SET_FROM_SSO_REDIRECT:\n return {\n ...state,\n fromSSORedirect: action.fromSSORedirect,\n };\n case actions.current.SET_PRODUCT_TYPE:\n const productType = action.productType.toUpperCase();\n sessionStorage.setItem(\"productType\", productType);\n sessionStorage.setItem(\"websocket-product\", productType);\n\n return {\n ...state,\n userState: {\n ...state.userState,\n productType: productType,\n },\n };\n case actions.current.RESET_CURRENT_STATE:\n return initialState;\n default:\n return state;\n }\n};\n\nexport default currentReducer;\n","import { AnyAction } from \"redux\";\nimport { HWAccountStatus, HWVerificationStatus, WorkState } from \"../reducers/models\";\nimport actions from \"../constants/actions.json\";\nimport { filterReducerAdboxReportItem } from \"../utils/reducerHelperUtils\";\n\nconst initialState: bb.state.IMonetization = {\n workState: {\n status: HWAccountStatus.UNREGISTERED,\n verificationStatus: HWVerificationStatus.REQUIRED,\n },\n accountInfo: {\n firstName: \"\",\n lastName: \"\",\n dateOfBirth: \"\",\n country: \"\",\n email: \"\",\n },\n paymentHistory: {\n transactions: [],\n },\n projects: {\n games: [],\n },\n adboxReport: {\n workState: WorkState.None,\n networkReports: undefined \n },\n monthToDateEarnings: {\n workState: WorkState.None,\n earnings: NaN,\n },\n filters: {\n networks: {\n appLovin: true,\n vungle: true\n },\n word: \"\",\n os: { ios: true, \n android: true},\n networkReports: [] \n },\n adboxDailyMetrics: {\n workState: WorkState.None,\n dailyMetrics: undefined,\n },\n};\nconst monetizationReducer = (\n state: bb.state.IMonetization = initialState,\n action: AnyAction\n): bb.state.IMonetization => {\n switch (action.type) {\n case actions.monetization.SET_HW_ACCOUNT_STATE:\n return {\n ...state,\n workState: action.accountState,\n };\n case actions.monetization.SET_HW_ACCOUNT_INFO:\n return {\n ...state,\n accountInfo: action.accountInfo,\n };\n case actions.monetization.SET_PAYMENT_TRANSACTIONS:\n return {\n ...state,\n paymentHistory: {\n ...state.paymentHistory,\n transactions: [...action.transactions],\n },\n };\n case actions.monetization.SET_PROJECTS:\n return {\n ...state,\n projects: {\n ...state.projects,\n games: [...action.projects],\n },\n };\n case actions.monetization.SET_MONTH_TO_DATE_EARNINGS:\n return{\n ...state,\n monthToDateEarnings: action.monthToDateEarnings\n }\n case actions.account.CLEAR_ACCOUNT:\n return initialState;\n case actions.monetization.SET_ADBOX_REPORT:\n return {\n ...state,\n adboxReport: action.adboxReport,\n filters: {\n ...state.filters,\n networkReports: filterReducerAdboxReportItem(action.adboxReport.networkReports, state.filters.os, state.filters.networks, state.filters.word),\n }\n }\n case actions.monetization.SET_NETWORK_FILTER:\n return {\n ...state,\n filters:{\n ...state.filters,\n networks: action.filters,\n networkReports: filterReducerAdboxReportItem(state.adboxReport.networkReports, state.filters.os, action.filters, state.filters.word),\n }\n }\n case actions.monetization.SET_BUNDLE_FILTER_WORD:\n return {\n ...state,\n filters: {\n ...state.filters,\n word: action.bundleFilterWord,\n networkReports: filterReducerAdboxReportItem(state.adboxReport.networkReports, state.filters.os, state.filters.networks, action.bundleFilterWord),\n } \n }\n case actions.monetization.SET_PLATFORM_OS_FILTER:\n return {\n ...state,\n filters:{\n ...state.filters,\n os: action.filters,\n networkReports: filterReducerAdboxReportItem(state.adboxReport.networkReports, action.filters, state.filters.networks, state.filters.word),\n }\n }\n case actions.monetization.SET_FILTERED_TABLE:{ \n return {\n ...state,\n filters:{\n ...state.filters,\n networkReports: filterReducerAdboxReportItem(state.adboxReport.networkReports, state.filters.os, state.filters.networks, state.filters.word),\n }\n }\n }\n case actions.monetization.SET_DAILY_METRICS:\n return {\n ...state,\n adboxDailyMetrics: action.adboxDailyMetrics,\n }\n default:\n return state;\n }\n};\n\nexport default monetizationReducer;\n","import { connectRouter } from \"connected-react-router\";\nimport { combineReducers } from \"redux\";\n\nimport auth from \"./authReducer\";\nimport account from \"./accountReducer\";\nimport sale from \"./saleReducer\";\nimport error from \"./errorReducer\";\nimport cart from \"./cartReducer\";\nimport current from \"./currentReducer\";\nimport monetization from \"./monetizationReducer\";\nimport storyGame from \"./storyGameReducer\";\nimport { persistReducer } from \"redux-persist\";\nimport sessionStorage from 'redux-persist/lib/storage/session'\n\nconst sessionStorageStoryGamePersistConfig = {\n key: 'storygame',\n storage: sessionStorage,\n}\n\nexport default function createRootReducer(history: History) {\n return combineReducers({\n auth: auth,\n account: account,\n cart: cart,\n sale: sale,\n error: error,\n current: current,\n monetization: monetization,\n router: connectRouter(history),\n storyGame: persistReducer(sessionStorageStoryGamePersistConfig, storyGame),\n // storyGame: storyGame,\n });\n}\n","import { createBrowserHistory, History } from \"history\";\nimport { applyMiddleware, compose, createStore } from \"redux\";\nimport { routerMiddleware } from \"connected-react-router\";\nimport createRootReducer from \"./reducers/\";\nimport thunk from \"redux-thunk\";\nimport storage from \"redux-persist/lib/storage\";\nimport storageSession from \"redux-persist/lib/storage/session\";\nimport { getBrowser } from \"./utils/browserUtils\";\nimport { persistStore, persistReducer } from \"redux-persist\";\n\nexport const history: History = createBrowserHistory();\n\nconst currentBrowser = getBrowser();\n\nlet persistConfig = {\n key: \"root\",\n storage,\n whitelist: [\"auth\", \"account\", \"cart\", \"current\", \"error\"],\n blacklist: [\"sale\", \"router\"],\n};\n\nif (currentBrowser === \"Safari\") {\n persistConfig = {\n key: \"root\",\n storage: storageSession,\n whitelist: [\"auth\", \"account\", \"cart\", \"current\", \"error\"],\n blacklist: [\"sale\", \"router\", ],\n };\n}\n\nexport default function configureStore(initialState?: bb.state.IRedux) {\n const middlewares = [routerMiddleware(history), thunk];\n\n const enhancers = [applyMiddleware(...middlewares)];\n\n let composeEnhancer = compose;\n\n if (process.env.REACT_APP_STAGE === \"dev\") {\n composeEnhancer =\n (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;\n }\n\n const reducers = createRootReducer(history);\n\n // Middleware: Redux Persist Persisted Reducer\n const persistedReducer = persistReducer(persistConfig, reducers);\n\n const store = createStore(\n persistedReducer,\n initialState,\n composeEnhancer(...enhancers) as any \n );\n\n // Middleware: Redux Persist Persisted Store\n const persistor = persistStore(store);\n\n // Hot reloading\n if (module.hot) {\n // Enable Webpack hot module replacement for reducers\n module.hot.accept(\"./reducers\", () => {\n store.replaceReducer(require(\"./reducers\").default);\n });\n }\n\n return { store, persistor };\n}\n","import \"react-app-polyfill/ie11\";\nimport \"react-app-polyfill/stable\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport \"./styles/index.scss\";\nimport App from \"./App\";\nimport { Provider } from \"react-redux\";\nimport * as serviceWorker from \"./serviceWorker\";\nimport { ConnectedRouter } from \"connected-react-router\";\nimport Amplify from \"@aws-amplify/core\";\nimport ChunkErrorBoundary from \"./containers/ChunkErrorBoundary\";\n\nimport { aws_config } from \"./constants/amplify_config\";\n// import TagManager from \"react-gtm-module\";\n\nimport { Elements } from \"@stripe/react-stripe-js\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport { PersistGate } from \"redux-persist/integration/react\";\n\nimport configureStore, { history } from \"./configureStore\";\n\nconst stripePromise = loadStripe(process.env.REACT_APP_STRIPE_KEY);\n\n// const tagManagerArgs = {\n// gtmId: \"GTM-K8KCBNX\", // Google Tag Manager ID gets injected into react pages\n// };\n\n// TagManager.initialize(tagManagerArgs);\n\nAmplify.configure({\n Auth: {\n mandatorySignIn: false,\n region: aws_config.cognito.REGION,\n userPoolId: aws_config.cognito.USER_POOL_ID,\n userPoolWebClientId: aws_config.cognito.APP_CLIENT_ID,\n },\n Storage: {\n region: aws_config.s3.REGION,\n bucket: aws_config.s3.BUCKET,\n },\n API: {\n endpoints: [\n {\n name: \"userAccountManagementURL\",\n endpoint: aws_config.apiGateway.URL,\n region: aws_config.apiGateway.REGION,\n },\n {\n name: \"plansURL\",\n endpoint: aws_config.plansGateway.URL,\n },\n {\n name: \"adsURL\",\n endpoint: aws_config.adManagerGateway.URL,\n },\n {\n name: \"assetsURL\",\n endpoint: aws_config.assetManagementGateway.URL,\n },\n {\n name: \"bbworldUrl\",\n endpoint: aws_config.bbworldGetway.URL,\n region: aws_config.apiGateway.REGION,\n },\n {\n name: \"pseudoURL\",\n endpoint: aws_config.pseudo.URL,\n },\n {\n name: \"bb2URL\",\n endpoint: aws_config.bb2Gateway.URL,\n },\n {\n name: \"bbaiURL\",\n endpoint: aws_config.bbaiGateway.URL,\n },\n {\n name: \"assetManagerURL\",\n endpoint: aws_config.assetMangerGateway.URL,\n }\n ],\n },\n oauth: {\n domain: aws_config.oauth.domain,\n scope: aws_config.oauth.scope,\n redirectSignIn: aws_config.oauth.redirectSignIn,\n redirectSignOut: aws_config.oauth.redirectSignOut,\n responseType: aws_config.oauth.responseType,\n },\n});\n\nconst { store, persistor } = configureStore();\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById(\"root\")\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"linkRegular\":\"Footer_linkRegular__2e5ki\",\"footer\":\"Footer_footer__2SqrG\",\"clientDefaultText\":\"Footer_clientDefaultText__KOuoe\",\"wrapper\":\"Footer_wrapper__3idgI\",\"linksContainer\":\"Footer_linksContainer__YwJnh\",\"linksWrapper\":\"Footer_linksWrapper__siqd9\",\"socialText\":\"Footer_socialText__2QZs2\",\"linkItems\":\"Footer_linkItems__19I1z\",\"privacyTerms\":\"Footer_privacyTerms__T3hG8\",\"linkTitle\":\"Footer_linkTitle__3LtkK\",\"ot-sdk-btn\":\"Footer_ot-sdk-btn__2JQV5\",\"blogLinks\":\"Footer_blogLinks__1tQtv\",\"interestsList\":\"Footer_interestsList__KTqNx\",\"termsContainer\":\"Footer_termsContainer__2ejWa\",\"formInputs\":\"Footer_formInputs__RQPt0\",\"socialIcons\":\"Footer_socialIcons__1xJqE\",\"socialLinkVertical\":\"Footer_socialLinkVertical__34BTn\",\"textSection\":\"Footer_textSection__3dRUU\",\"linkItemsSocial\":\"Footer_linkItemsSocial__2T95o\"};","export default (state: { auth: { user: bb.model.IUser } }) => {\n return state.auth.user;\n};\n"],"sourceRoot":""}