{"version":3,"sources":["selectors/currentStoryGame.ts","styles/SocialIcons.module.scss","utils/helperUtils.js","utils/CognitoUtils.js","actions/analytics.ts","styles/PreviewBit.module.scss","api/auth.js","utils/analyticsUtils.js","api/account.js","utils/routes.js","utils/browserUtils.js","utils/referralUtils.js","utils/reducerHelperUtils.ts","styles/DownloadLink.module.css","styles/GenericLogoLander.module.scss","constants/planMetadata.ts","hooks/useIsMobile.tsx","actions/current.ts","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","api/analytics.js","api/subscription.ts","utils/accountUtils.ts","actions/account.ts","Env.ts","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","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","getRandomColor","color","i","Math","floor","random","formatUNIXTimestamp","timestamp","hyperWalletStyle","dateObject","Date","month","toLocaleString","day","year","concat","getBBVersion","productType","BBVersions","BUILDBOX2","BUILDBOX3","BUILDBOX4","BUILDBOXWORLD","SOUNDBOX","GENERIC","openNewWindow","url","writeToWindow","y","window","outerHeight","screenY","x","outerWidth","screenX","newwindow","open","focus","document","write","_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","f","s","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","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","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","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","Token","newUser","fetchTokensforCode","get","ssoTokenResponse","storeSSOTokens","clientSecret","id","updateUserScreenName","screenName","fetchUserScreenName","getGAClientId","ga","getAll","trackers","trackingId","localStorage","gaTimeElapsed","cb","trace","setTimeout","console","warn","fetchUserPlan","fetchTrialUpsellInfo","endpoint","updateBillingInfo","paymentProcessor","subscriptionId","stripePaymentId","put","fetchUserDevices","userId","updateDeviceStatus","active","macHash","productId","Active","MACHash","ProductId","fetchUserEligibleRenewal","addUserToWaitlist","userInfo","redirectToDownloads","props","version","history","toLowerCase","redirectToPreferredPaymentPlatformForProduct","productName","_referralInfo$Network","undefined","promoCode","ProductType","BB2","BB3","BBBundle","Soundbox","BB4","Network","redirectToXsollaCheckout","redirectToStripeCheckout","redirectToPlans","loc","redirectToThankYouPage","redirectToThankYouRenewalPage","redirectToPreviousPage","route","redirectToLoginPage","redirectToDeviceDownloadPage","currentUser","isMobileOnly","isTablet","redirectToDeviceDownloadPageSimple","redirectToTrialUpsellPage","paymentPlatform","pathname","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","PLANS_JSON","_PLANS_JSON","BB4Free","PlanIds","PlanType","Free","PlanInterval","Lifetime","productCategory","ProductCategory","planName","analyticsTierName","analyticProductTierNames","discountsAllowed","trialDays","monthlyCost","annualCost","lifetimeCost","yearCommitmentCost","features","downloadUrl","BB4Basic","Basic","Yearly","Plus","stripeId","stripeIdDev","xsollaProductId","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","clientLoginRedirect","getState","_getState","router","currentUrl","_yield$cognitoLogin","RefreshToken","ReferralInfo","Email","urlQuery","websocketPort","showLinkback","provider","destUrl","location","Info","search","log","websocketDomain","now","webLoginRedirect","cart","cartItem","_auth$user","_cartItem","_auth$user2","items","routes","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","customEventDataLayerTrigger","eventName","otherData","prePendEventName","Env","AOB_ENV","toUpperCase","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","_callee9","_context9","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","_callee11","gameData","_context11","convertBBAICYOADataToPlatformFormat","_createBBDocRandomFile","_callee12","index","randomTemplateType","_context12","templateType","_x14","_getAssetImages","_callee13","_context13","_x15","_downloadBuildboxClient","_callee14","platformDesired","_context14","navigator","foundMatch","str","some","DownloadPlatforms","WINDOWS","MAC","UNKNOWN","downloadLink","BBDownloadVersion","href","WIN","_x16","_x17","_createUserDownloadsRequest","_callee15","resp","_context15","sendUserDownloadRequestAnalytics","_x18","_x19","_sendUserDownloadRequestAnalytics","_callee16","_this2","_context16","app","_x20","_x21","_sendDownloadAnalytics","_callee17","analyticsResponse","_context17","createUserDownloadsRequest","_x22","_x23","_getUserBBDocs","_callee18","result","_args18","_context18","BB_WORLD_BASE_URL","bits","_getBBDocDownloadLink","_callee19","_context19","test","_x24","bbDocId","BB_DEEP_LINK","replace","_testError","_callee20","_context20","_getSSOToken","_callee21","ssoTokenDTO","_context21","_x25","_cyoaNewId","_callee22","_context22","_cyoaConfirmComplete","_callee23","_context23","_x26","_getCYOABBDocDownloadLink","_callee24","_context24","expiresIn","_x27","_getUserData","_callee25","_context25","_getBalance","_callee26","_context26","_getFirebaseShortenDeepLink","_callee27","bitId","_context27","_x28","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","quantity","UPDATE_SEAT_QUANTITY","customerId","plan","updateSubscription","_updateSubscription","stripePlanId","totalSeats","totalCost","saleCode","params","userEmail","getProductEndpoint","getUserSubscriptionProviders","_getUserSubscriptionProviders","renewSubscription","_renewSubscription","renewPaymentBody","accountlessUpdateSubscription","_accountlessUpdateSubscription","mapToFreePlan","plans","devices","plansArray","entries","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","purchasePlan","purchaseCost","_getState2","_auth$user3","sessionProductType","accountlessPurchaseEmail","analyticProductTypes","Success","renewPlan","_getState3","_getState4","_auth$user4","_auth$user5","_auth$user6","subscriptionUpdateResponse","upcomingInvoice","account","SET_UPCOMING_INVOICE","fetchAccountData","_getState5","planData","eligibleRenewal","planInfo","bb2","bb3","bb4","bbbundle","soundbox","t1","t2","SET_CURRENT_PLANS","setEligibleRenewal","t3","updateBilling","paymentId","fetchPlanProvider","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","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","imgBuildbox4Logo","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","NewBB4Home","lazy","BB4Product","BB3Product","BB2Product","SoundboxProduct","Plans","NotFound","Downloads","BillingFormStripe","BillingFormXsolla","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","CHECKOUT_STRIPE","CHECKOUT_XSOLLA","UPSELL_AFTER_TRIAL","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","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","removeItem","storeStorageVersion","initialStoryGameState","projectType","isLoading","isGuest","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","downloadPaths","sendReferralTrackingId","_e$response","_e$response$data","_e$response$data$meta","cognitoUserInfo","_response$payload","userCreated","locale","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","_x34","_ref16","_x35","_x36","_ref17","_x37","_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","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.31d74be2.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 { 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\nexport function getBBVersion(productType) {\n switch (productType) {\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\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 <iframe src=\"https://docs.google.com/gview?url=${url}&embedded=true\" style=\"width:1000px; height:1000px;\" frameborder=\"0\"></iframe>\n `\n );\n }\n newwindow.focus();\n }\n return false;\n}\n","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 { 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<Promise<void>> {\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<Promise<void>> {\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\";\n\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 = (token, referralInfo) => {\n return new Promise((resolve, reject) => {\n API.post(\"userAccountManagementURL\", \"/webclientlogin\", {\n body: {\n referralInfo: referralInfo,\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 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<bb.model.account.IStripePlans}\n */\nexport const fetchUserPlan = (accessToken) => {\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<bb.model.account.IEligibleRenewal>}\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 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) => {\n if (promoCode) {\n props.history.push(`/purchaseThroughStripe?promo=${promoCode}`);\n } else {\n props.history.push(\"/purchaseThroughStripe\");\n }\n};\n\nexport const redirectToXsollaCheckout = (props, promoCode) => {\n if (promoCode) {\n props.history.push(`/purchaseThroughXsolla?promo=${promoCode}`);\n } else {\n props.history.push(\"/purchaseThroughXsolla\");\n }\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) => {\n props.history.push(\"/thankyou\");\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\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 redirectToTrialUpsellPage = (props, productType, paymentPlatform, planType) => {\n props.history.push({\n pathname: '/trialSignupComplete',\n state: { productType, paymentPlatform, planType }\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","// 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 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 // 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: 5,\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 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 stripeId: {\n Yearly: \"Buildbox4ProOct2024_79800\",\n },\n stripeIdDev: {\n Yearly: \"Buildbox4ProOct2024_79800\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Yearly: \"JzYYOeRL\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Yearly: \"FHyLKpdq\",\n }, \n trialDays: 0,\n annualCost: 798.00,\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 stripeId: {\n Yearly: \"Buildbox4UpsellOct2024_31700\",\n },\n stripeIdDev: {\n Yearly: \"Buildbox4UpsellOct2024_31700\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Yearly: \"NnO7M1HX\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Yearly: \"RGAhE7P3\",\n }, \n trialDays: 0,\n annualCost: 317.00,\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 stripeId: {\n Monthly: \"Buildbox4BeginnerOct2024_5998\",\n }, \n stripeIdDev: {\n Monthly: \"Buildbox4BeginnerOct2024_5998\",\n },\n xsollaProductId: 11565942,\n xsollaId: {\n Monthly: \"ntySHdcq\",\n },\n xsollaProductIdDev: 11561953,\n xsollaIdDev: {\n Monthly: \"R2zKGSb2\",\n },\n trialDays: 5,\n monthlyCost: 59.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 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 trialDays: 0,\n annualCost: 254.00,\n stripeId: {\n Yearly: \"SoundboxProOct2024_25400\",\n },\n stripeIdDev: {\n Yearly: \"SoundboxProOct2024_25400\",\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 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 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 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 stripeId: {\n Yearly: \"Buildbox3ProOct2024_39800\",\n },\n stripeIdDev: {\n Yearly: \"Buildbox3ProOct2024_39800\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Yearly: \"fjXnL4cZ\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Yearly: \"a1kQBZzz\",\n }, \n trialDays: 0,\n annualCost: 398.00,\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 stripeId: {\n Yearly: \"Buildbox3UpsellOct2024_15700\",\n },\n stripeIdDev: {\n Yearly: \"Buildbox3UpsellOct2024_15700\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Yearly: \"IC6lRybc\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Yearly: \"VxLYmkDF\",\n }, \n trialDays: 0,\n annualCost: 157.00,\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 stripeId: {\n Monthly: \"Buildbox3BeginnerOct2024_2998\",\n }, \n stripeIdDev: {\n Monthly: \"Buildbox3BeginnerOct2024_2998\",\n },\n xsollaProductId: 8667190,\n xsollaId: {\n Monthly: \"mOHsHliu\",\n },\n xsollaProductIdDev: 6861430,\n xsollaIdDev: {\n Monthly: \"tNtC7xJ1\",\n },\n trialDays: 5,\n monthlyCost: 29.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 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 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 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 stripeId: {\n Yearly: \"BuildboxClassicProOct2024_49800\",\n },\n stripeIdDev: {\n Yearly: \"BuildboxClassicProOct2024_49800\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Yearly: \"EdHOCc0Z\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Yearly: \"IxGUjWSp\",\n }, \n trialDays: 0,\n annualCost: 498.00,\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 stripeId: {\n Monthly: \"BuildboxClassicBeginnerOct2024_3998\",\n },\n stripeIdDev: {\n Monthly: \"BuildboxClassicBeginnerOct2024_3998\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Monthly: \"Stp68TgM\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Monthly: \"8L3jTrMn\",\n }, \n trialDays: 5,\n monthlyCost: 39.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 stripeId: {\n Yearly: \"BuildboxClassicUpsellOct2024_19700\",\n },\n stripeIdDev: {\n Yearly: \"BuildboxClassicUpsellOct2024_19700\",\n },\n xsollaProductId: 8667189,\n xsollaId: {\n Yearly: \"loW1sxmW\",\n },\n xsollaProductIdDev: 8629752,\n xsollaIdDev: {\n Yearly: \"07zdqsA1\",\n }, \n trialDays: 0,\n annualCost: 197.00,\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 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: \"UltimateBundleOct2024_159400\"\n },\n stripeIdDev: {\n Yearly: \"UltimateBundleOct2024_159400\"\n },\n trialDays: 0,\n annualCost: 1594.00,\n preBundleCost: 1948.00,\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 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: \"UltimateBundleUpsellOct2024_59700\"\n },\n stripeIdDev: {\n Yearly: \"UltimateBundleUpsellOct2024_59700\"\n },\n trialDays: 0,\n annualCost: 597.00,\n preBundleCost: 1948.00,\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<ProductCategory,bb.model.ISubscription[]> = {\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<number>(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","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): DefaultThunkAction<Promise<void>> {\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);\n Log.info(response, \"createUser response:\");\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 Log.trace(\"url query: \", urlQuery);\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<Promise<void>> {\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 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 (planType) {\n //redirecting users to download page when clicking \"Download Now\" on /plans page\n console.log(\"plantype: \", typeof planType, planType);\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 } else if (planType.toLowerCase() === \"thankyoupage\") {\n dispatch(push(routes.THANK_YOU));\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","\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<AnalyticDataDTO> = {}) => {\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<CircularProgressProps> = ({progress = 75}) => {\n \n return (\n <Progress type=\"circle\" percent={progress} strokeWidth={10} size={50} strokeColor={{\n '0%': '#F9AA30',\n '100%': '#F9AA30',\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<number>(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<MessageProps> = ({\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 <Row\n className={`${styles.promptMessage} ${\n user.id === \"1\"\n ? styles.promptFeedbackBBAI\n : styles.promptFeedbackUser\n }`}\n >\n <Col xs={4} sm={3} md={3} lg={2} xl={2}>\n <img className={styles.senderImg} src={user.pic} alt=\"sender\" />\n </Col>\n <Col xs={20} sm={21} md={21} lg={22} xl={22}>\n { component? component : <> \n {user.id === \"1\" ? <TypeAnimation sequence={[`${message}`]} wrapper=\"span\" speed={50} cursor={false}/> : <>{message}</>} {\"\"} {checkDoneTypingShowLoad() && <CircularProgress progress={progressValue} />} </>\n }\n </Col>\n </Row>\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<boolean>(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<void> => {\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 {<PromptMessage promptStage={bbaiStoryGamePromptStepStatus.BUILD_BBDOC} message={bbaiStoryGamePromptOptions.BUILD_BBDOC.prompt} user={bbaiUser}\n completed={bbaiStore.completed}\n /> }\n {/* { bbaiStore.isGuest && <ClaimLoginSkipOptions handleClick={handleClaimLoginSkip}/>} */}\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<T> {\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 console.debug(\"Android token injection got token: \", injectedToken);\n } else {\n injectedToken = (window as any).BBWorldAccessToken;\n console.debug(\n \"Android token injection not available; using window.BBWorldAccessToken: \",\n injectedToken\n );\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<T = any>(\n method: \"get\" | \"post\" | \"put\",\n props: RequestProps\n ): Promise<BBPlatformResponse<T>> {\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<T = any>(props: RequestProps): Promise<T> {\n return (await BBPlatformClient.apiRequest<T>(\"get\", props)).payload;\n }\n\n static async apiPost<T = any>(props: RequestProps): Promise<T> {\n return (await BBPlatformClient.apiRequest<T>(\"post\", props)).payload;\n }\n\n static async apiPut<T = any>(props: RequestProps): Promise<T> {\n return (await BBPlatformClient.apiRequest<T>(\"put\", props)).payload;\n }\n\n // static async isAuthorized():Promise<boolean> {\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<LoginPayload> {\n return await BBPlatformClient.apiPost<LoginPayload>({\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<Txt2ImgGenerationJobCreationResultDTO> {\n return this.apiPost<any>({\n url: `${Env.BB2D_BASE_URL}/assetgeneration/txt2img`,\n body,\n });\n }\n\n static async getAssetGenerationProgress(\n jobId: string\n ): Promise<ImageGenerationJobCreationResultDTO> {\n return await this.apiGet<any>({\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<Txt2ImgGenerationJobCreationResultDTO> {\n return this.apiPost<any>({\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 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 static async emplaceCYOAResource(\n projectId: string,\n filename: string,\n url: string\n ): Promise<any> {\n let data = {\n projectId: projectId,\n filename: filename,\n url: url,\n }\n return await this.apiPost<any>({\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<any> {\n let data = BBPlatformClient.convertBBAICYOADataToPlatformFormat(projectId, gameData)\n return await this.apiPost<any>({\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<any> {\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<any>({\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<any>({\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 console.debug(\"auto downloading for 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 console.debug(\"auto downloading for 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<any> {\n // return await this.apiPost<any>({\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 console.debug(\"cudr result on try \", ii, resp);\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<any> {\n return new Promise((resolve, reject) => {\n this.apiPost<any>({\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 console.debug(googleClientId, \"Downloads Component: send client id\");\n console.debug(version, \"Downloads Component: app:\", version);\n\n const analyticsResponse =\n await BBPlatformClient.createUserDownloadsRequest(\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\n static async getUserBBDocs(limit:number=10,offset:number=0): Promise<BBDocResponseObj[]> {\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<string> {\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 console.warn(result)\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<any> {\n throw new BBPlatformClientError(\"test error\");\n }\n\n static async getSSOToken( ssoTokenDTO:PostSSOTokensDTO ): Promise<string> {\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<string> {\n const result = await this.apiPost<any>({\n url: `${Env.BB2D_BASE_URL}/cyoa/newId`,\n })\n\n return result.projectId\n }\n\n static async cyoaConfirmComplete (projectId:string): Promise<any> {\n return await this.apiPost<any>({\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 console.warn(result)\n\n return {url: result.url, expiresIn: result.expiresIn}\n }\n\n static async getUserData(): Promise<any>{\n const result = await this.apiPost<any>({\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<string> {\n const result = await this.apiGet<{url:string}>({\n url: `${Env.BB_WORLD_BASE_URL}/firebaseShortLink/${bitId}`,\n })\n\n console.log(\"here is the result\", result)\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<AnimatedButtonProps> = ({text, handleClick}) => {\n const [isAnimating] = useState(true);\n const [buttonRadius] = useState(100);\n\n return (\n <Button\n className={isAnimating ? `${styles.animatedButton}` : ''}\n shape=\"circle\"\n style={{ width: buttonRadius, height: buttonRadius }}\n onClick={handleClick}\n type=\"primary\"\n >\n {text}\n </Button>\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 <div className={styles.container} style={bbaiStore.titleImage ? css : {}}>\n <div className={styles.previewBitContainer}>\n <div>\n <div className={styles.bgInfoBase}>\n <p className={styles.textInfoTitle} >{bbaiStore.generatedCYOAGameData.title.title}</p>\n </div>\n <div className={styles.bgInfoBase}>\n <p className={styles.textInfoMission}>{bbaiStore.generatedCYOAGameData.title.mission}</p>\n </div>\n </div>\n <div className={styles.startImgContainer}>\n <img src={\"https://frontend-assets.buildbox.com/Start.png\"} alt=\"start\" className={styles.startImg}/>\n </div>\n </div>\n </div>\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<string | null>(null)\n // const [urlExpireTime, setUrlExpireTime] = useState<number>(0)\n const {isMobile} = useIsMobile()\n const bbaiStore = useSelector(currentStoryGame)\n const dispatch = useDispatch()\n const [dynamicLink, setDynamicLink] = useState<string | null>(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<void> => {\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 <div>\n <p>{bbaiStoryGamePromptOptions[\"COMPLETE_MOBILE\"].prompt}</p>\n <AnimatedButton text={\"Play Bit!\"} handleClick={playBit} />\n </div>\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 <div>\n <div style={{ textAlign: \"center\"}}>\n With Buildbox World you can explore and play exciting bits…\n <div style={{margin: \"12px\"}}/>\n <div className={styles.qrContainer}>\n { dynamicLink ? <QRCode value={dynamicLink} bgColor={\"white\"}/> : <img src={Env.QR_BB_WORLD} alt=\"buildbox world qr\"/> }\n </div>\n </div>\n <p>{bbaiStoryGamePromptOptions[\"COMPLETE\"].prompt}</p>\n <ol style={{textAlign: \"left\", padding: \".5em\", marginTop: \"1em\"}}>\n <li>\n Download and install Buildbox Classic:\n <br />{\" \"}\n <div className={downloadStyles.downloadLink}>\n <img className={downloadStyles.downloadLinkIcon} width={18} src={\"https://frontend-assets.buildbox.com/web-gen-ai/BuildboxClassicLogo.svg\"} alt=\"Buildbox Classic Installer\" /> <span className={styles.fancyText} onClick={() => handleClickDownloadBBDOC(FileType.BBCLASSIC_INSTALLER)}>Buildbox Classic Installer</span>\n </div>\n </li>\n <li>\n Download your project file:\n <br />{\" \"}\n <div className={downloadStyles.downloadLink}>\n <img className={downloadStyles.downloadLinkIcon} width={18} src={\"https://frontend-assets.buildbox.com/web-gen-ai/bbdoc@2x.png\"} alt=\"StoryGame.bbdoc\" /> <span className={styles.fancyText} onClick={() => handleClickDownloadBBDOC(FileType.BBDOC)}>Your game.bbdoc</span>\n </div>\n </li>\n <li>Open the .bbdoc file in Buildbox Classic to edit it today!</li>\n </ol>\n </div>\n );\n };\n \n return (\n <>\n <Row\n className={`${styles.promptMessage} ${styles.promptFeedbackBBAI}`}\n >\n <Col xs={4} sm={3} md={3} lg={2} xl={2}>\n <img className={styles.senderImg} src={bbaiUser.pic} alt=\"sender\" />\n </Col>\n <Col xs={20} sm={21} md={21} lg={22} xl={22}>\n <PreviewBit/>\n {isMobile ? <MobileRender /> : <DesktopRender/>}\n </Col>\n </Row>\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<boolean>(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 <PromptMessage promptStage={bbaiStoryGamePromptStepStatus.GENERATING_GAME_ASSETS} message={bbaiStoryGamePromptOptions.GENERATING_GAME_ASSETS.prompt} user={bbaiUser}\n loading={startTimer.current} successReport={generatedDataSuccess}\n error={bbaiStore.error !== undefined}\n completed={bbaiStore.completed}\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<boolean>(false) // make sure the useFfect fetch call only runs once\n const startTimer = useRef(false)\n const [generatedDataSuccess, setGeneratedDataSucesss] = useState<boolean>(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 <PromptMessage promptStage={bbaiStoryGamePromptStepStatus.GENERATING_GAME_DATA} message={bbaiStoryGamePromptOptions.GENERATING_GAME_DATA.prompt} user={bbaiUser}\n loading={startTimer.current} successReport={generatedDataSuccess}\n error={bbaiStore.error !== undefined}\n completed={bbaiStore.completed}\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<LoginPromptProps> = () => {\n const history = useHistory();\n const handleLogin = () => {\n\n history.push(\"/login\")\n }\n return (\n <>\n <p>\n To continue, <span className={styles.fancyText} onClick={() => handleLogin()}>Create an Account</span> or <span className={styles.fancyText} onClick={() => handleLogin()}>Log-In</span>\n </p>\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<string> => {\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<JwtPayload>(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 <Row\n className={`${styles.promptMessage} ${ styles.promptFeedbackBBAI}`}\n >\n <Col xs={4} sm={3} md={3} lg={2} xl={2}>\n <img className={styles.senderImg} src={bbaiUser.pic} alt=\"sender\" />\n </Col>\n <Col xs={20} sm={21} md={21} lg={22} xl={22}>\n <p>\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 <a href='/#' onClick={() => setTokenQuery(Env.VIEW_PLANS_URL as string)}>HERE</a>\n </p>\n </Col>\n </Row>\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<string>(\"\")\n const [notEnoughCreditsError, setNotEnoughCreditsError] = useState<boolean>(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 <PromptMessage promptStage={bbaiStoryGamePromptStepStatus.INITIAL} message={bbaiStoryGamePromptOptions.INITIAL.prompt} user={bbaiUser}\n completed={bbaiStore.completed}\n />\n\n { userStoryPrompt.length > 0 && <PromptMessage promptStage={bbaiStoryGamePromptStepStatus.INITIAL} message={userStoryPrompt} user={defaultUser} completed={bbaiStore.completed}\n />\n \n }\n {notEnoughCreditsError && <ErrorOutOfCreditsCYOA/> }\n\n { userStoryPrompt.length > 0 && !userStore && <PromptMessage promptStage={bbaiStoryGamePromptStepStatus.INITIAL} component={<LoginPrompt />} 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<string, Display> = {\n \"INITIAL\": {\n Component: <InitialCYOAPrompt/>,\n stage: 0,\n nextStage: \"GENERATING_GAME_DATA\"\n },\n \"GENERATING_GAME_DATA\": {\n Component: <GeneratingGameDataCYOA/>,\n stage: 1,\n nextStage: \"GENERATING_GAME_ASSETS\"\n },\n \"GENERATING_GAME_ASSETS\": {\n Component: <GeneratingGameAssetsCYOA/>,\n stage: 2,\n nextStage: \"BUILD_BBDOC\"\n },\n \"BUILD_BBDOC\": {\n Component: <BuildBBDocCYOA/>,\n stage: 3,\n nextStage: \"DOWNLOAD_BBDOC\"\n }, \n \"DOWNLOAD_BBDOC\": {\n Component: <DownloadBBDocCYOA/>,\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<Promise<void>> {\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 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 console.log(\"cudr result on try \", ii, resp);\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","import API from \"@aws-amplify/api\";\nimport Log from \"../utils/Log\";\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 */\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<any> {\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 //const productType = sessionStorage.getItem(\"productType\");\n\n if(productType === null){\n throw Error(\"productType is not defined\")\n }\n console.log(\"updateSubscription productType\", productType)\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<any> {\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<any> {\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<bb.model.account.IUserPlanProviders>{\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<any>{\n try{\n const renewPaymentBody = {\n stripePaymentId: stripePaymentId,\n }\n \n //const productType = sessionStorage.getItem(\"productType\");\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<any> {\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 //const productType = sessionStorage.getItem(\"productType\");\n\n if(productType === null){\n throw Error(\"productType is not defined\")\n }\n console.log(\"updateAccountlessSubscription productType\", productType)\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}","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 renewSubscription, \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\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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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","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<string, PlanIds> = {\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 },\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 \"key\": \"StoryGames\",\n \"title\": \"Story Games\",\n \"link\": \"/product/storygames\",\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 <div\n className={\n menuOpenState\n ? styles.dropDownContent\n : classnames(styles.dropDownContent, styles.hidden)\n }\n >\n {submenus.map((submenu, i) => {\n return submenu.link !== \"\" ? (\n <Link to={submenu.link} key={submenu.title}>\n {submenu.title}\n </Link>\n ) : (\n <a\n key={submenu.key}\n href={submenu.externalURL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {submenu.title}\n </a>\n );\n })}\n </div>\n );\n };\n\n const { title } = menuItem;\n\n const renderParentMenu = () => {\n if (menuItem.route.length) {\n return (\n <Link to={menuItem.route} key={title}>\n <p className={toggleTab(menuItem.route)}>{title}</p>\n </Link>\n );\n } else if (menuItem.externalURL.length) {\n return (\n <a\n href={menuItem.externalURL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <p>{title}</p>\n </a>\n );\n } else {\n return (\n <p onClick={toggleMenu} className={styles.parentMenuTitle}>\n {title}\n </p>\n );\n }\n };\n\n return (\n <div key={title} className={styles.dropDown}>\n <div className={styles.menuTitleContainer}>\n {renderParentMenu()}\n\n {menuItem.subMenu && (\n <FontAwesomeIcon\n className={styles.menuIcon}\n icon={menuOpenState && !isDesktop ? faAngleUp : faAngleDown}\n onClick={toggleMenu}\n />\n )}\n </div>\n\n {menuItem.subMenu && renderSubMenuItems(menuItem.subMenu)}\n </div>\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 <div className={classnames(styles.socialIconsContainer, props.className)}>\n <a\n className={styles.socialLink}\n href=\"https://www.facebook.com/buildboxofficial\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={\"https://frontend-assets.buildbox.com/Facebook.svg\"}\n alt=\"Buildbox Logo\"\n />\n </a>\n <a\n className={styles.socialLink}\n href=\"https://twitter.com/buildbox\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={\"https://frontend-assets.buildbox.com/Twitter.svg\"}\n alt=\"Buildbox Logo\"\n />\n </a>\n <a\n className={styles.socialLink}\n href=\"https://www.youtube.com/c/buildbox?sub_confirmation=1\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={\"https://frontend-assets.buildbox.com/YouTube.svg\"}\n alt=\"Buildbox Logo\"\n />\n </a>\n <a\n className={styles.socialLink}\n href=\"https://www.instagram.com/buildbox/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={\"https://frontend-assets.buildbox.com/Instagram.svg\"}\n alt=\"Buildbox Logo\"\n />\n </a>\n <a\n className={styles.socialLink}\n href=\"https://discord.com/invite/buildbox\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n <img\n src={\"https://frontend-assets.buildbox.com/Discord.svg\"}\n alt=\"Buildbox Logo\"\n />\n </a>\n </div>\n )\n}\n\n\nexport function SocialText(props:{className?:string}): ReactElement {\n return (\n <div className={classnames(props.className)}>\n <a\n className={styles.socialLinkVertical}\n href=\"https://www.facebook.com/buildboxofficial\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Facebook\n </a>\n <a\n className={styles.socialLinkVertical}\n href=\"https://twitter.com/buildbox\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Twitter\n </a>\n <a\n className={styles.socialLinkVertical}\n href=\"https://www.youtube.com/c/buildbox?sub_confirmation=1\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Youtube\n </a>\n <a\n className={styles.socialLinkVertical}\n href=\"https://www.instagram.com/buildbox/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Instagram\n </a>\n <a\n className={styles.socialLinkVertical}\n href=\"https://discord.com/invite/buildbox\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Discord\n </a>\n </div>\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(\n \"previousRoute\",\n location.pathname + location.search\n );\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 // <div className={styles.signingInLoaderContainer}>\n // <img\n // className={styles.loadingGif}\n // src=\"https://frontend-assets.buildbox.com/bb_logo_new_morph_black.gif\"\n // alt={\"Buildbox Logo\"}\n // />\n // <p style={{ padding: \"0.5em\", color: \"white\" }}>SIGNING IN...</p>\n // </div>\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 <p\n className={styles.profileBtn}\n style={background}\n onClick={() => setToggleDropdown(!toggleDropdown)}\n >\n {userNameLetter}\n </p>\n {toggleDropdown && (\n <div className={styles.profileDropdown}>\n <ul>\n <NavLink\n to=\"/account/profile\"\n activeClassName={styles.selected}\n onClick={() => setToggleDropdown(!toggleDropdown)}\n >\n <span>Profile</span>\n </NavLink>\n <NavLink\n to=\"/account/subscription\"\n activeClassName={styles.selected}\n onClick={() => setToggleDropdown(!toggleDropdown)}\n >\n <span>Device Management</span>\n </NavLink>\n <NavLink\n to=\"/account/ads/earnings\"\n activeClassName={styles.selected}\n onClick={() => setToggleDropdown(!toggleDropdown)}\n >\n <span>Adbox</span>\n </NavLink>\n <NavLink\n to=\"/account/support\"\n activeClassName={styles.selected}\n onClick={() => setToggleDropdown(!toggleDropdown)}\n >\n <span>Support</span>\n </NavLink>\n <li>\n <p onClick={handleLogout}>Sign out</p>\n </li>\n </ul>\n </div>\n )}\n </>\n );\n } else {\n return (\n <React.Fragment>\n <Link className={classnames(styles.signInContainer, styles.button)} to={routes.LOGIN} onClick={handleSignIn}>\n Sign In\n </Link>\n </React.Fragment>\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 <div\n onClick={toggleMenu}\n className={styles.linkListMobile}\n style={animStyle}\n >\n <div className={styles.listContainer} style={linkHeaderItems}>\n {renderMenuItems(headerItems)}\n {renderMobileAuth()}\n </div>\n </div>\n );\n }\n\n function renderMenuItems(headerItemsArray: HeaderItem[]) {\n return headerItemsArray.map((headerItem) => {\n if(headerItem.title === \"Downloads\" && isMobile) return null\n return (\n <MenuItem\n key={headerItem.title}\n menuItem={headerItem}\n activeTab={activeTab}\n />\n )});\n }\n\n function renderMobileAuth() {\n if (currentUser && currentUser.username) {\n return (\n <>\n <>{renderMenuItems(profileHeaderItems)}</>\n <div className={styles.menuTitleContainer}>\n <p onClick={handleLogout} className={styles.parentMenuTitle}>\n Sign out\n </p>\n </div>\n </>\n );\n } else {\n return (\n <Link\n to={routes.LOGIN}\n onClick={handleSignIn}\n className={styles.loginNavLink}\n >\n <div className={styles.signInWrapper}>\n <p className={styles.parentMenuTitle}>Sign In</p>\n </div>\n </Link>\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(`/purchaseThroughStripe?promo=${promoCode}`);\n } else {\n history.push(\"/purchaseThroughStripe\");\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 <a className={styles.logoWrapper} href=\"/\">\n <img\n src={logoUrl}\n alt=\"logo\"\n className={styles.logo}\n />\n </a>\n )\n }\n\n return (\n <div className={styles.header}>\n {logoElement()}\n <SocialIcons className={styles.socialIcons} />\n <div className={styles.linkListDesktop}>\n {renderMenuItems(headerItems)}\n {renderAuthState()}\n {/* TODO: Double check if this is where we want to land */}\n <button onClick={handlePurchaseClick} className={classnames(styles.getStartedButton, styles.button)}>Try Buildbox {defaultHomepage === \"BBCLASSIC\" ? \"Classic\" : 4}</button>\n </div>\n <div onClick={toggleMenu} className={styles.menuIconContainer}>\n <FontAwesomeIcon\n className={styles.menuIcon}\n icon={menuOpenState ? faTimes : faBars}\n />\n </div>\n {getMobileMenu()}\n </div>\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 <div className={styles.footer}>\n <div className={styles.wrapper}>\n <div className={styles.linksContainer}>\n <div className={styles.linksWrapper}>\n <div className={styles.linkItems}>\n <a className={styles.logoWrapper} href=\"/\">\n <img src={img} alt=\"logo\" />\n </a>\n <label>STAY UP TO DATE</label>\n <form action=\"https://buildbox.us17.list-manage.com/subscribe/post?u=a8d5a261ccc1b19b96a0cde40&id=e3bc94a36f&f_id=0000c2e1f0\" method=\"post\" id=\"mc-embedded-subscribe-form\" name=\"mc-embedded-subscribe-form\" className=\"validate\" target=\"_self\">\n <div id=\"mc_embed_signup_scroll\">\n\n <div className={classnames(\"mc-field-group\", styles.formInputs)}>\n <input type=\"email\" name=\"EMAIL\" className=\"required email\" id=\"mce-EMAIL\" required placeholder=\"Email Address\" />\n <button type=\"submit\" value=\"Subscribe\">Subscribe</button>\n </div>\n <div className=\"mc-field-group input-group\">\n <ul className={styles.interestsList}>\n <li>\n <input type=\"checkbox\" value=\"4096\" name=\"group[2156][4096]\" id=\"mce-group[2156]-2156-0\" />\n <label htmlFor=\"mce-group[2156]-2156-0\">Aspiring Game Developer</label>\n </li>\n <li>\n <input type=\"checkbox\" value=\"8192\" name=\"group[2156][8192]\" id=\"mce-group[2156]-2156-1\" />\n <label htmlFor=\"mce-group[2156]-2156-1\">Creator</label>\n </li>\n <li>\n <input type=\"checkbox\" value=\"16384\" name=\"group[2156][16384]\" id=\"mce-group[2156]-2156-2\" />\n <label htmlFor=\"mce-group[2156]-2156-2\">(Indie) Developer</label>\n </li>\n <li>\n <input type=\"checkbox\" value=\"32768\" name=\"group[2156][32768]\" id=\"mce-group[2156]-2156-3\" />\n <label htmlFor=\"mce-group[2156]-2156-3\">New to Game Design</label>\n </li>\n </ul>\n <span id=\"mce-group[2156]-HELPERTEXT\" className=\"helper_text\"></span>\n </div>\n <div hidden><input hidden name=\"tags\" value=\"527\" readOnly /></div>\n <div id=\"mce-responses\" className=\"clear\">\n <div className=\"response\" id=\"mce-error-response\" style={{display:\"none\"}}></div>\n <div className=\"response\" id=\"mce-success-response\" style={{display:\"none\"}}></div>\n </div>\n <div style={{position: \"absolute\", left: \"-5000px\"}} aria-hidden><input type=\"text\" name=\"b_a8d5a261ccc1b19b96a0cde40_e3bc94a36f\" readOnly /></div>\n <div className=\"clear\"></div>\n </div>\n </form>\n </div> \n </div>\n <div className={styles.linkItemsSocial}>\n <div className={classnames(styles.socialText)}>\n <a href=\"https://www.buildbox.com/blog/\" target=\"_blank\"\n rel=\"noopener noreferrer\">About Us</a>\n <a href=\"/product/bb3\">Products</a>\n <a href=\"/plans\">Pricing</a>\n <a href=\"https://www.buildbox.com/contact/\" target=\"_blank\"\n rel=\"noopener noreferrer\">Contact Us</a>\n {/*<a href=\"https://apponboard.com/careers/\" target=\"_blank\"\n rel=\"noopener noreferrer\">Careers</a>*/}\n\n </div>\n <div className={classnames(styles.socialText)}>\n <a\n href=\"https://www.facebook.com/buildboxofficial\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Facebook\n </a>\n <a\n href=\"https://twitter.com/buildbox\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Twitter\n </a>\n <a\n href=\"https://www.youtube.com/c/buildbox?sub_confirmation=1\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Youtube\n </a>\n <a\n href=\"https://www.instagram.com/buildbox/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Instagram\n </a>\n <a\n href=\"https://discord.com/invite/buildbox\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Discord\n </a>\n </div>\n </div>\n </div>\n <div className={styles.termsContainer}>\n <p>©2021-2024 AppOnboard, Inc</p>\n <span>|</span>\n <a href=\"https://www.buildbox.com/privacy-policy/\">Privacy Policy</a>\n <span>|</span>\n <a href=\"https://www.buildbox.com/terms/\"> Terms</a>\n </div>\n </div>\n </div>\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 <Route\n {...rest}\n render={(props) => (\n <Suspense fallback={<div style={{ height: \"100vh\" }}>Loading...</div>}>\n <C {...props} {...appProps} />\n </Suspense>\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\n// const NewHome = lazy(() => import(\"./containers/home/NewHome\"));\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 BillingFormXsolla = lazy(() => import(\"./containers/CheckoutXsolla.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 <Switch>\n <AppliedRoute\n path={routes.SPLASH}\n exact\n component={homePage === \"BBCLASSIC\" ? NewClassicStoryGamesHome : NewBB4Home}\n appProps={appProps}\n />\n {/* homePage === \"BBCLASSIC\" ? <Redirect from=\"/plans/bb4\" to=\"/plans/classic\" /> : <Redirect from=\"/plans/bb3\" to=\"/plans/bb4\" /> */}\n <AppliedRoute\n path={routes.PURCHASE_PLANS}\n component={Plans}\n appProps={appProps}\n />\n <AppliedRoute\n path={`${routes.DOWNLOADS}/:version`}\n exact\n component={Downloads}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CHECKOUT_STRIPE}\n exact\n component={BillingFormStripe}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CHECKOUT_XSOLLA}\n exact\n component={BillingFormXsolla}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.UPSELL_AFTER_TRIAL}\n exact\n component={UpsellAfterTrial}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.REDIRECT}\n exact\n component={ClientUpgradeRedirect}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CONFIRM_ACCOUNT}\n exact\n component={ConfirmAccount}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.ERROR}\n exact\n component={AuthUI}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.LOADING}\n exact\n component={Loader}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.THANK_YOU}\n exact\n component={ThankYou}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.LOGIN}\n exact\n component={Login}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_REDIRECT}\n exact\n component={ClientLoginRedirect}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_LOGOUT_REDIRECT}\n exact\n component={ClientLogoutRedirect}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_POSTMESSAGE_CONNECTION}\n exact\n component={ClientPostmessageConnection}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_GOOGLE_LOGIN}\n exact\n component={ClientGoogleLogin}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_FACEBOOK_LOGIN}\n exact\n component={ClientFacebookLogin}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_APPLE_LOGIN}\n exact\n component={ClientAppleLogin}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_DEEPLINK_LOGIN}\n exact\n component={ClientDeeplinkLogin}\n appProps={appProps}\n /> \n <AppliedRoute\n path={routes.CLIENT_AWAITING_GOOGLE_LOGIN}\n exact\n component={ClientAwaitingGoogleLogin}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_AWAITING_FACEBOOK_LOGIN}\n exact\n component={ClientAwaitingFacebookLogin}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CLIENT_AWAITING_APPLE_LOGIN}\n exact\n component={ClientAwaitingAppleLogin}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.REPORT_AN_ISSUE}\n exact\n component={ReportAnIssue}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CONTACT_SUPPORT}\n exact\n component={ContactSupport}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.CONTACT_SUPPORT}\n exact\n component={ContactSupport}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.SUBMIT_NEW_FEATURE}\n exact\n component={NewFeature}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.REPORTING_THANK_YOU}\n exact\n component={FeatureThankYou}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.FEATURE_POST_MESSAGE}\n exact\n component={FeaturePostMessage}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.BB4_PRODUCT}\n exact\n component={BB4Product}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.BB3_PRODUCT}\n exact\n component={BB3Product}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.BB2_PRODUCT}\n exact\n component={BB2Product}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.BB2_LANDING}\n exact\n component={BB2Campaign}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.SOUNDBOX_PRODUCT}\n exact\n component={SoundboxProduct}\n appProps={appProps}\n /> \n <AppliedRoute\n path={routes.BuildBoxWorld}\n exact\n component={BuildBoxWorld}\n appProps\n />\n <AppliedRoute\n path={`${routes.USER_ACCOUNT}/:accountPage`}\n exact\n component={UserAccount}\n appProps={appProps}\n />\n <AppliedRoute\n path={`${routes.USER_SUBSCRIPTION}/:subscriptionSubPage`}\n exact\n component={UserAccount}\n appProps={appProps}\n />\n <AppliedRoute\n path={`${routes.USER_AD_MANAGEMENT}/:adManagementSubPage`}\n exact\n component={UserAccount}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.REFERRAL_LANDING_PAGE}\n exact\n component={ReferralLandingPage}\n appProps={appProps}\n />\n <AppliedRoute\n path={routes.RENEWAL_THANK_YOU}\n exact \n component={RenewalThankYou} \n appProps={appProps}\n />\n <AppliedRoute path={routes.STORY_GAME} \n exact \n component={ () => {\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 <AppliedRoute path={routes.BuildBoxWorldProduct} \n exact \n component={ () => {\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 <AppliedRoute path={routes.STORY_GAME_GENERATE} \n exact\n component={ GenAIPrompt}\n appProps={appProps}\n />\n <AppliedRoute path={routes.BB4_ALPHA_PREVIEW_NOTES} \n exact\n component={BB4AlphaPreviewNotes}\n appProps={appProps}\n />\n <AppliedRoute \n path={routes.BB4_CHECKOUT_REDIRECT} \n exact \n component={BB4CheckoutRedirect} \n appProps={appProps}\n />\n <AppliedRoute \n path={routes.BB2_CHECKOUT_REDIRECT} \n exact \n component={BB2CheckoutRedirect} \n appProps={appProps}\n /> \n <AppliedRoute \n path={routes.APPLE_PAY_SITE_VERIFICATION} \n exact \n component={ () => {\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 <Redirect from=\"/account\" to=\"/account/profile\" />\n <AppliedRoute component={NotFound} />\n </Switch>\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 <div className={styles.container}>\n <div className={styles.header}>\n <img\n src={\"https://frontend-assets.buildbox.com/Buildbox__Icon_Only.png\"}\n className={styles.BBLogo}\n alt=\"Buildbox Logo\"\n />\n <h3>\n Your browser is deprecated. Please use the latest version of Chrome,\n Firefox, Microsoft Edge, or Safari for an optimal experience.\n </h3>\n </div>\n </div>\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 ? <RoadblockUI /> : 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 // <Helmet>\n // <script type=\"text/javascript\" src=\"https://cdn.cookielaw.org/consent/018e3ec4-2c2c-76fa-8247-8fcfe4448488\"></script>\n // <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\" type=\"text/javascript\" data-domain-script=\"018e3ec4-2c2c-76fa-8247-8fcfe4448488\"></script>\n // <script type=\"text/javascript\">\n // {`function OptanonWrapper() { }`}\n // </script>\n // </Helmet>\n // ) \n : \n (\n <Helmet>\n <script type=\"text/javascript\" src=\"https://cdn.cookielaw.org/consent/018e3ec4-2c2c-76fa-8247-8fcfe4448488-test\"></script>\n <script src=\"https://cdn.cookielaw.org/scripttemplates/otSDKStub.js\" type=\"text/javascript\" data-domain-script=\"018e3ec4-2c2c-76fa-8247-8fcfe4448488-test\"></script>\n <script type=\"text/javascript\">\n {`function OptanonWrapper() { }`}\n </script>\n </Helmet>\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 <div className={styles.App} id=\"App\">\n <BrowserRoadblock>\n {!hideHeaderAndFooter && <OneTrust />}\n \n <ToastContainer autoClose={4000} />\n\n <UserContext.Provider value={UserContextValue}>\n {!hideHeaderAndFooter && (\n <Header appProps={{ isAuthenticated, props }} />\n )}\n <Routes appProps={{ isAuthenticated }} />\n {!hideHeaderAndFooter && <Footer />}\n </UserContext.Provider>\n </BrowserRoadblock>\n </div>\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<Promise<void>> {\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};\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<PlanType extends string, U> = {\n [K in PlanType]: U;\n};\n\nexport const analyticProductTierNames: AnalyticsProductTierNames<PlanType, string> = {\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\";\nexport function login(props: any): DefaultThunkAction<Promise<void>> {\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 response = await createUser(accessToken, ReferralInfo);\n\n const { user, userCreated } = response.payload;\n\n const userAttributes = await getUserAttributes(accessToken);\n\n const { email, name, username, locale } = userAttributes;\n\n const userScreenName = await fetchUserScreenName(accessToken);\n\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 } 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<Promise<void>> {\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<Promise<void>> {\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<Promise<void>> {\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 {\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<Promise<void>> {\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<Promise<any>> {\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<Promise<void>> {\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<Promise<void>> {\n return async (dispatch) => {\n const accessToken = await dispatch<Promise<string>>(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<Promise<void>> => {\n// return async (dispatch) => {\n// return await dispatch(validateToken());\n// }\n// }\n\nexport const getGenerateAsset = async (\n accessToken:any,\n body: CreateTxt2ImgGenerationJobDTO\n ): Promise<Txt2ImgGenerationJobCreationResultDTO> => {\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<ImageGenerationJobCreationResultDTO> => {\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<Txt2ImgGenerationJobCreationResultDTO> => {\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<any> => {\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<any> => {\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<any> => {\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 console.debug(\"auto downloading for 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 console.debug(\"auto downloading for 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 console.debug(\"cudr result on try \", ii, resp);\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<any> => {\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<BBDocResponseObj[]> => {\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<string> => {\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<string> => {\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<string> =>\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<any> => {\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<any> => {\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<string> => {\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<any> => {\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<SharedBit[]> => {\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<Promise<void>> {\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","//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\";\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 <Provider store={store}>\n <PersistGate loading={null} persistor={persistor}>\n <ConnectedRouter history={history}>\n <Elements stripe={stripePromise}>\n <App />\n </Elements>\n </ConnectedRouter>\n </PersistGate>\n </Provider>,\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":""}