{"version":3,"sources":["components/CustomComponents/Grid/GridItem.js","assets/jss/components/views/taskStyle.js","assets/img/task/default.png","store/actions/appConfigs.js","store/actions/contentList.js","store/actions/questStore.js","store/actions/userQuestList.js","store/actions/userInfo.js","store/actions/testQuestions.js","store/actions/sharedData.js","store/actions/leaderBoard.js","store/actions/notificationCenter.js","store/actions/userRegistration.js","store/actions/resetPassword.js","store/actions/platform.js","store/actions/boardGrade.js","store/actions/productBanner.js","store/actions/raymondProducts.js","assets/jss/components/customcomponents/buttonStyle.js","components/CustomComponents/CustomButtons/Button.js","components/CustomComponents/Grid/GridContainer.js","assets/jss/components/views/topicsContainerStyle.js","assets/jss/components/views/videoViewerStyle.js","components/Views/ContentViewer/VideoViewer/VideoViewer.js","components/Views/Tasks/Topics/TopicAccordion.js","util/axios.js","components/Views/Tasks/Topics/ContentCard.js","components/Views/Tasks/Topics/TopicCards.js","components/Views/Tasks/Topics/TaskSwipeableViews.js","assets/jss/components/views/homeStyle.js","assets/jss/components/customcomponents/cardFooterStyle.js","components/CustomComponents/Card/CardFooter.js","../node_modules/pdfjs-dist/build sync","assets/img/icons/QuestLogo.png","assets/jss/components/customcomponents/typographyStyle.js","variables/general.js","assets/img/task/Video.png","assets/img/task/Activity.png","assets/jss/material-dashboard-react.js","util/commonfunctions.js","components/CustomComponents/VideoPlayer/Duration.js","assets/img/task/Assessment.png","assets/img/task/pdforebook.png","components/CustomComponents/Progress/LinearProgressWithLabel.js","assets/jss/components/customcomponents/alertStyle.js","components/CustomComponents/Dialog/AlertDialog.js","variables/ServerURL.js","components/Views/Home/index.js","assets/img/climbing.png","components/Views/Instruction/GoCoderInstruction.js","assets/img/GoCoderzPopup-01.jpg","assets/img/icons/Questlogoheader_white.png","assets/jss/components/customcomponents/progressStyle.js","components/CustomComponents/Progress/Progress.js","assets/img/icons/Questlogoheader.png","assets/img/upload-file_1.png","components/CustomComponents/VideoPlayer/VideoPlayer.js","components/CustomComponents/VideoPlayer/style/style.js","components/Views/Tasks/Topics/WebTopics.js","assets/img/documents.png","assets/img/Other/Membership-card.png","assets/img/Other/Membership-card-pro.png","assets/img/Review_Assissment.png","assets/img/school_rep.png","assets/jss/components/views/instructionStyle.js","components/Views/Instruction/Instruction.js","assets/jss/components/views/questStyle.js","components/Views/Quest/Quest.js","assets/jss/components/customcomponents/cardBodyStyle.js","components/CustomComponents/Card/CardBody.js","assets/jss/components/customcomponents/cardStyle.js","components/CustomComponents/Card/Card.js","assets/jss/components/customcomponents/cardIconStyle.js","components/CustomComponents/Card/CardIcon.js","store/actions/actionTypes.js","components/CustomComponents/Typography/Info.js","components/CustomComponents/Dialog/Dialog.js","store/reducers/userInfo.js","store/reducers/contentList.js","store/reducers/userQuestList.js","store/reducers/testQuestions.js","store/reducers/userProgress.js","store/reducers/appConfigs.js","store/reducers/sharedData.js","store/reducers/leaderBoard.js","store/reducers/notificationCenter.js","store/reducers/questCategory.js","store/reducers/userRegistration.js","store/reducers/questStore.js","store/reducers/resetPassword.js","store/reducers/questProducts.js","store/reducers/raymondProducts.js","store/reducers/platform.js","store/reducers/boardGrade.js","store/reducers/productBanner.js","components/Views/Connect/store/reducers/reducer-online-classes.js","components/Views/Connect/store/actionTypes.js","components/Views/MissionsSchedules/store/reducers/reducer-mssions-schedules.js","components/Views/MissionsSchedules/store/actionTypes.js","components/Views/AssessmentTests/store/reducers/reducer-online-assignment.js","components/Views/AssessmentTests/store/actionTypes.js","components/Views/QueryBox/store/reducers/messageReducer.js","components/Views/QueryBox/store/actions/actionTypes.js","store/reducers/index.js","store/index.js","serviceWorker.js","assets/jss/components/layouts/layoutStyle.js","assets/jss/components/views/signinStyle.js","components/CustomComponents/Dialog/CustomizedDialog.js","util/validations.js","assets/jss/components/customcomponents/customInputStyle.js","components/CustomComponents/Inputs/Inputs.js","assets/jss/components/views/signupStyle.js","components/Views/VerifyOTP/VerifyOTP.js","components/Views/ForgotPassword/VerifyUsernameOTP.js","assets/jss/components/views/verifyUsernameStyle.js","components/Views/ForgotPassword/VerifyUsername.js","assets/jss/components/views/changePasswordStyle.js","components/Views/ForgotPassword/ResetPassword.js","assets/jss/components/views/forgotPasswordStyle.js","components/Views/ForgotPassword/ForgotPassword.js","components/Views/SignIn/SigninSpectrum/SigninComponent.js","components/Views/SignIn/SigninSpectrum/signin.js","assets/jss/components/views/questCategoryStyle.js","components/Layouts/Intermediate.js","assets/jss/components/customcomponents/webHeaderStyle.js","components/CustomComponents/Navbars/WebNavbarLinks.js","assets/jss/components/customcomponents/mobileHeaderStyle.js","components/CustomComponents/Navbars/MobileNavbarLinks.js","assets/jss/components/views/friendListStyle.js","components/Views/LeaderBoard/LeaderBoard.js","components/CustomComponents/Navbars/Navbar.js","components/CustomComponents/Drawer/Drawer.js","assets/jss/components/customcomponents/cardHeaderStyle.js","components/CustomComponents/Card/CardHeader.js","components/Views/Dashboard/DashboardUtility.js","assets/jss/components/views/dashboardStyle.js","components/Views/Dashboard/Dashboard.js","components/Views/ChangePassword/ChangePassword.js","components/CustomComponents/StyledBadge/StyledBadge.js","components/Views/Profile/FriendList.js","assets/jss/components/views/profileStyle.js","components/Views/Profile/Profile.js","components/Views/Connect/components/Card/styles/cardStyle.js","components/Views/Connect/components/Card/Card.js","components/Views/Connect/components/Card/styles/cardHeaderStyle.js","components/Views/Connect/components/Card/CardHeader.js","components/Views/Connect/components/Card/styles/cardIconStyle.js","components/Views/Connect/components/Card/CardIcon.js","components/Views/Connect/components/MessagingContainer/MetadataCarditem/styles.js","components/Views/Connect/components/MessagingContainer/SkeletonCard/styles.js","components/Views/Connect/components/MessagingContainer/Metadata/styles.js","assets/jss/components/customcomponents/monthYearSelectorStyle.js","components/CustomComponents/MonthYearSelector/MonthYearSelector.js","assets/jss/components/views/NotificationStyle.js","components/Views/Notification/NotificationCard.js","components/Views/Notification/Notification.js","components/Views/Connect/components/MessageComponents/styles/messagesCardStyle.js","components/Views/Connect/components/MessageComponents/MessagesCard.js","components/Views/Connect/views/OnlineClasses/Todays/styles.js","components/Views/Connect/views/OnlineClasses/Todays/index.js","components/Views/Connect/views/OnlineClasses/index.js","components/Views/Connect/store/actions/action-online-classes.js","components/Views/QueryBox/store/actions/messageAction.js","components/Views/QueryBox/components/MessageComponents/styles/messagesCardStyle.js","components/Views/QueryBox/components/MessageComponents/MessagesCard.js","components/Views/QueryBox/components/Dialog/DialogTitle.js","components/Views/QueryBox/components/CustomInput/styles.js","components/Views/QueryBox/components/CustomInput/index.js","components/Views/QueryBox/components/Compose/styles.js","components/Views/QueryBox/components/Compose/index.js","components/Views/QueryBox/components/MessageComponents/MessageDeatilsCard.js","components/Views/QueryBox/views/Inbox/styles.js","components/Views/QueryBox/views/Inbox/index.js","components/Views/QueryBox/views/index.js","components/Views/MainContainer/MainContainer.js","assets/jss/components/customcomponents/pageNavigationStyle.js","components/CustomComponents/Navbars/PageNavigation.js","components/Views/Nexool/Nexool.js","components/CustomComponents/Progress/CircularProgressWithLabel.js","components/Views/Tasks/Operation/Operation.js","components/CustomComponents/FileUpload/FileUpload.js","components/Views/Tasks/Tasks.js","components/Views/Tasks/Topics/MobileTopics.js","components/Views/SignUp/LoginDetails.js","components/Views/SignUp/VerifyMobileOTP.js","components/Views/SignUp/MobileNumber.js","components/Views/SignUp/CouponCode.js","components/Views/SignUp/Signup.js","assets/jss/components/customcomponents/autocompleteStyle.js","components/CustomComponents/Autocomplete/Autocomplete.js","assets/jss/components/views/userDetailsStyle.js","components/Views/UserDetails/BoardGrade.js","components/Views/UserDetails/UserDetails.js","assets/jss/components/views/InstructionAssessmentStyle.js","components/Views/ContentViewer/AssessmentViewer/Instruction.js","components/CustomComponents/CustMarkdown/CustMarkdown.js","assets/jss/components/views/assessmentStyle.js","components/Views/ContentViewer/AssessmentViewer/components/QuestionAnswers.js","components/Views/ContentViewer/AssessmentViewer/components/Summary.js","components/Views/ContentViewer/AssessmentViewer/components/Help.js","components/Views/ContentViewer/AssessmentViewer/components/QuestionFlag.js","components/Views/ContentViewer/AssessmentViewer/Assessment.js","assets/jss/components/customcomponents/PDFViewStyle.js","components/CustomComponents/PDFView/PDFView.js","components/Views/ContentViewer/PDFViewer/PDFViewer.js","components/Views/ContentViewer/HTMLViewer/HTMLViewer.js","components/Views/ContentViewer/HTMLViewer/HTMLContentViewer.js","components/CustomComponents/Navbars/ActivityNavigation.js","components/Views/ContentViewer/ActivityViewer/ActivityViewer.js","components/Views/ContentViewer/TestViewer/TestViewer.js","assets/jss/components/customcomponents/searchInputStyle.js","components/CustomComponents/Inputs/SearchInput/SearchInput.js","components/CustomComponents/VideoGallery/VideoGallery.js","assets/jss/components/views/questDetailsStyle.js","components/Views/QuestCategory/QuestDetails.js","components/Views/QuestCategory/QuestCategory.js","components/Views/QuestProducts/SkeletonCards.js","components/Views/QuestProducts/Details/ProductDetails.js","components/Views/QuestProducts/Details/QuestDetails.js","components/Views/QuestProducts/Details/Details.js","components/CustomComponents/SwipeableView/SwipeableView.js","components/Views/QuestProducts/SwipeableViews/SwipeCard.js","components/Views/QuestProducts/SwipeableViews/ProductsSwipeableViews.js","components/Views/QuestProducts/SwipeableViews/QuestSwipeableViews.js","components/Views/QuestProducts/QuestProducts.js","assets/jss/components/views/cartStyle.js","components/Views/RaymondProducts/components/ProductCard.js","components/Views/RaymondProducts/index.js","components/Views/ShoppingCart/ItemCard.js","components/Views/ShoppingCart/CheckoutCard.js","components/Views/SignUp/EasySignup.js","components/Views/UserDetails/UserDetailsPopup.js","components/Views/ShoppingCart/ShoppingCart.js","components/Views/ShoppingCart/PGResponse.js","assets/jss/components/views/connectStyle.js","components/Views/NotFound.js","components/Views/MissionsSchedules/components/MessageComponents/styles/messagesCardStyle.js","components/Views/MissionsSchedules/components/MessageComponents/MessagesCard.js","components/Views/MissionsSchedules/components/OperationCards/styles.js","components/Views/MissionsSchedules/components/OperationCards/OperationCard.js","components/Views/MissionsSchedules/views/Todays/styles.js","components/Views/MissionsSchedules/views/Todays/index.js","components/Views/MissionsSchedules/views/index.js","components/Views/MissionsSchedules/store/actions/action-mssions-schedules.js","components/Views/AssessmentTests/store/actions/action-online-assignment.js","components/CustomComponents/CustomTabs/styles.js","components/CustomComponents/CustomTabs/CustomTabs.js","components/CustomComponents/Typography/InputLabel.js","components/Views/AssessmentTests/components/AssignmentCard/styles.js","components/Views/AssessmentTests/components/AssignmentCard/index.js","components/Views/AssessmentTests/components/OnlineTestList/styles.js","components/Views/AssessmentTests/components/OnlineTestList/index.js","components/Views/AssessmentTests/index.js","components/Views/AssessmentTestReport/CommonAnalysisTable.jsx","components/Views/AssessmentTestReport/AssignMentChart.jsx","components/Views/AssessmentTestReport/TableLoader.jsx","components/Views/AssessmentTestReport/index.jsx","components/Views/AssessmentTestReport/QuestionWiseAnalysis.jsx","components/Views/AssessmentTestReport/TestReport.jsx","assets/jss/components/customcomponents/reportCard.js","components/CustomComponents/Card/ReportCard.js","assets/jss/components/customcomponents/mainReport.js","components/Views/AssementDashBoard/index.jsx","variables/Routes.js","components/Layouts/Layout.js","index.js"],"names":["useStyles","makeStyles","grid","padding","GridItem","props","classes","children","className","rest","gridClasses","classNames","item","theme","cardContainer","justifyContent","activeCard","marginBottom","marginTop","borderRadius","boxShadow","deactivateCard","backgroundColor","opacity","contentCardGridContainer","margin","contentCardGridItem","contentText1","display","alignItems","contentText2","textAlign","grayColor","contentOP","flexDirection","width","webTopicCard","height","overflow","cardActionArea","cardMediaImg","maxWidth","objectFit","cardMedia","backdrop","zIndex","drawer","color","roseColor","topicTitle","fontWeight","textOverflow","operationCardTitle","breakpoints","down","fontSize","lineHeight","letterSpacing","contentCardTitle","textPointAndTime","mobileGridContainer","mdUpHiddenStyle","overflowY","overflowX","contentCardStyle","cursor","contentStyle","ptAndTmConatiner","operationContentCard","paddingTop","paddingBottom","countCardIcon","paddingRight","countIcon","countCardText","countCardTitle","paddingLeft","divPageNavigation","joinMasterClassCard","position","joinNow","border","background","joinMasterClassText","logoContainer","top","left","blinkingRedDot","animation","liveclass","gap","instructionContainer","borderBottom","listStyle","module","exports","initAppConfigs","dispatch","type","actionTypes","axiosConfig","get","params","AppId","then","response","configs","data","appConfigs","catch","error","setAppType","AppType","payload","fetchContentListFailed","initContentList","QuestId","getState","a","UserId","user","userinfo","userId","initUserProgress","ContentList","contentList","UserProgress","contentlist","userprogress","questid","setContentList","console","log","setCurrentMission","current_mission","mission","setCurrentOperation","current_operation","operation","setCurrentContent","current_content","content","updateCurrentContent","pointCardSatus","currentContent","updateContentAccessDuration","accessDuration","setCurrentTest","testCode","setCurrentTestHistory","historyData","updateTestAttemptedDuration","duration","updateTestAttemptCount","postContentRating","formData","post","initContentRating","contentId","setContentRating","contentRatings","ContentId","postContentAccesstStart","postContentAccessSuccess","postContentAccessFailed","postContentAccess","contentDownload","setExpandedFlag","taskID","expandFlag","Operation","add","questContents","map","operationId","undefined","isExpanded","tasks","taskId","addCartItem","cartItem","cartitem","addToCart","cartItems","store","cartitems","found","some","el","productId","planId","postCartItems","addItemsToCart","filter","cartId","cart_items","setStoreCouponStatus","setStoreCouponCode","removeFromCart","removeItemFromCart","fetchCartItems","localCartItems","cart_Items","allCartItems","Object","values","concat","reduce","r","o","setPaymentGatwayDetails","PG_DATA","PGData","getPaymentGatwayDetails","couponCode","productName","qty","orderId","PaymentGatway","postUrl","dictValues","url","form","document","createElement","setAttribute","forEach","FN","key","value","appendChild","body","submit","setPaymentStatus","Payment_Status","paymentStatus","checkPaymentStatus","OrderId","PgOrderId","ClearCart","couponStatus","applyStoreCoupon","CouponCode","isSuccess","Error","message","fetchUserQuestListStart","setUserQuestList","USER_QUEST","userquest","fetchrQuestListFailed","initUserQuestList","isInitCurrentQuestAndContentList","userInfo","questList","length","lastQuestAccessed","setCurrentQuest","questId","initUserInfo","op","acc","cv","fetchUserQuestList","CurrentQuest","currentQuest","setCurrentQuestByID","QuestID","questID","fetchQuestCategory","quest_category","questCategory","postAssignQuest","postAssignTrialQuest","setQuestDetails","QuestDetails","questDetails","fetchQuestDetails","isSetCurrentQuest","eventData","JSON","stringify","questName","clevertapEvents","fetchProductCategory","product_category","productCategory","fetchProductDetails","ProductId","ProductDetails","productDetails","assignFreeProduct","assignTrialProduct","setUserInfo","setGoCoderPrompt","codeInfo","goCoderInfo","fetchUserInfoFailed","uploadProfilePicture","profilePic","setProfilePic","ProfilePic","logoutUser","setAuthError","auth","authenticateUser","userName","password","username","localStorage","setItem","window","Android","onRemenberMeClicked","flutter_inappwebview","callHandler","sessionStorage","token","updateUserDetails","setUserType","userType","user_type","initQuestions","questions","qadd","qsn","options","optionItems","opt","sort","Math","random","initTestAnswers","answers","updateQuestioAnswer","answer","questionId","updateAnswerDuration","postTestAttempt","initSharedData","SharedData","sharedData","postSharedData","showLeaderBoard","displayFlag","quest","current_quest","initLeaderBoardData","paylod","actionShowLeaderBoard","LeaderBoard","leaderboard","fetchNotification","Month","Year","notifications","setInitialUser","setFLName","firstName","lastName","setUsernamePassword","setSchoolCity","schoolName","cityName","setContactNumber","contactNumber","contactNo","setUserEmail","email","validateOTP","verificationCode","MobileNumber","OTP","requestForOTP","setUserverificationStatus","verification_status","status","verifyUser","Username","setOTPverificationStatus","OTP_STATUS","validateUernameOTP","setPlatform","platform","fetchBoardGrade","defaultBannerLists","bannerType","bannerURL","setProductBanner","bannerLists","fetchProductBanner","institutionId","InstitutionId","fetchRaymondProducts","products","buttonStyle","button","minHeight","minWidth","whiteColor","hexToRgb","textTransform","willChange","transition","whiteSpace","verticalAlign","touchAction","blackColor","marginRight","transform","white","rose","primary","backgroundImage","primaryColor","secondary","secondaryColor","info","infoColor","success","successColor","warning","warningColor","danger","dangerColor","facebook","facebookColor","simple","transparent","disabled","pointerEvents","normal","md","lg","sm","xs","xxs","round","outlined","borderStyle","borderWidth","block","link","justIcon","styles","RegularButton","size","muiClasses","btnClasses","Button","GridContainer","container","root","flexGrow","mobileStepper","header","spacing","palette","default","img","swipeableViewsContainer","buttonDiv","topicsTitle","accordionDiv","scrollBehavior","accordionClass","accordionSummaryClass","accordionSummaryRoot","accordionDetails","heading","listGridContainer","mainContainer","centerContainer","titelContainer","footerDivStyle","bottom","divStyle","muiIconButton","controlSkeleton","SkeletonComp","Fragment","Skeleton","variant","FlashAnimation","defaultOptions","loop","autoplay","animationData","useEffect","myInterval","open","setInterval","close","clearInterval","Backdrop","ControlButton","loading","IconButton","onClick","iconClass","Icon","style","Typography","label","connect","state","ratings","content_ratings","content_ratings_loading","onInitContentRating","questActions","onPostContentRating","ratingData","onPostContentAccess","accessData","useDispatch","history","useHistory","useState","flashAnimation","setFlashAnimation","isIOS","iosLoading","setIOSLoading","reatingPopup","setReatingPopup","showAssessment","setShowAssessment","CURRENT_DATE_TIME","accessDateTime","setAccessDateTime","orientation","isVideo","onChangeOrientation","isWeb","initIOS","event","Event","addEventListener","WebViewEvent","apptoken","Token","getHLSURL","fileUrl","likeCount","disLikeCount","myRating","detail","handleContentRating","rating","handleIOSBack","accessTime","BODY_DATA","locationId","groupId","contentTypeCode","goBack","Progress","AlertDialog","cancelable","DialogActions","startIcon","VideoPlayer","onPlay","onEnded","contentDisplayName","shareContent","operationDisplayName","SHARE_URL_ANDROID","SHARE_URL_IOS","push","TopicAccordion","expanded","onChange","lockDetails","lock","expandIcon","baseUrl","serverURL","instance","axios","create","baseURL","interceptors","request","use","config","getItem","headers","clear","location","href","Promise","reject","GreenCheckIcon","withStyles","green","withRouter","useSelector","Card","missionDisplayName","EventProperty","missionName","facebookTracking","setContentType","CardActionArea","CardMedia","imageUrl","component","image","imgPath","title","CardContent","time","points","progress","accessCount","TopicCards","Content","Video","pdforebook","Activity","Assessment","AutoPlaySwipeableViews","topics","step","index","dashboardStyle","pagecontainer","questDiv","questNameText","questButtonsDiv","questButtons","changeButton","brandColor","buyButton","infoText","upArrowCardCategory","pageCardBody","gridItemHeader","marginLeft","gridItemFooter","paperMissions","gridItemMissions","cardMissions","textMissions","cardCategoryWhite","cardTitle","fontFamily","textDecoration","cardTitleWhite","cardAvatar","maxHeight","right","imageStyle","warningAlert","square","buyButtonContainer","bottomCard","up","bottomCardAction","bottomCardTitle","defaultFont","fabButton","cardFooterStyle","cardFooter","cardFooterProfile","cardFooterPlain","cardFooterStats","borderTop","cardFooterChart","CardFooter","plain","profile","stats","chart","cardFooterClasses","webpackEmptyContext","req","e","code","keys","resolve","id","typographyStyle","defaultFontStyle","defaultHeaderMargins","quote","borderLeft","quoteText","fontStyle","quoteAuthor","mutedText","primaryText","successText","warningText","dangerText","inputLabel","moment","utcOffset","format","LENGTH_ERROR","MIN_LENGTH_ERROR","text","HIDE_FOR_IOS","input","replace","test","first","second","last","toUpperCase","parseInt","drawerWidth","orangeColor","PrimaryColor","primaryBoxShadow","infoBoxShadow","successBoxShadow","warningBoxShadow","dangerBoxShadow","roseBoxShadow","warningCardHeader","successCardHeader","dangerCardHeader","infoCardHeader","primaryCardHeader","roseCardHeader","percentageNumber","percentFor","percentOf","percentage","firstNumber","Number","secondNumber","toFixed","roundPercentageNumber","EventName","EventData","onEventReceived","onFacebookStandardEventReceived","StoreUserData","remember","hhmmss","secs","pad","num","slice","minutes","floor","hours","Duration","seconds","dateTime","date","Date","hh","getUTCHours","mm","getUTCMinutes","ss","getUTCSeconds","string","colorPrimary25","colorPrimary50","colorPrimary100","colorPrimary","LinearProgressWithLabel","textcolor","lableBoxStyle","progressBarWidth","lableStyle","progressClass","mr","bar","defaultProps","like","action","titleStyle","ContentText","ContentTextStyle","React","setAnimationData","alrClasses","infoData","errorData","successData","likeData","Dialog","paperScrollPaper","onClose","aria-labelledby","aria-describedby","DialogTitle","rendererSettings","preserveAspectRatio","DialogContent","DialogContentText","currentAction","onPress","NexoolURL","LastUrl","serverDjangoURL","HomeWeb","lazy","HomeMobile","Transition","forwardRef","ref","direction","Main","useTheme","app_user_type","useMediaQuery","questLoading","infoLoading","usertype","contentLoading","questContent","apptype","appconfigs","dialogState","setDialogState","goCoderDialog","setGoCoderDialog","questDialog","setQuestDialog","setNewUserAlert","openInstructionDialog","hasOnlineSession","startsWith","split","includes","indexOf","base64data","Buffer","toString","openQuestDialog","onBuyQuest","ProductName","pushDataToCRM","phone","name","product_name","setWebViewZoom","onOpenURL","openNewUrl","onClickTest","onClickGoCoderActionInstruction","FormData","append","TransitionComponent","onClickAction","onBuy","onStart","scroll","logo","QuestLogo","activeData","severity","elevation","fallback","appUserType","onClickMission","onChangeQuest","iconButton","modalDialog","modalContent","showThanksModal","setShowThanksModal","sx","m","p","aria-label","grey","src","imagine1","alt","progressStyles","handleClose","VideoPalyer","pip","counter","playing","controls","light","volume","muted","played","loaded","ended","playbackRate","tokan","Landscape","markers","tick","timerID","setState","handleReady","handlePlayPause","handleShowHide","handleStop","handleToggleLight","handleToggleLoop","handleVolumeChange","parseFloat","target","handleToggleMuted","handleSetPlaybackRate","handleTogglePIP","handlePlay","handleEnablePIP","handleDisablePIP","handlePause","handleSeekMouseDown","seeking","handleSeekChange","handleSeekMouseUp","player","seekTo","handleProgress","handleEnded","handleDuration","new_value","handleAESencryption","xhr","setRequestHeader","vtoken","handleClickFullscreen","setDeviceOrientation","screenfull","findDOMNode","onBackPressed_Initiate","handleClickFullscreenExit","renderLoadButton","load","handleForward","handleReplay","mousetrailRef","createRef","mouseConlRef","nextProps","this","scrollTo","behavior","backgroundPosition","backgroundRepeat","backgroundSize","file","hlsOptions","forceHLS","debug","xhrSetup","playIcon","onReady","onEnablePIP","onDisablePIP","onPause","onError","onProgress","onDuration","playsinline","muiIconButtonRoot","fontSizeLarge","muiSvgIconFontSizeLarge","onTouchEnd","handleTuchEnd","scrollamount","scrolldelay","fontSizeSmall","muiSvgIconFontSizeSmall","min","max","onMouseDown","onMouseUp","onTouchStart","val","data-title","Component","hot","TaskCard","WebTopics","elementRef","useRef","setLockDetails","questContentsList","taskList","task","setIsVideo","ScreenOrientation","setScreenOrientation","handleChange","panel","newExpanded","getContentLockDetails","prev","handleChangeTask","contentType","current","scrollIntoView","current_task","indx","taskDisplayName","taskDiv","borderRightStyle","borderRightColor","timeDiv","imgIcon","checkboxStyle","checkboxLabelStyle","earnPoints","Display","borderColor","checked","Checkbox","icon","checkedIcon","isTrialOver","CardIcon","avatar","Info","videoCount","testCount","activityCount","webContentCount","totalTime","gutterBottom","dangerouslySetInnerHTML","__html","missionDescription","fullWidth","closeButton","blue","paper","typography","pxToRem","fontWeightRegular","StyledBadge","badge","Badge","other","SimpleDialogDemo","Avatar","dialogContentStyle","List","ListItem","ListItemAvatar","listItemAvatarStyle","overlap","anchorOrigin","vertical","horizontal","ListItemText","disableTypography","cardBodyStyle","cardBody","flex","WebkitBoxFlex","cardBodyPlain","cardBodyProfile","cardBodyTable","CardBody","table","cardBodyClasses","cardStyle","card","wordWrap","cardPlain","cardProfile","cardChart","cardClasses","cardIconStyle","cardIcon","float","cardIconClasses","FETCH_APPCONFIGS_START","SET_APPCONFIGS","FETCH_APPCONFIGS_FAILED","SET_APPTYPE","POST_CHANGE_PASSWORD_START","POST_CHANGE_PASSWORD_SUCCESS","POST_CHANGE_PASSWORD_FAILED","FETCH_USERINFO_START","SET_USERINFO","FETCH_USERINFO_FAILED","SET_PROFILE_PICTURE","FETCH_USER_PROGRESS_START","SET_USER_PROGRESS","FETCH_USER_PROGRESS_FAILED","AUTH_FAILED","SET_USER_TYPE","FETCH_CONTENTLIST_START","SET_CONTENTLIST","FETCH_CONTENTLIST_FAILED","UPDATE_CONTENTLIST","FETCH_CONTENT_RATING_START","SET_CONTENT_RATING","FETCH_CONTENT_RATING_FAILED","POST_CONTENT_RATING_START","POST_CONTENT_RATING_SUCCESS","POST_CONTENT_RATING_FAILED","POST_CONTENT_ACCESS_START","POST_CONTENT_ACCESS_SUCCESS","POST_CONTENT_ACCESS_FAILED","POST_TEST_ATTEMPT_START","POST_TEST_ATTEMPT_SUCCESS","POST_TEST_ATTEMPT_FAILED","FETCH_USERQUEST_LIST_START","SET_USERQUEST_LIST","FETCH_USERQUEST_LIST_FAILED","SET_CURRENT_QUEST_BY_ID","SET_CURRENT_QUEST","SET_CURRENT_MISSION","SET_CURRENT_OPERATION","SET_CURRENT_CONTENT","CLEAR_CURRENT_CONTENT","UPDATE_CURRENT_CONTENT","UPDATE_ACCESS_DURATION","SET_CURRENT_TESTS","UPDATE_TEST_ATTEMPT_COUNT","UPDATE_TEST_ATTEMPT_DURATION","SET_CURRENT_TEST_HISTORY","FETCH_TESTQUESTIONS_START","SET_TESTQUESTIONS","FETCH_TESTQUESTIONS_FAILED","SET_TEST_ANSWERS","UPDATE_QUESTION_ANSWER","UPDATE_ANSWER_DURATION","FETCH_SHARED_DATA_START","SET_SHARED_DATA","FETCH_SHARED_DATA_FAILED","POST_SHARED_DATA_START","POST_SHARED_DATA_SUCCESS","POST_SHARED_DATA_FAILED","FETCH_LEADERBOARD_DATA_START","SET_LEADERBOARD_DATA","FETCH_LEADERBOARD_DATA_FAILED","SHOW_LEADERBOARD_DIALOG","SET_NOTIFICATION","SET_QUESTCATEGORY","SET_QUEST_DETAILS","SET_QUESTPRODUCTS","SET_PRODUCT_DETAILS","INIT_REGISTER_USER","SET_FLNAME","SET_USERNAME","SET_USERNAME_PASSWORD","SET_SCHOOLNAME_CITY","SET_MOBILE_NUMBER","SET_USER_EMAIL","SET_PROMO_CODE","SET_UTM_DATA","ADD_TO_CART","REMOVE_FROM_CART","CLEAR_CART","SET_CART_ITEMS","SET_STORE_COUPON_CODE","SET_STORE_COUPON_STATUS","SET_PG_DATA","SET_PAYMENT_STATUS","SET_USER_verification_STATUS","SET_OTP_verification_STATUS","SET_PLATFORM","SET_BOARD_GRADE","SET_PRODUCT_BANNER","SET_RAYMOND_PRODUCTS","SET_GO_CODER_PROMPT","infoTextClasses","FormDialog","keepMounted","propTypes","initialState","userQuest","post_password_error","post_password_loading","auth_error","reducer","missions","operations","subTasks","missionTests","current_quest_progress","current_test","current_test_history","content_ratings_error","getMergedArray","filterID","mergedContents","currentValue","getUpdatedProgress","marksObtained","newContent","newContentProgress","getTasksCounts","totalTask","completedTask","avCount","updatedQuestProgress","updatedContentList","currentQuestProgress","accumulator","newContentList","questProgress","current_progress","missionProgress","operationProgress","contentProgress","missionId","sequenceNo","newCurrent_content","clearedCurrent_content","updatedCurrent_content","testId","testAttemptedDuration","testAttemptCount","updateedMissionTests","updatedTests","post_test_loading","initAnswers","current_question","correctMark","testQuestion","currentQuestion","newOpt","questionTypeCode","testAnswers","current_answers","question","attempted_answer","option","ischecked","join","answered_correct","isQuestionSkipped","isAnsweredCorrect","attemptedAnswer","questionMarksObtained","updatedTimeAnswers","newCurrent_answers","questionDuration","shareddata","friendsList","isShared","sharedList","fetch_error","fetch_loading","post_error","post_loading","leader_board_data","leader_board_data_error","leader_board_data_loading","show_leader_board_dialog","leaderBoard","notification","questcategories","lastViewed","viewedOn","questdetails","registerUser","emailId","promoCode","UTMData","newCartItems","userVerificationStatus","OTPVerificationStatus","productcategories","categoryName","productList","productdetails","initialstate","boards","grades","todyasOnlineClasses","scheduleDataResult","schedule","missionsSchedules","tests","maxPageCount","testList","totalRecords","inbox_messages","inbox","persistConfig","storage","appReducer","combineReducers","userReducer","newuser","questUserRegistration","contentListReducer","questListReducer","testQuestionsReducer","userProgressReducer","appConfigsReducer","sharedDataReducer","leaderBoardReducer","notificationcenter","notificationCenterReducer","categories","questCategoryReducer","questStoreReducer","resetpassword","resetPasswordReducer","questProductsReducer","raymond","raymondReducer","platforms","platformReducer","boardgrade","boardGradeReducer","onlineclasses","onlineClassesReducer","schedules","mssionsSchedulesReducer","banner","ProductBannerReducer","messages","queryReducer","onlineassignment","onlineAssignmentReducer","persistReducer","removeItem","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","rootReducer","applyMiddleware","thunk","persistor","persistStore","Boolean","hostname","match","appStyle","wrapper","mainPanel","overflowScrolling","contentShift","transitions","easing","easeOut","enteringScreen","signinStyle","layout","main","submit1","MuiDialogContent","CustomizedDialogs","dividers","checkNull","element","elementValue","errorMessage","validationObject","trim","checkMaxLength","maxLength","isNaN","checkMinLength","minLength","checkEmail","validator","isEmail","checkMobileNumber","isMobilePhone","checkMobileNumberVerification","elementStatus","checkPassword","elementValue1","elementValue2","customInputStyle","underline","underlineError","underlineSuccess","radioRoot","labelRootError","labelRootSuccess","lableError","feedback","formControl","footerButton","TextInput","errorText","FormControl","TextField","marginDense","InputLabelProps","labelRoot","helperText","FormHelperTextProps","description","PropTypes","Style","form_easysignup","actionsGridItem_easysignup","submit_easysignup","stepperStyle","actionsGridItem","justifyItems","actionsContainer","stepContent","dialogTitle","titleHeader","Alert","VerifyOTP","resendOTP","onValidateOTP","snackbarseverity","snackbarMessage","setSnackbarMessage","setVerificationCode","errorverificationCode","setErrorCode","Snackbar","autoHideDuration","hyperText","autoFocus","dialogActions","resendText","note","paragraph","onValidate","alertType","setAlertType","setLoading","Slide","VerifyUsername","onChangeTitle","fullScreen","OTPDialog","setOTPDialog","alertMessage","setAlertMessage","errorusername","onSendOTP","handleLoading","VerifyUsernameOTP","isVerify","setUsername","setTimeout","handleNext","onResendOTP","onCloseAlert","ResetPassword","onResetPassword","newPassword","confirmPassword","errorNewPassword","errorConfirmPassword","postChangePassword","newShowPassword","confirmShowPassword","handleClickShowPassword","showPassword","handleMouseDownPassword","preventDefault","InputProps","endAdornment","InputAdornment","ForgotPassword","activeStep","setActiveStep","steps","prevActiveStep","handleBack","SwitchTransition","mode","CSSTransition","addEndListener","node","done","getStepContent","SigninContainer","textColor","inputUnderlineClasss","inputUnderline","checkboxLabelClass","forgotPasswordLableClass","forgotPasswordLable","InputPassword","errorUserName","errorPassword","openProgress","setOpenProgress","setRemember","setErrorMessage","forgotDialog","setForgotDialog","forgotDialogTitle","setForgotDialogTitle","handleKeyPress","charCode","logIN","focus","userQuestList","navigateTo","showDashboard","search","actionType","URLSearchParams","closeForgotDialog","handleOnSignUp","onSignUp","URL","LinearProgress","CustomizedDialog","paperDialog","required","InputLabel","htmlFor","autoComplete","onKeyPress","FormHelperText","inputRef","FormControlLabel","control","isChecked","onRemenberMeUncheck","isBack","Divider","onExplore","tcUrl","ContentProps","onLogin","SignIn","CssBaseline","Paper","signinPaperContainer","PureComponent","freeText","borderBottomLeftRadius","borderTopLeftRadius","borderTopRightRadius","topicCardGrid","backButtonContainer","backButtonContainer1","cartIconContainer","searchTextContainer","priceTextContainer","priceSymbol","priceText","boardGradeSearchContainer","Intermediate","userInfoError","userAuthError","toolbar","mixins","muiToolbarDense","toolbarIcon","appBar","appBarShift","sharp","bottomNavigation","bottomNavigationActionRoot","buttonNavigationAction","buttonNavigationsSelected","menuButton","menuButtonHidden","title1","avatarsmall","logoDiv","actionLabel","muiIconRoot","rightIconContainer","svgIconRoot","iconnNotificationsButton","iconbqbnseButton","userNameText","MuiBottomNavigationAction","iconStyle","iconName","BottomNavigationAction","selected","setValue","AppBar","Toolbar","dense","BottomNavigation","newValue","showLabels","smallAvatar","openLeaderBoard","iconRoot","muiToolbarRegular","toolbarGutters","topBar","topBarShift","bottomBar","iconDialButton","gutters","regular","listItemStyle","idx","score","Header","leaderboardDialog","leaderboardLoading","handleCloseLeaderBoardDialog","handleOpenLeaderBoardDialog","Hidden","smDown","implementation","WebNavbarLinks","mdUp","MobileNavbarLinks","Drawer","cardHeaderStyle","cardHeader","cardHeaderPlain","cardHeaderStats","cardHeaderIcon","CustCardHeader","titleClassName","actionClose","cardHeaderClasses","titleClasses","afterTickToLabelConversion","scaleInstance","ticks","ticksAsNumbers","groupedBarchartOptions","responsive","legend","animateScale","animateRotate","scales","xAxes","callback","substring","characterLimit","yAxes","scaleLabel","labelString","beginAtZero","stepSize","plugins","labels","render","showZero","barchartOptions","piechartOptions","precision","getQuestBarchart","progressVideoCount","progressTestCount","progressActivityCount","progressWebContentCount","datasets","groupedChartData","dataArray","displayName","idName","chartData","ids","currentData","cardCategory","pieRef","qustBarRef","missionBarRef","operationBarRef","qustPieData","setQuestPieData","qustBarData","setQuestBarData","missionBarData","setMissionBarData","operationBarData","setOperationBarData","populateQuestPie","populateQuestBar","pieChartdata","questBarchartData","operationsProgress","current_value","getElementAtEvent","evt","activePoint","_chart","datasetIndex","_datasetIndex","_index","clickHandler","ChangePassword","setProgress","errorState","setErrorState","currentPassword","errorCurrentPassword","clearStates","currentShowPassword","oldPassword","handleSnackbarClose","reason","setData","handleToggle","selectedValue","newChecked","newCurrentValue","ListItemSecondaryAction","edge","onPost","profilePicContainer","profilePicAvatar","largeAvatar","buttonCenter","nested","useStylesBootstrap","arrow","common","black","tooltip","BootstrapTooltip","Tooltip","loadingSharedData","loadingPost","onInitSharedData","friendsDialog","setFriendsDialog","openCollapse","setOpenCollapse","logoutLoading","setLogoutLoading","imageUploader","picLoading","setPicLoading","handleImageUpload","files","convertBase64","base64","fileReader","FileReader","readAsDataURL","onload","result","onerror","postData","bodyData","accept","click","isRemember","onLogout","pathname","SearchParams","supportEmail","isAcademic","Collapse","in","timeout","unmountOnExit","disablePadding","ListItemIcon","cardCategoryDiv","divButtonsStyle","buttonBackNext","currentDate","MonthYearSelector","subtract","year","month","SkeletonCard","v","i","NotificationCard","idex","modifiedOn","lines","more","less","anchorClass","messageText","Connnect","monthyear","setMonthYear","MONTH","YEAR","senderName","subject","small","gridContainerStyle","gridItemStyle","cardContent","chip","iconTime","MessagesCard","noDataMessage","onClickRow","JoinButton","joinLink","openZoomUrl","appJoinLink","CourseName","scheduleName","Teacher","startTime","CardActions","StartTime","fab","addIcon","Inbox","Container","InboxIcon","selectedTab","dispatchAction","Todays","onChangeMonthYear","setFetchLoadingStatus","fetchMessageAnnouncements","postQueryMessage","attachmentList","messageBody","parentMessageId","saveButton","onSave","onAttachment","badgeContent","underlineNo","CustomInput","formControlClasses","labelText","labelProps","inputProps","labelClasses","underlineClasses","formControlClassesName","Compose","reply","replyTo","setSubject","attachmentFiles","setAttachmentFiles","selectedCourse","setSelectedCourse","setOperations","selectedOperation","setSelectedOperation","queryMessage","setQueryMessage","handleFileUpload","removeEventListener","byteCharacters","atob","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","blob","Blob","File","filename","onPostQueryMessage","MessageBody","messageId","messageActions","Autocomplete","getOptionLabel","renderInput","placeholder","multiline","lastModified","Chip","onDelete","fileToDelete","uploadFile","upload_file","DeatilsCard","currentQuery","isReplay","fileDowload","downloadFile","fetch","res","objectURL","createObjectURL","fileName","dispatchEvent","MouseEvent","bubbles","view","removeChild","createdOn","createdByName","deleteIcon","MessageDeatilsCard","onReply","setChecked","chatList","Zoom","inboxMessages","setOpen","openMessageDeatils","setOpenMessageDeatils","setCurrentQuery","handleOpen","handleCloseMessageDeatils","CurrentQuery","Fab","MailContainer","inboxLoading","Routes","path","QueryBox","divider","submenu","collapse","OnlineClasses","Dashboard","Profile","Notification","HomeDefaultComponent","SwitchRoutes","prop","Home","componentWillReceiveProps","prevDepth","getPathDepth","pathArr","n","showDrawer","mobileOpen","currentKey","TransitionGroup","AdminNavbarLinks","alertDialog","setAlertDialog","handleAlertOK","divClasses","alert","back","logoText","setDisplay","setToken","getToken","PageNavigation","onLoad","animationDuration","circle","strokeLinecap","CircularProgressWithLabel","OpCardContent","bgcolor","countText","handleCardSelect","CardHeader","titleTypographyProps","uploadText","removeButton","font","outline","uploadButton","buttonContainer","FileUpload","setFiles","fileUploading","setFileUploading","alertMessageType","setAlertMessageType","uploadError","setUploadError","useDropzone","onDrop","acceptedFiles","getRootProps","getInputProps","fileItems","extIndex","lastIndexOf","nameWithoutExt","ext","truncateFileName","prevFiles","_","handleRemoveFile","zip","JSZip","zipPromises","handleFile","loadAsync","internalPromises","relativePath","zipEntry","async","all","handleUpload","generateAsync","method","json","ok","fileUpload","errorCard","masterClassData","setMasterClassData","getGoCoderDetails","Grid","is_live","masterclass_name","masterclass_link","boolean","next","VideoViewer","LoginDetails","isLogin","userDetails","pincode","errorpincode","errorcityName","errorpassword","errorfirstName","erroremail","setShowPassword","onNext","errorlastName","handleRegisterUser","number","onInput","mobileNumber","isMobileValidate","setMobileValidation","errorcontactNumber","VerifyMobileOTP","successHeader","startAdornment","visibility","Signup","showPromoScreen","Stepper","Step","StepLabel","isLoginAfterSignUp","whiteUnderline","formControlSelect","whiteInput","labelWhiteError","autocompleteInput","formControlProps","inputRootCustomClasses","inputClasses","labelError","inputRoot","UserDetailsLayout","paperContainer","UserDetailsPaper","paper1","form1","titleHeader1","inputUnderlinewhite","useLocation","board","setBoard","gradeList","setGrades","grade","setGrade","errorboard","errorgrade","setUserId","isLoading","setIsLoading","validateInputs","boardId","gradeId","questname","boardName","gradeName","cardStyle1","cardStyle2","cardStyle3","borderBottomRightRadius","gridContainer1","gridContainer2","gridContainer3","gridContainer4","gridItem","onSetCurrentTest","onInitQuestions","clevertapFun","testName","to","totalDuration","totalQuestion","testDirections","Markdown","Input","escapeHtml","RemarkMathPlugin","renderers","math","inlineMath","_mapProps","disabledListItem","ansListItemStyle","ansGridContainer","ansButton","footerDiv","gridContainer","outlineOffset","stepperCardBody","questioAnswersCardBody","yourAnswerText","correctAnswerText","explanationHeaderText","listItemContainer","secondaryAction","Styles","updateQuestioAnswers","setMinutes","setSeconds","reviewe","CORRECT_ANSWER","questionText","onFlag","missionTestQuestionId","role","Radio","explanation","testHistory","skipCount","Count","rightCount","wrongCount","bestAttempt","setBestAttempt","allAttempt","setAllAttempt","attemptList","attemptNumber","bestAttemptNumber","all_attempt","b","totalSeconds","newMinutes","newSeconds","totalMark","skipQuestionCount","rightAnswerCount","wrongAnswerCount","totalMarks","totalTimeConsume","emails","setSelectedValue","handleListItemClick","QuestionFlag","onSubmit","remark","setRemark","errorRemark","setErrorRemark","setError","rows","cols","postRemark","onPostTestAttempt","helpDialog","setHelpDialog","isTimesup","setTimesup","revieweMode","setRevieweMode","setCurrentQuestion","flagAlert","setFlagAlert","flagDialog","setDialog","handlePostTestAttempt","isLastStep","handleAlertCloseDialog","handleFlagAlertOK","handleClosePage","isStopped","nonLinear","StepButton","completed","Summary","endIcon","inputStyle","pdfControl","pdfjs","GlobalWorkerOptions","workerSrc","version","PDFViewer","fileurl","numPages","setNumPages","pageNumber","setPageNumber","inputNumber","setInputNumber","pagScale","setPagScale","uri","downloadPdfFile","getPDFDownloadURL","onPassword","onLoadSuccess","scale","timer","clearTimeout","tyle","htmlContent","eventListener","actObj","parse","Method","handlePostContentAccess","TrackingData","ConsumedTime","DocView","testLink","shape","fade","searchIcon","inputInput","SearchInput","InputBase","inputchange","SwipeableTextMobileStepper","setPlaying","maxSteps","axis","onChangeIndex","enableMouseEvents","abs","attributes","controlsList","onContextMenu","MobileStepper","nextButton","backButton","handelLaunch","onLaunch","_handelLaunch","onOfflineLaunch","formUrl","handelBuy","questVideo","VideoGallery","questIcon","questDescription","isFree","isAssigned","isOnTrial","isTrialTaken","price","isOnline","freeDuration","between","containerStyle","stepChange","ignoreNativeScroll","DefaultImage","onSeeMore","tagColor","tagValue","CardConterol","onBack","activecard","controlLength","CategoryCard","QuestCategory","QuestCategories","searchText","setSearchText","isTrialQuest","questData","setQuestData","loginDialog","setLoginDialog","signupDialog","setSignupDialog","openLoginDialog","closeLoginDialog","closeSignupDialog","assignQuest","onChangeOfflineQuest","setCurrentQuestAndInitContentList","handelLogin","handelSignup","SigninComponent","subheader","subheaderTypographyProps","isSamePrice","discountPrice","productVideo","productIcon","productDescription","trialDuration","Details","SwipeableView","SwipeCard","onTrail","handleStepChange","QuestSwipeableViews","ProductsSwipeableViews","questCategories","backButtonClasses","productCategories","setProductCategories","gradeIds","currentGrade","d","backTo","handelTrail","onLaunchLastQuestAccessed","handelCardClick","onOkAlert","lastQuestName","buttonKeepShop","alignSelf","details","nameTitle","lengthTitle","priceTitle","checkoutCardContainer","checkoutCard","applyCouponButtonContainer","applyCouponTextContainer","applyCouponTextInput","applyCouponInputLabel","gstFontStyle","CartLottieOptions","ShoppingCartLottie","ItemCard","product","ButtonBase","planPrice","ProMembershipImage","MembershipImage","productDisplayName","RaymondProducts","fetchProducts","noWrap","ProductCard","onRemove","netPrice","cartitme","PriceGrid","amount","labelStyle","signs","ShoppingCart","payableAmount","onCheckout","coupon","setCoupon","onApplyCoupon","onRemoveCoupon","appliedCoupon","discountAmt","SetDiscountAmt","totalAmt","SetTotalAmt","extraValue","handeCloseSnackbar","EasySignup","handleSignup","chip_getotp","prvState","onUpdateDetails","progressLoading","setProgressLoading","detailsDialog","setDetailsDialog","setPayableAmount","openPaymentStatus","setOpenPaymentStatus","paramOrderId","getCartDetails","errorCode","AMOUNT","totalAmount","closeSignUpDialog","handelSignUp","AlertTitle","CheckoutCard","loaderOptions","loaderAnimationData","PGResponse","fetchUserInfo","setFetchUserInfo","gridItemButton","buttonClass","dateContainer","nameConatiner","datetime","diff","currentdatetime","handleClickShare","SubjectCard","operationB64","OperationCard","currentDataTime","setCurrentDataTime","Missionid","interval","fetchOnlineAssignment","PageNumber","PageSize","customTabsStyle","cardTitleRTL","displayNone","tabsRoot","tabRootButton","tabSelected","tabWrapper","NavTab","plainTabs","tabs","onTabChange","Tabs","tabName","tabIcon","indicator","Tab","tabContent","borderBottomStyle","paperName","icon_text","not_attempt","AssignmentCard","MLink","ONLINE_ASSESSMENT_URL","onlineStudentAssignmentId","isViewSolution","VIEW_SOLUTION_URL","onlineStudentAssignmentAttemptId","assessment","testAlternateName","testTypeName","totalQuestions","testDuration","testAssignStartDate","testAssignEndDate","isViewDiagnosticReport","DIAGNOSTIC_REPORT_URL","handleClickViewReport","isReportGenerated","reportPath","flexShrink","OnGoingTest","fetchAssessments","Test","page","setPage","Pagination","count","setSelectedTab","fetchOnlineTest","tabtype","pageSize","actions","CustomTabs","headerColor","rtlActive","CommonAnalysisTable","getKeyValue","obj","questionIndex","keyIndex","AssignMentChart","series","TableLoader","convertSeconds","remainingSeconds","AssessmentTestReport","performanceData","setPerformanceData","overallPerformanceData","setOverallPerformanceData","setChartData","performanceLoading","setPerformanceLoading","overallPerformanceLoading","setOverallPerformanceLoading","overallPerformanceError","setOverallPerformanceError","performanceError","setPerformanceError","timeManagement","setTimeManagement","timeManagementLoading","setTimeManagementLoading","timeManagementError","setTimeManagementError","fetchPerformanceData","fetchOverallPerformanceData","fetchTimeManagementData","isJwt","pager","sortField","sortOrder","rowNumber","recordsPerPage","filteredRecords","apiData","timeManagementModifiedData","Your_Time","Average_of_All_Student","Average_of_Top_Ten_Percentile","q","TestId","TestName","TotalTime","processOverallPerformanceData","generateChartData","Map","Data","Overall","mergedMainArray","from","userDatamap","UserData","OverallUserData","mergedUserArray","processPerformanceData","Your_Mark","Topper_Mark","plotOptions","columnWidth","endingShape","dataLabels","enabled","stroke","show","colors","xaxis","yaxis","fill","y","formatter","userData","above_85","between_75_85","between_63_75","between_55_63","between_48_55","between_40_48","below_40","userDataObj","find","TotalMarks","QuestionWiseAnalysis","questionWiseData","setQuestionWiseData","questionWiseDataLoading","setQuestionWiseDataLoading","questionWiseDataError","setQuestionWiseDataError","fetchQuestionWiseAnalysis","colspan","AttemptPercentage","RightPercentage","WrongPercentage","DifficultyLevel","Correct_Response","Your_Response","All_Student_Average_Time","colSpan","TestReport","useParams","bloomData","setBloomData","bloomDataLoading","setBloomDataLoading","bloomDataError","setBloomDataError","levelOfEffort","setLevelOfEffort","levelOfEffortLoading","setLevelOfEffortLoading","levelOfEffortError","setLevelOfEffortError","dokData","setdokData","dokDataLoading","setdokDataLoading","dokDataError","setdokDataError","fetchTBloomData","fetchEffortLevelData","fetchDokLevelData","bloomModifiedData","levelOdEffortModifiedData","dokModifiedData","bloomResMapdata","Average_Of_All_Students","Average_Of_Top_Ten_Percentile","Your_Score","recall","understand","analysis","application","evaluate","entries","isArray","Recall","Understand","Analysis","Create","Application","Evaluate","low","moderate","high","Low","Moderate","High","Extended_Thinking","Strategic_Thinking","overlap_13","cardBoady","image_wrapper","image_4","text_wrapper_56","text_wrapper_57","card_wrapper","image_new_wrapper","card_heading_text","card_content","card_sub_heading_text","card_subHeading_text","ReportCard","subTitle","topContainer","topicsDescription","AssementDashBoard","handleClick","TestImage","ReportsImage","inventoryRoutes","DashboardIcon","Nexool","QuestProducts","Tasks","Instruction","MobileTopics","HTMLViewer","HTMLContentViewer","ActivityViewer","UserDetails","BoardGrade","MissionsSchedules","AssessmentTests","TestViewer","NotFound","navigator","userAgent","prevProps","clsx","exact","createMuiTheme","overrides","MuiStepIcon","active","responsiveFontSizes","ReactDOM","ThemeProvider","createBrowserHistory","Layout","getElementById","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.741977ad.chunk.js","sourcesContent":["import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n padding: \"0 15px\"\n }\n};\n\nconst useStyles = makeStyles(styles);\n\n\n\n\nexport default function GridItem(props) {\n const classes = useStyles();\n const { children,className, ...rest } = props;\n\n const gridClasses = classNames({\n [classes.grid]: true,\n [className]: className\n });\n return (\n \n {children}\n \n );\n}\n\nGridItem.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n","// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\n\nimport {\n roseColor,\n grayColor,\n boxShadow,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst useStyles = makeStyles((theme) => ({\n cardContainer: {\n justifyContent: \"center\"\n },\n activeCard: {\n marginBottom: \"10px\",\n marginTop: \"10px\",\n borderRadius: 10,\n\n ...boxShadow\n },\n deactivateCard: {\n marginBottom: \"10px\",\n marginTop: \"10px\",\n backgroundColor: '#F2F8FF',\n opacity: 0.8,\n borderRadius: 10,\n ...boxShadow\n },\n contentCardGridContainer: {\n margin: 0\n },\n contentCardGridItem: {\n padding: '0 10px'\n },\n\n contentText1: {\n margin: '0 8px 0 0',\n display: 'flex',\n padding: '0px 0.1rem 0px 0.2rem',\n alignItems: 'flex-start',\n padding: 3,\n paddingRight: 4,\n flexDirection: 'column',\n width: '100%'\n },\n contentText2: {\n textAlign: 'center',\n padding: 10,\n backgroundColor: grayColor[4]\n },\n\n contentOP: {\n flexDirection: 'row',\n display: 'flex',\n alignItems: 'center',\n width: '100%',\n justifyContent: 'space-between'\n },\n\n webTopicCard: {\n height: '100%',\n display: 'block',\n overflow: 'hidden',\n width: '100%',\n margin: 0\n },\n\n cardActionArea: {\n height: 150,\n display: \"flex\",\n backgroundColor: ' #D4DFF9'\n },\n cardMediaImg: {\n width: '100%',\n maxWidth: 150,\n height: 'auto',\n // padding:15,\n objectFit: 'fill !important',\n },\n cardMedia: {\n width: '100% !important',\n maxWidth: 150,\n height: 'inherit',\n objectFit: 'scale-down !important',\n },\n\n // temp\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: roseColor[0],\n },\n\n //one line height\n topicTitle: {\n fontWeight: 'bold',\n color: '#000000',\n padding: '0 15px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n },\n\n\n //one line height\n operationCardTitle: {\n fontWeight: 'bold',\n color: '#000000',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // height: '3em',\n display: '-webkit-box',\n /* line-height: 16px; */\n /* max-height: 32px; */\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n fontSize: '0.75rem',\n lineHeight: 1.2,\n letterSpacing: '0.03333em'\n }\n },\n\n //two line height\n contentCardTitle: {\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n height: '2.5em',\n lineHeight: 1.2,\n letterSpacing: '0.03333em',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n // height: '2.5em',\n // lineHeight: 1.2,\n fontSize: '0.75rem',\n // letterSpacing: '0.03333em',\n }\n },\n textPointAndTime: {\n [theme.breakpoints.down('sm')]: {\n fontSize: '0.625rem',\n lineHeight: 1.2,\n letterSpacing: '0.03333em'\n }\n },\n\n //GridContainer for mobile view\n mobileGridContainer: {\n margin: 0,\n height: 'inherit',\n overflow: 'auto'\n },\n //HiddenmdUp\n mdUpHiddenStyle: {\n height: '100vh',\n overflowY: 'hidden',\n overflowX: 'hidden'\n },\n\n //ContentCard.js\n contentCardStyle: {\n width: '100%',\n // maxWidth: 150,\n marginBottom: 10,\n marginTop: 10,\n borderRadius: 10,\n cursor: 'pointer',\n boxShadow: '0 2px 2px -5px rgba(0, 0, 0, 0.42), 0 1px 10px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2)'\n },\n contentStyle: {\n padding: '7px 7px 5px 7px !important',\n [theme.breakpoints.down('sm')]: {\n padding: '7px 7px 5px 7px !important'\n }\n },\n\n ptAndTmConatiner: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n width: '100%'\n },\n\n //Operation.js\n operationContentCard: {\n display: 'flex',\n justifyContent: 'space-between',\n paddingTop: 5,\n paddingBottom: '0px !important'\n },\n countCardIcon: {\n display: 'flex',\n justifyContent: 'center',\n paddingRight: 3,\n color: '#fff'\n },\n countIcon:{\n fontSize: '0.85rem',\n [theme.breakpoints.down('sm')]: {\n fontSize:'0.65rem'\n }\n },\n countCardText: {\n fontSize:'0.625rem',\n fontWeight: 'bold',\n color: '#fff',\n lineHeight: 1,\n [theme.breakpoints.down('sm')]: {\n fontSize:'0.563rem'\n }\n },\n countCardTitle: {\n fontWeight: 'bold', \n color: '#fff', \n lineHeight: 1, \n paddingLeft: 2,\n [theme.breakpoints.down('sm')]: {\n fontSize:'0.625rem'\n }\n },\n\n divPageNavigation: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n paddingRight: 10\n },\n joinMasterClassCard:{\n boxShadow: '0px 2px 10px 0px rgba(0,0,0,0.15)',\n borderRadius: '5px',\n padding: '50px',\n // width: '400px',\n textAlign: 'center',\n cursor: 'pointer',\n position:'relative',\n },\n joinNow:{\n border:'none',\n background: 'linear-gradient(264.15deg, #4F90EE 0%, #0945BF 100%)',\n padding:'12px 28px 12px 28px',\n cursor:'pointer',\n borderRadius:'6px',\n color:'#fff',\n fontSize:'16px',\n },\n joinMasterClassText:{\n fontSize:'24px',\n fontWeight:'500',\n color:'#425466'\n },\n logoContainer:{\n position:'absolute',\n top:'10px',\n left:'10px',\n },\n blinkingRedDot: {\n width: '10px',\n height: '10px',\n backgroundColor: 'red',\n borderRadius: '50%',\n animation: '$blink 1s infinite'\n },\n '@keyframes blink': {\n '0%': {\n opacity: 1,\n },\n '50%': {\n opacity: 0,\n },\n '100%': {\n opacity: 1,\n }\n },\n liveclass:{\n display:'flex',\n justifyContent:'center',\n alignItems:'center',\n gap:'5px',\n backgroundColor:'#fff',\n borderRadius:'4px',\n padding:'2px 10px',\n cursor:'pointer',\n border:'1px solid red',\n fontWeight:'bold',\n },\n instructionContainer:{\n marginTop:'40px',\n padding:'5px',\n border:'1px solid #ccc',\n borderRadius:'5px',\n\n '& h3':{\n fontWeight:'bold',\n color:'#000',\n marginBottom:'10px',\n padding:'5px',\n borderBottom:'1px solid #ccc',\n\n }, \n '& ul':{\n padding:'5px',\n margin:'0',\n listStyle:'none',\n textAlign:'left',\n },\n '& li':{\n padding:'5px',\n margin:'0',\n listStyle:'none',\n textAlign:'left',\n }\n }\n}))\n\nexport default useStyles;","module.exports = \"data:image/png;base64,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\"","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\nexport const fetchAppConfigsStart=()=>{\n return{\n type:actionTypes.FETCH_APPCONFIGS_START\n }\n}\n\nexport const setAppConfigs= (configs) => {\n return {\n type: actionTypes.SET_APPCONFIGS,\n appConfigs:configs\n }\n}\n\nexport const fetchAppConfigsFailed=()=>{\n return {\n type:actionTypes.FETCH_APPCONFIGS_FAILED\n }\n}\n\nexport const initAppConfigs = () => {\n// console.log(\"-----initAppConfigs-----\");\n return dispatch => {\n dispatch(fetchAppConfigsStart())\n axiosConfig().get('/QuestUser/GetConfig', {\n params: {\n AppId: 1 ,\n }\n }).then(response => { \n dispatch(setAppConfigs(response.data))\n })\n .catch(function (error) {\n dispatch(fetchAppConfigsFailed())\n });\n }\n}\n\n\nexport const setAppType= (AppType) => {\n return {\n type: actionTypes.SET_APPTYPE,\n payload:AppType\n }\n}\n\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n\n//----- Fetch Content List------------------\nexport const fetchContentListStart = () => {\n return {\n type: actionTypes.FETCH_CONTENTLIST_START\n }\n}\n\nexport const setContentList = (contentList, UserProgress, QuestId) => {\n return {\n type: actionTypes.SET_CONTENTLIST,\n contentlist: contentList,\n userprogress: UserProgress,\n questid: QuestId\n }\n}\n\nexport const fetchContentListFailed = () => {\n return {\n type: actionTypes.FETCH_CONTENTLIST_FAILED\n }\n}\n\nexport const initContentList = (QuestId) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n dispatch(fetchContentListStart());\n await axiosConfig().get('/QuestContent/GetContentList', {\n params: {\n QuestId: QuestId,\n }\n }).then(response => {\n dispatch(initUserProgress(response.data, QuestId, UserId))\n }).catch(function (error) {\n dispatch(fetchContentListFailed())\n });\n }\n}\n\nexport const initUserProgress = (ContentList, QuestId, UserId) => {\n return dispatch => {\n //dispatch(fetchContentListStart());\n axiosConfig().get('/QuestUser/GetUserProgress', {\n params: {\n QuestId: QuestId,\n UserId: UserId\n }\n }).then(response => {\n dispatch(setContentList(ContentList, response.data, QuestId))\n }).catch(function (error) {\n console.log(error);\n dispatch(fetchContentListFailed())\n });\n }\n}\n\n//------------set current mission------------\nexport const setCurrentMission = (current_mission) => {\n return {\n type: actionTypes.SET_CURRENT_MISSION,\n mission: current_mission\n }\n}\n\n\n//------------set current operation--------------\nexport const setCurrentOperation = (current_operation) => {\n return {\n type: actionTypes.SET_CURRENT_OPERATION,\n operation: current_operation\n }\n}\n\n//-----set current content-----------------\nexport const setCurrentContent = (current_content) => {\n return {\n type: actionTypes.SET_CURRENT_CONTENT,\n content: current_content\n }\n}\n\n//-----clear current content-----------------\nexport const clearCurrentContent = () => {\n return {\n type: actionTypes.CLEAR_CURRENT_CONTENT,\n }\n}\n\n//-----Update current content (marksObtained,pointCardSatus)-----------------\nexport const updateCurrentContent = (pointCardSatus, currentContent = null) => {\n return {\n type: actionTypes.UPDATE_CURRENT_CONTENT,\n pointCardSatus: pointCardSatus,\n content: currentContent\n }\n}\n\n//------------update Content AccessDuration--------------\nexport const updateContentAccessDuration = (accessDuration = 0) => {\n return {\n type: actionTypes.UPDATE_ACCESS_DURATION,\n accessDuration: accessDuration\n }\n}\n\n//-----set current Test-----------------\nexport const setCurrentTest = (testCode) => {\n return {\n type: actionTypes.SET_CURRENT_TESTS,\n testCode: testCode\n }\n}\n\n//-------- set Current Test History------------------\nexport const setCurrentTestHistory = (historyData) => {\n return {\n type: actionTypes.SET_CURRENT_TEST_HISTORY,\n data: historyData\n }\n}\n\n\n\n//-------- update Answer duration------------------\nexport const updateTestAttemptedDuration = (duration) => {\n return {\n type: actionTypes.UPDATE_TEST_ATTEMPT_DURATION,\n duration: duration,\n }\n}\n\n//-------- update TestAttempt Count------------------\n// For check Current Test is attempted or not \nexport const updateTestAttemptCount = () => {\n return {\n type: actionTypes.UPDATE_TEST_ATTEMPT_COUNT,\n }\n}\n\n\n\n//----- Post Content Rating ------------------\nexport const postContentRatingtStart = () => {\n return {\n type: actionTypes.POST_CONTENT_RATING_START\n }\n};\n\nexport const postContentRatingSuccess = () => {\n return {\n type: actionTypes.POST_CONTENT_RATING_SUCCESS\n }\n};\n\nexport const postContentRatingFailed = () => {\n return {\n type: actionTypes.POST_CONTENT_RATING_FAILED\n }\n};\n\nexport const postContentRating = (formData) => {\n return dispatch => {\n dispatch(postContentRatingtStart());\n axiosConfig().post('/QuestUser/SetContentRating', formData)\n .then(response => {\n dispatch(postContentRatingSuccess())\n dispatch(initContentRating(formData.contentId)) // fetch Content Rating\n }).catch((error) => {\n dispatch(postContentRatingFailed())\n });\n }\n}\n\n//----- Fetch Content Rating------------------\nexport const fetchContentRatingStart = () => {\n return {\n type: actionTypes.FETCH_CONTENT_RATING_START\n }\n}\n\nexport const setContentRating = (contentRatings) => {\n return {\n type: actionTypes.SET_CONTENT_RATING,\n contentRatings: contentRatings,\n }\n}\n\nexport const fetchContentRatingFailed = () => {\n return {\n type: actionTypes.FETCH_CONTENT_RATING_FAILED\n }\n}\n\nexport const initContentRating = (ContentId) => {\n return async dispatch => {\n dispatch(fetchContentRatingStart());\n await axiosConfig().get('/QuestContent/GetContentRating', {\n params: {\n ContentId: ContentId,\n }\n }).then(response => {\n dispatch(setContentRating(response.data))\n }).catch(function (error) {\n dispatch(fetchContentRatingFailed())\n });\n }\n}\n\n\n\n//----- Post Content Access ------------------\nexport const postContentAccesstStart = () => {\n return {\n type: actionTypes.POST_CONTENT_ACCESS_START\n }\n};\n\nexport const postContentAccessSuccess = () => {\n return {\n type: actionTypes.POST_CONTENT_ACCESS_SUCCESS\n }\n};\n\nexport const postContentAccessFailed = () => {\n return {\n type: actionTypes.POST_CONTENT_ACCESS_FAILED\n }\n};\n\n\nexport const postContentAccess = (formData, currentContent = null) => {\n return dispatch => {\n dispatch(postContentAccesstStart());\n axiosConfig().post('/QuestUser/SendContentAccess', formData)\n .then(response => {\n dispatch(postContentAccessSuccess());\n dispatch(updateCurrentContent(response.data, currentContent))// update content,current_cuntent and quest_progress\n }).catch((error) => {\n dispatch(postContentAccessFailed())\n });\n }\n}\n\n//----- content Download------------------\nexport const contentDownload = (ContentId) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/SetContentDownload', {\n params: {\n UserId: UserId,\n ContentId: ContentId\n }\n }).then(response => {\n }).catch(function (error) {\n console.log(error);\n });\n }\n}\n\n\n//----- Update Content List ------------------\nexport const updateContentList = (contentList) => {\n return {\n type: actionTypes.UPDATE_CONTENTLIST,\n contentlist: contentList,\n }\n}\n\n// Update Content List for isExpanded\nexport const setExpandedFlag = (taskID, expandFlag) => {\n return async (dispatch, getState) => {\n\n const ContentList = getState().content.contentlist\n const Operation = getState().content.current_operation\n\n if (taskID === '') {\n ContentList.add.questContents = [...ContentList.add.questContents].map(data => {\n if (Operation.operationId === data.operationId && data[\"taskId\"] === undefined)\n data.isExpanded = expandFlag;\n return data\n });\n\n ContentList.add.tasks = [...ContentList.add.tasks].map(data => {\n if (Operation.operationId === data.operationId)\n data.isExpanded = false;\n return data\n });\n } else {\n ContentList.add.questContents = [...ContentList.add.questContents].map(data => {\n if (Operation.operationId === data.operationId)\n data.isExpanded = false;\n return data\n });\n ContentList.add.tasks = [...ContentList.add.tasks].map(data => {\n if (Operation.operationId === data.operationId && data.taskId === taskID)\n data.isExpanded = expandFlag;\n else\n data.isExpanded = false;\n return data\n });\n }\n dispatch(updateContentList(ContentList))\n }\n}\n","import * as actionTypes from './actionTypes';\nimport axiosConfig from \"util/axios\";\nimport axios from 'axios';\n\n\n// --------------Cart-----------------------------\n\n// Add to Cart\nexport const addCartItem = (cartItem) => {\n return {\n type: actionTypes.ADD_TO_CART,\n cartitem: cartItem\n }\n}\n\nexport const setCartItems = (cart_Items) => {\n return {\n type: actionTypes.SET_CART_ITEMS,\n cartitems: cart_Items\n }\n}\nexport const addToCart = (cartItem) => {\n\n return async (dispatch, getState) => {\n\n const UserId = getState().user.userinfo.userId\n const cartItems = getState().store.cartitems\n \n const found = cartItems.some(el => el.productId === cartItem.productId && el.planId === cartItem.planId);\n\n if (UserId) {\n if (!found) await dispatch(postCartItems([cartItem]));\n } else {\n if (!found) dispatch(addCartItem(cartItem));\n }\n }\n}\n\nexport const addItemsToCart = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n const cartItems = getState().store.cartitems\n .filter(data => data.cartId === \"\")\n .map(data => {\n data.userId = UserId\n return data\n })\n await dispatch(postCartItems(cartItems))\n }\n}\n\nexport const postCartItems = (cart_items) => {\n return async (dispatch, getState) => {\n const cartItems = getState().store.cartitems\n const UserId = getState().user.userinfo.userId\n await axiosConfig().post('/QuestStore/AddCart', cart_items)\n .then(async response => {\n // await dispatch(fetchCartItems())\n dispatch(setStoreCouponStatus({}))\n dispatch(setStoreCouponCode(\"\"))\n }).catch((error) => {\n console.log(error);\n });\n }\n}\n\n\n// Remove From Cart\nexport const removeFromCart = (cartItem) => {\n return {\n type: actionTypes.REMOVE_FROM_CART,\n cartitem: cartItem\n }\n}\nexport const removeItemFromCart = (cartItem) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n if (UserId) {\n await axiosConfig().post('/QuestStore/DeleteCart', null, {\n params: {\n cartId: cartItem.cartId,\n }\n }).then(response => {\n dispatch(removeFromCart(cartItem))\n }).catch(function (error) {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n\n } else {\n dispatch(removeFromCart(cartItem))\n }\n\n }\n}\n\n// Get Cart Details \nexport const fetchCartItems = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n const localCartItems = getState().store.cartitems\n await axiosConfig().get('/QuestStore/GetCartDetails', {\n params: {\n UserId: UserId,\n }\n }).then(response => {\n let allCartItems = Object.values(localCartItems.concat(response.data).reduce((r, o) => {\n r[o.productId] = o;\n return r;\n }, {}));\n dispatch(setCartItems(allCartItems))\n }).catch(function (error) {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n// --------------Payment Gatway-----------------------------\n\n// Payment Gatway Details\nexport const setPaymentGatwayDetails = (PG_DATA = {}) => {\n return {\n type: actionTypes.SET_PG_DATA,\n PGData: PG_DATA\n }\n}\n\nexport const getPaymentGatwayDetails = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n const localCartItems = getState().store.cartitems\n const couponCode = getState().store.couponCode\n const formData = {\n \"userId\": UserId,\n \"paymentMode\": \"\",\n \"couponCode\": couponCode,\n \"cartList\": localCartItems.map(data => {\n return {\n \"cartId\": data.cartId,\n \"userId\": data.userId,\n \"productId\": data.productId,\n \"productName\": data.productName,\n \"qty\": data.qty\n }\n })\n }\n await axiosConfig().post('/QuestStore/PGData', formData).then(response => {\n // let request = response.data.dictValues.reduce(function (result, item) {\n // result[item.key] = item.value;\n // return result;\n // }, {});\n dispatch(setPaymentGatwayDetails({ 'orderId': response.data.orderId }))\n dispatch(PaymentGatway(response.data.postUrl, response.data.dictValues))\n }).catch(error => {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\nconst PaymentGatway = (url, formData) => {\n\n return async (dispatch, getState) => {\n var form = document.createElement(\"form\");\n form.setAttribute(\"method\", \"post\");\n form.setAttribute(\"action\", url);\n formData.forEach(item => {\n var FN = document.createElement(\"input\");\n FN.setAttribute(\"type\", \"hidden\");\n FN.setAttribute(\"name\", item.key);\n FN.setAttribute(\"value\", item.value);\n form.appendChild(FN)\n });\n document.body.appendChild(form)\n form.submit();\n }\n}\n\n// Check Payment Status \nexport const setPaymentStatus = (Payment_Status = {}) => {\n return {\n type: actionTypes.SET_PAYMENT_STATUS,\n paymentStatus: Payment_Status\n }\n}\nexport const checkPaymentStatus = (OrderId) => {\n return async (dispatch, getState) => {\n await axiosConfig().get('/QuestStore/CheckPaymentStatus', {\n params: {\n PgOrderId: OrderId,\n }\n }).then(response => {\n dispatch(setPaymentStatus(response.data))\n }).catch(function (error) {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n// Clear Cart\nexport const ClearCart = () => {\n return {\n type: actionTypes.CLEAR_CART,\n }\n}\n\n//Apply Coupon\nexport const setStoreCouponStatus = (couponStatus) => {\n return {\n type: actionTypes.SET_STORE_COUPON_STATUS,\n couponStatus: couponStatus\n }\n}\n\nexport const applyStoreCoupon = (CouponCode) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestStore/ApplyCoupon', {\n params: {\n UserId: UserId,\n CouponCode: CouponCode\n }\n }).then(response => {\n dispatch(setStoreCouponStatus(response.data))\n if (response.data.isSuccess)\n dispatch(setStoreCouponCode(CouponCode))\n }).catch((error) => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n\nexport const setStoreCouponCode = (CouponCode) => {\n return {\n type: actionTypes.SET_STORE_COUPON_CODE,\n couponCode: CouponCode\n }\n}\n\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n//commonfunctions\nimport { clevertapEvents } from \"util/commonfunctions\";\n\n//import for initialize Content List & User Progress\nimport { initContentList } from \"store/actions/contentList\"\nimport { initUserInfo } from \"store/actions/userInfo\"\nimport { fetchCartItems } from \"store/actions/questStore\";\n\nexport const fetchUserQuestListStart = () => {\n return {\n type: actionTypes.FETCH_USERQUEST_LIST_START\n }\n}\n\n\nexport const setUserQuestList = (USER_QUEST) => {\n return {\n type: actionTypes.SET_USERQUEST_LIST,\n userquest: USER_QUEST\n }\n}\n\nexport const fetchrQuestListFailed = () => {\n return {\n type: actionTypes.FETCH_USERQUEST_LIST_FAILED\n }\n}\n\n// fetch User Quest List with Content List\nexport const initUserQuestList = (isInitCurrentQuestAndContentList = true) => {\n return async (dispatch, getState) => {\n const userInfo = getState().user.userinfo\n dispatch(fetchUserQuestListStart())\n await axiosConfig().get('/QuestUser/GetUserQuest', {\n params: {\n userId: userInfo.userId,\n }\n }).then(async response => {\n dispatch(setUserQuestList(response.data))\n if (isInitCurrentQuestAndContentList)\n if (response.data.questList.length) {\n if (userInfo.lastQuestAccessed === undefined) { //&& userInfo.showDashboard === false\n await dispatch(setCurrentQuest(response.data.questList[0]))\n await dispatch(initContentList(response.data.questList[0].questId)).then(async () => {\n await dispatch(initUserInfo()) // refetch user info for get Updated lastQuestAccessed\n })\n }\n else {\n dispatch(setCurrentQuest(response.data.questList.filter(op => op.questId === userInfo.lastQuestAccessed).reduce((acc, cv) => { return acc = cv }, {})))\n dispatch(initContentList(userInfo.lastQuestAccessed))\n }\n }\n\n }).catch(function (error) {\n console.log(error);\n dispatch(fetchrQuestListFailed())\n });\n }\n}\n\n// fetch User Quest List without Content List\nexport const fetchUserQuestList = (userId) => {\n return async dispatch => {\n dispatch(fetchUserQuestListStart())\n await axiosConfig().get('/QuestUser/GetUserQuest', {\n params: {\n userId: userId,\n }\n }).then(response => {\n dispatch(setUserQuestList(response.data))\n })\n .catch(function (error) {\n dispatch(fetchrQuestListFailed())\n });\n }\n}\n\n//set Current Quest\nexport const setCurrentQuest = (CurrentQuest) => {\n return {\n type: actionTypes.SET_CURRENT_QUEST,\n currentQuest: CurrentQuest\n }\n}\n\n//set Current Quest by ID\nexport const setCurrentQuestByID = (QuestID) => {\n return {\n type: actionTypes.SET_CURRENT_QUEST_BY_ID,\n questID: QuestID\n }\n}\n\n//------ ---------------------Quest Category----- -----------------------------------------\nexport const setQuestCategory = (quest_category) => {\n return {\n type: actionTypes.SET_QUESTCATEGORY,\n questCategory: quest_category\n }\n}\n\nexport const fetchQuestCategory = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/GetQuestCategory', {\n params: {\n UserId: UserId\n }\n }).then(async response => {\n await dispatch(setQuestCategory(response.data))\n await dispatch(fetchCartItems()) // to fetch Cart Items\n }).catch(function (error) {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n//Assign Quest\nexport const postAssignQuest = (QuestId) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/AssignQuest', {\n params: {\n UserId: UserId,\n QuestId: QuestId\n }\n }).then(async response => {\n await dispatch(fetchUserQuestList(UserId))\n }).catch(function (error) {\n throw new Error(error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n//Assign Trial Quest \nexport const postAssignTrialQuest = (QuestId) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n const lastQuestAccessed = getState().user.userinfo.lastQuestAccessed\n await axiosConfig().get('/QuestUser/AssignTrialQuest', {\n params: {\n UserId: UserId,\n QuestId: QuestId\n }\n }).then(async response => {\n await dispatch(fetchUserQuestList(UserId))\n }).catch(error => {\n if (lastQuestAccessed) {\n dispatch(setCurrentQuestByID(lastQuestAccessed))\n dispatch(initContentList(lastQuestAccessed))\n }\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n\n\n\n//Set Quest Details\nexport const setQuestDetails = (QuestDetails) => {\n return {\n type: actionTypes.SET_QUEST_DETAILS,\n questDetails: QuestDetails\n }\n}\n\nexport const fetchQuestDetails = (QuestId, isSetCurrentQuest = false) => {\n return async dispatch => {\n await axiosConfig().get('/QuestContent/GetQuest', {\n params: {\n QuestId: QuestId\n }\n }).then(response => {\n if (isSetCurrentQuest) {\n dispatch(setCurrentQuest(response.data))\n //clevertap\n const eventData = JSON.stringify({\n 'QuestId': response.data.questId,\n 'QuestName': response.data.questName\n });\n clevertapEvents('QuestSelected', eventData);\n }\n\n dispatch(setQuestDetails(response.data))\n }).catch(function (error) {\n if (error.response.data) {\n throw new Error(error.response.data.error)\n }\n throw new Error(error.message)\n });\n }\n}\n\n\n\n//------------------------ Quest Products------------------------\nexport const setQuestProducts = (product_category) => {\n return {\n type: actionTypes.SET_QUESTPRODUCTS,\n productCategory: product_category\n }\n}\n\nexport const fetchProductCategory = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/GetProductCategory', {\n params: {\n UserId: UserId\n }\n }).then(async response => {\n await dispatch(setQuestProducts(response.data))\n await dispatch(fetchCartItems()) // to fetch Cart Items\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error)\n });\n }\n}\n\n\n//fetch Product Details\nexport const setProductDetails = (ProductDetails) => {\n return {\n type: actionTypes.SET_PRODUCT_DETAILS,\n productDetails: ProductDetails\n }\n}\n\nexport const fetchProductDetails = (ProductId) => {\n return async dispatch => {\n await axiosConfig().get('/QuestContent/GetProduct', {\n params: {\n ProductId: ProductId\n }\n }).then(response => {\n dispatch(setProductDetails(response.data))\n }).catch(function (error) {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n//AssignFreeProduct\nexport const assignFreeProduct = (ProductId) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/AssignFreeProduct', {\n params: {\n UserId: UserId,\n ProductId: ProductId\n }\n }).then(async response => {\n await dispatch(fetchUserQuestList(UserId))\n }).catch(function (error) {\n throw new Error(error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n///AssignTrialProduct\nexport const assignTrialProduct = (ProductId) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n const lastQuestAccessed = getState().user.userinfo.lastQuestAccessed\n await axiosConfig().get('/QuestUser/AssignTrialProduct', {\n params: {\n UserId: UserId,\n ProductId: ProductId\n }\n }).then(async response => {\n await dispatch(fetchUserQuestList(UserId))\n }).catch(error => {\n if (lastQuestAccessed) {\n dispatch(setCurrentQuestByID(lastQuestAccessed))\n dispatch(initContentList(lastQuestAccessed))\n }\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n","import * as actionTypes from './actionTypes';\nimport { serverDjangoURL } from 'variables/ServerURL';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n// import for initialize User Quest List\nimport { initUserQuestList } from 'store/actions/userQuestList'\n\nexport const fetchUserInfoStart = () => {\n return {\n type: actionTypes.FETCH_USERINFO_START\n }\n}\n\nexport const setUserInfo = (userInfo) => {\n return {\n type: actionTypes.SET_USERINFO,\n userinfo: userInfo\n }\n}\n\nexport const setGoCoderPrompt = (codeInfo) => {\n return {\n type: actionTypes.SET_GO_CODER_PROMPT,\n goCoderInfo: codeInfo\n }\n}\n\nexport const fetchUserInfoFailed = () => {\n return {\n type: actionTypes.FETCH_USERINFO_FAILED\n }\n}\n\nexport const initUserInfo = () => {\n return async dispatch => {\n await axiosConfig().get('/QuestUser/GetCurrentUser').then(async response => {\n await dispatch(setUserInfo(response.data))\n }).catch(error => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n\n// export const getGoCoderDetails = () => {\n// return async dispatch => {\n// await axiosConfig(serverDjangoURL).get('gocoderz_prompt/00004844-c3a5-41dc-a48f-862ac5de673c/').then(async response => {\n// // await dispatch(setUserInfo(response.data))\n// console.log('res',response)\n// }).catch(error => {\n// if (error.response.data)\n// throw new Error(error.response.data.error)\n// throw new Error(error.message);\n// });\n// }\n// }\n\n\n// ---upload profile picture-----\nexport const uploadProfilePicture = (profilePic) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().post('/QuestUser/UploadProfilePic', {\n \"userId\": UserId,\n \"profilePic\": profilePic\n }).then(async response => {\n await dispatch(setProfilePic(profilePic))\n }).catch(function (error) {\n console.log(error);\n });\n }\n}\n\n//----- Set Profile Pic ------------------\nexport const setProfilePic = (ProfilePic) => {\n return {\n type: actionTypes.SET_PROFILE_PICTURE,\n profilePic: ProfilePic\n }\n}\n\n//----- Post Change Password ------------------\nexport const postChangePasswordStart = () => {\n return {\n type: actionTypes.POST_CHANGE_PASSWORD_START\n }\n};\n\nexport const postChangePasswordSuccess = () => {\n return {\n type: actionTypes.POST_CHANGE_PASSWORD_SUCCESS\n }\n};\n\nexport const postChangePasswordFailed = () => {\n return {\n type: actionTypes.POST_CHANGE_PASSWORD_FAILED\n }\n};\n\n\nexport const postChangePassword = (oldPassword, newPassword) => {\n return dispatch => {\n dispatch(postChangePasswordStart());\n axiosConfig().get('/QuestUser/ChangePassword', {\n params: {\n oldPassword: oldPassword,\n newPassword: newPassword\n }\n })\n .then(response => {\n dispatch(postChangePasswordSuccess())\n }).catch((error) => {\n console.log(error);\n dispatch(postChangePasswordFailed())\n });\n }\n}\n\n\n///----- Post Change Password ------------------\nexport const logoutUser = () => dispatch => {\n dispatch({\n type: 'LOG_OUT'\n })\n}\n\n//---setAuthError----\nexport const setAuthError = (auth) => {\n return {\n type: actionTypes.AUTH_FAILED,\n auth: auth\n }\n};\n\n//---------Authenticate User with User Info and User Quest List------------------------\nexport const authenticateUser = (userName, password) => {\n return async (dispatch, getState) => {\n await axiosConfig().post('/QuestUser/AuthenticateUser', {}, {\n auth: {\n username: userName,\n password: password\n }\n }).then(async response => {\n dispatch(setAuthError(false))\n localStorage.setItem('userName', userName);\n localStorage.setItem('password', password);\n localStorage.setItem('remember', true);\n if (typeof window.Android !== 'undefined') {\n window.Android.onRemenberMeClicked(userName, password, true);\n }\n if (typeof onRemenberMeClicked !== 'undefined') {\n window.onRemenberMeClicked(userName, password, true);\n }\n else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('onRemenberMeClicked', userName, password, true);\n }\n\n sessionStorage.setItem('token', response.data.token);\n await axiosConfig().get('/QuestUser/GetCurrentUser').then(async response => {\n await dispatch(setUserInfo(response.data))\n dispatch(initUserQuestList(false))\n\n }).catch(function (error) {\n dispatch(fetchUserInfoFailed())\n });\n\n }).catch((error) => {\n if (error.response) {\n dispatch(setAuthError(true))\n throw new Error(error.response.data.error)\n }\n });\n }\n}\n\n// update User Details\nexport const updateUserDetails = (params) => {\n return async (dispatch, getState) => {\n await axiosConfig().post('/QuestUser/UpdateUser', { ...params }).then(response => {\n }).catch((error) => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n\nexport const setUserType = (userType) => {\n return {\n type: actionTypes.SET_USER_TYPE,\n user_type: userType\n }\n}\n\n// Push Lead Info\nexport const pushLeadInfo = (params) => {\n return async (dispatch, getState) => {\n await axiosConfig().post('/QuestUser/PushLeadInfo', { \"data\": JSON.stringify(params) }\n ).then(response => {\n }).catch((error) => {\n console.log(error.message);\n // if (error.response.data)\n // throw new Error(error.response.data.error)\n // throw new Error(error.message);\n });\n }\n}\n\n\nexport const verifyRaymondStoreCode = async (ref_code) => {\n return await axiosConfig().get('/Quest/VerifyStoreCode', {\n params: {\n RefCode: ref_code\n }\n }).then(response => response.data.isSuccess)\n .catch(error => {\n if (error.response)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n}","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n//import for update Current Content,Content List & User Progress\nimport { updateCurrentContent,setCurrentTestHistory } from \"store/actions/contentList\"\n\nexport const fetchTestQuestionsStart = () => {\n return {\n type: actionTypes.FETCH_TESTQUESTIONS_START\n }\n}\n\nexport const setTestQuestions = (questions) => {\n questions[\"qadd\"] = questions.qadd.map(qsn => {\n qsn.options.optionItems = qsn.options.optionItems.map(opt => {\n opt['ischecked'] = false\n return opt\n }).sort(() => Math.random() - 0.5)\n return qsn\n }).sort(() => Math.random() - 0.5)\n return {\n type: actionTypes.SET_TESTQUESTIONS,\n questions: questions\n }\n}\n\nexport const fetchTestQuestionsFailed = () => {\n return {\n type: actionTypes.FETCH_TESTQUESTIONS_FAILED\n }\n}\n\nexport const initQuestions = (testCode) => {\n return dispatch => {\n dispatch(fetchTestQuestionsStart());\n axiosConfig().get('/QuestContent/GetTestQuestion', {\n params: {\n testCode: testCode,\n }\n }).then(response => {\n dispatch(setTestQuestions(response.data))\n dispatch(initTestAnswers(response.data)) // init Answers Array For Post Assessment \n }).catch((error) => {\n dispatch(fetchTestQuestionsFailed())\n });\n }\n}\n\n//-------- Set Test Answer------------------\nexport const initTestAnswers = (answers) => {\n return {\n type: actionTypes.SET_TEST_ANSWERS,\n answers: answers\n }\n}\n\n//-------- update Question Answer------------------\nexport const updateQuestioAnswer = (answer, questionId) => {\n return {\n type: actionTypes.UPDATE_QUESTION_ANSWER,\n answer: answer,\n questionId: questionId\n }\n}\n\n//-------- update Answer duration------------------\nexport const updateAnswerDuration = (duration, questionId) => {\n return {\n type: actionTypes.UPDATE_ANSWER_DURATION,\n duration: duration,\n questionId: questionId\n }\n}\n\n//----------- Post Test Attempt----------\nexport const postTestAttemptStart = () => {\n return {\n type: actionTypes.POST_TEST_ATTEMPT_START\n }\n};\n\nexport const postTestAttemptSuccess = () => {\n return {\n type: actionTypes.POST_TEST_ATTEMPT_SUCCESS\n }\n};\n\nexport const postTestAttemptFailed = () => {\n return {\n type: actionTypes.POST_TEST_ATTEMPT_FAILED\n }\n};\n\nexport const postTestAttempt = (formData) => {\n return dispatch => {\n dispatch(postTestAttemptStart());\n axiosConfig().post('/QuestUser/SendTestAttempt', formData)\n .then(response => {\n dispatch(postTestAttemptSuccess())\n dispatch(updateCurrentContent(response.data))\n dispatch(setCurrentTestHistory(response.data))\n }).catch((error) => {\n dispatch(postTestAttemptFailed())\n });\n }\n}\n\n\n\n\n\n\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n//----- fetch Change Password ------------------\nexport const fetchSharedDataStart = () => {\n return {\n type: actionTypes.FETCH_SHARED_DATA_START\n }\n}\n\nexport const setSharedData = (SharedData) => {\n return {\n type: actionTypes.SET_SHARED_DATA,\n sharedData: SharedData\n }\n}\n\nexport const fetchSharedDataFailed = () => {\n return {\n type: actionTypes.FETCH_SHARED_DATA_FAILED\n }\n}\n\nexport const initSharedData = (UserId, QuestId) => {\n return dispatch => {\n dispatch(fetchSharedDataStart());\n axiosConfig().get('/QuestUser/GetSharedData', {\n params: {\n UserId: UserId,\n QuestId: QuestId\n }\n }).then(response => {\n dispatch(setSharedData(response.data))\n }).catch(function (error) {\n console.log(error);\n dispatch(fetchSharedDataFailed())\n });\n }\n\n}\n\n\n\n//----- Post Shared Data ------------------\nexport const postSharedDataStart = () => {\n return {\n type: actionTypes.POST_SHARED_DATA_START\n }\n};\n\nexport const postSharedDataSuccess = () => {\n return {\n type: actionTypes.POST_SHARED_DATA_SUCCESS\n }\n};\n\nexport const postSharedDataFailed = () => {\n return {\n type: actionTypes.POST_SHARED_DATA_FAILED\n }\n};\n\n\nexport const postSharedData = (formData) => {\n return async (dispatch) => {\n dispatch(postSharedDataStart());\n await axiosConfig().post('QuestUser/PostSharedData', formData)\n .then(response => {\n dispatch(postSharedDataSuccess())\n }).catch((error) => {\n dispatch(postSharedDataFailed())\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n\n//----- show Leader Board------------------\nconst actionShowLeaderBoard = (displayFlag) => {\n\n return {\n type: actionTypes.SHOW_LEADERBOARD_DIALOG,\n paylod: displayFlag\n }\n}\n\nexport const showLeaderBoard = (displayFlag,) => {\n return (dispatch, getState) => {\n if (displayFlag) {\n const questId = getState().quest.current_quest.questId\n dispatch(initLeaderBoardData(questId));\n }\n\n dispatch(actionShowLeaderBoard(displayFlag));\n }\n}\n\n\n//----- fetch Leader Board ------------------\nexport const fetchLeaderBoardStart = () => {\n return {\n type: actionTypes.FETCH_LEADERBOARD_DATA_START\n }\n}\n\nexport const setLeaderBoardData = (LeaderBoard) => {\n return {\n type: actionTypes.SET_LEADERBOARD_DATA,\n leaderboard: LeaderBoard\n }\n}\n\nexport const fetchLeaderBoardFailed = () => {\n return {\n type: actionTypes.FETCH_LEADERBOARD_DATA_FAILED\n }\n}\n\nexport const initLeaderBoardData = (QuestId) => {\n return dispatch => {\n dispatch(fetchLeaderBoardStart());\n axiosConfig().get('/QuestUser/GetLeaderBoard', {\n params: {\n QuestId: QuestId\n }\n }).then(response => {\n dispatch(setLeaderBoardData(response.data))\n }).catch(function (error) {\n console.log(error);\n dispatch(fetchLeaderBoardFailed())\n });\n }\n\n}\n\n\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\nexport const setNotificationData = (notifications) => {\n return {\n type: actionTypes.SET_NOTIFICATION,\n notifications: notifications\n }\n}\n\nexport const fetchNotification = (Month, Year) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/GetNotification', {\n params: {\n UserId: UserId,\n Month: Month,\n Year: Year\n }\n }).then(response => {\n dispatch(setNotificationData(response.data))\n }).catch(function (error) {\n console.log(error);\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\nexport const setInitialUser = () => {\n return {\n type: actionTypes.INIT_REGISTER_USER\n }\n}\n\n\nexport const setFLName = (firstName, lastName) => {\n return {\n type: actionTypes.SET_FLNAME,\n firstName: firstName,\n lastName: lastName\n }\n}\n\nexport const setUsernamePassword = (userName, password = \"\") => {\n return {\n type: actionTypes.SET_USERNAME_PASSWORD,\n userName: userName,\n password: password\n }\n}\n\nexport const setUsername = (userName) => {\n return {\n type: actionTypes.SET_USERNAME,\n userName: userName,\n }\n}\n\nexport const setSchoolCity = (schoolName, cityName) => {\n return {\n type: actionTypes.SET_SCHOOLNAME_CITY,\n schoolName: schoolName,\n cityName: cityName\n }\n}\n\nexport const setContactNumber = (contactNumber) => {\n return {\n type: actionTypes.SET_MOBILE_NUMBER,\n contactNo: contactNumber\n }\n}\n\nexport const setUserEmail = (email) => {\n return {\n type: actionTypes.SET_USER_EMAIL,\n email: email\n }\n}\n\nexport const setPromoCode = (code) => {\n return {\n type: actionTypes.SET_PROMO_CODE,\n promoCode: code\n }\n}\n\n\nexport const setUTMData = (data) => {\n return {\n type: actionTypes.SET_UTM_DATA,\n UTMData: data\n }\n}\n\n\n//Register User\nexport const registerUser = () => {\n return async (dispatch, getState) => {\n const user = getState().newuser.registerUser\n console.log(user);\n await axiosConfig().post('/QuestUser/RegisterUser', { ...user }).then(response => {\n // dispatch(setQuestCategory(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n// Validate OTP\nexport const validateOTP = (verificationCode, MobileNumber) => {\n return async (dispatch) => {\n await axiosConfig().get('QuestUser/ValidateOTP', {\n params: {\n OTP: verificationCode,\n MobileNumber: MobileNumber\n }\n }).then(response => {\n // dispatch(setQuestCategory(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\nexport const requestForOTP = (MobileNumber) => {\n return async (dispatch) => {\n await axiosConfig().get('/QuestUser/SendOTP', {\n params: {\n MobileNumber: MobileNumber\n }\n }).then(response => {\n // dispatch(setQuestCategory(response.data))\n }).catch(function (error) {\n console.log(error);\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n\n//VerifyOTP\nexport const VerifyOTP = (verificationCode, MobileNumber) => {\n return async (dispatch) => {\n await axiosConfig().get('QuestUser/VerifyOTP', {\n params: {\n OTP: verificationCode,\n MobileNumber: MobileNumber\n }\n }).then(response => {\n // dispatch(setQuestCategory(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n","import * as actionTypes from './actionTypes';\nimport axiosConfig from \"util/axios\";\nimport axios from 'axios';\n\n\n// --------------VerifyUser-----------------------------\nexport const setUserverificationStatus = (verification_status) => {\n return {\n type: actionTypes.SET_USER_verification_STATUS,\n status: verification_status\n }\n}\n\nexport const verifyUser = (Username) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestUser/ResetPassword/VerifyUser', {\n params: {\n Username: Username,\n }\n }).then(response => {\n dispatch(setUserverificationStatus(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n });\n }\n}\n\n\n// Validate OTP\n\nexport const setOTPverificationStatus = (verification_status) => {\n return {\n type: actionTypes.SET_OTP_verification_STATUS,\n OTP_STATUS: verification_status\n }\n}\n\n\nexport const validateUernameOTP = (Username, verificationCode) => {\n return async (dispatch) => {\n await axiosConfig().get('/QuestUser/ResetPassword/ValiateOTP', {\n params: {\n Username: Username,\n OTP: verificationCode\n }\n }).then(response => {\n dispatch(setOTPverificationStatus(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n // dispatch(fetchSharedDataFailed())\n });\n }\n}\n\n","\nimport * as actionTypes from './actionTypes';\n\nexport const setPlatform = (platform) => {\n return {\n type: actionTypes.SET_PLATFORM,\n platform: platform\n }\n}\n\n","import * as actionTypes from './actionTypes';\nimport { serverURL } from 'variables/ServerURL'\nimport axiosConfig from \"util/axios\";\n\nexport const fetchBoardGrade = () => {\n return async dispatch => {\n\n await axiosConfig().get('QuestContent/GetBoardGrade',).then(async response => {\n dispatch({\n type: actionTypes.SET_BOARD_GRADE,\n payload: response.data\n });\n }).catch(function (error) {\n throw new Error(error)\n });\n\n // try {\n // const response = await fetch(serverURL+\"QuestContent/GetBoardGrade \")\n // if (!response.ok)\n // throw new Error('Something went wrong!');\n // else {\n // const resData = await response.json();\n // dispatch({\n // type: actionTypes.SET_BOARD_GRADE,\n // payload: resData\n // });\n // }\n // } catch (error) {\n // throw error;\n // }\n }\n}","import * as actionTypes from \"./actionTypes\";\nimport axiosConfig from \"util/axios\";\nlet defaultBannerLists = [\n {\n bannerType: \"Image\",\n bannerURL:\n \"https://questcontent.blob.core.windows.net/filecontainer/Banner/Banner_04.jpg\",\n },\n];\nexport const setProductBanner = (bannerLists) => {\n return {\n type: actionTypes.SET_PRODUCT_BANNER,\n payload: bannerLists,\n };\n};\n\nexport const fetchProductBanner = (ProductId, institutionId = 1) => {\n return async (dispatch) => {\n axiosConfig()\n .get(\"/QuestContent/GetInstitutionBanner\", {\n params: {\n ProductId: ProductId,\n InstitutionId: institutionId,\n },\n })\n .then((response) => {\n if (response.data.bannerLists.length === 0)\n dispatch(setProductBanner(defaultBannerLists));\n else dispatch(setProductBanner(response.data.bannerLists));\n })\n .catch((error) => {\n if (error.response.data) throw new Error(error.response.data.error);\n // throw new Error(error.message);\n });\n };\n};\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n//-------------------------- Fetch Raymond Products -----------------------------------------\nexport const setRaymondProducts = (products) => {\n return {\n type: actionTypes.SET_RAYMOND_PRODUCTS,\n payload: products\n }\n}\n\nexport const fetchRaymondProducts = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/Quest/GetRaymondProducts', {\n params: {\n UserId: UserId\n }\n }).then(async response => {\n await dispatch(setRaymondProducts(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}","import {\n grayColor,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n roseColor,\n whiteColor,\n blackColor,\n hexToRgb,\n facebookColor,\n secondaryColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst buttonStyle = {\n button: {\n minHeight: \"auto\",\n minWidth: \"auto\",\n backgroundColor: grayColor[0],\n color: whiteColor,\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.12)\",\n border: \"none\",\n borderRadius: \"3px\",\n position: \"relative\",\n // padding: \"12px 30px\",\n margin: \".3125rem 1px\",\n // fontSize: \"12px\",\n // fontWeight: \"400\",\n padding: \"12px 28px\",\n fontSize: \"14px\",\n fontWeight: \"600\",\n textTransform: \"none\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n cursor: \"pointer\",\n \"&:hover,&:focus\": {\n color: whiteColor,\n backgroundColor: grayColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(grayColor[0]) +\n \", 0.2)\"\n },\n \"& .fab,& .fas,& .far,& .fal, &.material-icons\": {\n position: \"relative\",\n display: \"inline-block\",\n top: \"0\",\n marginTop: \"-1em\",\n marginBottom: \"-1em\",\n fontSize: \"1.1rem\",\n marginRight: \"4px\",\n verticalAlign: \"middle\"\n },\n \"& svg\": {\n position: \"relative\",\n display: \"inline-block\",\n top: \"0\",\n width: \"18px\",\n height: \"18px\",\n marginRight: \"4px\",\n verticalAlign: \"middle\"\n },\n \"&$justIcon\": {\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n marginTop: \"0px\",\n position: \"absolute\",\n width: \"100%\",\n transform: \"none\",\n left: \"0px\",\n top: \"0px\",\n height: \"100%\",\n lineHeight: \"41px\",\n fontSize: \"20px\"\n }\n }\n },\n white: {\n \"&,&:focus,&:hover\": {\n backgroundColor: whiteColor,\n color: '#00b8ac' //grayColor[0]\n }\n },\n rose: {\n backgroundColor: roseColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: roseColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(roseColor[0]) +\n \", 0.2)\"\n }\n },\n primary: {\n backgroundImage: 'linear-gradient(to right, #006c64 , #00b8ac)',\n backgroundColor: primaryColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: primaryColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.2)\"\n }\n },\n secondary: {\n backgroundColor: secondaryColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(secondaryColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(secondaryColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(secondaryColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: secondaryColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(secondaryColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(secondaryColor[0]) +\n \", 0.2)\"\n }\n },\n info: {\n backgroundColor: infoColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: infoColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \", 0.2)\"\n }\n },\n success: {\n backgroundColor: successColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: successColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \", 0.2)\"\n }\n },\n warning: {\n backgroundColor: warningColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: warningColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \", 0.2)\"\n }\n },\n danger: {\n backgroundColor: dangerColor[0],\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: dangerColor[0],\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \", 0.2)\"\n }\n },\n facebook: {\n // backgroundImage: 'linear-gradient(to right, #9c27b0 , #d65cee)',\n backgroundColor: facebookColor,\n boxShadow:\n \"0 2px 2px 0 rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.14), 0 3px 1px -2px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.2), 0 1px 5px 0 rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.12)\",\n \"&:hover,&:focus\": {\n backgroundColor: facebookColor,\n boxShadow:\n \"0 14px 26px -12px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.42), 0 4px 23px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \", 0.2)\"\n }\n },\n simple: {\n \"&,&:focus,&:hover\": {\n color: whiteColor,\n background: \"transparent\",\n boxShadow: \"none\"\n },\n \"&$rose\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: roseColor[0]\n }\n },\n \"&$primary\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: primaryColor[0]\n }\n },\n \"&$secondary\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: secondaryColor[0]\n }\n },\n \"&$info\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: infoColor[0]\n }\n },\n \"&$success\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: successColor[0]\n }\n },\n \"&$warning\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: warningColor[0]\n }\n },\n \"&$danger\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: dangerColor[0]\n }\n }\n },\n transparent: {\n \"&,&:focus,&:hover\": {\n color: \"inherit\",\n background: \"transparent\",\n boxShadow: \"none\"\n }\n },\n disabled: {\n opacity: \"0.65\",\n pointerEvents: \"none\"\n },\n //new add\n normal: {\n padding: \"12px 30px\",\n fontSize: \"12px\",\n fontWeight: \"400\",\n },\n md: {\n padding: \"0.75rem 1.875rem\",\n fontSize: \"12px\",\n fontWeight: \"400\",\n },\n //----\n lg: {\n padding: \"1.125rem 2.25rem\",\n //fontSize: \"0.9375rem\",\n fontSize: \"0.875rem\",\n lineHeight: \"1.333333\",\n borderRadius: \"0.2rem\"\n },\n sm: {\n padding: \"0.40625rem 1rem\",\n //fontSize: \"0.9375rem\",\n fontSize: \"0.6875rem\",\n lineHeight: \"1.5\",\n borderRadius: \"0.2rem\"\n },\n xs: {\n padding: \"0.30625rem 1rem\",\n //fontSize: \"0.9375rem\",\n fontSize: \"0.6875rem\",\n lineHeight: \"1.5\",\n borderRadius: \"0.2rem\"\n },\n xxs: {\n padding: \"0.20625rem 1rem\",\n fontSize: \"0.6875rem\",\n lineHeight: \"1.5\",\n borderRadius: \"0.2rem\"\n },\n '@media screen and (max-width: 600px)': {\n sm: {\n padding: \"0.40625rem 0.50rem\",\n fontSize: \"0.6875rem\",\n },\n md: {\n padding: \"0.75rem 1.25rem\",\n },\n },\n round: {\n borderRadius: \"30px\"\n },\n outlined: {\n borderStyle: 'solid',\n borderWidth: '1px',\n background: 'transparent',\n \"&$rose\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: roseColor[0]\n }\n },\n \"&$primary\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: primaryColor[0]\n }\n },\n \"&$secondary\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: secondaryColor[0]\n }\n },\n \"&$info\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: infoColor[0]\n }\n },\n \"&$success\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: successColor[0]\n }\n },\n \"&$warning\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: warningColor[0]\n }\n },\n \"&$danger\": {\n \"&,&:focus,&:hover,&:visited\": {\n color: dangerColor[0]\n }\n },\n \"&:hover,&:focus\": {\n backgroundColor: 'transparent',\n }\n },\n status: {\n borderRadius: \"0 30px 0 0\",\n margin: \"-20px\"\n },\n block: {\n width: \"100% !important\"\n },\n link: {\n \"&,&:hover,&:focus\": {\n backgroundColor: \"transparent\",\n color: grayColor[0],\n boxShadow: \"none\"\n }\n },\n justIcon: {\n paddingLeft: \"12px\",\n paddingRight: \"12px\",\n fontSize: \"20px\",\n height: \"41px\",\n minWidth: \"41px\",\n width: \"41px\",\n \"& .fab,& .fas,& .far,& .fal,& svg,& .material-icons\": {\n marginRight: \"0px\"\n },\n \"&$lg\": {\n height: \"57px\",\n minWidth: \"57px\",\n width: \"57px\",\n lineHeight: \"56px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"32px\",\n lineHeight: \"56px\"\n },\n \"& svg\": {\n width: \"32px\",\n height: \"32px\"\n }\n },\n \"&$sm\": {\n height: \"35px\",\n minWidth: \"35px\",\n width: \"35px\",\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"17px\",\n lineHeight: \"29px\"\n },\n \"& svg\": {\n width: \"17px\",\n height: \"17px\"\n }\n }\n }\n};\n\nexport default buttonStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// material-ui components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Button from \"@material-ui/core/Button\";\n\nimport styles from \"assets/jss/components/customcomponents/buttonStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function RegularButton(props) {\n const classes = useStyles();\n const {\n color,\n round,\n status,\n children,\n disabled,\n simple,\n size,\n block,\n link,\n justIcon,\n className,\n muiClasses,\n outlined,\n ...rest\n } = props;\n\n const btnClasses = classNames({\n [classes.button]: true,\n [classes[size]]: size,\n [classes[color]]: color,\n [classes.round]: round,\n [classes.outlined]: outlined,\n [classes.status]: status,\n [classes.disabled]: disabled,\n [classes.simple]: simple,\n [classes.block]: block,\n [classes.link]: link,\n [classes.justIcon]: justIcon,\n [className]: className\n });\n return (\n \n );\n}\n\nRegularButton.propTypes = {\n color: PropTypes.oneOf([\n \"primary\",\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n \"rose\",\n \"white\",\n \"transparent\",\n \"facebook\",\n 'secondary'\n ]),\n size: PropTypes.oneOf(['xxs',\"xs\",\"sm\", \"lg\",\"md\",\"normal\"]),\n simple: PropTypes.bool,\n round: PropTypes.bool,\n outlined: PropTypes.bool,\n status: PropTypes.bool,\n disabled: PropTypes.bool,\n block: PropTypes.bool,\n link: PropTypes.bool,\n justIcon: PropTypes.bool,\n className: PropTypes.string,\n // use this to pass the classes props from Material-UI\n muiClasses: PropTypes.object,\n children: PropTypes.node\n};\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\n\nconst styles = {\n grid: {\n // margin: \"0 -15px !important\",\n margin: \"0 -15px\",\n width: \"unset\"\n }\n};\n\nconst useStyles = makeStyles(styles);\n\nexport default function GridContainer(props) {\n const classes = useStyles();\n const { children,className, ...rest } = props;\n\n const gridClasses = classNames({\n [classes.grid]: true,\n [className]: className\n });\n\n return (\n \n {children}\n \n );\n}\n\nGridContainer.propTypes = {\n children: PropTypes.node,\n className: PropTypes.string,\n};\n","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n // maxWidth: 400,\n flexGrow: 1,\n backgroundColor: '#fff !important'\n },\n mobileStepper: {\n flexGrow: 1,\n justifyContent: \"center !important\",\n background: 'transparent !important'\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n height: 50,\n paddingLeft: theme.spacing(4),\n backgroundColor: theme.palette.background.default,\n },\n img: {\n height: '100%',\n display: 'block',\n overflow: 'hidden',\n width: '100%',\n },\n cardContainer: {\n display: 'flex',\n justifyContent: 'center'\n },\n swipeableViewsContainer: {\n paddingTop: 20\n }, buttonDiv: {\n display: 'flex',\n justifyContent: 'flex-end',\n // textAlign: 'center',\n alignItems: 'center',\n padding: '0 15px',\n },\n topicsTitle: {\n width: '85%',\n fontWeight: 'bold',\n color: '#000000',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '2',\n },\n },\n accordionDiv: {\n overflowY: 'overlay',\n overflowX: 'hidden',\n scrollBehavior: 'smooth'\n },\n accordionClass: {\n // backgroundColor: '#F2F8FF',\n margin: '10px 10px !important',\n borderRadius: '5px !important',\n \"&:before\": {\n height: \"0px !important\"\n }\n },\n accordionSummaryClass: {\n padding: '0px 16px 0px 10px'\n },\n\n accordionSummaryRoot: {\n minHeight: 'unset !important',\n height:50,\n [theme.breakpoints.down('sm')]: {\n height:30\n },\n \n },\n\n accordionDetails:{\n padding: '0px 5px 1px',\n display: 'block',\n marginTop:-8\n },\n\n heading: {\n height: 'auto',\n lineHeight: 1.1,\n fontWeight: 'bold',\n color: '#000000',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n fontSize: '0.75rem', \n // lineHeight: '1.66',\n letterSpacing: '0.03333em'\n }\n\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n joinMasterClassCard:{\n boxShadow: '0px 2px 10px 0px rgba(0,0,0,0.15)',\n borderRadius: '5px',\n padding: '50px',\n // width: '400px',\n textAlign: 'center',\n cursor: 'pointer',\n position:'relative',\n },\n joinNow:{\n border:'none',\n background: 'linear-gradient(264.15deg, #4F90EE 0%, #0945BF 100%)',\n padding:'12px 28px 12px 28px',\n cursor:'pointer',\n borderRadius:'6px',\n color:'#fff',\n fontSize:'16px',\n },\n joinMasterClassText:{\n fontSize:'24px',\n fontWeight:'500',\n color:'#425466'\n },\n logoContainer:{\n position:'absolute',\n top:'10px',\n left:'10px',\n },\n mainContainer:{\n padding:'10px',\n },\n blinkingRedDot: {\n width: '10px',\n height: '10px',\n backgroundColor: 'red',\n borderRadius: '50%',\n animation: '$blink 1s infinite'\n },\n '@keyframes blink': {\n '0%': {\n opacity: 1,\n },\n '50%': {\n opacity: 0,\n },\n '100%': {\n opacity: 1,\n }\n },\n liveclass:{\n display:'flex',\n justifyContent:'center',\n alignItems:'center',\n gap:'5px',\n backgroundColor:'#fff',\n borderRadius:'4px',\n padding:'2px 10px',\n cursor:'pointer',\n border:'1px solid red',\n fontWeight:'bold',\n },\n instructionContainer:{\n marginTop:'40px',\n padding:'5px',\n border:'1px solid #ccc',\n borderRadius:'5px',\n\n '& h3':{\n fontWeight:'bold',\n color:'#000',\n marginBottom:'10px',\n padding:'5px',\n borderBottom:'1px solid #ccc',\n\n }, \n '& ul':{\n padding:'5px',\n margin:'0',\n listStyle:'none',\n textAlign:'left',\n },\n '& li':{\n padding:'5px',\n margin:'0',\n listStyle:'none',\n textAlign:'left',\n },\n\n }\n\n\n\n\n}));\n\nexport default useStyles;","import { makeStyles } from '@material-ui/core/styles';\n\n\nconst useStyles = makeStyles((theme) => ({\n centerContainer: {\n margin: 'auto',\n /* width: 65%; */\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n width: '100%'\n },\n titelContainer:{\n padding:'2px 0px 0px 10px',\n fontWeight: 'bold',\n // color: '#00B8AC',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n fontSize: '0.75rem', \n lineHeight: '1.66',\n letterSpacing: '0.03333em'\n }\n },\n\n footerDivStyle: {\n flexDirection: \"row\",\n display: \"flex\",\n alignItems: 'start',\n color: \"#C0C0C0\",\n [theme.breakpoints.down('sm')]: {\n // position: 'fixed',\n justifyContent: 'space-between',\n padding: '0px 10px 0px 0px',\n bottom: 0\n },\n },\n divStyle: {\n flexDirection: \"column\",\n display: \"flex\",\n textAlign: 'center',\n margin: '0 5px',\n padding: '0 5px'\n },\n // temp\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n },\n muiIconButton:{\n padding: 5\n },\n\n controlSkeleton: {\n marginTop: 10,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n }\n\n\n}));\n\nexport default useStyles;","import React, { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n//redux\nimport { connect, useDispatch } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// axios\nimport axiosConfig from 'util/axios'\n\n// @material-ui/core\nimport Backdrop from '@material-ui/core/Backdrop';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport IconButton from '@material-ui/core/IconButton';\nimport Typography from '@material-ui/core/Typography';\nimport Icon from '@material-ui/core/Icon';\nimport DialogActions from '@material-ui/core/DialogActions';\n// @material-ui/icons\nimport ThumbUpIcon from '@material-ui/icons/ThumbUp';\nimport ThumbDownIcon from '@material-ui/icons/ThumbDown';\n\n// core components\nimport VideoPlayer from 'components/CustomComponents/VideoPlayer/VideoPlayer'\nimport Progress from \"components/CustomComponents/Progress/Progress\"\nimport Button from \"components/CustomComponents/CustomButtons/Button\"\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\"\n\n//Lottie\nimport Lottie from 'react-lottie';\nimport animationData from 'assets/lotties/like';\n\n//Style\nimport useStyles from 'assets/jss/components/views/videoViewerStyle'\n//axios\nimport { Token } from \"util/commonfunctions\";\n\n//variables\nimport {\n CURRENT_DATE_TIME,\n SHARE_URL_ANDROID,\n SHARE_URL_IOS\n} from \"variables/general.js\";\n\nconst SkeletonComp = () => (\n \n {/* */}\n)\n\nconst FlashAnimation = (props) => {\n const defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData,\n // rendererSettings: {\n // preserveAspectRatio: \"xMidYMid slice\"\n // }\n };\n const classes = useStyles();\n useEffect(() => {\n let myInterval = null;\n if (props.open)\n myInterval = setInterval(() => {\n props.close()\n }, 1000)\n\n return () => {\n clearInterval(myInterval);\n };\n }, [props.open]);\n\n return (\n
\n \n \n \n
\n )\n}\n\n\nconst ControlButton = (props) => {\n const classes = useStyles();\n\n return (\n
\n {props.loading\n ?
\n : \n
\n props.onClick()} disabled={props.disabled}>\n {typeof props.iconClass === 'string'\n ? \n : props.iconClass\n }\n\n \n
\n {props.label}\n
\n }\n
\n )\n}\n\n\nconst VideoViewer = (props) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n let history = useHistory();\n const [flashAnimation, setFlashAnimation] = useState(false)\n const [isIOS, setIOS] = useState(typeof onRemenberMeClicked)\n const [iosLoading, setIOSLoading] = useState(false)\n const [reatingPopup, setReatingPopup] = useState(false)\n const [showAssessment, setShowAssessment] = useState(false)\n const [accessDateTime,setAccessDateTime]=useState(CURRENT_DATE_TIME())\n\n\n // Props\n const { orientation, isVideo, onChangeOrientation, isWeb } = props\n\n\n\n /*---------------------init Content Rating--------------------*/\n useEffect(() => {\n if (props.content.contentId) {\n setShowAssessment(false)\n if (isIOS !== 'undefined') {\n initIOS()\n } else {\n props.onInitContentRating(props.content.contentId)\n }\n }\n }, props.content.contentId)\n\n /*--------------- Code for IOS------------------- */\n const initIOS = () => {\n setIOSLoading(true)\n axiosConfig().get('/QuestContent/GetContentRating', {\n params: {\n ContentId: props.content.contentId,\n }\n }).then(response => {\n setIOSLoading(false)\n dispatch(questActions.setContentRating(response.data))\n window.event = new Event('event');\n window.addEventListener('event', function (data) {\n WebViewEvent(data);\n }, false);\n const apptoken = Token();\n window.getHLSURL(props.content.fileUrl, response.data.likeCount, response.data.disLikeCount, response.data.myRating, props.content.contentId, apptoken);\n\n }).catch(function (error) {\n setIOSLoading(false)\n console.log(error);\n });\n }\n\n const WebViewEvent = (data) => {\n if (data.detail) {\n switch (data.detail.type) {\n case 'rating': {\n handleContentRating(data.detail.rating)\n break;\n }\n case 'back': {\n handleIOSBack(data.detail.duration)\n break;\n }\n default:\n return null;\n }\n }\n }\n const handleIOSBack = (accessTime) => {\n if (accessTime > 1) {\n const BODY_DATA = {\n \"missionActivityId\": \"\", // Don't set this\n \"userId\": props.userInfo.userId,\n \"locationId\": props.userInfo.locationId,\n \"groupId\": props.userInfo.groupId,\n \"questId\": props.quest.questId,\n \"contentId\": props.content.contentId,\n \"contentTypeCode\": props.content.contentTypeCode,\n \"accessDate\": \"\" + accessDateTime,\n \"accessDuration\": \"\" + accessTime,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n props.onPostContentAccess(BODY_DATA,props.content)\n }\n history.goBack()\n }\n const handleContentRating = (rating) => {\n setReatingPopup(false)\n if (rating !== props.ratings.myRating) {\n const BODY_DATA = {\n \"userId\": props.userInfo.userId,\n \"contentId\": props.content.contentId,\n \"rating\": \"\" + rating\n }\n props.onPostContentRating(BODY_DATA);\n if (rating > 0)\n setFlashAnimation(true)\n }\n }\n /*\n if (isIOS !== 'undefined') {\n return (null);\n }\n */\n if (isIOS !== 'undefined') {\n return (\n <>\n {iosLoading\n ? \n : null\n }\n \n );\n }\n // handel Video Ended\n const handelVideoEnded = () => {\n if (props.ratings.myRating === undefined || props.ratings.myRating === null || props.ratings.myRating === \"\")\n setReatingPopup(true)\n if (props.content.testCode !== undefined && props.content.testCode !== '')\n setShowAssessment(true)\n }\n\n // handle Click Share\n const handleClickShare = () => {\n if (typeof window.Android !== 'undefined') {\n window.Android.shareContent(`Hi, I am studing ${props.content.contentDisplayName} from ${props.operation.operationDisplayName} on Singhania Quest+ App. The app has engauging Academic and non-academic content. Please download the app from ${SHARE_URL_ANDROID(props.userInfo.userId)} and explore the App.`)\n } else if (typeof shareContent !== 'undefined') {\n window.shareContent(`Hi, I am studing ${props.content.contentDisplayName} from ${props.operation.operationDisplayName} on Singhania Quest+ App. The app has engauging Academic and non-academic content. Please download the app from ${SHARE_URL_IOS()} and explore the App.`)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('shareContent', \"Hi Quest\");\n }\n }\n\n // handle Click Assessment\n const handleClickAssessment = () => {\n // let token = sessionStorage.getItem('token');\n // let MLink = ' https://devadmin.questplus.in/online-assessment?tk=' + token + '&osaid=' + props.content.onlineStudentAssignmentId + '&type=web'\n // history.push('/online-test', { testLink: MLink, testName: props.content.contentDisplayName })\n history.push('/instruction')\n }\n\n return (\n
\n { }}>\n \n \n \n \n \n\n\n {flashAnimation ? : null}\n\n {/*-----page-container----- */}\n
\n
\n\n \n {(isVideo && orientation === \"portrait\")\n ? \n {props.content.contentDisplayName}\n
\n\n handleContentRating(5)}\n />\n handleContentRating(0)}\n />\n \n \n { }}\n />\n
\n
\n : null\n }\n
\n
\n
\n );\n}\n\n\nconst mapStateToProps = state => {\n console.log(state)\n return {\n content: state.content.current_content, \n ratings: state.content.content_ratings,\n loading: state.content.content_ratings_loading,\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n operation: state.content.current_operation\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onInitContentRating: (ContentId) => dispatch(questActions.initContentRating(ContentId)),\n onPostContentRating: (ratingData) => dispatch(questActions.postContentRating(ratingData)),\n onPostContentAccess: (accessData, content) => dispatch(questActions.postContentAccess(accessData, content))\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(VideoViewer);","import React, { useEffect } from 'react';\nimport PropTypes from \"prop-types\";\n\nimport Typography from '@material-ui/core/Typography';\nimport Accordion from '@material-ui/core/Accordion';\nimport AccordionDetails from '@material-ui/core/AccordionDetails';\nimport AccordionSummary from '@material-ui/core/AccordionSummary';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport LockSharp from '@material-ui/icons/LockSharp';\n\n// style\nimport useStyles from 'assets/jss/components/views/topicsContainerStyle'\n\n\nconst TopicAccordion = (props) => {\n const {\n expanded,\n onChange,\n heading,\n accordionDetails,\n lockDetails,\n ...rest\n } = props\n\n let lock = lockDetails === undefined || lockDetails[heading] === undefined ? true : lockDetails[heading]\n\n const classes = useStyles();\n return (\n \n }\n className={classes.accordionSummaryClass}\n classes={{ root: classes.accordionSummaryRoot }}\n >\n
\n {heading}\n {!lock ? : null}\n
\n \n \n \n {accordionDetails}\n \n \n )\n}\n\nTopicAccordion.propTypes = {\n expanded: PropTypes.bool,\n onChange: PropTypes.func,\n heading: PropTypes.string,\n accordionDetails:PropTypes.node\n}\n\nexport default TopicAccordion","import axios from \"axios\";\nimport { serverURL } from \"variables/ServerURL\";\n\nexport default function axiosConfig(baseUrl = serverURL) {\n const instance = axios.create({ baseURL: baseUrl });\n\n // Set up request interceptor for auth headers\n instance.interceptors.request.use((config) => {\n const token = sessionStorage.getItem(\"token\");\n const AppId = sessionStorage.getItem(\"AppId\");\n\n if (token) {\n config.headers[\"Authorization\"] = `Bearer ${token}`;\n }\n\n if (AppId) {\n config.headers[\"AppId\"] = AppId;\n }\n\n return config;\n });\n\n // Set up response interceptor for handling unauthorized status\n instance.interceptors.response.use(\n (response) => response,\n (error) => {\n if (\n error.response &&\n (error.response.status === 401 || error.response.status === 405)\n ) {\n // Redirect to login page\n localStorage.clear();\n sessionStorage.clear();\n window.location.href = \"/\"; // Adjust this URL as needed\n }\n return Promise.reject(error);\n }\n );\n\n return instance;\n}\n","import React from 'react';\nimport { withRouter } from 'react-router-dom';\n//import reducer \nimport { useSelector, useDispatch } from 'react-redux'\nimport * as questActions from 'store/actions/index'\nimport { withStyles } from '@material-ui/core/styles';\nimport { green } from '@material-ui/core/colors';\n// @material-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport Typography from '@material-ui/core/Typography';\n\n//@material-ui/icons\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\n\n//Common functions\nimport { clevertapEvents, facebookTracking } from \"util/commonfunctions\";\n\n// styles\nimport useStyles from \"assets/jss/components/views/taskStyle\";\n\nconst GreenCheckIcon = withStyles((theme) => ({\n root: {\n color: green[400],\n [theme.breakpoints.down('sm')]: {\n fontSize: '1rem'\n }\n\n }\n}))((props) => );\n\nconst ContentCard = (props) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n const mission = useSelector(state => state.content.current_mission)\n const quest = useSelector(state => state.quest.current_quest)\n const operation = useSelector(state => state.content.current_operation)\n\n\n const onClickContentCard = () => {\n //clevertap\n const eventData = JSON.stringify({\n 'QuestName': quest.questName,\n 'MisssionName': mission.missionDisplayName,\n 'OperationName': operation.operationDisplayName,\n 'ContentType': props.content.contentTypeCode\n });\n clevertapEvents('ContentView', eventData);\n //facebook tracking\n const EventProperty = JSON.stringify({\n 'fb_content_type': props.content.contentTypeCode,\n 'fb_content_id': mission.missionName,\n 'fb_currency': ''\n })\n facebookTracking('fb_mobile_content_view', EventProperty)\n dispatch(questActions.setCurrentContent(props.content))\n if (props.link) {\n props.history.push(props.link)\n // if (props.link === '/online-test') {\n // let token = sessionStorage.getItem('token');\n // let MLink = ' https://devadmin.questplus.in/online-assessment?tk=' + token + '&osaid=' + props.content.onlineStudentAssignmentId + '&type=web'\n // props.history.push('/online-test', { testLink: MLink, testName: props.content.contentDisplayName })\n\n // } else {\n // props.history.push(props.link)\n // }\n }\n else\n props.setContentType(true)\n }\n\n\n return (\n \n \n \n \n
\n <>\n \n {props.content.contentDisplayName}\n \n \n
\n\n
\n {props.content.time ? \n {props.content.time}\n \n :
\n }\n\n {props.content.points && \n {props.content.points} Points\n \n }\n\n
\n {props.content.progress.accessCount > 0 && }\n
\n
\n\n
\n
)\n}\n\n\nexport default withRouter(ContentCard);\n\n\n\n","import React from 'react';\n\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\n// Views\nimport ContentCard from 'components/Views/Tasks/Topics/ContentCard'\n\n// img\nimport Video from \"assets/img/task/Video.png\";\nimport Assessment from \"assets/img/task/Assessment.png\";\nimport pdforebook from \"assets/img/task/pdforebook.png\";\nimport Activity from \"assets/img/task/Activity.png\";\n\n// styles\nimport useStyles from \"assets/jss/components/views/taskStyle\";\n\n\nconst TopicCards = (props) => {\n\n const classes = useStyles();\n\n // 01\tAV Uploaded\n // 02\tAV External Link\n // 03\tYoutube Link\n\n // 04\tPDF Uploaded\n // 05\tPDF External Link\n\n // 06\tHTML Created\n // 07\tHTML External Link\n\n // 08\tObjective Test\n // 09\tSubjective Test\n\n let Content = null;\n switch (props.contentTypeCode) {\n case ('01'):\n Content = \n break;\n case ('02'):\n Content = ;\n break;\n case ('03'):\n Content = \n break;\n case ('04'):\n Content = \n break;\n case ('05'):\n Content = \n break;\n case ('06'):\n Content = \n break;\n case ('07'):\n Content = \n break;\n case ('08'):\n // if (props.isDynamicAssessment)\n Content = \n // else\n // Content = \n break;\n case ('09'):\n Content = \n break;\n case ('10'):\n Content = \n break;\n default:\n Content = null;\n }\n return (\n \n {Content}\n \n )\n}\n\n\n\n\nexport default TopicCards;","import React, { useState } from 'react';\n//@material-ui/core\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\n//Views\nimport TopicCards from 'components/Views/Tasks/Topics/TopicCards'\n\n// styles\nimport useStyles from \"assets/jss/components/views/taskStyle\";\n\nconst AutoPlaySwipeableViews = (props) => {\n const { topics} = props\n const classes = useStyles();\n return (\n \n {topics.map((step, index) => (\n \n \n \n ))}\n \n )\n};\n\nexport default AutoPlaySwipeableViews;","import {\n whiteColor,\n grayColor,\n hexToRgb,\n primaryColor,\n container,\n defaultFont,\n secondaryColor,\n brandColor,\n pagecontainer\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst dashboardStyle = theme => ({\n pagecontainer: {\n ...pagecontainer\n },\n container,\n questDiv: {\n display: 'flex',\n flexDirection: 'column',\n // alignItems: 'center',\n width: '100%'\n },\n questNameText: {\n lineHeight:1.2,\n fontWeight: \"bold\",\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n // height: '3em',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n },\n questButtonsDiv: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n\n questButtons: {\n margin: 0\n },\n\n changeButton:{\n padding:' 0.3rem 0.5rem',\n fontSize: '0.563rem',\n lineHeight: 1,\n backgroundColor:brandColor[3]\n },\n\n buyButton:{\n backgroundColor:brandColor[1]\n },\n\n infoText: {\n color: primaryColor[4]\n },\n upArrowCardCategory: {\n width: \"16px\",\n height: \"16px\"\n },\n pageCardBody: {\n minHeight: '100vh',\n margin: 0\n },\n gridItemHeader: {\n marginLeft: \"5%\"\n },\n\n gridItemFooter: {\n padding: '0 !important',\n color: primaryColor[4]\n },\n paperMissions: {\n borderRadius: 20,\n // backgroundColor: '#f9f8f9e1',\n // opacity: '90%'\n },\n gridItemMissions: {\n padding: 15\n },\n cardMissions: {\n backgroundColor: '#f5fffe',\n marginLeft: \"auto\",\n marginRight: \"auto\",\n maxWidth: 248,\n marginBottom: \"0px\",\n borderRadius: 10,\n boxShadow: '0 5px 4px 0 rgba(0, 0, 0, 0.14)',\n },\n textMissions: {\n marginLeft: \"auto\",\n marginRight: \"auto\",\n maxWidth: 248,\n marginBottom: \"-20px\",\n\n },\n\n cardCategoryWhite: {\n color: \"rgba(\" + hexToRgb(whiteColor) + \",.62)\",\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n marginBottom: \"0\"\n },\n cardTitle: {\n color: grayColor[2],\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardTitleWhite: {\n color: whiteColor,\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardAvatar: {\n maxWidth: \"80px\",\n maxHeight: \"80px\",\n right: \"10%\",\n position: 'absolute',\n margin: \"-40px auto 0\",\n borderRadius: \"50%\",\n overflow: \"hidden\",\n padding: \"0\",\n // boxShadow:\n // \"0 16px 38px -12px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.56), 0 4px 25px 0px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.12), 0 8px 10px -5px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.2)\",\n // \"&$cardAvatarPlain\": {\n // marginTop: \"0\"\n // }\n },\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n\n '@media screen and (max-width: 600px)': {\n // gridItemMissions: {\n // maxHeight: '100%',\n // padding: \"0px 15px\"\n // },\n gridItemHeader: {\n paddingRight: '25px'\n }\n },\n\n /* Extra small devices (phones, 600px and down) */\n // '@media screen and (max-width: 600px)': {\n // gridItemMissions: {\n // maxHeight: '100%',\n // padding: \"0px 15px\"\n // },\n // gridItemHeader: {\n // paddingRight: '25px'\n // }\n // },\n\n\n /* Small devices (portrait tablets and large phones, 600px and up) */\n // '@media screen and (min-width: 600px)': {\n // gridItemMissions: {\n // maxHeight: '100%',\n // padding: \"0px 15px\"\n // },\n // gridItemHeader: {\n // paddingRight: '25px'\n // },\n // },\n /* Medium devices (landscape tablets, 768px and up) */\n // '@media screen and (min-width: 768px)': {\n // gridItemMissions: {\n // maxHeight: '100%',\n // padding: \"0px 15px\"\n // },\n // gridItemHeader: {\n // paddingRight: '25px'\n // }\n // },\n\n /* Large devices (laptops/desktops, 992px and up) */\n // '@media only screen and (min-width: 992px)': {\n // gridItemMissions: {\n // maxHeight: '100%',\n // padding: \"0px 15px\"\n // },\n // gridItemHeader: {\n // paddingRight: '25px'\n // }\n // },\n\n /* Extra large devices (large laptops and desktops, 1200px and up) */\n // '@media screen and (min-width: 1200px)': {\n // gridItemMissions: {\n // maxHeight: '100%',\n // padding: \"0px 15px\"\n // },\n // gridItemHeader: {\n // paddingRight: '25px'\n // }\n // }\n\n //---------------\n warningAlert: {\n position: \"absolute\",\n top: '30%',\n zIndex: 100,\n display: 'flex',\n justifyContent: 'center',\n right: '10%',\n left: '10%'\n },\n square: {\n objectFit: 'fill',\n width: theme.spacing(3.5),\n height: theme.spacing(3.5)\n },\n buyButtonContainer: {\n display: 'inline-flex',\n flexDirection: 'row',\n justifyContent: 'flex-start',\n alignItems: 'center',\n // background: '#1976d2',\n paddingLeft: 5,\n // paddingRight: 5,\n // borderRadius: 50\n\n },\n\n bottomCard: {\n // backgroundColor: '#f5fffe',\n backgroundImage: 'linear-gradient(135deg , rgb(0 171 85 / 58%) 0%, rgb(0, 184, 172) 100%)',\n marginLeft: \"auto\",\n marginRight: \"auto\",\n [theme.breakpoints.up('sm')]: {\n maxWidth: '95%',\n },\n marginBottom: \"0px\",\n borderRadius: 10,\n boxShadow: '0 5px 4px 0 rgba(0, 0, 0, 0.14)',\n },\n bottomCardAction: {\n padding: 20\n },\n bottomCardTitle: {\n ...defaultFont,\n fontSize: \"14px\",\n fontWeight: 'bold',\n },\n\nfabButton:{\n position:'absolute',\n bottom: '10%',\nright:'10%'\n}\n\n\n});\n\nexport default dashboardStyle;\n","import { grayColor } from \"assets/jss/material-dashboard-react.js\";\n\nconst cardFooterStyle = {\n cardFooter: {\n padding: \"15px 5px 0px 5px\",//\"10px\",\n // paddingTop: \"10px\",\n margin: '0 -10px 0px 0px',//\"0 10px 10px\",\n borderRadius: \"0\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n // display: \"flex\",\n backgroundColor: \"transparent\",\n border: \"0\"\n },\n cardFooterProfile: {\n marginTop: \"-15px\"\n },\n cardFooterPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\",\n backgroundColor: \"transparent\"\n },\n cardFooterStats: {\n borderTop: \"1px solid \" + grayColor[10],\n marginTop: \"20px\",\n \"& svg\": {\n position: \"relative\",\n top: \"4px\",\n marginRight: \"3px\",\n marginLeft: \"3px\",\n width: \"16px\",\n height: \"16px\"\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n fontSize: \"16px\",\n position: \"relative\",\n top: \"4px\",\n marginRight: \"3px\",\n marginLeft: \"3px\"\n }\n },\n cardFooterChart: {\n borderTop: \"1px solid \" + grayColor[10]\n }\n};\n\nexport default cardFooterStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/components/customcomponents/cardFooterStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardFooter(props) {\n const classes = useStyles();\n const { className, children, plain, profile, stats, chart, ...rest } = props;\n const cardFooterClasses = classNames({\n [classes.cardFooter]: true,\n [classes.cardFooterPlain]: plain,\n [classes.cardFooterProfile]: profile,\n [classes.cardFooterStats]: stats,\n [classes.cardFooterChart]: chart,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardFooter.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n stats: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node\n};\n","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 236;","module.exports = __webpack_public_path__ + \"static/media/QuestLogo.e54a6f65.png\";","import {\n defaultFont,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n dangerColor,\n grayColor,\n secondaryColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst typographyStyle = {\n defaultFontStyle: {\n ...defaultFont,\n fontSize: \"14px\"\n },\n defaultHeaderMargins: {\n marginTop: \"20px\",\n marginBottom: \"10px\"\n },\n quote: {\n padding: \"0px 20px\",\n margin: \"0 0 20px\",\n // padding: \"10px 20px\",\n // fontSize: \"17.5px\",\n fontSize: \"\t0.875rem\",\n fontWeight:600,\n borderLeft: \"5px solid \" + grayColor[10]\n },\n quoteText: {\n // margin: \"0 0 10px\",\n margin: \"0px\",\n fontStyle: \"italic\"\n },\n quoteAuthor: {\n display: \"block\",\n fontSize: \"80%\",\n lineHeight: \"1.42857143\",\n color: grayColor[1]\n },\n mutedText: {\n color: grayColor[1]\n },\n primaryText: {\n color: primaryColor[4]\n },\n infoText: {\n color: secondaryColor[1]\n },\n successText: {\n color: successColor[0]\n },\n warningText: {\n color: warningColor[0]\n },\n dangerText: {\n color: dangerColor[0]\n },\n inputLabel:{ \n marginTop: 30, \n ...defaultFont,\n color: grayColor[2] + \" !important\",\n // fontWeight: \"400\",\n fontSize: \"0.75rem\",\n fontWeight: \"500\",\n lineHeight: \"1.42857\",\n letterSpacing: \"unset\"\n },\n \n\n \n};\n\nexport default typographyStyle;\n","import moment from 'moment'\n//export const TODAY_DATE_TIME = new Date().toISOString().replace(/T/, ' '). replace(/\\..+/, '') // delete the dot and everything after\nexport const CURRENT_DATE_TIME = () => moment().utcOffset(\"+05:30\").format('YYYY-MM-DD HH:mm:ss') // delete the dot and everything after\n\nexport const LENGTH_ERROR = (length) => `Length should be less than ${length} characters`\nexport const MIN_LENGTH_ERROR = (text, length) => `${text} must be at least ${length} characters`\n\nexport const HIDE_FOR_IOS = true // temporary hide features for ios \n\n\n// Share URL \nexport const SHARE_URL_ANDROID =(UserId)=>`https://play.google.com/store/apps/details?id=com.zl.questwebapp&utm_source=APP&utm_medium=Share&utm_campaign=${UserId}`;\nexport const SHARE_URL_IOS=()=>'https://apps.apple.com/in/app/quest/id1542442386'","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","/*!\n\n =========================================================\n * Material Dashboard React - v1.8.0 based on Material Dashboard - v1.2.0\n =========================================================\n\n * Product Page: http://www.creative-tim.com/product/material-dashboard-react\n * Copyright 2019 Creative Tim (http://www.creative-tim.com)\n * Licensed under MIT (https://github.com/creativetimofficial/material-dashboard-react/blob/master/LICENSE.md)\n\n =========================================================\n\n * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\n */\n\n// ##############################\n// // // Function that converts from hex color to rgb color\n// // // Example: input = #9c27b0 => output = 156, 39, 176\n// // // Example: input = 9c27b0 => output = 156, 39, 176\n// // // Example: input = #999 => output = 153, 153, 153\n// // // Example: input = 999 => output = 153, 153, 153\n// #############################\nconst hexToRgb = input => {\n input = input + \"\";\n input = input.replace(\"#\", \"\");\n let hexRegex = /[0-9A-Fa-f]/g;\n if (!hexRegex.test(input) || (input.length !== 3 && input.length !== 6)) {\n throw new Error(\"input is not a valid hex color.\");\n }\n if (input.length === 3) {\n let first = input[0];\n let second = input[1];\n let last = input[2];\n input = first + first + second + second + last + last;\n }\n input = input.toUpperCase(input);\n let first = input[0] + input[1];\n let second = input[2] + input[3];\n let last = input[4] + input[5];\n return (\n parseInt(first, 16) +\n \", \" +\n parseInt(second, 16) +\n \", \" +\n parseInt(last, 16)\n );\n};\n\n// ##############################\n// // // Variables - Styles that are used on more than one component\n// #############################\n\nconst drawerWidth = 170;\n\nconst transition = {\n transition: \"all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1)\"\n};\n\nconst container = {\n // paddingRight: \"15px\",\n // paddingLeft: \"15px\",\n overflowX:'hidden',\n marginRight: \"auto\",\n marginLeft: \"auto\",\n '@media screen and (max-width: 960px)': {\n paddingRight: \"0px\",\n paddingLeft: \"0px\",\n overflow: 'hidden',\n }\n};\n\n\nconst defaultFont = {\n fontFamily: '\"Sansational\", \"Helvetica\", \"Arial\", sans-serif',\n fontWeight: \"300\",\n lineHeight: \"1.5em\"\n};\n\nconst primaryColor = [\"#00b8ac\", \"#ab47bc\", \"#8e24aa\", \"#af2cc5\",\"#690184\"];\nconst secondaryColor=['#5A4FF5','#00b8ac']\nconst warningColor = [\"#ff9800\", \"#ffa726\", \"#fb8c00\", \"#ffa21a\"];\nconst dangerColor = [\"#f44336\", \"#ef5350\", \"#e53935\", \"#f55a4e\",];\nconst successColor = [\"#4caf50\", \"#66bb6a\", \"#43a047\", \"#5cb860\"];\nconst infoColor = ['#f16c2d',\"#00acc1\", \"#26c6da\", \"#00acc1\", \"#00d3ee\"];\nconst roseColor = [\"#e91e63\", \"#ec407a\", \"#d81b60\", \"#eb3573\"];\nconst grayColor = [ \"#999\", \"#777\", \"#3C4858\", \"#AAAAAA\", \"#D2D2D2\", \"#DDD\", \"#b4b4b4\", \"#555555\", \"#333\", \"#a9afbb\", \"#eee\", \"#e7e7e7\"];\nconst orangeColor=['#FFA500','#FF8C00','#FF7F50','#FF6347','#FF4500']\nconst blackColor = \"#000\";\nconst whiteColor = \"#ffffff\";\nconst facebookColor=\"#3b5998\";\nconst PrimaryColor=['#00B8AC','#E22E5E','#0875F7','#E0584F']\nconst brandColor=['#e52e5d','#f26c2c','#67bc47','#124989','#00b8ac','#ffdb00']\n\n\nconst boxShadow = {\n boxShadow:\n \"0 10px 5px -12px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.42), 0 4px 25px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.2)\"\n};\n\nconst primaryBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(primaryColor[0]) +\n \",.4)\"\n};\nconst infoBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(infoColor[0]) +\n \",.4)\"\n};\nconst successBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(successColor[0]) +\n \",.4)\"\n};\nconst warningBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(warningColor[0]) +\n \",.4)\"\n};\nconst dangerBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(dangerColor[0]) +\n \",.4)\"\n};\nconst roseBoxShadow = {\n boxShadow:\n \"0 4px 20px 0 rgba(\" +\n hexToRgb(blackColor) +\n \",.14), 0 7px 10px -5px rgba(\" +\n hexToRgb(roseColor[0]) +\n \",.4)\"\n};\n\nconst warningCardHeader = {\n background:\n \"linear-gradient(60deg, \" + warningColor[1] + \", \" + warningColor[2] + \")\",\n ...warningBoxShadow\n};\nconst successCardHeader = {\n background:\n \"linear-gradient(60deg, \" + successColor[1] + \", \" + successColor[2] + \")\",\n ...successBoxShadow\n};\nconst dangerCardHeader = {\n background:\n \"linear-gradient(60deg, \" + dangerColor[1] + \", \" + dangerColor[2] + \")\",\n ...dangerBoxShadow\n};\nconst infoCardHeader = {\n background:\n \"linear-gradient(60deg, \" + infoColor[1] + \", \" + infoColor[2] + \")\",\n ...infoBoxShadow\n};\nconst primaryCardHeader = {\n background:\n \"linear-gradient(60deg, \" + primaryColor[1] + \", \" + primaryColor[2] + \")\",\n ...primaryBoxShadow\n};\nconst roseCardHeader = {\n background:\n \"linear-gradient(60deg, \" + roseColor[1] + \", \" + roseColor[2] + \")\",\n ...roseBoxShadow\n};\n\nconst cardActions = {\n margin: \"0 20px 10px\",\n paddingTop: \"10px\",\n borderTop: \"1px solid \" + grayColor[10],\n height: \"auto\",\n ...defaultFont\n};\n\nconst cardHeader = {\n margin: \"-20px 15px 0\",\n borderRadius: \"3px\",\n padding: \"15px\"\n};\n\nconst card = {\n display: \"inline-block\",\n position: \"relative\",\n width: \"100%\",\n margin: \"25px 0\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n borderRadius: \"3px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor\n};\n\nconst defaultBoxShadow = {\n border: \"0\",\n borderRadius: \"3px\",\n boxShadow:\n \"0 10px 20px -12px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.42), 0 3px 20px 0px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.12), 0 8px 10px -5px rgba(\" +\n hexToRgb(blackColor) +\n \", 0.2)\",\n padding: \"10px 0\",\n transition: \"all 150ms ease 0s\"\n};\n\nconst title = {\n color: grayColor[2],\n textDecoration: \"none\",\n fontWeight: \"300\",\n marginTop: \"30px\",\n marginBottom: \"25px\",\n minHeight: \"32px\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n};\n\nconst cardTitle = {\n ...title,\n marginTop: \"0\",\n marginBottom: \"3px\",\n minHeight: \"auto\",\n \"& a\": {\n ...title,\n marginTop: \".625rem\",\n marginBottom: \"0.75rem\",\n minHeight: \"auto\"\n }\n};\n\nconst cardSubtitle = {\n marginTop: \"-.375rem\"\n};\n\nconst cardLink = {\n \"& + $cardLink\": {\n marginLeft: \"1.25rem\"\n }\n};\n\nconst containerFluid = {\n paddingRight: \"10px\",\n paddingLeft: \"10px\",\n marginRight: \"auto\",\n marginLeft: \"auto\",\n width: \"100%\",\n \n};\n\nconst pagecontainer = {\n ...containerFluid,\n \"@media (min-width: 576px)\": {\n maxWidth: \"540px\"\n },\n \"@media (min-width: 768px)\": {\n maxWidth: \"720px\"\n },\n \"@media (min-width: 992px)\": {\n maxWidth: \"960px\"\n },\n \"@media (min-width: 1200px)\": {\n marginRight: \"auto\",\n marginLeft: \"auto\",\n maxWidth: \"1200px\",\n paddingRight: \"0px\",\n paddingLeft: \"0px\",\n \n }\n};\n\nexport {\n hexToRgb,\n //variables\n drawerWidth,\n transition,\n pagecontainer,\n container,\n boxShadow,\n card,\n defaultFont,\n primaryColor,\n PrimaryColor,\n secondaryColor,\n warningColor,\n dangerColor,\n successColor,\n infoColor,\n roseColor,\n orangeColor,\n grayColor,\n blackColor,\n whiteColor,\n facebookColor,\n brandColor,\n primaryBoxShadow,\n infoBoxShadow,\n successBoxShadow,\n warningBoxShadow,\n dangerBoxShadow,\n roseBoxShadow,\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n cardActions,\n cardHeader,\n defaultBoxShadow,\n title,\n cardTitle,\n cardSubtitle,\n cardLink\n};\n","import moment from 'moment';\n\n\n/*-----------------------Compare Date --------------------*/\nexport const Token = () => {\n let token = sessionStorage.getItem('token');\n if (token === null || token === undefined || token === \"\") {\n // console.log(token);\n token = sessionStorage.getItem('token');\n }\n return token\n}\n\n\n/*-----------------------Compare Date --------------------*/\nexport const compareDate = (a, b) => {\n const dataMyOne = moment(a).format('YYYYMMDD');\n const dataMyTwo = moment(b).format('YYYYMMDD');\n\n\n if (dataMyOne === dataMyTwo) {\n return 0;\n }\n return (dataMyOne < dataMyTwo) ? -1 : 1;\n}\n\n/*-----------------------get older Date --------------------*/\nexport const getolderDate = (months) => {\n var d = moment().subtract(months, 'months').format('YYYY-MM-DD');\n return d\n}\n\n/*-----------------------get upcoming Date --------------------*/\nexport const getUpcomingDate = (months) => {\n var d = moment().add(months, 'months').format('YYYY-MM-DD');\n return d\n}\n\n// /*-----------------------get Time difference --------------------*/\n// export const getTimeDifference = (a, b) => {\n// const dataMyOne = moment(a).format('mm:ss');\n// const dataMyTwo = moment(b).format('mm:ss');\n// }\n\n/**\n * Custom function that calculates the percent of a number.\n * @param percentFor float | int num, The percent that you want to get.\n * @param percentOf float | int num, The number that you want to calculate the percent of.\n * @returns {Number}\n */\nexport const percentageNumber = (percentFor, percentOf) => {\n let percentage = 0;\n const firstNumber = Number(percentFor);\n const secondNumber = Number(percentOf);\n percentage = secondNumber > 0 ? ((firstNumber / secondNumber) * 100).toFixed(2) : 0\n return Number(percentage)\n}\n\nexport const roundPercentageNumber = (percentFor, percentOf) => {\n let percentage = percentageNumber(percentFor, percentOf)\n return percentage > 0 ? Math.round(percentage) : \"\"\n}\n\n\n/**\n * Custom function for Clevertap.\n * @param EventName string , The Event Name for Clevertap.\n * @param EventData json object, The Data for Clevertap.\n */\nexport const clevertapEvents = (EventName, EventData) => {\n //Clevertap \n if (typeof window.Android !== 'undefined') {\n window.Android.onEventReceived(EventName, EventData, true, true)\n } else if (typeof onEventReceived !== 'undefined') {\n window.onEventReceived(EventName, EventData, true, true)\n }\n else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('onEventReceived', EventName, EventData, true, true);\n }\n}\n\n/**\n * Custom function for facebook Tracking.\n * @param EventName string , The Event Name for facebook Tracking.\n * @param EventProperty json object, The Data for facebook Tracking.\n */\nexport const facebookTracking = (EventName, EventProperty) => {\n //facebook \n try {\n if (typeof window.Android !== 'undefined') {\n window.Android.onFacebookStandardEventReceived(EventName, EventProperty)\n } else if (typeof onEventReceived !== 'undefined') {\n window.onEventReceived(EventName, EventProperty, false, false)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('onEventReceived', EventName, EventProperty, false, false);\n }\n } catch (error) {\n console.log(error);\n }\n\n}\n\n\n/**\n * Custom function for Store User data.\n * @param userName string .\n * @param password string.\n * @param remember bool.\n */\nexport const StoreUserData = (userName, password, remember,userType=null) => {\n localStorage.setItem('userName', userName);\n localStorage.setItem('password', password);\n localStorage.setItem('remember', remember);\n localStorage.setItem('user_type', userType);\n if (typeof window.Android !== 'undefined') {\n window.Android.onRemenberMeClicked(userName, password, true);\n }\n if (typeof onRemenberMeClicked !== 'undefined') {\n window.onRemenberMeClicked(userName, password, true);\n }\n if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('onRemenberMeClicked',userName, password, true);\n }\n\n}\n\n/**\n * convert seconds to hh:mm:ss or mm:ss\n * @param secs string .\n */\nexport const hhmmss = (secs) => {\n function pad(num) {\n return (\"0\"+num).slice(-2);\n }\n var minutes = Math.floor(secs / 60);\n secs = secs % 60;\n var hours = Math.floor(minutes / 60)\n minutes = minutes % 60;\n if (pad(hours) > 0)\n return `${pad(hours)}:${pad(minutes)}:${pad(secs)}`;\n else\n return `${pad(minutes)}:${pad(secs)}`;\n // return pad(hours)+\":\"+pad(minutes)+\":\"+pad(secs); for old browsers\n}","import React from 'react'\n\nexport default function Duration ({ className, seconds }) {\n return (\n \n )\n}\n\nfunction format (seconds) {\n const date = new Date(seconds * 1000)\n const hh = date.getUTCHours()\n const mm = date.getUTCMinutes()\n const ss = pad(date.getUTCSeconds())\n if (hh) {\n return `${hh}:${pad(mm)}:${ss}`\n }\n return `${mm}:${ss}`\n}\n\nfunction pad (string) {\n return ('0' + string).slice(-2)\n}\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","import React from 'react';\nimport classNames from \"classnames\";\nimport PropTypes from 'prop-types';\nimport { withStyles, makeStyles } from '@material-ui/core/styles';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\n\n// style\nimport {\n grayColor,\n infoColor,\n dangerColor,\n successColor,\n orangeColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\n// const StyledProgress = withStyles({\n// colorPrimary: {\n// backgroundColor: grayColor[0]\n// },\n// bar: {\n// backgroundColor: infoColor[0],\n// },\n\n// })(LinearProgress);\n\n// Inspired by the former Facebook spinners.\nconst useStyles = makeStyles((theme) => ({\n colorPrimary25: {\n backgroundColor: dangerColor[0],\n },\n colorPrimary50: {\n backgroundColor: orangeColor[0],\n },\n colorPrimary100: {\n backgroundColor: successColor[0],\n },\n colorPrimary: {\n backgroundColor: grayColor[2]\n },\n\n}));\n\n\nconst LinearProgressWithLabel = (props) => {\n const {\n textcolor,\n value,\n alignItems,\n lableBoxStyle,\n progressBarWidth,\n lableStyle,\n ...rest } = props;\n\n const classes = useStyles();\n\n const progressClass = classNames({\n [classes[`colorPrimary${value <= 25 ? '25' : (value > 25 && value <= 50) ? '50' : '100'}`]]: true,\n });\n\n return (\n \n \n \n \n \n {`${Math.round(\n value,\n )}%`}\n \n \n );\n}\n\nLinearProgressWithLabel.defaultProps = {\n textcolor: infoColor[0],\n alignItems: \"center\",\n progressBarWidth: \"95%\"\n}\n\nLinearProgressWithLabel.propTypes = {\n value: PropTypes.number.isRequired,\n textcolor: PropTypes.string,\n alignItems: PropTypes.string,\n lableBoxStyle: PropTypes.object,\n lableStyle: PropTypes.object,\n progressBarWidth: PropTypes.string,\n};\n\nexport default LinearProgressWithLabel;\n\n\n\n","import {\n whiteColor,\n blackColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst buttonStyle = {\n white: {\n backgroundColor: whiteColor,\n color: blackColor //grayColor[0]\n },\n info: {\n backgroundColor: 'rgb(232, 244, 253)',\n },\n success: {\n backgroundColor: 'rgb(237, 247, 237)',\n },\n warning: {\n backgroundColor: 'rgb(255, 244, 229)',\n },\n danger: {\n backgroundColor: 'rgb(253, 236, 234)',\n },\n error: {\n backgroundColor: 'rgb(253, 236, 234)',\n },\n like: {\n backgroundColor: 'transparent',\n boxShadow:'0 0 0px 0 rgb(0 0 0 / 20%), 0px 0 0 0 rgb(0 0 0 / 14%), 0px 0px 0 0 rgb(0 0 0 / 12%)'\n },\n\n};\n\nexport default buttonStyle;\n","import React, { useEffect } from 'react';\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogContentText from '@material-ui/core/DialogContentText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\n//Lottie\nimport Lottie from 'react-lottie';\nimport infoData from 'assets/lotties/info';\nimport errorData from 'assets/lotties/error-cone';\nimport successData from 'assets/lotties/success-message';\nimport likeData from 'assets/lotties/like';\n\nimport styles from \"assets/jss/components/customcomponents/alertStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\n\n\nconst AlertDialog = (props) => {\n const classes = useStyles();\n const { className, action, children, open, title, titleStyle, type, ContentText, ContentTextStyle, cancelable, ...rest } = props;\n const [animation, setAnimationData] = React.useState(\"\");\n\n\n\n const alrClasses = classNames({\n [classes[type]]: type,\n [className]: className\n });\n\n useEffect(() => {\n switch (type) {\n case \"info\":\n setAnimationData(infoData)\n break;\n case \"danger\":\n case 'error':\n setAnimationData(errorData)\n break;\n case \"success\":\n setAnimationData(successData)\n break;\n case \"like\":\n setAnimationData(likeData)\n break\n default:\n setAnimationData(infoData)\n }\n }, [type])\n\n return (\n \n \n \n {title}\n\n \n {ContentText &&\n \n \n {ContentText}\n \n \n }\n {props.children}\n {action ?\n \n {action.map((currentAction, index) =>\n \n )}\n \n : null\n }\n \n );\n}\n\nAlertDialog.defaultProps = {\n cancelable: false,\n ContentTextStyle: {},\n titleStyle: {},\n type: \"info\"\n}\nAlertDialog.propTypes = {\n type: PropTypes.oneOf([\n \"info\",\n \"success\",\n \"warning\",\n \"danger\",\n 'error',\n 'like'\n ]),\n open: PropTypes.bool,\n className: PropTypes.string,\n children: PropTypes.node,\n title: PropTypes.node,\n titleStyle: PropTypes.object,\n ContentText: PropTypes.node,\n ContentTextStyle: PropTypes.object,\n action: PropTypes.any,\n cancelable: PropTypes.func\n};\n\nexport default AlertDialog;","\n//--- QA Server -----------------\n// export const serverURL = `https://devapi.questplus.in/`;\n// export const NexoolURL = `http://test.nexool.com:4005/thirdpartyauth`\n// export const LastUrl='http://devweb.questplus.in/home'\n\n//--- Production Server ----------\nexport const serverURL = `https://api.questplus.in/`;\nexport const NexoolURL = `https://app2.nexool.com/thirdpartyauth`\nexport const LastUrl='http://web.questplus.in/home'\nexport const serverDjangoURL=`https://apiv2.questplus.in/`","import React, { Suspense, lazy, useState, useEffect } from \"react\";\n// @material-ui/core\nimport { useTheme } from \"@material-ui/core/styles\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport Alert from \"@material-ui/lab/Alert\";\nimport AlertTitle from \"@material-ui/lab/AlertTitle\";\nimport Slide from \"@material-ui/core/Slide\";\nimport Fab from \"@material-ui/core/Fab\";\n// core components\nimport Dialog from \"components/CustomComponents/Dialog/Dialog\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n\n// Views\nimport Instruction from \"components/Views/Instruction/Instruction\";\nimport GoCoderInstruction from \"../Instruction/GoCoderInstruction\";\nimport Quest from \"components/Views/Quest/Quest\";\n\n//commonfunctions\nimport { clevertapEvents } from \"util/commonfunctions\";\n\n//axios\nimport axiosConfig from \"util/axios\";\n\n//Redux\nimport { useSelector, useDispatch } from \"react-redux\";\nimport * as questActions from \"store/actions/index\";\n\n// img and icon\nimport QuestLogo from \"assets/img/icons/Questlogoheader_white.png\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport CropFreeIcon from \"@material-ui/icons/CropFree\";\n\n//variables\nimport { NexoolURL, LastUrl } from \"variables/ServerURL\";\n\n// styles\nimport styles from \"assets/jss/components/views/homeStyle\";\n\nimport { serverDjangoURL } from \"variables/ServerURL\";\n\nconst useStyles = makeStyles(styles);\n\nconst HomeWeb = lazy(() => import(\"components/Views/Home/HomeWeb\"));\nconst HomeMobile = lazy(() => import(\"components/Views/Home/HomeMobile\"));\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst Main = (props) => {\n const theme = useTheme();\n const classes = useStyles();\n const dispatch = useDispatch();\n let app_user_type = localStorage.getItem(\"user_type\");\n const sm = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const questLoading = useSelector((state) => state.quest.loading);\n const quest = useSelector((state) => state.quest.current_quest);\n const infoLoading = useSelector((state) => state.user.loading);\n const userInfo = useSelector((state) => state.user.userinfo);\n const goCoderInfo = useSelector((state) => state.user.goCoderInfo);\n const usertype = useSelector((state) => state.user.user_type);\n const userquest = useSelector((state) => state.quest.userquest);\n const contentLoading = useSelector((state) => state.content.loading);\n const questContent = useSelector((state) => state.content.contentlist);\n const apptype = useSelector((state) => state.appconfigs.apptype);\n\n const [dialogState, setDialogState] = useState(false);\n const [goCoderDialog, setGoCoderDialog] = useState(false);\n const [questDialog, setQuestDialog] = React.useState(false);\n const [newUserAlert, setNewUserAlert] = useState(false);\n\n /*-----------------------handle Close Instruction Dialog--------------------*/\n const CloseInstructionDialog = () => {\n setDialogState(false);\n };\n\n /*-----------------------handle Close Instruction Dialog--------------------*/\n const openInstructionDialog = (mission) => {\n dispatch(questActions.setCurrentMission(mission)); //set selected mission\n\n if (mission.missionName === \"GO_CODERZ\") {\n props.history.push(\"/task\");\n return;\n }\n\n if (mission.hasOnlineSession) {\n if (\n mission.missionName !== undefined &&\n mission.missionName !== null &&\n mission.missionName.toUpperCase() === \"CODING\"\n ) {\n let username = userInfo.userName;\n let institutionId = userInfo.institutionId;\n if (username.startsWith(\"SNVV@\"))\n username = username\n .split(\"@\")[1]\n .concat(`.ict@${institutionId}.questplus.in`);\n else\n username = username.includes(\"@\")\n ? username\n .slice(0, username.indexOf(\"@\"))\n .concat(`.ict@${institutionId}.questplus.in`)\n : username;\n let buff = new Buffer(username);\n let base64data = buff.toString(\"base64\");\n window.open(\n `https://kms.ict360.com/ict/student-login/207/${base64data}`,\n \"_\"\n );\n } else props.history.push(\"/missions-schedules\");\n } else setDialogState(true);\n };\n\n /*-----------------------handle Close Dialog--------------------*/\n const onStartMission = () => {\n setDialogState(false);\n props.history.push(\"/task\");\n };\n\n /*-----------------------handle Quest Dialog Open --------------------*/\n const openQuestDialog = (apptype) => {\n if (apptype === \"Spectrum\" || app_user_type === \"Spectrum\")\n setQuestDialog(true);\n else props.history.push(\"/products\");\n };\n /*-----------------------handle Quest Dialog Close --------------------*/\n const closeQuestDialog = () => {\n setQuestDialog(false);\n };\n /*----------------------- Change Quest Data --------------------*/\n const onChangeQuest = (CurrentQuest) => {\n setQuestDialog(false);\n dispatch(questActions.setCurrentQuest(CurrentQuest));\n dispatch(questActions.initContentList(CurrentQuest.questId));\n };\n\n //-----------------------Handel Buy Quest---------------------\n const onBuyQuest = async (CurrentQuest) => {\n const cartItem = {\n userId: userInfo.userId,\n productId: CurrentQuest.productId,\n };\n //clevertap\n const eventData = JSON.stringify({\n UserId: userInfo.userId,\n ProductId: CurrentQuest.productId,\n ProductName: CurrentQuest.questName,\n });\n\n clevertapEvents(\"PurchaseInitiate\", eventData);\n\n await dispatch(questActions.addToCart(cartItem));\n props.history.push(\"/cart\");\n };\n\n /*----------------------- Push the App Registrations lead data on CRM tool --------------------*/\n useEffect(() => {\n if (questLoading === false && infoLoading === false) {\n if (usertype === \"NewUser\") {\n setNewUserAlert(true);\n pushDataToCRM();\n dispatch(questActions.setUserType(\"ExistingUser\"));\n }\n }\n }, [questLoading, infoLoading]);\n\n useEffect(() => {\n if (goCoderInfo === undefined || Object.keys(goCoderInfo).length === 0) {\n setGoCoderDialog(true);\n }\n }, [goCoderInfo, userInfo]);\n\n const pushDataToCRM = () => {\n const params = {\n phone: userInfo.userName,\n email: \"\",\n name: userInfo.firstName,\n agent_centre: \"op\",\n campaign: \"App Registration\",\n source: \"Live Lead\",\n product_name: quest.questName,\n extra: \"\",\n };\n\n //axios.get('https://lms.obliquepyramid.com/user_tracking/insert_leads/no_validation.php', { params })\n axiosConfig()\n .get(\"/QuestUser/SetCRMData\", {\n params: {\n phone: userInfo.userName,\n name: userInfo.firstName,\n product_name: quest.questName,\n },\n })\n .then(function (response) {\n console.log(JSON.stringify(response.data));\n })\n .catch(function (error) {\n console.log(error);\n });\n };\n\n /*----------------------- Zoom -------------------*/\n useEffect(() => {\n if (\n typeof window.Android !== \"undefined\" &&\n typeof window.Android.setWebViewZoom !== \"undefined\"\n ) {\n console.log(\"Calling Zoom\");\n window.Android.setWebViewZoom(false);\n } else if (\n typeof window.flutter_inappwebview !== \"undefined\" &&\n typeof window.flutter_inappwebview.setWebViewZoom !== \"undefined\"\n ) {\n window.flutter_inappwebview.callHandler(\"setWebViewZoom\", false, \"\");\n }\n }, []);\n\n /*----------------------- Open URL --------------------*/\n const onOpenURL = async () => {\n //setLoadingSpinner(true)\n await axiosConfig()\n .get(\"/QuestUser/GetNexoolToken\", {\n params: {\n UserId: userInfo.userId,\n QuestId: quest.questId,\n },\n })\n .then((response) => {\n if (typeof window.Android !== \"undefined\") {\n if (typeof window.Android.setWebViewZoom !== \"undefined\") {\n console.log(\"Calling Zoom\");\n window.Android.setWebViewZoom(true);\n }\n var w = window.open(\n `${NexoolURL}?token=${response.data.token}&lastUrl=${LastUrl}`,\n \"_self\"\n );\n } else if (typeof openNewUrl !== \"undefined\") {\n var w = window.open(\n `${NexoolURL}?token=${response.data.token}&lastUrl=${LastUrl}`,\n \"_self\"\n );\n } else if (typeof window.flutter_inappwebview !== \"undefined\") {\n var w = window.open(\n `${NexoolURL}?token=${response.data.token}&lastUrl=${LastUrl}`,\n \"_self\"\n );\n } else {\n var w = window.open(\n `${NexoolURL}?token=${response.data.token}&lastUrl=${LastUrl}`,\n \"_self\"\n );\n }\n });\n };\n\n // handle click tests\n const onClickTest = () => {\n props.history.push(\"/assessment-dashboard\");\n };\n\n const onClickGoCoderActionInstruction = async (type) => {\n const formData = new FormData();\n formData.append(\"user_id\", userInfo.userId);\n formData.append(\"Grade\", \"-\");\n formData.append(\"enabled\", 1);\n\n formData.append(\"isActive\", true);\n if (type === \"yes\") {\n formData.append(\"opted\", 1);\n } else {\n formData.append(\"opted\", 0);\n }\n\n await axiosConfig(serverDjangoURL)\n .post(\"api/gocoderz_prompt/\", formData, {\n headers: {\n \"Content-Type\": \"multipart/form-data\",\n },\n })\n .then((response) => {\n dispatch(questActions.setGoCoderPrompt(response.data));\n setGoCoderDialog(false);\n })\n .catch((error) => {\n if (error.response.data) {\n setGoCoderDialog(false);\n console.log(error.response.data?.error);\n }\n });\n };\n\n return (\n \n {/*-----Dialog----- */}\n \n setGoCoderDialog(false)}\n onClickAction={onClickGoCoderActionInstruction}\n />\n \n \n \n \n\n {/*-----Dialog Quest----- */}\n \n \n \n\n {/* { }}\n action={[\n { text: 'OK', onPress: () => setNewUserAlert(false) }\n ]}\n /> */}\n\n {userquest.questList.length === 0 ? (\n
\n \n Quest assign\n Your next year's quest will be assigned soon.\n \n
\n ) : null}\n\n Loading...}>\n {\n sm ? (\n // mobile\n ) : (\n \n ) //web\n }\n \n
\n );\n};\n\nexport default Main;\n","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALQAAAC0CAYAAAA9zQYyAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7tnQd0VMX+x793N5uekIQECC0kgEBClxpEQIIUfVgpKj6K5SlFaRZEkaIoKEVQ8S+KIuJDfAoKCBYEQpVeQw8EQkghkJ7N7t6d/7m72WzfvbM7CSHOPcdzMHfme2e+88kvc6ddAfy6rQ50Ck1SCwL8TIUghOw/WLC1620t1B38cOEOLnuNKDoHmm0zcqDZ+kmtxoGmtsxlBg40Wz+p1TjQ1JZxoNlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9ZNHaLZ+UqtxoKkt4xGarWVs1TjQbP3kEZqtn9RqHGhqy3iEZmsZWzUONFs/eYRm6ye1Ggea2jIeodlaxlaNA83WTx6h2fpJrcaBpraMR2i2lrFV40Cz9fOOjdBlSzEin2CwjkBT/2WMYGtL1alxoNl6fUcBTbYhWPTBEPEglqAMwTcFoLQYpXGzEcjWlqpT40Cz9braA00IFLpkJAkCngbBIxAQJP4NQATylcCtDJDIuxFWewQK2FpTNWocaLY+V2ugyU7cLRK8DyDJstr6IwApBQp9gBvXgLCmeLneeCxha03VqHGg2fpcLYEmO3GXqMccCBgCwK6M4ikA+UCxD5B9DQhtiC31p2AgW2uqRo0Dzdbnagc0SUYPkeBHCKjrrKr6swDJBUpVQGY6EBCBzJi3EM3WmqpR40Cz9bnaAE0IlPqdmE4IZkCA0lU19RcAkg1olUB6BqBUQd9sHnwEAUTKN7pncNSDg4aGPDp4tE4jKEIVghAKCL5GTaLxCQ86JtRrV8zWSs/UONCe+eYsV7UAmuxCiKjHdwAelFM9/UWAZAGiArhy3ZjjQkDr5BNXgxrm5uQ0Kiq8pXpkyDPoc/+jTuUIQYoAcgSC4pAA/SGfiOBDtwNyDrScFpef5rYDLfWXdQS/CEALucUmlwD9dYAQ4HK2MddF0RcbDgVVSLSM74Cxk96RK2mM3QQpUJD1vnrVUiGhSyZVZg8Tc6A9NM5JttsKNNmJdiLBNgDhNNXSXwZIhjFHWi6g1wElAQp8vqNWhYxK5YsFn66jkbVNu5IoFAv9WnY77o2Iu7wcaHcO0d2/bUB7CrNUPfEigCxjRdMLAG0pIAQKWLQ9zKr24ye/i7tatadzxCY1IdgiQJjpm9BdGv1mfnGg2Vp6W4Am29FdVGATbWQ2VV1/HiA5xv/LKAHKCo3//iolFPlF5vfJwY+NQtIAaeTP60tPQD70beX3piB00nqtZiHAgWbppoMxXrby9mrkb9QW1TgKAQ09fZZp2E7Kf10NqPONSgeL/LErJaBCtktiX4wYPdnTxzgoPDmmEpRDhPhu51mJcqBZOWnUqdIITbbBR6dAsiCguzfVEFMA5BkVsrRAyU3jv3N9fbBqV0iFdJO4lpg8bYE3j3IANYoVCjLSp1WPHz0VPrVl7QA18ZuoVgV2nTLswzBRJ1ZIEUL2HyzY2tVT7X96vioFWpeMFdIwsbem648CpMSokqMHisq7H/ogAUu2mfvRAQGBmLfkB28f5zA/IXjfLyFxGo14ypYt0cUK3V/5/hEtTfnefHQ2RK2OA01jpIu0VQa0dicGCASbWZTbtDjJEJUJUFA+dCcogcX7aoEQRcVj5i/9Af7+lbYYb4VvfOIzcuqU8tuP9+aqwn4r8wnwt0xvC3RkndCszed/qidHk6exd6BKgCYHESiWQOp31ve2EaSxZ/1es4q0hDTfYsT498xApFzxq0gw54NvUCustsPHpl+5iHVrl1vda9AoDgMefBKBQcFyi/qJb3zieFeJp73w8oN7Mgp+6dehudCtb2+rpLZAN4yto1139LvyWU25ReDpTA5UCdC6HfgMAv7DxPZSQDxiVsozLiGtuNKgwrr9ZhhnzP0CkVH2yzxKiosw640xKC2xnwHv1XcwHhtOUVwBE3xbJX7sqH631i0KW7g9PW3LuZxQ6f69LRpg4KP/qkhqC3SjpvXEnw5/68PEq3+gSKUDTXaglQiccLc+Q6735AagP2dOXaAEci2ALgtSYNk28wTLtJkfI7pBrJ38+TPHsXSB4y5ws7ta46VX5sktkiGdQJCkSkjcapmJzJypyGlV+1cIQv/j1wswZ+t5lGhF3N82Fn0e6G9Iagt0/cZR6p9P/Nc8VENVCp640oHWJWMLAGPrMbhIGqC/ZhYyrYk2/UQRACzcYZ54nPrmYjSOaW735NwbWZg3ewLUpfYR2rPhPnJD5a9sLcR1K5/yAXK+XzqPCMKrpoen5hZjzl/nkV2kwYShSajftJkd0P4BqpSdmZsTGFj1j5SoVKBZvgiaWkc8DeCWua2KfIAcC8ClO6vPhiAn3/hXe9qsTxBdv4nDxj12ZC82b1iNjKuXDPf9A4LQtkM3PDr0eZo+tFmbkG2+CT3uk36QvfaTAQCxewmWoJ7wyynER4fh6VHD7YDmw3be/R5WKtC6ZKwBMMy7IlrnthzhkO44Avp4qR/+OmEc2Xj3w1UIqRXBsgjutEaqj574tVSpOSkIgsM13auPXMOWc9m6LW0a+XVdvEtNCFQmUQ60O3td3680oMkeRIhaZEEAsxccUgzoj1lXyBHQeX5KfL3T8A6GhcvWw8enghfv3JKRm4Bk5J86+jcIecRZ8szCMqw5kv753I8X/YfPFMowlSJJpQEt7sDrRMB7FGVxm9SwZNTYO6i4ilVAdrpN1iBg8bZwMFhxZxbWlIFcvQBSYlw4IgSGQGjUDPA1DxGaEmtys0+WXE9v7axCBEitk3KjuTBzpt4S6Psf7Y42XZrf7Nw59qGmnXrucmsIT2DnQKUBrU3GUQFox9Jz/WmAWPSfJe0iFZBjC7QC+ORgLdSKaIgZ71qPM3tUnrwb0O/fClJSZJ09NALKjj2BsEirnxO9viA/5ajxT4SDSxCEEVFDxq2WbpmAHjImCR0fudeQ2kcAqeOnfyK+yz3fe1Tef3CmSgGa7EFLUQfp9Y3ZRURAfwCA3lrStFHW9kE7bgSChPXBmBene1cGTRn029fbw1yuKgQGQ9H7YbtIXXz1MrT55YtMLEtASEZUndwYoc9Mw3y3CegP1r8FndLcNZKgbhzkHxvXsWOadxX4Z+WuFKC1OzBTEPA2SyulTbHSKjvbyxnQ1xQqlNYbi/sf8O6dlFw8Cf0J10uhFW26Qmhq3cPQlRSVFKWes5tzF4ApUUPHLzTVwwT0extm29Ut0pesb9+th9O+OEt/a4pW5QCdjH0CwHTFmDSZIk2q2AHtqA8NoDAyHGVN30GXth28aiv9vj9AMq+41BAaN4eio7G7YHGR/NPHBSKaFx5JxRL8AhpEPfRM+Qpuc4Set2EW9DaLH4N9kN8tMdF614JXtan5mZkDTc7DT8xAHgRYLcLx1krb4TqTnsM+tHTTT4Hed1/Cqphc9ApWe/x4WUDXawxFt352z1BfT4c6t3zllGHPIllUd9gEwwLt1MOHYwq1ZV+dPX6pV076DUVC73ZWXQ6TWNK9iczbyGMz7oCMzM3S7kRvwbhPkN2VDYgXHMsV+wLZVx3fG9F5Ew4pOuI/tQswL/oWAhTGDvj1jDRcPH8K9/Qa5LaM5Mxh6M9YLB5xkEPRsgOElh3t7miL8vTFl1Mrlv4JerSIGj7eMHGfvHO3TkOk9YGuLw60O4es7zMHWtyBqUTAB3TFcJ1alMaenZyiYTv1bam0Jv55zAyZZfhRjEqL1TE5qJdzEp8smI7S0mI8Ouw59E562PXDNWUQ/1gLaDWO06l8oew31OHwHfR6XV7KUdM4/KE6Q8d3kkRSDuyZmFGKRe484l0Odw7Z32cOtHYHFgsCXqYviuMcpBDQn3CuJh3YeNNicZJlysuNW2NA9B8VP1IQgnbHv0Xn3QugEI2AyoGa3LgO/d9/2kOt8oWiaxKESOeHNhVePAtRWi9CML7OsPGfSM+8eHDnPZdKlDvdeVTXD1+26Zr4rLt0/L7ZAeZA65KxHsBDrEzWnwGIg9Evk/4tAchzcoKGrlYgWreUtohbX7VuXUK/LZMRecM4bDL0qXG4p7eb7oc0sZJ6ChLc0iVBLMQlOI7MFo8zDN/l5ep9dcrIsKfGVoyiu+pyqKQDoESNulefPnzVHSVIzIFmOaFCigC9m1MxLHes2NVdAEbdcxz7NFF2txR6HTocXI67D3wGJRExdtIctPDyyANH3qtzsopLs67tqzt0vNUJqof37DlyUwfDGQu6onwcP30Rx89dwdkr5t/Op3q17Tnx9al8xpACauZA63bgOgQw2UIkSl2NigEux7XKFoFiB8N5ptTalv/CiNREHGs/EhDsqxueewH9tkxCQ3UWpKWmjjYDUPhpl1RXVHCxMO38wrpDJnxqefPQ3l2Tcm4VLlz8zUbk5juuZKfmDS8uWzK3mTfP/6flrQygpSE78wp7Tx3NAwy7u91cmWVAafkOcEdJs3188N2eEFxr1B1/9puP0iDH27G67lmEARlbMHX6Ivj5ef+XfmexPzYVBGBXoV/hcbXvfrWoeh5P1U21LOO9D43Rl2p0FW1QLzwY9SJCEB0eiugI4+71FwZ0jhVadb/szgd+3+hAZQCthgD7FTuUjhu2WZW6z2R50Iyj1GKQgKXlO8FLAyKwrd97uBLT06Fw3cxjmHJzEyYOf8L9g21S5OiU2FgQiC0FAfizKACFevNGXWNScgXD68dYZnvvnXk7Sst093ZsGo32zRqgfjnElmkIIbP8EnrMpC7QPzQDe6CTjUfaenPZbrNypZWeD2hdzJsIKmDxnjAQYq7qiXZPY1+PyRCV9r93Pjo1Xgm4iJmtAl3+tkuVPFDih80FAdhSEIjDaj85Fe+C4dHSihTDpTm1uz0EweUgt3QepV98ov0eMm8MrsF52QO9A15FaKIDpE9OQOaBW6bDGl210carQbhw3Xoj9c3azfH7wMXIC3fMSmJACb5pkovGKvPU9S1RiT8LA7AhPwB/FAUgV3Q7L2JRLFICv4AGeCTcqoN08++/SHCI60lVlSDwbofMX0L2QCdD6u9Z/WmVWRZDMstz6+Tku1Sxg895atujdk0ppQi9u+frSGnjeAFTsEKPd6LzUCgKhki8p8TT2XySB0Hxbwyrt8G2lD9/+Ik4cFAH2/6JVTJBEPqoWnXfLscPmjRzZr07t6xM36JeRPjk8VPH14hVfcyB1nqxMEla6yyteZZ76RTA1fIDz13lKQ1U4P+2G99TO3a+F/0GDoF0/kZ21jWcP30MX5/OwH/vfhUaf+/fZU3lSPDXICm4FK38tL+9cL31Ixgq2L0RaE/v7X34UOrWDh1jXQLNuh+94J35w/46efnb7Hxpvw9Qp1awrl/7uD41YYiQOdC6ZGwE8IBcKE3pDF2Nw9KgrPycZT5Ahs0GWUe5FYHAwu3hGDF6ErokWg0HG5JLO7/nLJiNVZ1eQ2b9u+UXwCJlHaWIpJASJIWo0T+0FFFK43l1AsEbqoREq507ZO0T92jzz64jkR0ihbihgMp8Hp+jh7ME+uMPP47ZfDDlgglm0/NaNIjM+/aLhVTndHtkVCVnYg60p1Pftru55dTb2VpoR3n3qwZh+Kg3ncoeP7IXy5fNxZFOz+Fgl3HQK1xvhfQX9LgnWI1+wWokhZSijb/jtR4KgTxuOtiRbHomRpN1Zh2yd5vXtKqkrVyDgBZjnILNEuiZM975YtOBcw6PL6sJEznMgRaT8QIBlskBsiI62xweIzevdFLBTRkRWtIL/9cKhNerOCPR4SNmTRuDjIJirBq9DTpf8+ctDJEWQFv/MvQNKcX9IWr0CCqDn2CzfcaBKiGKBL+EbimaNY9PJOmbF0BX7Lh7ERgNof10INJ+1R5LoMe8+Mr1E5ezHE58Pd4jYdJrb762WK7/1TEdc6DJLnQT9bA4fc51tQ3T2yftt1bJMStHBIpczBKaNHyC6qLxk+4/T/H15/PwmbIDDne2Pgasq38J1je9gdrl3Qg5ZTOkIdCq4rv7lX3b/yfh2u9ulvUZVQ1QN7busbF8KRw0/EVtTr70t83+6teh2fq5c2fc0Ttk2AO9DWGi0vIoGOfNT9TlazUo+s2WaumFgLb8WF1XkAXF3IO69893y+Ga/63EmCav2EXn+fnrMLGnB5+2KLws4uRHt0jO39a7aN2UxBZqucN2ulO7H9ID0i+ONL5tLDCRRliEowCOCgLWJ07+zOloCQfaScPIWaBkeAmUFh55uJlELwBpMr9TFdxsAOr0meEW6Hd3ncasUOtVd3Uyj+G57ZPw9twv3ea3S5C5C2R/xUlgVPmFFs8A0n9Avm+8621YupQ9D4vAIgFwfESUxZPvn74CxWrH/X3e5XAG9A68Lwh4zVULilI3w4vPzWtUwDXb4wucPDCwUTfUG1CxL9VpsbqfjsIhrfUxug+sfxaNru4xrMZrGW/fv3VVR5L8HJAnfcfZs0vo9TVQ666VvvGJoxwpkEtHwrQlJYsgCA7vO8rz+orN2HnK8ZAzB9oZ0G62YVl+I8WzpgYKlcANJwv7bTUFVQCajPgVgo/zJSZp+cVonma9c1uKzo/+YFzX0bn7fXh6zBT5xS1OB9k6VH56RykDo6HsPH+ET/enDWd42F6aU7u/ooFZyv/lbwex4veDDsvFRzlcNJduB1IhwGpemegBIn3BKte7dpZy39ADheWfopCjFtbu34jo8oLTpE+mhuN/RdYbrB9Y/xwaXd1tyBMcEoa5Cx1y5Vjz+Acgl92/iLqM8P5Rov/EHIcvcGWnds8UBIH6qIhf95/Bu9877kYf2PwN83cqOW3DMk2lVcD2bA7DQTHSclA365vlVk7uC2GFnqBA3b5vIyjWfnf2R/vP4xX/+60ebRmdTTemTFuImDj3H7wlYhmwZSAgeviCYHpg3PCf/YausRsd+eDdD4bqiP77Xq1j0aFZfSgVLicarep1+MI1TFhmNwOPmKha6v99s9T7dbNyG7CS0lUa0GQvmohaSOt/BWgAUepKylgOKqee0srMNBlT3vZaAv5WJKHJXd1RKywSV9LO4+jZM5jVZzlEm+7IoJ+fR+Mr1ptFBjz4BAY9NMJtEUn678Bh71Z8Ev8o0a/54KbCA19ad3iHDFE+Gdqg4HzGTcMhNtKS03H/6o7ebePclktK4AzoHvFNji5eMNu7Q0xklaByE1Ua0FKxpcPOSQn66yWYZa6ek1NdmhlCWz3Lo3ale3t7TMGxjtYTZ7VzTmPImsfsihIT2wJT3nD9ckl0xYD0Mljk3Zp8n7tGfqh8dOUrtoV4btxrh46mXrd7O+2ZEIO3nuyLIH/Xn2dx1uV4oPNdX86c/eYdvyG3coH+DQPFY/jV9jw6OdC6SkPbf7bUyvNX4utk4zmKav9aWDV6u310/uU/aJxmvylboVRiwcc/QenjYlr85Ecgqd8D/lGAmqKTb1FIIaoLSM5+IDimVAhtuu/rmw//duBCRjQhZPCx1OtO10ZHh4fgg2cHIrae8/Ownb0UjuzbpUlNWHFXqUBLbaRZjmySC/tdql5QnSatynNyTIY7WRIEfLTNuAZnb+JUHLt7jFUWZ9HZlGjytA/RJK6Vw8eQ4qvA1vKlqBFtgZv0370vDuuFoLwdFfrqkDZI2ii/J1A7JBArpw5BeLDj7rCjYbs2Tepmrlj2gfOzGNyZWo3uVzrQZD36a85hC6soXaYCMmSOPzvyWTqraOmBMBT5hDmMzgN/eQExaclOm+ix4c+jV18npzTsHguSK03KlV/h8cAtGRsjy5NnC20x/Ss/LB9VsakFv2ofx9w9dN9ZbNkoEl9OfNz8W2FRm/Gf/ty6uExr9SemVaPIZW/OeIPqI6LViGGrolQ60IYovQqHyTXIDzMu3HJ1Dodck6Wjdj+tN506Okv6nbr2xr+ftevaAkfnglyRVs5aXKpgICTObaQmPkHYmdUDb3yuR6vo/AqgiU8wknYORZmGbm1AZGiguPn7z5h9OUGur9UhXZUATbYiRnsSF0kpaPYsOfTnSr73o2FXfQIxoF2KXd954IYXEXPZYWCrKEv9Bk3w+kzDAUgVF7m4Bji1xHl7SpFa1AIFNt+894/Czoz2WPOXD46dN741WwJ93u8+jP69ITUn7ZtGZyz/eF4D6ow1IEOVAC35pP0B7+svup4Od+enxge4JnO5qCutooha6NT8jFUSd31nU2LphXDRsp/NeXP268neifIHgoMaG/MWG4/o7TP/PmhFc3ZLoF8+PxKHMuj3HPdt3+yX99+bwez0KnftUp3uVxnQUqU1q3GRXIW8AVMHLtl+BtljIwOUaNnWuiM+YONYNLkkb9ve7A9WIiwsEqTk+hlsHdoS0qyRh5czoLOCe+KxTZ5t9n6wc8tRb89+Y6WHRbqjs1Up0GQ3mmpP4AzJo/8ylhSnrtwE9IzGs5/svAmHFcbhXLnR2dTS0ldmmzVPWK26vGK65tKfZ1CU5unuWacR+vUrz2DXJfrK+igV0Fz39T106HP6zHc0ysbCVynQ0gPJJnTSnMPfKIP8P9MASlRAlhejG7ZttTb+WcwImWP4cf+N4xF76S/ZzTnooRE/D351qWFKumzt8GHkyoY1gjSh4sHlKEK/91IgHt7g2cb51k3qZn5VQ4bgPLCz6oGWCqlbi1G6y/hKxg6mijpl6YASBouaTIKXGrfBwOjfEX7zAoatHizLO18/f9LsrtYLX/rsj6mWGbyB2hHQcQPiseksfd9ZKlNNmfGT1SAOElV5hDaVQfMtxpBMfAGd+18quccV0JigCwtE6xYX0X/TBMSmWn1z3qFMo5hmufUjovqM/vhXh6dVewq1LdAtGmhwNsbtOn2HZVQqFegTG/HfIN+yaW8u+KRGnLNB06a3pcthWUDNTxhDLuMLaFxDzexl0PLhAnB/018x8LunXD7cPyBAbNOu62fPLFg33p25nkBtC3RQhC+KW1Lt2KooVpuYKP3+08ZPYNzdKPxC84jg0W8uWfKPOo73tkVoUyuUrcfjuIzvoXbcp5a2Wl3JgTcDCU453Khshwt7HX/hykflS2LjWmwovHll5Mz1l12cb2otTwu1LdAkSAWhnWcrBRpFBOFcunlf2uTeLUseTGg4rs7QcV+7+2WsKfdvO9CSkWQjkjRp2IxC+9EPmp0ptI2SpVLhv7utt1yFhdcujG4Y831mVuHr763b71GvnQZqVkBLy0gvppu38AT5+mDDc70MlggCJkUNGX9HH08gt22rBdAGqHciTpOGv3ANMaZjPKXofFX64GYlDUCJwQKW7YjSR9aNzo2Kqr+vuDBvwaur9rqeKpTprOFQGRlDeqyAbhwZjLNXzIvER3aOxcgu5iF/QSB9ooZMkDfQLrOO1TFZtQHaADWBUrcO75KreIWUQsFi3YYr05Uq6JvP93463tkzJKjL0g/sE24dd/pFAxZAS4uRjpy9VFEMKTp/9+9EhPiZP7UMYHudoeP7VEcIWZapWgFtqhjZhfplZ7A57QzaejEJJ8un2s3RO2osmERlZw9Ur+yzXbi+zfj33+byFmjp1P+cW7dQVGLe7vXqfa0woFV9u2epRGVs+BMverfzQJarty9RtQTaZEfeCiQV3sSq4gzUk3OauCc2hsVgeb2JeN6TvDR5DP3qjK2rBXWO1QKtXvOTIFrMnNO8FAb7+xq+t1hUaoa5R2wU5gxq67BoCkIeiRw2QfpKWY29qjXQJtfzv8MThdfxUdE1RLEGO7AuUhq/joSqaGFDF+RG6krk7O8lzSwWBSWg/1vR0gmlFZdcoIP8VQj2VeBypvkstLjawVj0SEfbroZZm5BZdYdN8G6zY1UY5cUz7gigTfUr+hFJRZmYW5KDTpp89xMycnxRBUPddA6qdLezdJxuWf6Fryfui2968Mdr1EC3j62XcSL1an3LyFw3xB8LH+6I6FDnVZEOfeRAy6GiitOQgwjMPY6RJdkYrS1CvLYY1keFUpYnqg0a1x4DJ18MpxSjSL58yfKGn89YmwZCKta1OIvQ0lEF8Y2j0to0qTt10mtT//fWuHETT2UVzDyXU1TLXWQ2FYl3OSga53YmJdvgfysDj+k16K8rQTu9DtF6LSJ0aih16vINAQRQqiAKKmgVSqiVfrihUCFNUOFMrSjMCX4SMj5uwb6WnUKT1ILFV8NCwwOzBr3Ya292XlEtvUgUCgEFQb4+u9ZNIay+AAACoElEQVTsPPZpyvYfimxLMPOll5aM6Bw7MtRPZdz56+L6Jwzd3VFdDncNdifetwWaELL/YMHWrjR1yV77SXuAuPyalqTHRzloXOVpPXKABdA5PyztTYiwzV0B6gwdX+MDWI2voLtGvt33WQA966WX1sfVDnkoMS7SboSjsEyLPak3sPJAKkSi1zWtHXKiSVjgSzV10RIH+jYTzQLosaOf356cmmOYuGnfwPrAyaPXHK+rMqzGqxuQVNOWmXKgaxjQNNVpHB5Q2ikmYvTsjz7+niZfdU7Lgb7NrcMiQr8w+rnvdqXeoP9AOYCoYF9d35aRzWpKpOZA1wCgZ7w8ftiWlMw1JRrPdp/3vavO+o+W/98d/bEgUzNyoGsA0FIV3pkyLibjpnblwfSbvWjBvjcuasenX33e+zZbweTxHGgmNnouwqLLYfv0114Y+17arZJRJzPznS5bNeUJ9FVicKv6PWvKqAcH2nMWmeSsDKAtCyZ1R0rU+n4lGl0z6eeZhaWGz71FBPldCvJVXo4K9ZlYU/rPUr040Eyw9FyksoH2vGR3Zk4O9G1uNw402wbgQLP1k1qNA01tmcsMHGi2flKrcaCpLeNAs7WMrRoHmq2fPEKz9ZNajQNNbRmP0GwtY6vGgWbrJ4/QbP2kVuNAU1vGIzRby9iqcaDZ+skjNFs/qdU40NSW8QjN1jK2ahxotn7yCM3WT2o1DjS1ZTxCs7WMrRoHmq2fPEKz9ZNajQNNbRmP0GwtY6vGgWbrJ4/QbP2kVuNAU1vGIzRby9iqcaDZ+skjNFs/qdU40NSW8QjN1jK2ahxotn7yCM3WT2o1DjS1ZTxCs7WMrRoHmq2fPEKz9ZNajQNNbRmP0GwtY6vGgWbrJ4/QbP2kVuNAU1vmMsP/A6OH2Idu33+hAAAAAElFTkSuQmCC\"","import React, { useState } from \"react\";\n//redux\nimport { connect } from 'react-redux'\n\n// @material-ui/core\nimport DialogContentText from '@material-ui/core/DialogContentText'\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport { Typography } from \"@material-ui/core\";\nimport Dialog from 'components/CustomComponents/Dialog/Dialog'\n\n// @material-ui/icons\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Box from '@material-ui/core/Box';\n\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport Slide from '@material-ui/core/Slide';\nimport imagine1 from '../../../assets/img/GoCoderzPopup-01.jpg'\nimport { makeStyles } from '@material-ui/core/styles';\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\n\n\nconst useStyles = makeStyles({\n iconButton: {\n color:\"#dad2d2\"\n },\n modalDialog:{\n width:'95%',\n textAlign:'center',\n },\n modalContent:{\n padding:'0',\n }\n});\n\nexport const GoCoderInstruction = (props) => {\n const [showThanksModal,setShowThanksModal] = useState(false)\n const classes = useStyles();\n if(showThanksModal){\n return <>\n \n \n Join the Go Coderz Coding Competition!\n\n theme.palette.grey[500],\n }}\n >\n \n \n \n \n \n \n Thank you for participating in gocoderz!\n \n \n \n \n \n \n \n \n \n }\n return (\n \n \n Go Coderz - National Coding Competition!\n\n \n \n \n \n \n \n {/* */}\n \"...\"\n {/* Do you want to participate in a national coding competition organized with the World Book of Records (London, UK)? It features coding challenges to assess problem-solving, logical thinking, and programming skills, promoting innovation and supporting young coding talents. This is your chance to showcase your abilities and compete nationally! */}\n \n {/* */}\n \n \n \n \n \n \n )\n}\n\nconst mapStateToProps = (state) => ({})\n\nconst mapDispatchToProps = {}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(GoCoderInstruction)","module.exports = __webpack_public_path__ + \"static/media/GoCoderzPopup-01.ae3bcad1.jpg\";","module.exports = \"data:image/png;base64,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\"","import { \n roseColor\n } from \"assets/jss/material-dashboard-react.js\";\n\n\n\nconst progressStyles = (theme) => ({\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: roseColor[0],\n },\n});\n\nexport default progressStyles;","import React from 'react'\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\"\n\n// material-ui components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport CircularProgress from '@material-ui/core/CircularProgress';\n\nimport styles from \"assets/jss/components/customcomponents/progressStyle\";\n\nconst useStyles = makeStyles(styles);\n\nconst Progress = (props) => {\n const classes = useStyles();\n const {\n open,\n handleClose,\n ...rest\n } = props;\n return (\n
Loading...
\n {/* */}\n
)\n}\n\nProgress.propTypes = {\n open: PropTypes.bool,\n handleClose: PropTypes.func\n};\n\nexport default Progress;","module.exports = __webpack_public_path__ + \"static/media/Questlogoheader.67d646c9.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA8CAYAAAAt3km7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANuSURBVHgB7ZrNaxNBFMDfbGKN0oIHm6KCVBG9WhAkJ+1/IHgS8eBJvPXmwX/Am3gQjwriRRD1JFKhtoe2h2i/pPGzxiJKv9K0TdNkv57z0lLTbbab2exsZjU/SMLO7IT98d7M7puEAefB84FuNPGhjXiWARxKdh6GM6dPwYFEAlQAEWCpiNvHDNk4MryXOh5/5DaGkZRl2GMkVN0Rj8chdf6cMnI5Lmajs5VlYZ/WmzrCPx1oaNl3nVKEaZrwYfojqEJbrFYrdoNhD4x9x13Xr6ENl1y+C9bWCqAKcc2tB7uLmtnnbHU9naCoKQNz79IYu7CrDSLCPo3t1X3R2RAZMcbEzo+OGIjRiljUaIk1G0Sx8z0z98uSJfiVcqDHqVzR/VL4c+MOl8hEzLKFTg9f7MfMt8pLFBTMxTiESLFQgIl0ujIBOpNdcLC9ve6xpsoRG3rTD4ahg6HrkB4dFhqrbCpmJidgff1vtbAwNwdfP2XqHm+oKJbP5WB6anJXO6UlCXpBK6ItuDZLF6N5NTo06NqfHhmupOZe6D7uONLFKFLVKeikyPsyNaJZjeGjLAz1Bv3syeMdx5evXqtrXO39jp1E7gZdMlF4fhHKixk+dyeUFqNIlS3whdJiRd3/9FZWjKJVamCTTFmxRqJFKFmPedVetYjEct9otIjAypauX3cgZi5vHy8mb4CeOAki0Pjk7G2wS/PbbZ+P3QcjngRRpEWsY7UfROnIvwJbX4YgkCa2vzQDbfxVLxStRO41n2AGBIHUOSYStfaFp4DmOgSF1K0BitrR2Vue56GxAnZ5EYKk6asiWqXApYjmitllvgL+BhmEuktVTSVSJIWCmxl10hQxGXPKSehiWF7iK3oeZBOemG3yKM3zFNyAMAhFrJJ6ek7afKqFXDFa9XjqhRWlauSIUdrxCKG5Bs0i0Hpss+pF2DDEf6hrFGc91nDEcGvDpcyFDJ8bLzLwJWbbJIN863nz5x0Mvcb2xlOMokDJaPE3a+tYRREnnmIrpQhY1KD1d4io0RKLGv+smOeTx8isueey+H50EFTk/01FHi75VaEEPMV4ro679eWX5Zb3/sGX3qloxa7XipplmvAzK/6fKNnQtWpWrM9TLHWCZZkV6+EDXtAxCRVW85CZegd6uQSqQEKMsbcxS+u5eaU3+wfxO5K7sBYakgAAAABJRU5ErkJggg==\"","import React, { Component } from 'react'\nimport { findDOMNode } from 'react-dom'\nimport { hot } from 'react-hot-loader'\nimport screenfull from 'screenfull'\nimport { withStyles } from '@material-ui/styles'\nimport FullscreenIcon from '@material-ui/icons/Fullscreen';\nimport FullscreenExit from '@material-ui/icons/FullscreenExit';\nimport PlayArrowRoundedIcon from '@material-ui/icons/PlayArrowRounded';\nimport PauseRoundedIcon from '@material-ui/icons/PauseRounded';\n// import VolumeOffRoundedIcon from '@material-ui/icons/VolumeOffRounded';\n// import VolumeUpRoundedIcon from '@material-ui/icons/VolumeUpRounded';\nimport DirectionsRunIcon from '@material-ui/icons/DirectionsRun';\nimport DirectionsWalkIcon from '@material-ui/icons/DirectionsWalk';\nimport DirectionsBikeIcon from '@material-ui/icons/DirectionsBike';\nimport IconButton from '@material-ui/core/IconButton';\nimport ReplayIcon from '@material-ui/icons/Replay10';\nimport ForwardIcon from '@material-ui/icons/Forward10';\n\n//Redux\nimport { connect } from 'react-redux'\n\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n// import './reset.css'\nimport './style/defaults.css'\nimport './style/range.css'\nimport './style/ckin.css'\nimport style from './style/style'\n\n//config\nimport { serverURL, } from 'variables/ServerURL'\n//axios\nimport { Token } from \"util/commonfunctions\";\n\n\n\nimport ReactPlayer from 'react-player'\nimport Duration from './Duration'\n\nimport { CURRENT_DATE_TIME } from \"variables/general.js\";\nimport axiosConfig from 'util/axios'\n\n\n\nclass VideoPalyer extends Component {\n constructor(props) {\n super(props);\n this.mousetrailRef = React.createRef();\n this.mouseConlRef = React.createRef();\n }\n state = {\n pip: false,\n counter: 3,\n playing: false,\n controls: false,\n light: false,\n volume: 1,\n muted: false,\n played: 0,\n loaded: 0,\n ended: false,\n duration: 0,\n playbackRate: 1.0,\n loop: false,\n auth: true,\n tokan: Token(),\n Landscape: false,\n loading: true,\n markers: []\n }\n\n\n componentDidUpdate(nextProps) {\n const { content } = this.props\n if (nextProps.content.fileUrl !== content.fileUrl) {\n this.setState({ loading: true,vtoken:null })\n if (nextProps.content.accessDuration > 1 && this.state.ended === false) {\n this.onPostContentAccess(nextProps.content)\n }\n if (this.props.isWeb) {\n //this.mousetrailRef.current.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n else\n window.scrollTo({ top: 0, behavior: 'smooth' })\n }\n }\n\n\n componentDidMount() {\n this.timerID = setInterval(this.tick, 1000);\n\n }\n\n\n tick = () => {\n if (this.state.counter == 0)\n clearInterval(this.timerID);\n else\n this.setState({ counter: this.state.counter - 1 });\n };\n\n componentWillUnmount() {\n clearInterval(this.timerID);\n const accessTime = this.state.duration * this.state.played\n if (accessTime > 1) {\n this.onPostContentAccess(this.props.content)\n }\n }\n\n\n onPostContentAccess = (content) => {\n const BODY_DATA = {\n \"missionActivityId\": \"\", // Don't set this\n \"userId\": this.props.userInfo.userId,\n \"locationId\": this.props.userInfo.locationId,\n \"groupId\": this.props.userInfo.groupId,\n \"questId\": this.props.quest.questId,\n \"contentId\": content.contentId,\n \"contentTypeCode\": content.contentTypeCode,\n \"accessDate\": \"\" + this.props.accessDateTime,\n \"accessDuration\": \"\" + content.accessDuration,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n this.props.onPostContentAccess(BODY_DATA, content)\n }\n\n handleReady = () => {\n this.setState({ loading: false, playing: true, ended: false })\n this.props.onPlay(CURRENT_DATE_TIME())\n }\n\n handlePlayPause = () => {\n this.setState({ playing: !this.state.playing })\n clearInterval(this.timerID);\n this.setState({ counter: 3 });\n this.timerID = setInterval(this.tick, 1000);\n }\n\n handleShowHide = async () => {\n clearInterval(this.timerID);\n this.timerID = setInterval(this.tick, 1000);\n if (this.state.counter === 0)\n this.setState({ counter: 3 });\n else\n this.setState({ counter: 0 });\n }\n\n handleStop = () => {\n this.setState({ url: null, playing: false })\n }\n\n\n\n handleToggleLight = () => {\n this.setState({ light: !this.state.light })\n }\n\n handleToggleLoop = () => {\n this.setState({ loop: !this.state.loop })\n }\n\n handleVolumeChange = e => {\n this.setState({ volume: parseFloat(e.target.value) })\n }\n\n handleToggleMuted = () => {\n this.setState({ muted: !this.state.muted, volume: this.state.muted ? 0.2 : 0 })\n }\n\n handleSetPlaybackRate = (value) => {\n this.setState({ playbackRate: parseFloat(value) })\n }\n\n handleTogglePIP = () => {\n this.setState({ pip: !this.state.pip })\n }\n\n handlePlay = () => {\n this.setState({ playing: true })\n }\n\n handleEnablePIP = () => {\n this.setState({ pip: true })\n }\n\n handleDisablePIP = () => {\n this.setState({ pip: false })\n }\n\n handlePause = () => {\n this.setState({ playing: false })\n }\n\n handleSeekMouseDown = e => {\n this.setState({ seeking: true })\n }\n\n handleSeekChange = e => {\n this.setState({ played: parseFloat(e.target.value) })\n }\n\n handleSeekMouseUp = e => {\n this.setState({ seeking: false })\n this.player.seekTo(parseFloat(e.target.value))\n }\n\n handleProgress = state => {\n\n // Update Content\n this.props.updateContentAccessDuration(this.state.duration * state.played)\n\n // We only want to update time slider if we are not currently seeking\n if (!this.state.seeking) {\n this.setState(state)\n }\n }\n\n handleEnded = () => {\n this.setState({ playing: this.state.loop, ended: true })\n this.props.onEnded()\n this.onPostContentAccess(this.props.content)\n }\n\n handleDuration = (duration) => {\n let markers = this.state.markers.map(value => {\n let new_value = { ...value }\n // Is position within range of the duration?\n if (new_value.time <= duration) {\n // Calculate position in percentage and add to the #seekbar.\n let left = (new_value.time / duration) * 100 + '%';\n // Create marker and give it the left value.\n new_value.position = left\n\n }\n return new_value;\n })\n this.setState({ markers, duration })\n }\n\n handleAESencryption =async (xhr, url) => {\n if (url.includes(\"kid\")) {\n url = `${serverURL}QuestContent/GetKey?ContentCode=${this.props.content.contentId}`\n xhr.open('GET', url, true);\n }\n if (url.includes(\"GetKey\")) {\n xhr.setRequestHeader('Authorization', 'Bearer ' + this.state.tokan)\n }\n if (url.includes(\"key_id\")) {\n\n if (this.state.vtoken) {\n xhr.open('GET', url, true);\n xhr.setRequestHeader('Authorization', 'Bearer ' + this.state.vtoken)\n }\n else {\n this.setState({ loading: true})\n await axiosConfig().get('/QuestContent/GetMKIOToken', {\n params: {\n ContentId: this.props.content.contentId,\n }\n }).then(response => {\n this.setState({ vtoken: response.data.token, loading: false })\n }).catch(error=> {\n this.setState({ loading: false})\n console.log(error);\n });\n\n }\n\n\n }\n }\n\n handleClickFullscreen = () => {\n if (typeof window.Android !== 'undefined') {\n window.Android.setDeviceOrientation(1)\n this.props.onChangeOrientation(\"landscape\")\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('setDeviceOrientation', 1, '');\n this.props.onChangeOrientation(\"landscape\")\n }\n else {\n screenfull.request(findDOMNode(this.player))\n }\n }\n\n onBackPressed_Initiate = () => {\n window.Android.setDeviceOrientation(2)\n this.props.onChangeOrientation(\"portrait\")\n }\n handleClickFullscreenExit = () => {\n if (typeof window.Android !== 'undefined') {\n window.Android.setDeviceOrientation(2)\n this.props.onChangeOrientation(\"portrait\")\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('setDeviceOrientation', 2, '');\n this.props.onChangeOrientation(\"portrait\")\n }\n }\n\n\n renderLoadButton = (url, label, auth) => {\n return (\n \n )\n }\n\n ref = player => {\n this.player = player\n }\n\n handleForward = () => {\n if ((this.state.duration * this.state.played) > (this.state.duration - 10)) {\n this.setState((state, props) => ({ played: 0.999999 }))\n } else {\n this.setState((state, props) => ({\n played: state.played + (10 / this.state.duration)\n }))\n this.player.seekTo(parseFloat(this.state.played + (10 / this.state.duration)))\n }\n }\n\n handleReplay = () => {\n if ((this.state.duration * this.state.played) >= 10) {\n this.setState((state, props) => ({\n played: state.played - (10 / this.state.duration)\n }))\n this.player.seekTo(parseFloat(this.state.played - (10 / this.state.duration)))\n } else {\n this.setState((state, props) => ({\n played: 0\n }))\n }\n }\n\n render() {\n // const {loaded,auth, tokan }= this.state\n const { playing, controls, light, volume, muted, loop, played, duration, playbackRate, pip, loading, counter } = this.state\n // const SEPARATOR = ' · '\n const { classes } = this.props\n\n return (\n
\n
\n
\n await this.handleAESencryption(xhr, url)\n },\n }\n }}\n playIcon={}\n pip={pip}\n playing={playing}\n controls={controls}\n light={light}\n loop={loop}\n playbackRate={playbackRate}\n volume={volume}\n muted={muted}\n onReady={this.handleReady}\n onPlay={this.handlePlay}\n onEnablePIP={this.handleEnablePIP}\n onDisablePIP={this.handleDisablePIP}\n onPause={this.handlePause}\n onEnded={this.handleEnded}\n onError={e => console.log('onError', e)}\n onProgress={this.handleProgress}\n onDuration={this.handleDuration}\n playsinline={true}\n />\n\n \n {playing ? \n : }\n \n\n \n \n \n\n \n \n \n\n {loading && this.props.isVideo ? (\n
\n
Loading...
\n
)\n : null}\n\n \n {this.props.userInfo.userName}\n \n\n {!loading\n ?
\n this.handleSetPlaybackRate(1)}>\n \n \n this.handleSetPlaybackRate(1.5)}>\n \n \n this.handleSetPlaybackRate(2)}>\n \n \n
\n : null\n }\n\n\n
\n
\n \n \n\n
\n {this.state.markers.map((val, index) => {\n return (\n
\n \n
\n )\n })}\n
\n
\n\n
\n
\n \n {playing ? \n : }\n \n
\n\n
\n
/
\n
\n\n
\n {\n typeof onRemenberMeClicked === 'undefined' ?\n this.props.orientation === \"portrait\"\n ? \n \n \n : \n \n \n : null\n }\n\n
\n
\n
\n
\n\n
\n\n
\n )\n }\n}\n\n\n\nconst mapStateToProps = state => {\n return {\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateContentAccessDuration: (accessDuration) => dispatch(questActions.updateContentAccessDuration(accessDuration)),\n onPostContentAccess: (accessData, content) => dispatch(questActions.postContentAccess(accessData, content)),//also update content,current_cuntent and quest_progress\n }\n\n}\n\nexport default withStyles(style)(hot(module)(connect(mapStateToProps, mapDispatchToProps)(VideoPalyer)));","\n\nconst style = (theme) => ({\n muiIconButtonRoot: {\n [theme.breakpoints.down('sm')]: {\n padding: 5\n }\n },\n\n muiSvgIconFontSizeLarge: {\n [theme.breakpoints.down('sm')]: {\n fontSize: '1.25rem'\n }\n },\n\n muiSvgIconFontSizeSmall: {\n [theme.breakpoints.down('sm')]: {\n fontSize: '1rem'\n }\n }\n\n})\n\nexport default style;","import React, { useEffect, useRef,useState } from 'react';\nimport { useHistory } from \"react-router-dom\";\n//Redux\nimport { connect, useDispatch, useSelector } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n// import Button from '@material-ui/core/IconButton';\nimport VideoViewer from 'components/Views/ContentViewer/VideoViewer/VideoViewer'\n\n// import TopicCards from 'components/Views/Tasks/Topics/TopicCards'\nimport AutoPlaySwipeableViews from 'components/Views/Tasks/Topics/TaskSwipeableViews'\nimport TopicAccordion from 'components/Views/Tasks/Topics/TopicAccordion'\n\n// style\nimport useStyles from 'assets/jss/components/views/topicsContainerStyle'\nimport { serverDjangoURL } from \"variables/ServerURL\";\nimport axiosConfig from \"util/axios\";\n//Common functions\n// import { clevertapEvents, facebookTracking } from \"util/commonfunctions\";\n\nconst TaskCard = (props) => {\n const { topics } = props\n return (\n
\n \n
\n )\n}\n\nfunction WebTopics(props) {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const elementRef = useRef();\n\n const mission = useSelector(state => state.content.current_mission)\n const userInfo = useSelector(state => state.user.userinfo)\n const [lockDetails, setLockDetails] = useState({\n \"Watch\": true,\n \"Think\": true,\n \"Solve\": true,\n \"Play\": true\n })\n const quest = useSelector(state => state.quest.current_quest)\n const content = useSelector(state => state.content.contentlist);\n const current_content = useSelector(state => state.content.current_content);\n const operation = useSelector(state => state.content.current_operation)\n const questContentsList = useSelector(state => state.content.contentlist.add.questContents.filter((questContent) => (operation.operationId === questContent.operationId) && questContent[\"taskId\"] === undefined))\n const taskList = useSelector(state => state.content.contentlist.add.tasks.filter((task) => operation.operationId === task.operationId))\n\n\n const [isVideo, setIsVideo] = React.useState(false);\n const [ScreenOrientation, setScreenOrientation] = React.useState('portrait')\n\n\n const handleChange = (taskId, panel) => (event, newExpanded) => {\n dispatch(questActions.setExpandedFlag(taskId, newExpanded))\n };\n\n const getContentLockDetails = async() => {\n await axiosConfig(serverDjangoURL).post('api/location/getLocationContentStatus', {\n \"LocationId\":userInfo.locationId\n }).then(async response => {\n\n setLockDetails((prev)=>({...prev,...response?.data?.payload}))\n // await dispatch(setUserInfo(response.data))\n // setMasterClassData(response.data)\n }).catch(error => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n\n\n useEffect(() => {\n getContentLockDetails()\n if (questContentsList.length) {\n // const contentTypeCode = questContentsList[0].contentTypeCode;\n // if (contentTypeCode === '01' || contentTypeCode === '02' || contentTypeCode === '03') {\n // clevertapfacebook(contentTypeCode)\n // dispatch(questActions.setCurrentContent(questContentsList[0]))\n // setIsVideo(true)\n // }\n } else if (taskList.length) {\n dispatch(questActions.setExpandedFlag(taskList[0].taskId, true))\n // const contentList = content.add.questContents.filter(questContent => taskList[0].taskId === questContent.taskId)\n // if (contentList.length) {\n // const contentTypeCode = contentList[0].contentTypeCode;\n // if (contentTypeCode === '01' || contentTypeCode === '02' || contentTypeCode === '03') {\n // clevertapfacebook(contentTypeCode)\n // dispatch(questActions.setCurrentContent(contentList[0]))\n // setIsVideo(true)\n // }\n // }\n }\n // else {\n // dispatch(questActions.setCurrentContent({}))\n // setIsVideo(false)\n // }\n dispatch(questActions.setCurrentContent({}))\n setIsVideo(false)\n }, [operation.operationId])\n\n // const clevertapfacebook = (contentTypeCode) => {\n // //clevertap\n // const eventData = JSON.stringify({\n // 'QuestName': quest.questName,\n // 'MisssionName': mission.missionDisplayName,\n // 'OperationName': operation.operationDisplayName,\n // 'ContentType': contentTypeCode\n // });\n\n // clevertapEvents('ContentView', eventData);\n // //facebook tracking\n // const EventProperty = JSON.stringify({\n // 'fb_content_type': contentTypeCode,\n // 'fb_content_id': mission.missionName,\n // 'fb_currency': ''\n // })\n\n // console.log(EventProperty);\n // facebookTracking('fb_mobile_content_view', EventProperty)\n // }\n\n const handleChangeTask = (contentType) => {\n if (typeof onRemenberMeClicked === 'undefined')\n setIsVideo(contentType)\n else\n history.push('/player')\n elementRef.current.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n\n\n return (\n
\n\n
\n {typeof onRemenberMeClicked === 'undefined' && (current_content.contentTypeCode === '01' || current_content.contentTypeCode === '02' || current_content.contentTypeCode === '03')\n ? \n : null\n }\n
\n\n\n
{/* style={{ height: isVideo ? '35vh' : '45vh' }} */}\n {questContentsList.length\n ? next.isExpanded || boolean, false)}\n onChange={handleChange('', 'panel' + operation.operationId)}\n heading='Introduction'\n lockDetails={lockDetails}\n accordionDetails={\n (handleChangeTask(type))}\n />}\n />\n : null}\n {taskList.length\n ? taskList.map((current_task, indx) =>\n (handleChangeTask(type))}\n key={current_task.taskId}\n task={current_task}\n topics={content.add.questContents.filter((questContent) => current_task.taskId === questContent.taskId)} />}\n />\n ) : null\n }\n\n
\n
\n );\n}\n\n\nexport default WebTopics;\n\n","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/Membership-card.badf1ef3.png\";","module.exports = __webpack_public_path__ + \"static/media/Membership-card-pro.1381848f.png\";","module.exports = __webpack_public_path__ + \"static/media/Review_Assissment.4b514176.png\";","module.exports = __webpack_public_path__ + \"static/media/school_rep.d5e70aed.png\";","import {\n whiteColor,\n primaryColor,\n grayColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst dashboardStyle = {\n infoText: {\n color: primaryColor[4]\n },\n upArrowCardCategory: {\n width: \"16px\",\n height: \"16px\"\n },\n stats: {\n textAlign: 'center'\n },\n taskDiv: {\n padding: '0px 20px 0px 10px',\n borderRightStyle: 'groove',\n borderWidth:1,\n borderRightColor: primaryColor[0]\n },\n timeDiv: {\n padding: '0px 0px 0px 10px',\n },\n\n pageCardBody: {\n minHeight: '100vh'\n },\n gridItemFooter: {\n padding: '0 !important'\n },\n cardMissions: {\n marginBottom: \"0\",\n marginTop: '0'\n },\n cardCategoryWhite: {\n color: \"rgba(\" + hexToRgb(whiteColor) + \",.62)\",\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n marginBottom: \"0\"\n },\n cardTitle: {\n color: grayColor[2],\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardTitleWhite: {\n color: whiteColor,\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardAvatar: {\n maxWidth: \"70px\",\n maxHeight: \"70px\",\n right: \"10%\",\n position: 'absolute',\n margin: \"-35px auto 0\",\n borderRadius: \"50%\",\n overflow: \"hidden\",\n padding: \"0\",\n // boxShadow:\n // \"0 16px 38px -12px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.56), 0 4px 25px 0px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.12), 0 8px 10px -5px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.2)\",\n // \"&$cardAvatarPlain\": {\n // marginTop: \"0\"\n // }\n },\n imgIcon:{\nwidth:0,\nheight:90\n },\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n checkboxStyle: {\n // padding:'7px 30px'\n },\n checkboxLabelStyle: {\n fontSize: '0.9rem',\n color: primaryColor[4],\n fontWeight: \"bold\",\n textTransform: \"capitalize\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n },\n earnPoints: {\n padding: '5px 20px 5px 20px',\n width: 'fit-content',\n borderStyle: 'solid',\n textAlign: 'center',\n Display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n // marginTop: '30px',\n marginBottom:'24px',\n borderRadius: '30px',\n borderWidth:1,\n borderColor: primaryColor[4]\n }\n\n\n};\n\nexport default dashboardStyle;\n","import React from \"react\";\n//redux\nimport { connect } from 'react-redux'\n\n// @material-ui/core\nimport { makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Typography from '@material-ui/core/Typography';\nimport DialogContentText from '@material-ui/core/DialogContentText'\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\n// @material-ui/icons\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\n\n\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\nimport CardFooter from \"components/CustomComponents/Card/CardFooter.js\";\nimport Info from 'components/CustomComponents/Typography/Info'\n\n// img\nimport avatar from \"assets/img/climbing.png\";\n\n// styles\nimport { primaryColor } from \"assets/jss/material-dashboard-react.js\";\nimport styles from \"assets/jss/components/views/instructionStyle\";\n\nconst useStyles = makeStyles(styles);\n\nconst GreenCheckbox = withStyles({\n root: {\n color: primaryColor[4],\n '&$checked': {\n color: primaryColor[4],\n },\n },\n checked: {},\n})((props) => }\n checkedIcon={}\n color=\"default\" {...props} />);\n\n\nconst Instruction = (props) => {\n // const [progress, setProgress] = React.useState(false);\n const classes = useStyles();\n const [show_instruction, setShowInstruction] = React.useState(false);\n const handleCheckChange = (event) => {\n setShowInstruction(event.target.checked);\n };\n\n const {\n quest,\n onClose,\n onStart,\n onBuy\n } = props\n\n if (quest.isTrialOver) {\n return (\n \n {\"Trial Expired\"}\n \n \n Your trial has been expired. Please buy the product to get access of contents.\n \n \n \n \n \n \n \n )\n }\n\n\n return (\n \n {Object.keys(props.mission).length ?\n \n \n \n \n \n \"...\"\n \n \n \n \n {props.mission.missionDisplayName}\n
\n
\n Tasks\n {props.mission.videoCount + props.mission.testCount + props.mission.activityCount + props.mission.webContentCount}\n
\n
\n Time\n {props.mission.totalTime}\n
\n
\n
\n
\n
\n
\n\n \n \n \n\n
\n
\n You can earn\n {props.mission.points} Points\n
\n
\n
\n
\n\n \n \n\n \n \n What is the mission?\n {/* \n {props.mission.missionDescription}\n */}\n \n \n \n

\n {/* \n \n Do & Don't\n \n View full video to earn 10 points\n \n \n View full video to earn 10 points\n \n \n View full video to earn 10 points\n \n \n */}\n\n {/*

\n \n \n }\n classes={{ label: classes.checkboxLabelStyle }}\n label=\"Don't show again\"\n />\n \n */}\n\n
\n
\n
\n\n \n\n \n Not now\n \n onStart()}>\n Let's Start\n \n \n\n \n
\n\n : null\n }\n
\n );\n}\n\n\n\nconst mapSateToProps = state => {\n return {\n mission: state.content.current_mission,\n }\n}\n\n\nexport default connect(mapSateToProps, null)(Instruction);\n","// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { blue } from '@material-ui/core/colors';\n\n\nconst useStyles = makeStyles((theme) => ({\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n avatar: {\n backgroundColor: blue[100],\n color: blue[600],\n [theme.breakpoints.down('sm')]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n \n },\n listStyle: {\n width: '100%',\n maxWidth: 360,\n backgroundColor: theme.palette.background.paper,\n },\n \n heading: {\n fontSize: theme.typography.pxToRem(14),\n fontWeight: theme.typography.fontWeightRegular,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n // height: '3em',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n },\n}))\n\nexport default useStyles;","import React from 'react';\nimport Avatar from '@material-ui/core/Avatar';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport Typography from '@material-ui/core/Typography';\nimport Badge from '@material-ui/core/Badge';\nimport IconButton from '@material-ui/core/IconButton';\n\nimport { withStyles } from '@material-ui/core/styles';\n//@material-ui/icons\nimport ImportContactsIcon from '@material-ui/icons/ImportContacts';\nimport CloseIcon from '@material-ui/icons/Close';\nimport useStyles from \"assets/jss/components/views/questStyle\";\n\n\nconst StyledBadge = withStyles((theme) => ({\n badge: {\n backgroundColor: '#44b700',\n color: '#44b700',\n boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n animation: '$ripple 1.2s infinite ease-in-out',\n border: '1px solid currentColor',\n content: '\"\"',\n },\n },\n '@keyframes ripple': {\n '0%': {\n transform: 'scale(.8)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(2.4)',\n opacity: 0,\n },\n },\n}))(Badge);\n\n\nconst DialogTitle = (props) => {\n const classes = useStyles();\n const { children, onClose, ...other } = props;\n return (\n \n {children}\n {onClose ? (\n \n \n \n ) : null}\n \n );\n};\n\nexport default function SimpleDialogDemo(props) {\n const classes = useStyles();\n return (\n \n \n \n \n \n \n {props.data.questList.map((value,indx) => (\n props.onChange(value)} key={value.questId+\"_IND\"+indx} >\n \n \n \n \n \n \n\n \n \n {value.questName}\n \n } />\n\n \n ))}\n\n \n \n \n\n );\n}","const cardBodyStyle = {\n cardBody: {\n padding: \"0.9375rem 20px\",\n flex: \"1 1 auto\",\n WebkitBoxFlex: \"1\",\n position: \"relative\"\n },\n cardBodyPlain: {\n paddingLeft: \"5px\",\n paddingRight: \"5px\"\n },\n cardBodyProfile: {\n marginTop: \"15px\"\n },\n cardBodyTable: {\n padding: \"0rem 15px\",\n flex: \"1 1 auto\",\n WebkitBoxFlex: \"1\",\n position: \"relative\"\n },\n};\n\nexport default cardBodyStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/components/customcomponents/cardBodyStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardBody(props) {\n const classes = useStyles();\n const { className, children, plain, profile,table, ...rest } = props;\n const cardBodyClasses = classNames({\n [classes.cardBody]: true,\n [classes.cardBodyPlain]: plain,\n [classes.cardBodyProfile]: profile,\n [classes.cardBodyTable]: table,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardBody.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n table:PropTypes.bool,\n children: PropTypes.node\n};\n","import {\n blackColor,\n whiteColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardStyle = {\n card: {\n border: \"0\",\n marginBottom: \"30px\",\n marginTop: \"30px\",\n borderRadius: \"6px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor,\n width: \"100%\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n minWidth: \"0\",\n wordWrap: \"break-word\",\n fontSize: \".875rem\"\n },\n cardPlain: {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n cardProfile: {\n marginTop: \"30px\",\n textAlign: \"center\"\n },\n cardChart: {\n \"& p\": {\n marginTop: \"0px\",\n paddingTop: \"0px\"\n }\n }\n};\n\nexport default cardStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/components/customcomponents/cardStyle.js\";\n\n\nconst useStyles = makeStyles(styles);\n\n\n\nexport default function Card(props) {\n const classes = useStyles();\n const { className, children, plain, profile, chart, ...rest } = props;\n const cardClasses = classNames({\n [classes.card]: true,\n [classes.cardPlain]: plain,\n [classes.cardProfile]: profile,\n [classes.cardChart]: chart,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCard.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node\n};\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n grayColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardIconStyle = {\n cardIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n borderRadius: \"3px\",\n backgroundColor: grayColor[0],\n padding: \"15px\",\n marginTop: \"20px\",\n marginRight: \"15px\",\n float: \"left\",\n \n },\n width:'70px',\n height:'70px',\n display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader\n};\n\nexport default cardIconStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"assets/jss/components/customcomponents/cardIconStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardIcon(props) {\n const classes = useStyles();\n const { className, children, color, ...rest } = props;\n const cardIconClasses = classNames({\n [classes.cardIcon]: true,\n [classes[color + \"CardHeader\"]]: color,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardIcon.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n children: PropTypes.node\n};\n","\n// App Configs\nexport const FETCH_APPCONFIGS_START = 'FETCH_APPCONFIGS_START'\nexport const SET_APPCONFIGS = 'SET_APPCONFIGS'\nexport const FETCH_APPCONFIGS_FAILED = 'FETCH_APPCONFIGS_FAILED'\nexport const SET_APPTYPE = 'SET_APPTYPE'\n\n// Post change password\nexport const POST_CHANGE_PASSWORD_START = \"POST_CHANGE_PASSWORD_START\"\nexport const POST_CHANGE_PASSWORD_SUCCESS = \"POST_CHANGE_PASSWORD_SUCCESS\"\nexport const POST_CHANGE_PASSWORD_FAILED = \"POST_CHANGE_PASSWORD_FAILED\"\n\n//user\nexport const FETCH_USERINFO_START = 'FETCH_USERINFO_START'\nexport const SET_USERINFO = 'SET_USERINFO'\nexport const FETCH_USERINFO_FAILED = 'FETCH_USERINFO_FAILED'\nexport const SET_PROFILE_PICTURE = 'SET_PROFILE_PICTURE'\n\nexport const FETCH_USER_PROGRESS_START = 'FETCH_USER_PROGRESS_START'\nexport const SET_USER_PROGRESS = 'SET_USER_PROGRESS'\nexport const FETCH_USER_PROGRESS_FAILED = 'FETCH_USER_PROGRESS_FAILED'\n\nexport const AUTH_FAILED = 'AUTH_FAILED'\nexport const SET_USER_TYPE = 'SET_USER_TYPE'\n\n//content\nexport const FETCH_CONTENTLIST_START = \"FETCH_CONTENTLIST_START\"\nexport const SET_CONTENTLIST = 'SET_CONTENTLIST'\nexport const FETCH_CONTENTLIST_FAILED = 'FETCH_CONTENTLIST_FAILED'\n\nexport const UPDATE_CONTENTLIST = 'UPDATE_CONTENTLIST'\n\n// Fetch Content Rating\nexport const FETCH_CONTENT_RATING_START = \"FETCH_CONTENT_RATING_START\"\nexport const SET_CONTENT_RATING = \"SET_CONTENT_RATING\"\nexport const FETCH_CONTENT_RATING_FAILED = \"FETCH_CONTENT_RATING_FAILED\"\n\n// post Content Rating\nexport const POST_CONTENT_RATING_START = \"POST_CONTENT_RATING_START\"\nexport const POST_CONTENT_RATING_SUCCESS = \"POST_CONTENT_RATING_SUCCESS\"\nexport const POST_CONTENT_RATING_FAILED = \"POST_CONTENT_RATING_FAILED\"\n\n// post Content Access\nexport const POST_CONTENT_ACCESS_START = \"POST_CONTENT_ACCESS_START\"\nexport const POST_CONTENT_ACCESS_SUCCESS = \"POST_CONTENT_ACCESS_SUCCESS\"\nexport const POST_CONTENT_ACCESS_FAILED = \"POST_CONTENT_ACCESS_FAILED\"\n\n//Post Test Attempt\nexport const POST_TEST_ATTEMPT_START = \"POST_TEST_ATTEMPT_START\"\nexport const POST_TEST_ATTEMPT_SUCCESS = \"POST_TEST_ATTEMPT_SUCCESS\"\nexport const POST_TEST_ATTEMPT_FAILED = \"POST_TEST_ATTEMPT_FAILED\"\n\n//User Quest\nexport const FETCH_USERQUEST_LIST_START = 'FETCH_USERQUEST_LIST_START'\nexport const SET_USERQUEST_LIST = 'SET_USERQUEST_LIST'\nexport const FETCH_USERQUEST_LIST_FAILED = 'FETCH_USERQUEST_LIST_FAILED'\nexport const SET_CURRENT_QUEST_BY_ID = 'SET_CURRENT_QUEST_BY_ID'\nexport const SET_CURRENT_QUEST = \"SET_CURRENT_QUEST\"\n\n\nexport const SET_CURRENT_MISSION = \"SET_CURRENT_MISSION\"\nexport const SET_CURRENT_OPERATION = \"SET_CURRENT_OPERATION\"\n\n// user current content\nexport const SET_CURRENT_CONTENT = \"SET_CURRENT_CONTENT\"\nexport const CLEAR_CURRENT_CONTENT = \"CLEAR_CURRENT_CONTENT\"\nexport const UPDATE_CURRENT_CONTENT = \"UPDATE_CURRENT_CONTENT\" //for marksObtained,cardSatus\nexport const UPDATE_ACCESS_DURATION = 'UPDATE_ACCESS_DURATION'\n\n// user action Test\nexport const SET_CURRENT_TESTS = \"SET_CURRENT_TESTS\"\nexport const UPDATE_TEST_ATTEMPT_COUNT = \"UPDATE_TEST_ATTEMPT_COUNT\"\nexport const UPDATE_TEST_ATTEMPT_DURATION = \"UPDATE_TEST_ATTEMPT_DURATION\"\nexport const SET_CURRENT_TEST_HISTORY = \"SET_CURRENT_TEST_HISTORY\"\n\n//questions\nexport const FETCH_TESTQUESTIONS_START = 'FETCH_TESTQUESTIONS_START'\nexport const SET_TESTQUESTIONS = \"SET_TESTQUESTIONS\"\nexport const FETCH_TESTQUESTIONS_FAILED = 'FETCH_TESTQUESTIONS_FAILED'\n//answer\nexport const SET_TEST_ANSWERS = \"SET_TEST_ANSWERS\"\n\n// update question answer\nexport const UPDATE_QUESTION_ANSWER = 'UPDATE_QUESTION_ANSWER'\nexport const UPDATE_ANSWER_DURATION = 'UPDATE_ANSWER_DURATION'\n\n//Fetch Shared Data \nexport const FETCH_SHARED_DATA_START = \"FETCH_SHARED_DATA_START\"\nexport const SET_SHARED_DATA = \"SET_SHARED_DATA\"\nexport const FETCH_SHARED_DATA_FAILED = \"FETCH_SHARED_DATA_FAILED\"\n\n//Post Shared Data\nexport const POST_SHARED_DATA_START = \"POST_SHARED_DATA_START\"\nexport const POST_SHARED_DATA_SUCCESS = \"POST_SHARED_DATA_SUCCESS\"\nexport const POST_SHARED_DATA_FAILED = \"POST_SHARED_DATA_FAILED\"\n\n\n//Fetch Leader Board\nexport const FETCH_LEADERBOARD_DATA_START = \"FETCH_LEADERBOARD_DATA_START\"\nexport const SET_LEADERBOARD_DATA = \"SET_LEADERBOARD_DATA\"\nexport const FETCH_LEADERBOARD_DATA_FAILED = \"FETCH_LEADERBOARD_DATA_FAILED\"\nexport const SHOW_LEADERBOARD_DIALOG = \"SHOW_LEADERBOARD_DIALOG\"\n\n// Notification\nexport const FETCH_NOTIFICATION = \"FETCH_NOTIFICATION\"\nexport const SET_NOTIFICATION = \"SET_NOTIFICATION\"\n\n// Quest Category\nexport const FETCH_QUESTCATEGORY = \"FETCH_QUESTCATEGORY\"\nexport const SET_QUESTCATEGORY = \"SET_QUESTCATEGORY\"\nexport const SET_QUEST_DETAILS = \"SET_QUEST_DETAILS\"\n\n// Quest Product\nexport const FETCH_QUESTPRODUCTS = \"FETCH_QUESTPRODUCTS\"\nexport const SET_QUESTPRODUCTS = \"SET_QUESTPRODUCTS\"\nexport const SET_PRODUCT_DETAILS = \"SET_PRODUCT_DETAILS\"\n\n// Register User\nexport const INIT_REGISTER_USER = \"INIT_REGISTER_USER\"\nexport const SET_FLNAME = \"SET_FLNAME\"\nexport const SET_USERNAME = \"SET_USERNAME\"\nexport const SET_USERNAME_PASSWORD = \"SET_USERNAME_PASSWORD\"\nexport const SET_SCHOOLNAME_CITY = \"SET_SCHOOLNAME_CITY\"\nexport const SET_MOBILE_NUMBER = \"SET_MOBILE_NUMBER\"\nexport const SET_USER_EMAIL = \"SET_USER_EMAIL\"\nexport const SET_PROMO_CODE = \"SET_PROMO_CODE\"\nexport const SET_UTM_DATA = \"SET_UTM_DATA\"\n\n// Shopping Cart\nexport const ADD_TO_CART = 'ADD_TO_CART'\nexport const REMOVE_FROM_CART = 'REMOVE_FROM_CART'\nexport const CLEAR_CART = 'CLEAR_CART'\nexport const SET_CART_ITEMS = 'SET_CART_ITEMS'\nexport const SET_STORE_COUPON_CODE = 'SET_STORE_COUPON_CODE'\nexport const SET_STORE_COUPON_STATUS = 'SET_STORE_COUPON_STATUS'\n\n// Payment Gatway\nexport const SET_PG_DATA = 'SET_PG_DATA'\nexport const SET_PAYMENT_STATUS = 'SET_PAYMENT_STATUS'\n\n// Reset Password\nexport const SET_USER_verification_STATUS = \"SET_USER_verification_STATUS\"\nexport const SET_OTP_verification_STATUS = \"SET_OTP_verification_STATUS\"\n\n// Platform\nexport const SET_PLATFORM = \"SET_PLATFORM\";\n\n// Board Greade\nexport const SET_BOARD_GRADE = \"SET_BOARD_GRADE\";\n\n//ProductBanner\nexport const SET_PRODUCT_BANNER = \"SET_PRODUCT_BANNER\";\n\n//Raymond Products\nexport const SET_RAYMOND_PRODUCTS = \"SET_RAYMOND_PRODUCTS\";\n\n//set goCodeprompt\nexport const SET_GO_CODER_PROMPT = 'SET_GO_CODER_PROMPT'","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// core components\nimport styles from \"assets/jss/components/customcomponents/typographyStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function Info(props) {\n const classes = useStyles();\n const { children,style,className } = props;\n\n const infoTextClasses = classNames({\n [classes.defaultFontStyle]: true,\n [classes.infoText]: true,\n [className]: className\n });\n\n return (\n
\n {children}\n
\n );\n}\n\nInfo.propTypes = {\n children: PropTypes.node,\n style:PropTypes.object,\n className: PropTypes.string,\n};\n","import React from \"react\";\n// @material-ui/core components\nimport { makeStyles } from '@material-ui/core/styles';\nimport Dialog from '@material-ui/core/Dialog';\n// import DialogContent from '@material-ui/core/DialogContent';\n\nconst useStyles = makeStyles({ paper: { borderRadius: 10 } });\n\n\nexport default function FormDialog(props) {\n const classes = useStyles();\n const {\n children,\n ...rest\n } = props;\n\n return (\n \n {/* */}\n {children}\n {/* */}\n \n );\n}\n\nDialog.propTypes = {\n\n};\n","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n userinfo: {\n \"userId\": \"\",\n \"userName\": \"\",\n \"firstName\": \"\",\n \"lastName\": \"\",\n \"emailId\": \"\",\n \"contactNo\": \"\",\n \"cityName\": \"\",\n \"stateName\": \"\",\n \"countryName\": \"\",\n \"isActive\": true,\n \"isDeleted\": false,\n \"institutionId\": 1,\n \"locationId\": \"\",\n \"profilePic\": \"\",\n \"groupId\": \"\",\n \"showDashboard\": false,\n \"userQuestList\": [],\n \"isSuccess\": false,\n \"extraBoolValue\": false\n },\n error: false,\n userQuest: {},\n loading: true,\n post_password_error: false,\n post_password_loading: false,\n auth_error: false,\n user_type: 'ExistingUser',\n // goCoderInfo:null\n}\n\nconst reducer = (state = initialState, action) => {\n\n switch (action.type) {\n case actionTypes.FETCH_USERINFO_START:\n return {\n ...state,\n loading: true\n }\n case actionTypes.SET_USERINFO:\n return {\n ...state,\n userinfo: action.userinfo,\n error: false,\n loading: false\n }\n case actionTypes.FETCH_USERINFO_FAILED:\n return {\n ...state,\n error: true,\n loading: false\n }\n // ------- Set Profile Picture -------------\n case actionTypes.SET_PROFILE_PICTURE:\n return {\n ...state,\n userinfo: { ...state.userinfo, profilePic: action.profilePic }\n }\n // ------- Post Change Passsword -------------\n case actionTypes.POST_CHANGE_PASSWORD_START:\n return {\n ...state,\n post_password_error: false,\n post_password_loading: true\n }\n\n case actionTypes.POST_CHANGE_PASSWORD_SUCCESS:\n return {\n ...state,\n post_password_error: false,\n post_password_loading: false\n }\n\n case actionTypes.POST_CHANGE_PASSWORD_FAILED:\n return {\n ...state,\n post_password_error: true,\n post_password_loading: false\n }\n case actionTypes.AUTH_FAILED:\n return {\n ...state,\n auth_error: action.auth,\n }\n case actionTypes.SET_USER_TYPE:\n return {\n ...state,\n user_type: action.user_type,\n }\n case actionTypes.SET_GO_CODER_PROMPT:\n\n return {\n ...state,\n goCoderInfo: action.goCoderInfo,\n }\n default:\n return state;\n }\n\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\nimport { percentageNumber } from 'util/commonfunctions';\n\nconst initialState = {\n contentlist: {\n add: {\n questContents: [],\n missions: [],\n operations: [],\n tasks: [],\n subTasks: [],\n missionTests: []\n },\n },\n current_quest_progress: {\n \"questId\": \"\",\n \"progress\": 0,\n \"avCount\": 0,\n \"testCount\": 0,\n \"activityCount\": 0,\n \"webContentCount\": 0\n },\n current_mission: {},\n current_operation: {},\n current_content: {},\n current_test: {},\n current_test_history: {},\n error: false,\n loading: true,\n\n content_ratings_loading: true,\n content_ratings: {\n \"likeCount\": 0,\n \"disLikeCount\": 0,\n \"viewCount\": 0,\n \"myRating\": null\n },\n content_ratings_error: false,\n}\n\nconst getMergedArray = (contentList, progress, filterID) => {\n return contentList.map(questContents => {\n let mergedContents = { ...questContents }\n progress.forEach((currentValue) => {\n if (currentValue[filterID] === mergedContents[filterID])\n mergedContents['progress'] = { ...currentValue }\n })\n return mergedContents\n });\n}\n\nconst getUpdatedProgress = (contentList, currentContent, marksObtained, filterID) => {\n return contentList.map(content => {\n let newContent = { ...content }\n let newContentProgress = { ...content.progress }\n if (content[filterID] === currentContent[filterID]) {\n newContentProgress = getTasksCounts(newContentProgress, currentContent)\n newContentProgress.points = Number(newContentProgress.points) + Number(marksObtained)\n // ----------webContentCount-----------\n const totalTask = newContent.videoCount + newContent.testCount + newContent.activityCount + newContent.webContentCount\n const completedTask = newContentProgress.avCount + newContentProgress.testCount + newContentProgress.activityCount + newContentProgress.webContentCount\n newContentProgress.progress = percentageNumber(completedTask, totalTask)\n }\n newContent.progress = newContentProgress\n // console.log(newContent);\n return newContent\n })\n}\n\nconst getTasksCounts = (newContentProgress, currentContent) => {\n if (['01', '02', '03'].indexOf(currentContent.contentTypeCode) >= 0) // is AV\n {\n newContentProgress.avCount = newContentProgress.avCount + 1\n }\n if (['08', '09'].indexOf(currentContent.contentTypeCode) >= 0) // is Test\n {\n newContentProgress.testCount = newContentProgress.testCount + 1\n }\n if (['04', '05', '06', '07'].indexOf(currentContent.contentTypeCode) >= 0) // is web content\n {\n newContentProgress.webContentCount = newContentProgress.webContentCount + 1\n }\n if (['10'].indexOf(currentContent.contentTypeCode) >= 0) // is Activity\n {\n newContentProgress.activityCount = newContentProgress.activityCount + 1\n }\n return newContentProgress\n}\n\nconst updatedQuestProgress = (updatedContentList, currentQuestProgress, currentContent, marksObtained) => {\n\n currentQuestProgress = getTasksCounts(currentQuestProgress, currentContent)\n\n currentQuestProgress.points = Number(currentQuestProgress.points) + Number(marksObtained)\n\n const totalVideoCount = updatedContentList.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.videoCount, 0)\n const totalTestCount = updatedContentList.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.testCount, 0)\n const totalActivityCount = updatedContentList.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.activityCount, 0)\n const totalWebContentCount = updatedContentList.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.webContentCount, 0)\n\n const totalTask = totalVideoCount + totalTestCount + totalActivityCount + totalWebContentCount\n const completedTask = currentQuestProgress.avCount + currentQuestProgress.testCount + currentQuestProgress.activityCount + currentQuestProgress.webContentCount\n currentQuestProgress.progress = percentageNumber(completedTask, totalTask)\n\n // console.log(\"---------------------------------\");\n // console.log(currentQuestProgress);\n return currentQuestProgress\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n //----- Fetch Content List------------------\n case actionTypes.FETCH_CONTENTLIST_START:\n return {\n ...state,\n loading: true\n }\n case actionTypes.SET_CONTENTLIST:\n let newContentList = { ...action.contentlist }\n let questProgress = action.userprogress.questProgress.filter(current_progress => current_progress.questId === action.questid).reduce((acc, cv) => { return acc = cv }, {})\n\n newContentList.add.missions = getMergedArray(newContentList.add.missions, action.userprogress.missionProgress, 'missionId')\n newContentList.add.operations = getMergedArray(newContentList.add.operations, action.userprogress.operationProgress, 'operationId')\n\n newContentList.add.questContents = getMergedArray(newContentList.add.questContents, action.userprogress.contentProgress, 'contentId').map(data => {\n data.isExpanded = true;\n return data\n });\n\n newContentList.add.tasks = [...newContentList.add.tasks].map(data => {\n data.isExpanded = false;\n return data\n });\n\n return {\n ...state,\n contentlist: newContentList,\n current_quest_progress: questProgress,\n error: false,\n loading: false\n }\n case actionTypes.FETCH_CONTENTLIST_FAILED:\n return {\n ...state,\n contentlist: initialState.contentlist,\n current_quest_progress: initialState.current_quest_progress,\n error: true,\n loading: false,\n }\n\n // ----------Update Content List ----------\n case actionTypes.UPDATE_CONTENTLIST:\n return {\n ...state,\n contentlist: action.contentlist,\n }\n\n //------------set current mission------------\n case actionTypes.SET_CURRENT_MISSION:\n return {\n ...state,\n current_mission: { ...action.mission }\n }\n\n //------------set current operation--------------\n case actionTypes.SET_CURRENT_OPERATION:\n let operation = { ...state.current_operation }\n if (state.contentlist.add.operations.length !== 0) {\n operation = action.operation\n ? action.operation\n : [...state.contentlist.add.operations].filter(op => (op.missionId === state.current_mission.missionId) && op.sequenceNo == '1').reduce((acc, cv) => { return acc = cv }, {})\n }\n return {\n ...state,\n current_operation: operation\n }\n\n //-----set current content-----------------\n case actionTypes.SET_CURRENT_CONTENT:\n const newCurrent_content = { ...action.content };\n return {\n ...state,\n current_content: { ...newCurrent_content, 'pointCardSatus': {}, 'accessDuration': 0 }\n }\n\n //-----Clear current content-----------------\n case actionTypes.CLEAR_CURRENT_CONTENT:\n const clearedCurrent_content = { ...initialState.current_content };\n return {\n ...state,\n current_content: { ...clearedCurrent_content, 'pointCardSatus': {}, 'accessDuration': 0 }\n }\n\n //-----update access duration content-----------------\n case actionTypes.UPDATE_ACCESS_DURATION:\n return {\n ...state,\n current_content: { ...state.current_content, 'accessDuration': action.accessDuration }\n }\n\n //-----UPDATE current content-----------------\n case actionTypes.UPDATE_CURRENT_CONTENT: // for marksObtained,pointCardSatus\n\n let updatedCurrent_content = action.content === null ? { ...state.current_content } : { ...action.content };\n let updatedContentList = { ...state.contentlist }\n let currentQuestProgress = { ...state.current_quest_progress }\n\n // updatedCurrent_content.pointCardSatus = action.pointCardSatus;\n\n //update Contents\n updatedContentList.add.questContents = updatedContentList.add.questContents.map(content => {\n let newContent = { ...content }\n let newContentProgress = { ...content.progress }\n if (content.contentId === updatedCurrent_content.contentId)\n newContentProgress.accessCount = newContentProgress.accessCount + 1\n newContent.progress = newContentProgress\n return newContent\n })\n\n\n if (updatedCurrent_content.progress.accessCount === 0) {\n //update missions\n updatedContentList.add.missions = getUpdatedProgress(updatedContentList.add.missions, updatedCurrent_content, action.pointCardSatus.points, 'missionId')\n //update operations\n updatedContentList.add.operations = getUpdatedProgress(updatedContentList.add.operations, updatedCurrent_content, action.pointCardSatus.points, 'operationId')\n //Update Current Quest Progress\n currentQuestProgress = updatedQuestProgress(updatedContentList, currentQuestProgress, updatedCurrent_content, action.pointCardSatus.points)\n }\n\n return {\n ...state,\n // current_content: updatedCurrent_content,\n contentlist: updatedContentList,\n current_quest_progress: currentQuestProgress\n }\n\n\n //-----set current Test-----------------\n case actionTypes.SET_CURRENT_TESTS:\n let missionTests = { ...state.current_test }\n if (state.contentlist.add.missionTests.length !== 0)\n missionTests = [...state.contentlist.add.missionTests].filter(op => op.testId === action.testCode).reduce((acc, cv) => { return acc = cv }, {})\n missionTests.testAttemptedDuration = 0\n missionTests.testAttemptCount = 0 // this test Attempt Count for current Test is submit(1) or not(0)\n return {\n ...state,\n current_test: missionTests\n }\n\n //-----set current Test History -----------------\n case actionTypes.SET_CURRENT_TEST_HISTORY:\n return {\n ...state,\n current_test_history: action.data\n }\n\n\n //-----update Test Attempt Count-----------------\n // For check Current Test is attempted or not \n case actionTypes.UPDATE_TEST_ATTEMPT_COUNT:\n let updateedMissionTests = { ...state.current_test }\n updateedMissionTests.testAttemptCount = updateedMissionTests.testAttemptCount + 1\n return {\n ...state,\n current_test: updateedMissionTests\n }\n\n\n //-----Update Test Attempt Duration-----------------\n case actionTypes.UPDATE_TEST_ATTEMPT_DURATION:\n let updatedTests = { ...state.current_test }\n updatedTests.testAttemptedDuration = updatedTests.testAttemptedDuration + action.duration\n return {\n ...state,\n current_test: updatedTests\n }\n\n // ------- Post Content Rating-------------\n case actionTypes.POST_CONTENT_RATING_START:\n return {\n ...state,\n content_ratings_error: false,\n content_ratings_loading: true\n }\n\n case actionTypes.POST_CONTENT_RATING_SUCCESS:\n return {\n ...state,\n content_ratings_error: false,\n content_ratings_loading: false\n }\n\n case actionTypes.POST_CONTENT_RATING_FAILED:\n return {\n ...state,\n content_ratings_error: true,\n content_ratings_loading: false\n }\n\n // ------- Fetch Content Rating-------------\n case actionTypes.FETCH_CONTENT_RATING_START:\n return {\n ...state,\n content_ratings_error: false,\n content_ratings_loading: true\n }\n case actionTypes.SET_CONTENT_RATING:\n return {\n ...state,\n content_ratings: action.contentRatings,\n content_ratings_error: false,\n content_ratings_loading: false\n }\n case actionTypes.FETCH_CONTENT_RATING_FAILED:\n return {\n ...state,\n content_ratings_error: true,\n content_ratings_loading: false\n }\n\n // ------- Post Content Access-------------\n case actionTypes.POST_CONTENT_ACCESS_START:\n return {\n ...state,\n error: false,\n loading: true\n }\n\n case actionTypes.POST_CONTENT_ACCESS_SUCCESS:\n return {\n ...state,\n error: false,\n loading: false\n }\n\n case actionTypes.POST_CONTENT_ACCESS_FAILED:\n return {\n ...state,\n error: true,\n loading: false\n }\n\n\n\n\n default:\n return state;\n }\n\n}\n\n\n\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n userquest: {\n \"questList\": [\n // {\n // \"userQuestId\": 0,\n // \"questId\": \"\",\n // \"questName\": \"\",\n // \"isFree\": false,\n // \"startDate\": \"\",\n // \"endDate\": \"\",\n // \"isDeleted\": false\n // }\n ]\n },\n current_quest: {},\n error: false,\n loading: true,\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.FETCH_USERQUEST_LIST_START:\n return {\n ...state,\n loading: true\n }\n case actionTypes.SET_USERQUEST_LIST:\n return {\n ...state,\n userquest: action.userquest,\n // current_quest: action.userquest.questList[0],\n error: false,\n loading: false\n }\n case actionTypes.FETCH_USERQUEST_LIST_FAILED:\n return {\n ...state,\n error: true,\n loading: false\n }\n case actionTypes.SET_CURRENT_QUEST:\n return {\n ...state,\n error: false,\n loading: false,\n current_quest: action.currentQuest\n }\n\n case actionTypes.SET_CURRENT_QUEST_BY_ID:\n return {\n ...state,\n error: false,\n loading: false,\n current_quest: state.userquest.questList.filter(op => op.questId === action.questID).reduce((acc, cv) => { return acc = cv }, {})\n }\n\n\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n questions: {\n \"qadd\": [],\n \"qimgadd\": [],\n \"accessDate\": \"\"\n },\n answers: [],\n error: false,\n loading: true,\n post_test_loading: false,\n}\n\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n // -- Fetch Test Attempt\n case actionTypes.FETCH_TESTQUESTIONS_START:\n return {\n ...state,\n loading: true\n }\n case actionTypes.SET_TESTQUESTIONS:\n return {\n ...state,\n questions: action.questions,\n error: false,\n loading: false\n }\n case actionTypes.FETCH_TESTQUESTIONS_FAILED:\n return {\n ...state,\n error: true,\n loading: false\n }\n\n // Set Test Answer\n case actionTypes.SET_TEST_ANSWERS:\n const initAnswers = action.answers.qadd.map(current_question => {\n const answer = {\n \"testResultDetailsId\": \"\", // Don't set this\n \"questionId\": current_question.questionId,\n \"isQuestionSkipped\": \"0\",\n \"isAnsweredCorrect\": \"0\",\n \"attemptedAnswer\": \"\",\n \"questionMarks\": \"\" + current_question.correctMark,\n \"questionMarksObtained\": \"0\",\n \"questionDuration\": 0,\n \"answerOrderSeq\": \"\" // Don't set this\n };\n return answer\n })\n return {\n ...state,\n answers: initAnswers,\n }\n\n // update question & answer\n case actionTypes.UPDATE_QUESTION_ANSWER:\n\n const testQuestion = state.questions.qadd.map(currentQuestion => {\n let qsn = { ...currentQuestion }\n if (action.questionId === qsn.questionId) {\n let optionItems = [...qsn.options.optionItems]\n qsn.options.optionItems = optionItems.map(opt => {\n let newOpt = { ...opt }\n if (qsn.questionTypeCode === \"QT01\" || qsn.questionTypeCode === \"QT04\" || qsn.questionTypeCode === \"QT09\")\n newOpt['ischecked'] = false\n if (action.answer === newOpt.id) {\n if (qsn.questionTypeCode === \"QT02\")\n newOpt['ischecked'] = !newOpt['ischecked']\n else\n newOpt['ischecked'] = true\n }\n return newOpt\n })\n }\n return qsn\n })\n\n const testAnswers = state.answers.map(current_answers => {\n if (action.questionId === current_answers.questionId) {\n const current_question = testQuestion.filter(question => question.questionId === current_answers.questionId).reduce((acc, cv) => { return acc = cv }, {})\n const attempted_answer = current_question.options.optionItems.filter(option => option.ischecked === true).map(op => op.id).sort().join(\",\")\n const answered_correct = attempted_answer === current_question.answer.split(\",\").sort().join(\",\")\n current_answers.isQuestionSkipped = attempted_answer?\"1\":\"0\";\n current_answers.isAnsweredCorrect = answered_correct ? \"1\" : \"0\";\n current_answers.attemptedAnswer = attempted_answer\n current_answers.questionMarksObtained = answered_correct ?\"\"+current_question.correctMark : \"0\"\n }\n return current_answers\n })\n\n return {\n ...state,\n questions: { ...state.questions, \"qadd\": testQuestion },\n answers: [...testAnswers],\n }\n\n // update ANSWER DURATION\n case actionTypes.UPDATE_ANSWER_DURATION:\n const updatedTimeAnswers = [...state.answers].map(current_answers => {\n let newCurrent_answers = { ...current_answers }\n if (action.questionId === newCurrent_answers.questionId) {\n newCurrent_answers.questionDuration = newCurrent_answers.questionDuration + action.duration\n }\n return newCurrent_answers\n })\n return {\n ...state,\n answers: [...updatedTimeAnswers],\n }\n\n\n // -- Post Test Attempt\n case actionTypes.POST_TEST_ATTEMPT_START:\n return {\n ...state,\n error: false,\n post_test_loading: true\n }\n\n case actionTypes.POST_TEST_ATTEMPT_SUCCESS:\n return {\n ...state,\n error: false,\n post_test_loading: false\n }\n\n case actionTypes.POST_TEST_ATTEMPT_FAILED:\n return {\n ...state,\n error: true,\n post_test_loading: false\n }\n default:\n return state;\n }\n}\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n userprogress: {\n questProgress: [],\n missionProgress: [],\n operationProgress: [],\n contentProgress: []\n },\n error: false,\n loading: true,\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.FETCH_USER_PROGRESS_START:\n return {\n ...state,\n loading: true\n }\n case actionTypes.SET_USER_PROGRESS:\n return {\n ...state,\n userprogress: action.userprogress,\n error: false,\n loading: false\n }\n case actionTypes.FETCH_USER_PROGRESS_FAILED:\n return {\n ...state,\n error: true,\n loading: false\n }\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n configs: {\n \"tcUrl\": \"\",\n \"otpRequired\": false,\n \"showPromoScreen\": false,\n \"currentTime\": \"\",\n 'supportEmail': \"\"\n },\n error: false,\n loading: true,\n apptype: \"\",\n}\n\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n // -- Fetch app configs\n case actionTypes.FETCH_APPCONFIGS_START:\n return {\n ...state,\n loading: true\n }\n case actionTypes.SET_APPCONFIGS:\n return {\n ...state,\n configs: action.appConfigs.configs,\n error: false,\n loading: false\n }\n case actionTypes.FETCH_APPCONFIGS_FAILED:\n return {\n ...state,\n error: true,\n loading: false\n }\n case actionTypes.SET_APPTYPE:\n return {\n ...state,\n apptype:action.payload\n }\n\n default:\n return state;\n }\n}\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n shareddata: {\n friendsList: [{userId: \"\", name: \"\", isShared: false}],\n sharedList: [],\n },\n fetch_error: false,\n fetch_loading: false,\n\n post_error: false,\n post_loading: false,\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n // ------- Fetch Shared Data -------------\n case actionTypes.FETCH_SHARED_DATA_START:\n return {\n ...state,\n fetch_loading: true\n }\n case actionTypes.SET_SHARED_DATA:\n return {\n ...state,\n shareddata: action.sharedData,\n fetch_error: false,\n fetch_loading: false\n }\n case actionTypes.FETCH_SHARED_DATA_FAILED:\n return {\n ...state,\n fetch_error: true,\n fetch_loading: false\n }\n\n // ------- Post Shared Data -------------\n case actionTypes.POST_SHARED_DATA_START:\n return {\n ...state,\n post_error: false,\n post_loading: true\n }\n\n case actionTypes.POST_SHARED_DATA_SUCCESS:\n return {\n ...state,\n post_error: false,\n post_loading: false\n }\n\n case actionTypes.POST_SHARED_DATA_FAILED:\n return {\n ...state,\n post_error: true,\n post_loading: false\n }\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n leader_board_data: [],\n leader_board_data_error: false,\n leader_board_data_loading: true,\n show_leader_board_dialog: false\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n // ------- Leader Board Data -------------\n case actionTypes.FETCH_LEADERBOARD_DATA_START:\n return {\n ...state,\n leader_board_data_loading: true\n }\n case actionTypes.SET_LEADERBOARD_DATA:\n return {\n ...state,\n leader_board_data: action.leaderboard.leaderBoard,\n leader_board_data_error: false,\n leader_board_data_loading: false\n }\n case actionTypes.FETCH_LEADERBOARD_DATA_FAILED:\n return {\n ...state,\n leader_board_data_error: true,\n leader_board_data_loading: false\n }\n\n case actionTypes.SHOW_LEADERBOARD_DIALOG:\n return {\n ...state,\n show_leader_board_dialog: action.paylod,\n }\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n notifications: [],\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_NOTIFICATION:\n return {\n ...state,\n notifications: action.notifications.notification ? action.notifications.notification : [],\n }\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n questcategories: {\n lastViewed: {\n questId: \"\",\n questName: \"\",\n viewedOn: \"\"\n },\n questCategory: []\n },\n questdetails: {}\n\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_QUESTCATEGORY:\n return {\n ...state,\n questcategories: {...state.questcategories,...action.questCategory}\n }\n case actionTypes.SET_QUEST_DETAILS:\n return {\n ...state,\n questdetails: action.questDetails\n }\n\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n registerUser: {\n \"userName\": \"\",\n \"password\": \"\",\n \"firstName\": \"\",\n \"lastName\": \"\",\n \"emailId\": \"\",\n \"contactNo\": \"\",\n \"schoolName\": \"\",\n \"cityName\": \"\",\n \"boardId\": \"\",\n \"gradeId\": \"\",\n \"promoCode\": \"\",\n \"UTMData\": \"\"\n }\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.INIT_REGISTER_USER:\n return {\n ...state,\n registerUser: { ...initialState.registerUser }\n }\n case actionTypes.SET_FLNAME:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n firstName: action.firstName,\n lastName: action.lastName\n }\n }\n case actionTypes.SET_USERNAME_PASSWORD:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n userName: action.userName,\n emailId: action.userName,\n password: action.password\n }\n }\n\n case actionTypes.SET_USERNAME:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n userName: action.userName,\n }\n }\n case actionTypes.SET_SCHOOLNAME_CITY:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n schoolName: action.schoolName,\n cityName: action.cityName\n }\n }\n case actionTypes.SET_MOBILE_NUMBER:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n contactNo: action.contactNo\n }\n }\n\n case actionTypes.SET_PROMO_CODE:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n promoCode: action.promoCode\n }\n }\n\n case actionTypes.SET_UTM_DATA:\n return {\n ...state,\n registerUser: {\n ...state.registerUser,\n UTMData: action.UTMData\n }\n }\n\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n cartitems: [],\n PGData: {},\n paymentStatus: {},\n couponStatus: {},\n couponCode: \"\"\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n // ------- add to cart -------------\n case actionTypes.ADD_TO_CART:\n return {\n ...state,\n cartitems: [...state.cartitems, action.cartitem],\n couponStatus: {},\n couponCode: \"\"\n }\n case actionTypes.REMOVE_FROM_CART:\n let newCartItems = [...state.cartitems].filter(data => data.productId !== action.cartitem.productId)\n return {\n ...state,\n cartitems: newCartItems,\n couponStatus: {},\n couponCode: \"\"\n }\n case actionTypes.CLEAR_CART:\n return {\n ...state,\n cartitems: [],\n couponStatus: {},\n couponCode: \"\"\n }\n case actionTypes.SET_CART_ITEMS:\n return {\n ...state,\n cartitems: [...action.cartitems]\n }\n //---------- Payment Gatway ----------------\n case actionTypes.SET_PG_DATA:\n return {\n ...state,\n PGData: { ...action.PGData }\n }\n //----------set Payment Status ----------------\n case actionTypes.SET_PAYMENT_STATUS:\n return {\n ...state,\n paymentStatus: { ...action.paymentStatus }\n }\n //----------set Coupon Status ----------------\n case actionTypes.SET_STORE_COUPON_STATUS:\n return {\n ...state,\n couponStatus: { ...action.couponStatus }\n }\n\n //----------set Coupon code ----------------\n case actionTypes.SET_STORE_COUPON_CODE:\n return {\n ...state,\n couponCode: action.couponCode\n }\n\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n userVerificationStatus: {},\n OTPVerificationStatus: {}\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_USER_verification_STATUS:\n return {\n ...state,\n userVerificationStatus: action.status\n }\n case actionTypes.SET_OTP_verification_STATUS:\n return {\n ...state,\n OTPVerificationStatus: action.OTP_STATUS\n }\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n productcategories: {\n productCategory: [\n {\n categoryName: {},\n productList: []\n }\n ]\n },\n productdetails: {}\n\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_QUESTPRODUCTS:\n return {\n ...state,\n productcategories: { ...action.productCategory }\n }\n case actionTypes.SET_PRODUCT_DETAILS:\n return {\n ...state,\n productdetails: action.productDetails\n }\n\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n products: []\n\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_RAYMOND_PRODUCTS:\n return {\n ...state,\n products: action.payload\n }\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","\nimport * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n platform: \"\"\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_PLATFORM:\n return {\n platform: action.platform\n }\n default:\n return state;\n }\n}\n\nexport default reducer;","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialstate = {\n boards: [],\n grades: []\n}\n\nconst reducer = (state = { ...initialstate }, action) => {\n switch (action.type) {\n case actionTypes.SET_BOARD_GRADE:\n return {\n ...state,\n boards: action.payload.boards,\n grades: action.payload.grades,\n };\n default:\n return state;\n }\n};\n\nexport default reducer","import * as actionTypes from 'store/actions/actionTypes'\n\nconst initialState = {\n bannerLists: [],\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n case actionTypes.SET_PRODUCT_BANNER:\n return {\n ...state,\n bannerLists: action.payload,\n }\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","import * as actionTypes from '../actionTypes'\n\nconst initialState = {\n todyasOnlineClasses: {\n scheduleDataResult: []\n }\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_TODAYS_ONLINE_CLASSES:\n return {\n ...state,\n todyasOnlineClasses: action.schedule\n }\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","//Online Classes\nexport const SET_TODAYS_ONLINE_CLASSES = \"SET_TODAYS_ONLINE_CLASSES\"\n\n\n\n","import * as actionTypes from '../actionTypes'\n\nconst initialState = {\n missionsSchedules: {\n scheduleDataResult: []\n }\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_MISSIONS_SCHEDULES:\n return {\n ...state,\n missionsSchedules: action.schedule\n }\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","//Missions Schedules\nexport const SET_MISSIONS_SCHEDULES = \"SET_MISSIONS_SCHEDULES\"\n\n\n\n","import * as actionTypes from '../actionTypes'\n\nconst initialState = {\n tests: {\n maxPageCount: 0,\n testList: [],\n totalRecords: 0\n }\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n case actionTypes.SET_ONLINE_ASSIGNMENT:\n return {\n ...state,\n tests: action.payload\n }\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","\n// Online Assignment\nexport const SET_ONLINE_ASSIGNMENT = \"SET_ONLINE_ASSIGNMENT\"","import * as actionTypes from '../actions/actionTypes'\n\nconst initialState = {\n inbox_messages: [],\n loading: false,\n}\n\nconst reducer = (state = initialState, action) => {\n switch (action.type) {\n\n //------ Messages ----------\n case actionTypes.SET_QUERY_DATA:\n return {\n ...state,\n inbox_messages: action.inbox,\n loading: false,\n }\n case actionTypes.FETCH_QUERY_LOADING:\n return {\n ...state,\n loading: action.status,\n }\n\n\n default:\n return state;\n }\n\n}\n\n\nexport default reducer","\n//Messaging\n\n\nexport const SET_QUERY_DATA = \"SET_QUERY_DATA\"\nexport const FETCH_QUERY_LOADING = \"FETCH_QUERY_LOADING\"\n\n\n\n\n\n\n","import { combineReducers } from 'redux'\nimport { persistReducer } from 'redux-persist'\nimport sessionStorage from 'redux-persist/lib/storage/session'\n\nimport userReducer from './userInfo'\nimport contentListReducer from './contentList'\nimport questListReducer from './userQuestList'\nimport testQuestionsReducer from './testQuestions'\nimport userProgressReducer from './userProgress'\nimport appConfigsReducer from './appConfigs'\nimport sharedDataReducer from './sharedData'\nimport leaderBoardReducer from './leaderBoard'\nimport notificationCenterReducer from './notificationCenter'\nimport questCategoryReducer from './questCategory'\nimport questUserRegistration from './userRegistration'\nimport questStoreReducer from './questStore'\nimport resetPasswordReducer from \"./resetPassword\";\nimport questProductsReducer from './questProducts';\nimport raymondReducer from './raymondProducts';\nimport platformReducer from './platform';\nimport boardGradeReducer from './boardGrade'\nimport ProductBannerReducer from './productBanner'\nimport onlineClassesReducer from 'components/Views/Connect/store/reducers/reducer-online-classes'\nimport mssionsSchedulesReducer from 'components/Views/MissionsSchedules/store/reducers/reducer-mssions-schedules'\nimport onlineAssignmentReducer from 'components/Views/AssessmentTests/store/reducers/reducer-online-assignment'\n\n\nimport queryReducer from 'components/Views/QueryBox/store/reducers/messageReducer'\n// persist Config\nconst persistConfig = {\n key: 'root',\n storage: sessionStorage,\n};\n\nconst appReducer = combineReducers({\n user: userReducer,\n newuser: questUserRegistration,\n content: contentListReducer,\n quest: questListReducer,\n questions: testQuestionsReducer,\n userprogress: userProgressReducer,\n appconfigs: appConfigsReducer,\n shareddata: sharedDataReducer,\n leaderboard: leaderBoardReducer,\n notificationcenter: notificationCenterReducer,\n categories: questCategoryReducer,\n store: questStoreReducer,\n resetpassword: resetPasswordReducer,\n products: questProductsReducer,\n raymond: raymondReducer,\n platforms: platformReducer,\n boardgrade: boardGradeReducer,\n onlineclasses: onlineClassesReducer,\n schedules: mssionsSchedulesReducer,\n banner: ProductBannerReducer,\n messages: queryReducer,\n onlineassignment:onlineAssignmentReducer,\n});\n\n\n\n\nconst rootReducer = (state, action) => {\n if (action.type === 'LOG_OUT') {\n Object.keys(state).forEach(key => {\n sessionStorage.removeItem(`persist:${key}`);\n });\n state = undefined;\n }\n\n return appReducer(state, action)\n}\n\nexport default persistReducer(persistConfig, rootReducer)","//Redux\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport thunk from 'redux-thunk';\nimport { persistStore } from 'redux-persist'\n\n// Reducer\nimport rootReducer from './reducers/index'\n\nconst composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose\nconst store = createStore(rootReducer, composeEnhancers(applyMiddleware(thunk)))\nconst persistor = persistStore(store)\n\n\n\nexport { store, persistor };","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import {\n drawerWidth,\n transition,\n container\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst appStyle = theme => ({\n wrapper: {\n position: \"relative\",\n top: \"0\",\n //height: \"100vh\",\n },\n mainPanel: {\n [theme.breakpoints.up(\"md\")]: {\n // width: `calc(100% - ${drawerWidth}px)`\n },\n // overflow: \"auto\",\n position: \"relative\",\n float: \"right\",\n ...transition,\n maxHeight: \"100%\",\n width: \"100%\",\n overflowScrolling: \"touch\"\n },\n content: {\n // marginTop: \"50px\",\n // marginBottom: '100px',\n padding: \"0px 0px 0px 0px\",\n //minHeight: \"calc(100vh - 150px)\",\n \n },\n\n contentShift: {\n transition: theme.transitions.create('margin', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.enteringScreen,\n }),\n marginLeft: drawerWidth-10,\n },\n container,\n map: {\n marginTop: \"70px\"\n }\n});\n\nexport default appStyle;\n","import {\n dangerColor,\n whiteColor,\n secondaryColor\n} from \"assets/jss/material-dashboard-react.js\";\n//.....styles..........\nconst signinStyle = theme => ({\n\n layout: {\n width: 'auto',\n display: 'block', // Fix IE11 issue.\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n paddingTop: theme.spacing() * 5,\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n width: 440,\n minHeight: 550,\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n textAlign: 'center',\n },\n paper: {\n textAlign: 'center',\n // boxShadow: '0px 8px 10px',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: `${theme.spacing() * 2}px ${theme.spacing() * 3}px ${theme.spacing() * 3}px`,\n },\n avatar: {\n margin: theme.spacing(),\n backgroundColor: theme.palette.secondary.main,\n },\n form: {\n maxWidth: '328px',\n width: '100%', // Fix IE11 issue.\n marginTop: theme.spacing(),\n },\n submit: {\n borderRadius: 20,\n maxWidth: '328px',\n maxHeight: '48px',\n marginTop: theme.spacing() * 1.5\n },\n\n submit1: {\n borderRadius: 20,\n maxWidth: '328px',\n maxHeight: '48px',\n marginTop: theme.spacing() * 1.5,\n\n },\n\n [`@media (height: 736px)`]: {\n submit1: {\n marginTop: theme.spacing() * 10,\n }\n },\n\n\n close: {\n padding: theme.spacing() / 2,\n },\n hyperText: {\n color: 'rgba(0, 0, 0, 0.54)',\n fontSize: '0.75rem',\n fontWeight: 400,\n lineHeight: 1.43,\n letterSpacing: '0.01071em',\n },\n labelRootError: {\n color: whiteColor,//dangerColor[0],\n marginTop: 0\n },\n checkboxStyle: {\n // padding:'7px 30px'\n paddingTop: 7,\n },\n checkboxLabelStyle: {\n fontSize: \"12px\",\n fontWeight: 600,\n textTransform: \"capitalize\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n },\n\n white: {\n color: '#ffffff',\n },\n\n forgotPasswordLable: {\n paddingTop: '15px',\n marginLeft: 0,\n marginRight: 0,\n fontSize: \"12px\",\n fontWeight: 600,\n textTransform: \"capitalize\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n },\n paperDialog: {\n borderRadius: 10\n },\n signinPaperContainer: {\n backgroundColor: secondaryColor[1],\n borderRadius: 20,\n position: \"relative\"\n },\n inputUnderlinewhite: {\n color: '#fff',\n \"&:before\": {\n borderBottom: '1px solid rgb(255 255 255)'\n },\n \"&:after\": {\n borderBottom: '2px solid black'\n }\n\n\n },\n\n number: {\n \"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button\": {\n \"-webkit-appearance\": \"none\",\n margin: 0\n }\n },\n\n});\n\nexport default signinStyle;","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Dialog from '@material-ui/core/Dialog';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport MuiDialogContent from '@material-ui/core/DialogContent';\nimport MuiDialogActions from '@material-ui/core/DialogActions';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = (theme) => ({\n root: {\n margin: 0,\n padding: theme.spacing(2),\n },\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n});\n\nconst DialogTitle = withStyles(styles)((props) => {\n const { children, classes, onClose, ...other } = props;\n return (\n \n {children}\n {onClose ? (\n \n \n \n ) : null}\n \n );\n});\n\nconst DialogContent = withStyles((theme) => ({\n root: {\n padding: theme.spacing(2),\n },\n}))(MuiDialogContent);\n\n\nconst CustomizedDialogs = (props) => {\n const {\n children,\n title,\n onClose,\n dividers,\n dialogContentStyle,\n ...rest\n } = props;\n\n return (\n \n \n {title}\n \n \n {children}\n \n \n );\n}\nCustomizedDialogs.defaultProps = {\n dividers:true,\n dialogContentStyle:{}\n}\n\nexport default CustomizedDialogs;","// import section\n// import dateTime from '../Commanfunctions/dateTimeServices';\nimport validator from \"validator\";\n\n// Function to check null/empty/undefined value\nconst checkNull = (element, elementValue, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking null value.\");\n\n if (typeof elementValue === 'undefined' || elementValue == null || (typeof elementValue==='string'? elementValue.trim().length === 0:elementValue == null)) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n// Function to check maximum length of value\nconst checkMaxLength = (element, elementValue, maxLength, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking maximum length.\");\n\n if (typeof maxLength === 'undefined' || maxLength == null || isNaN(maxLength))\n throw new Error(\"Invalid maximum length specified.\");\n\n if (typeof elementValue !== 'undefined' && elementValue != null && elementValue.trim().length != 0)\n if (elementValue.length > parseInt(maxLength)) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n\n// Function to check minimum length of value\nconst checkMinLength = (element, elementValue, minLength, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking minimum length.\");\n\n if (typeof minLength === 'undefined' || minLength == null || isNaN(minLength))\n throw new Error(\"Invalid minimum length specified.\");\n\n if (typeof elementValue !== 'undefined' && elementValue != null && elementValue.trim().length != 0)\n if (elementValue.length < parseInt(minLength)) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n\n// Function to check number\nconst checkNumber = (element, elementValue, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking number.\");\n\n if (typeof elementValue !== 'undefined' && elementValue != null && elementValue.trim().length != 0)\n if (isNaN(elementValue)) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n// Function to check email\nconst checkEmail = (element, elementValue, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking email.\");\n\n // Regular expression for checking valid email \n // --> Old Logic\n //let re = /^(([^<>()[\\]\\\\.,;:\\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,}))$/i;\n\n if (typeof elementValue !== 'undefined' && elementValue != null && elementValue.trim().length != 0)\n // --> Old Logic\n //if(!re.test(elementValue))\n if (!validator.isEmail(elementValue)) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n// Function to check number\nconst isDateGreater = (element1, element1Value, element2, element2Value, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking greater date.\");\n\n if (typeof element1Value === 'undefined' || element1Value === null || element1Value.trim().length === 0 || isNaN(element1Value)) {\n let invalidDateMsg = element1 + \" should be a date.\";\n element1 = \"error\" + element1;\n validationObject[element1] = invalidDateMsg;\n }\n else if (typeof element2Value === 'undefined' || element2Value == null || element2Value.trim().length == 0 || isNaN(element2Value)) {\n let invalidDateMsg = element2 + \" should be a date.\";\n element2 = \"error\" + element2;\n validationObject[element2] = invalidDateMsg;\n }\n else if (parseInt(element1Value) > parseInt(element2Value)) {\n element1 = \"error\" + element1;\n validationObject[element1] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n\n// // Function to check valid date\n// const checkDate = (element, elementValue, format, errorMessage, validationObject) => {\n// try {\n// if (typeof errorMessage === 'undefined' || errorMessage == null || errorMessage.trim().length == 0)\n// throw new Error(\"Error message is not provided for checking date value.\");\n\n// if (!dateTime.checkDate(elementValue, format)) {\n// element = \"error\" + element;\n// validationObject[element] = errorMessage;\n// }\n\n// }\n// catch (error) {\n// throw error;\n// }\n// }\n\n\n\n// Function to check mobile number\nconst checkMobileNumber = (element, elementValue, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking mobile number.\");\n\n if (typeof elementValue !== 'undefined' && elementValue != null && elementValue.trim().length != 0)\n if (!validator.isMobilePhone(elementValue, 'en-IN')) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n\n }\n catch (error) {\n throw error;\n }\n}\n\n// Function to check mobile number validate\nconst checkMobileNumberVerification = (element, elementValue, elementStatus, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking mobile number.\");\n if (typeof elementValue !== 'undefined' && elementValue != null && elementValue.trim().length !== 0) {\n element = \"error\" + element;\n if (typeof validationObject[element] === 'undefined' || validationObject[element] === \"\")\n if (!elementStatus) {\n validationObject[element] = errorMessage;\n }\n }\n }\n catch (error) {\n throw error;\n }\n}\n\n// Function to check Password\nconst checkPassword = (element, elementValue1, elementValue2, errorMessage, validationObject) => {\n try {\n if (typeof errorMessage === 'undefined' || errorMessage === null || errorMessage.trim().length === 0)\n throw new Error(\"Error message is not provided for checking Password.\");\n\n if (typeof elementValue1 !== 'undefined' && elementValue1 != null && elementValue1.trim().length != 0)\n if (typeof elementValue2 !== 'undefined' && elementValue2 != null && elementValue2.trim().length != 0)\n\n if (elementValue1 !== elementValue2) {\n element = \"error\" + element;\n validationObject[element] = errorMessage;\n }\n }\n catch (error) {\n throw error;\n }\n}\n\nexport {\n checkNull,\n checkMaxLength,\n checkMinLength,\n checkNumber,\n checkEmail,\n isDateGreater,\n // checkDate,\n checkMobileNumber,\n checkMobileNumberVerification,\n checkPassword\n};","import {\n primaryColor,\n dangerColor,\n successColor,\n grayColor,\n // defaultFont\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst customInputStyle = {\n disabled: {\n \"&:before\": {\n backgroundColor: \"transparent !important\"\n }\n },\n underline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: grayColor[4] + \" !important\",\n borderWidth: \"1px !important\"\n },\n \"&:after\": {\n borderColor: primaryColor[0]\n }\n },\n underlineError: {\n \"&:after\": {\n borderColor: dangerColor[0]\n }\n },\n underlineSuccess: {\n \"&:after\": {\n borderColor: successColor[0]\n }\n },\n // labelRoot: {\n // ...defaultFont,\n // color: grayColor[2] + \" !important\",\n // // fontWeight: \"400\",\n // // fontSize: \"0.875rem\",\n // fontWeight: \"600\",\n // fontSize: \"1rem\",\n // lineHeight: \"1.42857\",\n // letterSpacing: \"unset\"\n // }, \n radioRoot: {\n fontSize: \"0.75rem\",\n fontWeight: \"600\",\n },\n labelRootError: {\n color: dangerColor[0],\n marginTop: 0\n },\n labelRootSuccess: {\n color: successColor[0]\n },\n lableError: {\n marginTop: 0\n },\n feedback: {\n position: \"absolute\",\n top: \"18px\",\n right: \"0\",\n zIndex: \"2\",\n display: \"block\",\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n pointerEvents: \"none\"\n },\n marginTop: {\n marginTop: \"16px\"\n },\n // marginDense:\n // {\n // marginBottom: '0px'\n // },\n formControl: {\n // paddingBottom: \"10px\",\n // margin: \"27px 0 0 0\",\n position: \"relative\",\n verticalAlign: \"unset\",\n // marginBottom: '0px !import'\n },\n footerButton: {\n marginRight: '10px'\n }\n};\n\nexport default customInputStyle;\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\n// material-ui components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Radio from '@material-ui/core/Radio';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport FormHelperText from '@material-ui/core/FormHelperText';\n\n\n\n// custom style\nimport styles from \"assets/jss/components/customcomponents/customInputStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nconst TextInput = React.forwardRef((props, ref) => {\n const classes = useStyles();\n const {\n label,\n id,\n errorText,\n success,\n ...rest\n } = props;\n\n return (\n \n \n \n\n );\n});\n\nTextInput.propTypes = {\n label: PropTypes.node,\n id: PropTypes.string,\n errorText: PropTypes.string,\n success: PropTypes.bool,\n};\n\nexport { TextInput };\n\n// ...........................Radio.........................\nexport function RadioInput(props) {\n const classes = useStyles();\n const {\n ...rest\n } = props;\n\n return (\n
\n }\n />\n {props.children}\n
\n );\n}\n\n\n\n// ...........................Checkbox.........................\nexport function CheckboxInput(props) {\n const classes = useStyles();\n const {\n description,\n ...rest\n } = props;\n\n return (\n \n }\n {...rest}\n />\n {description ? {description} : null}\n \n );\n}\n\nCheckbox.propTypes = {\n description: PropTypes.string\n};\n\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nimport {\n successColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst Style = makeStyles((theme) => ({\n layout: {\n width: 'auto',\n display: 'block', // Fix IE11 issue.\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n paddingTop: theme.spacing() * 5,\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n width: 440,\n minHeight: 550,\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n textAlign: 'center',\n },\n paper: {\n borderRadius: 20,\n // boxShadow: '0px 8px 10px',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: `${theme.spacing() * 2}px ${theme.spacing() * 3}px ${theme.spacing() * 3}px`,\n },\n form_easysignup: {\n maxWidth: '328px',\n width: '100%', // Fix IE11 issue.\n marginTop: theme.spacing(),\n },\n actionsGridItem_easysignup: {\n margin: 0,\n padding:0\n },\n submit_easysignup: {\n marginTop: theme.spacing() * 1.5,\n },\n form: {\n width: '100%', // Fix IE11 issue.\n marginTop: theme.spacing(),\n },\n submit: {\n marginTop: theme.spacing() * 3,\n },\n close: {\n padding: theme.spacing() / 2,\n },\n stepperStyle: {\n // width: '100%',\n paddingRight: 0,\n paddingLeft: 0\n },\n actionsGridItem: {\n marginTop:10,\n justifyItems: 'flex-end',\n alignItems: 'flex-end',\n display: 'flex'\n },\n actionsContainer: {\n // padding: 15,\n width: '100%',\n display: 'flex',\n justifyContent: \"space-between\"\n },\n stepContent: {\n width: '100%',\n minHeight: 200\n },\n dialogTitle: {\n textAlign: \"center\",\n display:'flex',\n flexDirection:\"column\",\n alignItems:\"center\"\n },\n avatar: {\n // margin: theme.spacing(),\n backgroundColor: theme.palette.secondary.main,\n marginLeft: 'auto',\n marginRight: 'auto',\n\n },\n titleHeader: {\n paddingLeft: 0,\n paddingRight: 0\n },\n titleHeader: {\n paddingLeft: 0,\n paddingRight: 0\n },\n successHeader: {\n paddingLeft: 0,\n paddingRight: 0,\n color: successColor[0]\n },\n stepperCardBody: {\n padding: '0.25rem 1rem'\n },\n dialogActions: {\n margin: 10,\n flexDirection: \"column\"\n },\n resendText: {\n textAlign: 'center',\n // width: -webkit-fill-available;\n justifyContent: 'center'\n },\n hyperText: {\n fontSize: '0.75rem',\n fontWeight: 400,\n lineHeight: 1,\n letterSpacing: '0.01071em',\n color: \"#0000FF\",\n cursor: 'pointer'\n },\n number: {\n \"& input::-webkit-outer-spin-button, & input::-webkit-inner-spin-button\": {\n \"-webkit-appearance\": \"none\",\n margin: 0\n }\n },\n chip_getotp: {\n backgroundColor: successColor[0],\n letterSpacing: 1,\n marginBottom: 10\n },\n\n}));\n\nexport default Style;","import React, { useState } from 'react';\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// import material component\nimport Avatar from '@material-ui/core/Avatar';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\n// @material-ui/icons\nimport LockIcon from '@material-ui/icons/MobileFriendly';\n//import Custom Components\nimport Progress from \"components/CustomComponents/Progress/Progress\"\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport CustomButton from \"components/CustomComponents/CustomButtons/Button\"\n// custom style\nimport useStyles from \"assets/jss/components/views/signupStyle\";\n//variables error\nimport { LENGTH_ERROR } from 'variables/general'\n//validations\nimport { checkNull, checkMaxLength } from 'util/validations'\n\nfunction Alert(props) {\n return ;\n}\n\nconst VerifyOTP = (props) => {\n const {\n title,\n username,\n resendOTP,\n onValidateOTP,\n onClose,\n loading,\n snackbarseverity,\n snackbarMessage,\n setSnackbarMessage\n } = props;\n\n const classes = useStyles();\n const [verificationCode, setVerificationCode] = useState(\"\");\n const [errorverificationCode, setErrorCode] = useState(\"\");\n\n const validateOTP = async () => {\n let validationObject = {};\n checkNull(\"verificationCode\", verificationCode, \"Verification Code is required\", validationObject);\n checkMaxLength(\"verificationCode\", verificationCode, 10, LENGTH_ERROR(10), validationObject);\n if (Object.keys(validationObject).length != 0) {\n setErrorCode(validationObject.errorverificationCode)\n } else {\n onValidateOTP(verificationCode)\n }\n }\n\n return (\n\n \n \n setSnackbarMessage(\"\")} anchorOrigin={{ vertical: 'top', horizontal: 'center' }}>\n setSnackbarMessage(\"\")} severity={snackbarseverity}>\n {snackbarMessage}\n \n \n\n \n \n \n \n \n Verification\n \n\n \n {title ? title : `You will get a otp on ${username} `}\n onClose(false)} >\n Edit\n \n \n\n \n\n \n setVerificationCode(e.target.value)}\n errorText={errorverificationCode}\n />\n \n\n \n \n Verify\n \n onClose(false)}>\n Not now\n \n
\n \n Did`t receive the verification OTP ?\n \n
\n \n Resend OTP\n \n
\n
\n\n
\n
\n )\n}\n\nVerifyOTP.defaultProps = {\n title: \"\",\n snackbarseverity:'success'\n}\n\nVerifyOTP.propTypes = {\n title: PropTypes.string,\n username: PropTypes.string,\n resendOTP: PropTypes.func,\n onValidateOTP: PropTypes.func,\n onClose: PropTypes.func,\n loading: PropTypes.bool,\n snackbarMessage: PropTypes.string,\n snackbarseverity:PropTypes.string,\n setSnackbarMessage: PropTypes.func,\n}\n\nexport default VerifyOTP;","import React, { useState, useEffect } from 'react';\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//Views\nimport VerifyOTP from \"components/Views/VerifyOTP/VerifyOTP\";\n\nconst CouponCode = (props) => {\n const { username, onClose, onValidate, title } = props\n const dispatch = useDispatch();\n const verification_status = useSelector(state => state.resetpassword.OTPVerificationStatus)\n\n const [alertType, setAlertType] = React.useState(\"success\");\n const [snackbarMessage, setSnackbarMessage] = useState(\"\")\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n if (Object.keys(verification_status).length)\n if (verification_status.isSuccess) {\n onClose(false)\n onValidate(true, verification_status.message)\n } else {\n onValidate(false, verification_status.message)\n }\n }, [verification_status])\n\n const onValidateOTP = async (verificationCode) => {\n dispatch(questActions.validateUernameOTP(username, verificationCode)).catch(error => {\n setAlertType(\"error\")\n setSnackbarMessage(error.message)\n });\n }\n\n const resendOTP = async () => {\n setLoading(true)\n dispatch(questActions.verifyUser(username)).then(() => {\n setLoading(false)\n setAlertType(\"success\")\n setSnackbarMessage(\"OTP was resent successfully!\")\n }).catch(error => {\n console.log(error);\n });\n }\n\n return (\n \n \n \n )\n}\n\nexport default CouponCode;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n \n}));\n\nexport default useStyles;","import React, { isValidElement, useState, useEffect } from 'react';\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions'\n//validations\nimport { checkNull, checkMobileNumber } from 'util/validations'\n// import axios\n// import axiosConfig from \"util/axios\";\n\n// import material component\nimport Dialog from '@material-ui/core/Dialog';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Slide from '@material-ui/core/Slide';\n\n//import Custom Components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\n// Views\nimport VerifyUsernameOTP from 'components/Views/ForgotPassword/VerifyUsernameOTP';\n\n// custom style\nimport useStyles from \"assets/jss/components/views/verifyUsernameStyle\";\n\nfunction Alert(props) {\n return ;\n}\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst VerifyUsername = (props) => {\n const dispatch = useDispatch()\n const verification_status = useSelector(state => state.resetpassword.userVerificationStatus)\n const classes = useStyles();\n const theme = useTheme();\n\n\n useEffect(() => {\n props.onChangeTitle(\"Forgot Password\")\n }, [])\n\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n const [OTPDialog, setOTPDialog] = React.useState(false);\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n const [snackbarMessage, setSnackbarMessage] = useState(\"\")\n const [isMobileValidate, setMobileValidation] = useState(false)\n\n const [state, setState] = useState({\n username: \"\",\n errorusername: \"\",\n })\n\n const onSendOTP = async () => {\n dispatch(questActions.setOTPverificationStatus({}))\n let validationObject = {};\n checkNull(\"username\", state.username, \"Username is required\", validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorusername: \"\",\n ...validationObject\n });\n } else {\n setState({ ...state, errorusername: \"\" });\n props.handleLoading(true);\n dispatch(questActions.verifyUser(state.username)).then(() => {\n props.handleLoading(false);\n }).catch(error => {\n props.handleLoading(false);\n setAlertType(\"danger\")\n setAlertMessage(error.message)\n });\n }\n }\n\n useEffect(() => {\n if (verification_status.isSuccess) {\n setOTPDialog(true)\n } else {\n setAlertType(\"info\")\n setAlertMessage(verification_status.message)\n }\n }, [verification_status])\n\n\n\n const verifyMobile = (isVerify, message) => {\n if (isVerify) {\n props.setUsername(state.username)\n setSnackbarMessage(message)\n setTimeout(() => {\n props.handleNext()\n }, 1000)\n }\n else {\n setAlertType(\"danger\")\n setAlertMessage(message)\n }\n }\n\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n\n\n return (\n \n {/*-----Dialog----- */}\n \n \n \n\n {/* ---AlertDialog--- */}\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n {/* ----Snackbar---- */}\n setSnackbarMessage(\"\")} anchorOrigin={{ vertical: 'top', horizontal: 'center' }}>\n setSnackbarMessage(\"\")} severity=\"success\">\n {snackbarMessage}\n \n \n\n\n \n setState({ ...state, username: e.target.value })}\n />\n \n\n \n {/*
0 ? 'visible' : 'hidden' }}> */}\n \n Continue\n \n {/*
*/}\n
\n
\n )\n}\n\nexport default VerifyUsername;","// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\n\n\nconst useStyles = makeStyles((theme) => ({\n dialogTitle: {\n textAlign: \"center\"\n },\n avatar: {\n margin: theme.spacing(),\n backgroundColor: theme.palette.secondary.main,\n marginLeft: 'auto',\n marginRight: 'auto'\n\n },\n}))\n\nexport default useStyles;","import React, { useState, useEffect } from 'react';\n//axios\nimport axiosConfig from \"util/axios\";\n\n// material component\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\n// @material-ui/icons\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n\n\n//Custom Components\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n//validations\nimport { checkNull, checkPassword } from \"util/validations\";\n\n// styles\nimport useStyles from \"assets/jss/components/views/changePasswordStyle\";\n\n\nconst ResetPassword = (props) => {\n\n const { username, onChangeTitle, handleLoading, loading, handleNext, onResetPassword } = props\n const classes = useStyles();\n\n const [state, setState] = useState({\n newPassword: \"\",\n confirmPassword: \"\",\n errorNewPassword: \"\",\n errorConfirmPassword: \"\",\n })\n\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n\n useEffect(() => {\n onChangeTitle(\"Reset Password\")\n }, [])\n\n\n // ------Clear All States---------\n const clearStates = () => {\n setState({\n newPassword: \"\",\n confirmPassword: \"\",\n errorNewPassword: \"\",\n errorConfirmPassword: \"\",\n newShowPassword: false,\n confirmShowPassword: false,\n });\n }\n\n // ------Clear error---------\n const clearError = () => {\n setState({\n ...state,\n errorNewPassword: \"\",\n errorConfirmPassword: \"\"\n });\n }\n\n // ---- click chnage --------\n const handlePasswordChange = () => {\n clearError() // clear Error\n handleLoading(true)\n // Validation\n let validationObject = {};\n checkNull(\"NewPassword\", state.newPassword, \"New Password is required\", validationObject);\n checkNull(\"ConfirmPassword\", state.confirmPassword, \"Confirm Password is required\", validationObject);\n checkPassword(\"ConfirmPassword\", state.newPassword, state.confirmPassword, \"Password not match.\", validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n handleLoading(false)\n setState({\n ...state,\n errorNewPassword: validationObject.errorNewPassword,\n errorConfirmPassword: validationObject.errorConfirmPassword,\n });\n } else {\n postChangePassword(state.newPassword)\n }\n }\n\n // axios call for post password change\n const postChangePassword = (newPassword) => {\n axiosConfig().get('/QuestUser/ResetPassword/ChangePassword', {\n params: {\n Username: username,\n newPassword: newPassword\n }\n }).then(response => {\n clearStates()\n if (response.data.success) {\n handleNext()\n onResetPassword(\"success\", response.data.success)\n }\n }).catch((error) => {\n handleLoading(false)\n if (error.response.data) {\n setAlertType(\"danger\")\n setAlertMessage(error.response.data.error)\n }\n });\n }\n\n\n\n const handleClickShowPassword = (showPassword) => () => {\n setState({ ...state, [showPassword]: !state[showPassword] });\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n\n return (\n \n {/* ---AlertDialog--- */}\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n \n setState({ ...state, newPassword: e.target.value })}\n InputProps={{\n endAdornment: (\n \n \n {state.newShowPassword ? : }\n \n \n )\n }}\n />\n setState({ ...state, confirmPassword: e.target.value })}\n InputProps={{\n endAdornment: (\n \n \n {state.confirmShowPassword ? : }\n \n \n )\n }}\n />\n \n\n\n \n \n Change\n \n\n \n\n\n\n \n )\n}\n\n\n\nexport default ResetPassword;\n\n\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nimport {\n successColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst Style = makeStyles((theme) => ({\n paper:{\n margin:-5,\n overflow:'hidden',\n padding: '0px 24px 0px 24px',\n textAlign: 'center',\n alignItems: 'center',\n flexDirection: 'column'\n }\n\n}));\n\nexport default Style;","import React, { useState } from 'react';\n\n//Redux\nimport { useSelector } from 'react-redux'\n\n// import material component\n// import LinearProgress from '@material-ui/core/LinearProgress';\nimport Progress from \"components/CustomComponents/Progress/Progress\"\n\n//import Custom Components\nimport VerifyUsername from './VerifyUsername'\nimport ResetPassword from \"./ResetPassword\";\n\nimport { SwitchTransition, CSSTransition } from \"react-transition-group\";\n\n// custom style\nimport useStyles from \"assets/jss/components/views/forgotPasswordStyle\";\n\n\n\nconst mode = \"out-in\"\n\nconst ForgotPassword = (props) => {\n const classes = useStyles();\n\n const [activeStep, setActiveStep] = useState(0);\n const steps = ['1', '2'];\n const [username, setUsername] = useState(\"\");\n const [loading, setLoading] = useState(false)\n\n const handleNext = () => {\n if (activeStep === steps.length - 1) {\n props.onClose()\n } else {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n }\n };\n\n const handleBack = () => {\n if (activeStep === 0) {\n props.onClose()\n }\n else {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n }\n };\n\n const getStepContent = (step) => {\n switch (step) {\n case 0:\n return \n case 1:\n return \n default:\n return 'Unknown step';\n }\n }\n\n\n return (\n \n {/* {loading ? < LinearProgress color=\"primary\" style={{ marginTop: -16, width: '100%' }} /> : null} */}\n \n
\n \n {\n node.addEventListener(\"transitionend\", done, false);\n }}\n classNames=\"fade\"\n >\n {getStepContent(activeStep)}\n \n \n\n
\n
\n\n );\n}\n\nexport default ForgotPassword;","import React, { useState, useEffect, useRef } from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\nimport axiosConfig from \"util/axios\";\n//import reducer \nimport { useDispatch, useSelector } from 'react-redux';\nimport * as questActions from 'store/actions/index'\n\n// @material-ui/core\nimport Slide from '@material-ui/core/Slide';\nimport Input from '@material-ui/core/Input';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Typography from '@material-ui/core/Typography';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport FormControl from '@material-ui/core/FormControl';\nimport { makeStyles } from '@material-ui/core/styles';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport FormHelperText from '@material-ui/core/FormHelperText';\nimport Divider from '@material-ui/core/Divider';\n\n// @material-ui/icons\nimport CloseIcon from '@material-ui/icons/Close';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport CustomizedDialog from \"components/CustomComponents/Dialog/CustomizedDialog\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n// Views\nimport ForgotPassword from \"components/Views/ForgotPassword/ForgotPassword\";\n\n//validations\nimport { checkNull, checkPassword } from \"util/validations\";\n\n// StoreUserData\nimport { StoreUserData } from 'util/commonfunctions'\n\n// custom style\nimport styles from \"assets/jss/components/views/signinStyle\";\n\nimport { serverDjangoURL } from \"variables/ServerURL\";\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\n\nconst useStyles = makeStyles(styles)\n\nconst SigninContainer = (props) => {\n\n const classes = useStyles();\n const {\n textColor,\n } = props;\n\n\n const inputUnderlineClasss = classNames({\n [classes.inputUnderline]: true,\n [classes['inputUnderline' + textColor]]: textColor,\n });\n\n const checkboxLabelClass = classNames({\n [classes.checkboxLabelStyle]: true,\n [classes[textColor]]: textColor,\n })\n\n const forgotPasswordLableClass = classNames({\n [classes.forgotPasswordLable]: true,\n [classes[textColor]]: textColor,\n })\n\n\n\n const dispatch = useDispatch();\n let history = useHistory();\n const InputPassword = useRef(null)\n const configs = useSelector(state => state.appconfigs.configs)\n const apptype = useSelector(state => state.appconfigs.apptype)\n\n const [state, setState] = useState({\n userName: props.userInfo.userName,\n password: props.userInfo.password,\n errorUserName: \"\",\n errorPassword: \"\",\n });\n\n const [openProgress, setOpenProgress] = useState(false)\n const [remember, setRemember] = useState(props.userInfo.remember)\n const [errorMessage, setErrorMessage] = useState('')\n const [forgotDialog, setForgotDialog] = React.useState(false);\n const [forgotDialogTitle, setForgotDialogTitle] = React.useState(\"Forgot Password\");\n\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n\n // ---- click Login --------\n const handleLogin = () => {\n localStorage.setItem('PASSWORD_TYPE', 'PASSWORD'); // use for Change Password\n\n setOpenProgress(true)\n // Validation\n let validationObject = {};\n checkNull(\"UserName\", state.userName, \"Username is required\", validationObject);\n checkNull(\"Password\", state.password, \"Password is required\", validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setOpenProgress(false)\n setState({\n ...state,\n errorPassword: \"\",\n errorUserName: \"\",\n ...validationObject\n });\n } else {\n logIN()\n }\n }\n\n const handleCheckChange = (event) => {\n const isChecked = event.target.checked\n setRemember(isChecked);\n if (typeof window.Android !== 'undefined') {\n if (isChecked) {\n window.Android.onRemenberMeClicked(state.userName, state.password, true);\n }\n else {\n //Remember Me Uncheck\n window.Android.onRemenberMeUncheck(state.userName);\n }\n }\n if (typeof onRemenberMeClicked !== 'undefined') {\n if (isChecked) {\n window.onRemenberMeClicked(state.userName, state.password, true);\n }\n else {\n //Remember Me Uncheck\n window.onRemenberMeUncheck(state.userName);\n }\n }\n\n if (typeof window.flutter_inappwebview !== 'undefined') {\n if (isChecked) {\n window.flutter_inappwebview.callHandler('onRemenberMeClicked', state.userName, state.password, true);\n }\n else {\n //Remember Me Uncheck\n window.flutter_inappwebview.callHandler('onRemenberMeUncheck', state.userName);\n }\n\n }\n };\n\n\n //handle ENTER key press\n const handleKeyPress = (e) => {\n const name = e.target.name;\n const charCode = e.charCode;\n if (charCode == 13) {\n if (name === 'password')\n logIN()\n else if (name === 'userName')\n InputPassword.current.focus()\n }\n }\n\n const logIN = async () => {\n\n axiosConfig().post('/QuestUser/AuthenticateUser', {}, {\n auth: {\n username: state.userName,\n password: state.password\n }\n }).then(async response => {\n dispatch(questActions.setAuthError(false))\n\n if (remember) {\n await StoreUserData(state.userName, state.password, true, 'Spectrum')\n }\n sessionStorage.setItem('token', response.data.token);\n\n await axiosConfig().get('/QuestUser/GetCurrentUser').then(async response => {\n await dispatch(questActions.setUserInfo(response.data))\n\n let userId = response.data?.userId\n\n await axiosConfig(serverDjangoURL).get(`api/gocoderz_prompt/${userId}`).then(async response => {\n await dispatch(questActions.setGoCoderPrompt(response.data))\n\n }).catch(async error => {\n await dispatch(questActions.setGoCoderPrompt({}))\n });\n\n if (response.data.userQuestList.length > 0) {\n dispatch(questActions.initUserQuestList(props.isInitCurrentQuestAndContentList)).then(() => {\n setOpenProgress(false)\n navigateTo()\n })\n } else if (response.data.showDashboard && apptype !== 'Spectrum') {\n setOpenProgress(false)\n history.push('/products')\n } else {\n setOpenProgress(false)\n navigateTo();\n }\n }).catch(function (error) {\n dispatch(questActions.fetchUserInfoFailed())\n });\n\n\n }).catch((error) => {\n setOpenProgress(false)\n if (error.response) {\n dispatch(questActions.setAuthError(true))\n setErrorMessage(error.response.data.error)\n }\n });\n }\n\n const navigateTo = () => {\n const search = window.location.search;\n const params = new URLSearchParams(search);\n const actionType = params.get('actionType')\n if (actionType !== null && actionType !== '') {\n if (actionType === 'schedule')\n history.push('/home/connect')\n } else {\n history.push('/home')\n }\n }\n\n /*-----------------------handle Forgot Password Dialog Open --------------------*/\n const openForgotDialog = () => {\n dispatch(questActions.setUserverificationStatus({}))\n setForgotDialog(true)\n };\n\n /*-----------------------handle Forgot Password Dialog Close --------------------*/\n const closeForgotDialog = () => {\n setForgotDialog(false);\n };\n\n /*------------------------handel onSignUp--------------------------------------- */\n const handleOnSignUp = async () => {\n await dispatch(questActions.setInitialUser())\n props.onSignUp()\n }\n\n /* --------------------------on Close Alert-----------------*/\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n /* --------------------------on Reset Password-----------------*/\n const onResetPassword = (alertType, message) => {\n setAlertType(alertType)\n setAlertMessage(message)\n }\n\n /*----------------------- Open URL --------------------*/\n const onOpenURL = (URL) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.openNewUrl(\"\", URL)\n } else if (typeof openNewUrl !== 'undefined') {\n window.openNewUrl(\"\", URL)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('openNewUrl', \"\", URL);\n } else {\n window.open(URL, \"_blank\")\n }\n }\n\n\n return (\n \n {openProgress\n ? < LinearProgress color=\"primary\" style={{ position: 'absolute', width: '95%', left: 10, right: 10 }} />\n : null\n }\n\n {/* ---AlertDialog--- */}\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n {/* Dialog */}\n \n
\n setForgotDialogTitle(title)}\n onClose={closeForgotDialog}\n onResetPassword={onResetPassword}\n />\n
\n \n\n
\n
\n\n {/* ....Facebook.......*/}\n {/* \n Facebook\n */}\n\n {/*....Google.......*/}\n {/* \n Google\n */}\n\n\n {/*
\n OR\n
*/}\n\n \n Username\n setState({ ...state, userName: e.target.value })}\n onKeyPress={handleKeyPress}\n />\n {state.errorUserName}\n \n\n \n Password\n setState({ ...state, password: e.target.value })}\n onKeyPress={handleKeyPress}\n />\n {state.errorPassword}\n \n\n \n \n {/*....Create account.......*/}\n }\n checkedIcon={}\n checked={remember}\n onChange={handleCheckChange}\n />\n }\n classes={{ label: checkboxLabelClass }}\n label=\"Remember Me\"\n />\n \n \n Forgot Password?}\n />\n {/* */}\n \n\n {/* \n {\n this.props.history.push('/signup')\n }}>Sign Up}\n />\n */}\n \n
\n {props.isBack\n && history.push('/')}\n >\n Back\n \n }\n
\n \n Login\n \n\n
\n
\n \n
\n\n {props.onExplore\n && \n I'm a new user. I want to Explore\n \n }\n\n {props.onSignUp\n && \n I'm a new user. I want to Sign Up\n \n }\n\n\n {/* \n \n
\n \n Don`t have an account?\n \n
\n this.props.history.push('/signup')} > Sign Up\n
\n
\n
\n
*/}\n\n\n\n\n {/* \n \n {/*....Facebook.......*/}\n {/* \n \n \n {/*....Google.......*/}\n {/* \n \n */}\n\n \n \n \n By Clicking Login,You Agree to the SESL\n \n

\n
\n onOpenURL(configs.tcUrl)} > Privacy Policy \n and\n onOpenURL(configs.tcUrl)} > Terms and Conditions\n
\n\n
\n
\n\n\n setErrorMessage(\"\")}\n ContentProps={{ 'aria-errormessage': 'message-id', }}\n message={{errorMessage}}\n action={[\n setErrorMessage(\"\")}\n >\n \n ,\n ]}\n />\n
\n
\n
\n\n\n );\n}\n\nSigninContainer.defaultProps = {\n textColor: \"black\",\n userInfo: {\n userName: '',\n password: '',\n remember: true\n },\n onLogin: () => { },\n isBack: true,\n onExplore: null,\n onSignUp: null,\n isInitCurrentQuestAndContentList: true\n}\n\nSigninContainer.propTypes = {\n color: PropTypes.oneOf([\"white\", \"black\"]),\n};\n\nexport default SigninContainer;\n","import React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { withRouter } from 'react-router-dom';\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n// material-ui components\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport withStyles from '@material-ui/core/styles/withStyles';\nimport Paper from '@material-ui/core/Paper';\n\n// custom style\nimport styles from \"assets/jss/components/views/signinStyle\";\n\n//import axiosConfig from \"util/axios\";\n\n// img\nimport QuestLogo from \"assets/img/icons/QuestLogo.png\";\n\n// Views\nimport SigninContainer from 'components/Views/SignIn/SigninSpectrum/SigninComponent'\n\n\nclass SignIn extends PureComponent {\n\n constructor(props) {\n super(props);\n this.state = {\n userName: '',\n password: '',\n remember: true\n }\n }\n async componentWillMount() {\n if (sessionStorage.getItem('token')) {\n this.navigateTo()\n }\n }\n\n // async componentWillMount() {\n\n // if (typeof window.Android !== 'undefined' || typeof onRemenberMeClicked !== 'undefined') {\n // const search = window.location.search;\n // const params = new URLSearchParams(search);\n // const userName = params.get('userName');\n // const password = params.get('password');\n // const isAutologin = params.get('isAutologin')\n // if (userName) {\n // await this.setState({\n // userName: userName,\n // password: password,\n // remember: true\n // })\n // if (isAutologin) {\n // await this.setState({\n // openProgress: true\n // })\n // await this.logIN()\n // }\n // }\n // }\n\n // if (localStorage.getItem('remember') === 'true') {\n // this.setState({\n // userName: localStorage.getItem('userName'),\n // password: localStorage.getItem('password'),\n // remember: true\n // }, () => this.logIN())\n // this.props.history.push('/intermediate')\n // //this.navigateTo()\n // } else if (sessionStorage.getItem('token')) {\n // this.navigateTo()\n // }\n // }\n\n // componentDidMount() {\n // if (this.props.configs.tcUrl === \"\")\n // this.props.initAppConfigs()\n // }\n\n\n // async logIN() {\n // let showDashboard = false\n // axiosConfig().post('/QuestUser/AuthenticateUser', {}, {\n // auth: {\n // username: this.state.userName,\n // password: this.state.password\n // }\n // }).then(async response => {\n // this.props.setAuthError(false)\n // if (this.state.remember) {\n // if (typeof window.Android !== 'undefined') {\n // window.Android.onRemenberMeClicked(this.state.userName, this.state.password, true);\n // }\n // if (typeof onRemenberMeClicked !== 'undefined') {\n // window.onRemenberMeClicked(this.state.userName, this.state.password, true);\n // }\n // }\n // sessionStorage.setItem('token', response.data.token);\n // await axiosConfig().get('/QuestUser/GetCurrentUser').then(response => {\n // //this.props.initAppConfigs()\n // this.props.setUserInfo(response.data)\n // this.props.initUserQuestList()\n // showDashboard = response.data.showDashboard\n // }).catch(function (error) {\n // this.props.fetchUserInfoFailed()\n // });\n // this.setState({ openProgress: false })\n // this.navigateTo(showDashboard)\n // }).catch((error) => {\n // this.setState({ openProgress: false })\n // if (error.response) {\n // this.props.setAuthError(true)\n // this.setState({\n // open: true,\n // errorMessage: error.response.data.error\n // })\n // }\n // });\n // }\n\n // navigate To\n navigateTo(showDashboard = false) {\n if (showDashboard)\n return this.props.history.push('/products')\n return this.props.history.push('/home')\n }\n\n\n render() {\n const { classes } = this.props;\n\n return (\n \n
\n \n
\n \"...\"\n\n \n this.navigateTo(test)}\n isBack={(this.props.platform === \"IOS\" || this.props.apptype === 'Spectrum') ? false : true}\n // onExplore={() => this.props.history.push('/products')}\n />\n \n\n
\n
\n
\n );\n }\n }\n\nSignIn.propTypes = {\n classes: PropTypes.object.isRequired,\n };\n\n const mapStateToProps = state => {\n return {\n loading: state.appconfigs.loading,\n configs: state.appconfigs.configs,\n apptype: state.appconfigs.apptype,\n platform: state.platforms.platform,\n }\n }\n\n\n const mapDispatchToProps = dispatch => {\n return {\n //onInitAppConfigs: () => dispatch(questActions.initAppConfigs()),\n setAuthError: (auth) => dispatch(questActions.setAuthError(auth)),\n\n initAppConfigs: () => dispatch(questActions.initAppConfigs()),\n setUserInfo: (data) => dispatch(questActions.setUserInfo(data)),\n initUserQuestList: () => dispatch(questActions.initUserQuestList()),\n fetchUserInfoFailed: () => dispatch(questActions.fetchUserInfoFailed())\n }\n }\n\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(withStyles(styles)(SignIn)))\n\n","import {\n dangerColor,\n boxShadow\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n contentCardStyle: {\n width: '100%',\n marginBottom: 10,\n marginTop: 10,\n borderRadius: 10,\n // cursor: 'pointer',\n boxShadow: '0 2px 2px -5px rgba(0, 0, 0, 0.42), 0 1px 10px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2)'\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n\n contentCardTitle: {\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n // height: '3em',\n /* line-height: 16px; */\n /* max-height: 32px; */\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n },\n webTopicCard: {\n height: '100%',\n display: 'block',\n overflow: 'hidden',\n width: '100%',\n margin: 0\n },\n hyperText: {\n fontSize: '0.75rem',\n fontWeight: 800,\n lineHeight: 1.43,\n letterSpacing: '0.01071em',\n textDecoration: 'underline',\n color: \"#0000FF\",\n cursor: 'pointer'\n },\n\n mobileStepper: {\n flexGrow: 1,\n justifyContent: \"center !important\",\n background: 'transparent !important'\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n height: 50,\n paddingLeft: theme.spacing(4),\n backgroundColor: theme.palette.background.default,\n },\n img: {\n height: '100%',\n display: 'block',\n overflow: 'hidden',\n width: '100%',\n },\n cardContainer: {\n display: 'flex',\n justifyContent: 'center'\n },\n swipeableViewsContainer: {\n paddingTop: 20\n }, buttonDiv: {\n display: 'flex',\n justifyContent: 'space-between',\n // textAlign: 'center',\n alignItems: 'center',\n padding: '0 15px',\n },\n topicsTitle: {\n width: '85%',\n fontWeight: 'bold',\n color: '#fff',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '2',\n },\n },\n\n freeText: {\n width: 'max-content',\n justifyContent: \"center\",\n // backgroundColor: '#ff414e',\n paddingRight: 20,\n paddingLeft: 10,\n borderRadius: 20,\n borderBottomLeftRadius: 0,\n borderTopLeftRadius: 10,\n borderTopRightRadius: 0,\n justifyContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n top: 10,\n fontSize: 12,\n color: \"#fff\",\n fontWeight: 'bold',\n textAlign: \"center\"\n },\n cardMedia: {\n // width:'50% !important',\n objectFit: 'fill !important',\n backgroundColor: ' #D4DFF9',\n height: 'auto'\n },\n topicCardGrid: {\n paddingRight: '2px !important'\n },\n paper: { borderRadius: 10 },\n backButtonContainer: {\n flexDirection: \"row\",\n display: \"flex\",\n alignItems: 'center',\n margin: '0px 0px 0px 0px',\n\n },\n\n backButtonContainer1: {\n [theme.breakpoints.down('sm')]: {\n marginLeft: '-18%'\n },\n },\n\n cartIconContainer: {\n position: 'absolute',\n right: 20,\n display: \"flex\",\n alignItems: 'baseline',\n justifyContent: 'flex-end',\n [theme.breakpoints.down('sm')]: {\n padding: 0\n },\n [theme.breakpoints.up('sm')]: {\n padding: '0 15px'\n },\n },\n searchTextContainer: {\n position: 'relative',\n [theme.breakpoints.down('sm')]: {\n padding: 0\n },\n [theme.breakpoints.up('sm')]: {\n padding: '0 15px'\n },\n },\n priceTextContainer: {\n // lineHeight: 1,\n display: 'flex',\n alignItems: 'flex-end'\n },\n priceSymbol: {\n paddingRight: 2,\n lineHeight: 'inherit'\n },\n priceText: {\n color: '#000',\n fontWeight: \"bold\",\n paddingRight: 10,\n lineHeight: 'inherit'\n },\n button: {\n padding: \"0.2rem 0.8rem\",\n fontSize: \"0.875rem\",\n },\n boardGradeSearchContainer: {\n [theme.breakpoints.down('sm')]: {\n display: 'flex',\n justifyContent: 'center'\n }\n }\n}));\n\nexport default useStyles;","import React, { useState, useEffect } from 'react';\n\n//Redux\nimport { useSelector } from 'react-redux'\n\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport CssBaseline from '@material-ui/core/CssBaseline';\n\n//Custom Components\nimport Loading from 'components/CustomComponents/Progress/Progress'\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\n\n// custom style\nimport useStyles from \"assets/jss/components/views/questCategoryStyle\";\n\nconst Intermediate = (props) => {\n const classes = useStyles();\n const userInfoError = useSelector(state => state.user.error)\n const userAuthError = useSelector(state => state.user.auth_error)\n\n useEffect(() => {\n // session is invalid\n if (userInfoError || userAuthError) {\n console.log(\"session is invalid\");\n localStorage.clear();\n sessionStorage.clear();\n props.history.push('/');\n }\n }, [userInfoError, userAuthError])\n\n return (\n
\n \n \n {/* \n \n
\n {['001', '010', '011', '111'].map((v, i) =>\n \n \n \n \n \n
\n \n \n
\n
\n
\n
\n
\n )}\n
\n
\n
*/}\n
\n )\n}\n\nexport default Intermediate;\n\n","import {\n whiteColor,\n primaryColor,\n secondaryColor,\n warningColor,\n infoColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst drawerWidth = 240;\nconst styles = theme => ({\n root: {\n display: 'flex',\n },\n toolbar: {\n // justifyContent: 'space-between',\n ...theme.mixins.toolbar\n },\n muiToolbarDense: {\n minHeight: 50\n },\n toolbarIcon: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: '0 8px',\n ...theme.mixins.toolbar,\n\n },\n\n appBar: {\n zIndex: theme.zIndex.drawer + 1,\n backgroundColor: whiteColor,\n color: secondaryColor[1],\n },\n appBarShift: {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n bottomNavigation: {\n backgroundColor: 'transparent',\n marginLeft: 'auto',\n marginRight: 'auto',\n alignItems: 'flex-start'\n },\n bottomNavigationActionRoot: {\n minWidth: 90\n },\n buttonNavigationAction: {\n color: 'inherit'\n },\n buttonNavigationsSelected: {\n color: `${infoColor[0]} !important`\n },\n menuButton: {\n marginLeft: 12,\n marginRight: 12,\n\n },\n menuButtonHidden: {\n display: 'none',\n },\n title: {\n fontWeight: 'bold',\n position: 'absolute'\n\n },\n title1: {\n color: \"white\"\n },\n avatarsmall: {\n width: theme.spacing(3.5),\n height: theme.spacing(3.5),\n },\n logoDiv: {\n position: \"absolute\",\n height: '50px',\n top: '0'\n },\n imageStyle: {\n height: \"inherit\"\n },\n\n actionLabel: {\n fontSize: '0.75rem !important'\n },\n muiIconRoot: {\n width: '2.5em !important'\n },\n rightIconContainer: {\n position: \"absolute\",\n height: '50px',\n top: 5,\n right:15,\n display:'flex'\n },\n svgIconRoot: {\n width: '1.2em !important',\n height: '1.2em !important'\n },\n\n iconnNotificationsButton: {\n color: primaryColor[0],\n padding: 5\n },\n \n iconbqbnseButton: {\n color: warningColor[0],\n padding: 5\n },\n\n userNameText: {\n fontWeight: 'bold',\n maxWidth: '10rem',\n lineHeight: 1,\n marginRight: 2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n // height: '3em',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('xs')]: {\n maxWidth: '5rem',\n },\n }\n \n\n\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { makeStyles } from \"@material-ui/core/styles\";\n\n// import material-ui/core\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\nimport Avatar from '@material-ui/core/Avatar';\nimport BottomNavigation from '@material-ui/core/BottomNavigation';\nimport BottomNavigationAction from '@material-ui/core/BottomNavigationAction';\n\n// import material-ui/icons\nimport Icon from '@material-ui/core/Icon';\nimport HomeIcon from '@material-ui/icons/Home';\nimport BarChartIcon from '@material-ui/icons/BarChart';\nimport MessageIcon from '@material-ui/icons/Message';\nimport Person from '@material-ui/icons/Person';\nimport NotificationsIcon from '@material-ui/icons/Notifications';\nimport CallIcon from '@material-ui/icons/Call';\n\n//import style\nimport styles from \"assets/jss/components/customcomponents/webHeaderStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\n\nconst MuiBottomNavigationAction = (props) => {\n const classes = useStyles();\n const { label, onClick, iconStyle, iconName, ...rest } = props\n return (\n onClick()}\n icon={}\n className={classes.buttonNavigationAction}\n classes={{\n selected: classes.buttonNavigationsSelected,\n label: classes.actionLabel,\n root: classes.bottomNavigationActionRoot\n }}\n\n />\n )\n}\n\nconst AdminNavbarLinks = (props) => {\n const classes = useStyles();\n const [value, setValue] = React.useState(0);\n\n\n\n\n return (\n\n \n \n
\n \"...\"\n
\n {/* \n {props.logoText}\n */}\n\n\n\n {\n setValue(newValue);\n }}\n showLabels\n classes={{ root: classes.bottomNavigation }}\n >\n props.history.push('/home')}\n iconName={'icon-ic-account-balance-24px'}\n />\n props.history.push('/home/dashboard')}\n iconName={'icon-group-22'}\n iconStyle={classes.muiIconRoot}\n />\n props.history.push('/home/connect')}\n iconName={'icon-ic-live-tv-24px'}\n />\n props.history.push('/home/profile')}\n iconName={'icon-ic-camera-front-24px'} />\n \n\n\n\n
\n\n\n
\n \n {props.loading\n ? \n : \"Hi,\" + props.userInfo.firstName}\n \n\n {props.loading\n ? \n : \n }\n
\n\n props.openLeaderBoard()} label=\"Leader Board\" className={classes.iconbqbnseButton}>\n \n \n\n props.history.push('/home/notification')} label=\"Notification\" className={classes.iconnNotificationsButton}>\n \n \n
\n\n
\n
\n\n\n );\n}\n\nAdminNavbarLinks.propTypes = {\n classes: PropTypes.object\n};\nexport default withRouter(AdminNavbarLinks);","import {\n whiteColor,\n primaryColor,\n secondaryColor,\n infoColor,\n warningColor,\n roseColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst drawerWidth = 240;\nconst styles = theme => ({\n root: {\n display: 'flex',\n },\n toolbar: {\n justifyContent: 'space-between',\n ...theme.mixins.toolbar\n },\n muiToolbarRegular: {\n minHeight: 50\n },\n muiToolbarDense: {\n minHeight: 60\n },\n toolbarGutters: {\n padding: 0\n },\n\n topBar: {\n zIndex: theme.zIndex.drawer + 1,\n backgroundColor: whiteColor,\n color: secondaryColor[1],\n padding: '0 10px 0 10px'\n },\n topBarShift: {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n\n bottomBar: {\n zIndex: theme.zIndex.drawer + 1,\n backgroundColor: whiteColor,\n color: secondaryColor[1],\n top: 'auto',\n bottom: 0,\n alignItems: 'center'\n },\n\n bottomNavigation: {\n backgroundColor: 'transparent',\n height: 60,\n alignItems: 'flex-start'\n\n },\n\n bottomNavigationActionRoot: {\n minWidth: 90,\n [theme.breakpoints.down('xs')]: {\n minWidth: 70,\n padding: '6px 10px 8px'\n },\n },\n buttonNavigationAction: {\n color: 'inherit'\n },\n buttonNavigationsSelected: {\n color: `${infoColor[0]} !important`\n },\n\n actionLabel: {\n lineHeight: '0.7rem !important',\n fontSize: '0.75rem !important'\n },\n\n menuButton: {\n marginLeft: 12,\n marginRight: 12,\n\n },\n menuButtonHidden: {\n display: 'none',\n },\n title: {\n\n\n },\n title1: {\n color: \"white\"\n },\n avatarsmall: {\n width: theme.spacing(3.5),\n height: theme.spacing(3.5),\n },\n logoDiv: {\n position: \"absolute\",\n height: '50px',\n top: '0'\n },\n imageStyle: {\n height: \"inherit\"\n },\n iconButton: {\n color: primaryColor[0],\n padding: 5\n },\n iconbqbnseButton: {\n color: warningColor[0],\n padding: 5\n },\n iconnNotificationsButton: {\n color: primaryColor[0],\n padding: 5\n },\n iconDialButton: {\n color: roseColor[0],\n padding: 5\n },\n muiIconRoot: {\n width: '2.5em !important'\n },\n\n\n iconRoot: {\n width: '1.2em !important',\n height: '1em !important',\n },\n svgIconRoot: {\n width: '1.2em !important',\n height: '1.2em !important',\n },\n smallAvatar: {\n width: theme.spacing(2.5),\n height: theme.spacing(2.5),\n \n },\n\n userNameText: {\n fontWeight: 'bold',\n maxWidth: '10rem',\n lineHeight: 1,\n marginRight: 2,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n // height: '3em',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('xs')]: {\n maxWidth: '5rem',\n },\n }\n\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { makeStyles } from \"@material-ui/core/styles\";\n\n// import material-ui/core\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\nimport Avatar from '@material-ui/core/Avatar';\n// import Tooltip from '@material-ui/core/Tooltip';\nimport BottomNavigation from '@material-ui/core/BottomNavigation';\nimport BottomNavigationAction from '@material-ui/core/BottomNavigationAction';\n// import material-ui/icons\nimport Icon from '@material-ui/core/Icon';\nimport CallIcon from '@material-ui/icons/Call';\n\n// variables\nimport {\n SHARE_URL_ANDROID,\n SHARE_URL_IOS\n} from 'variables/general'\n\n//import style\nimport styles from \"assets/jss/components/customcomponents/mobileHeaderStyle\";\n\nconst useStyles = makeStyles(styles);\n\n\nconst MuiBottomNavigationAction = (props) => {\n const classes = useStyles();\n const { label, onClick, iconStyle, iconName, ...rest } = props\n return (\n onClick()}\n icon={}\n className={classes.buttonNavigationAction}\n classes={{\n selected: classes.buttonNavigationsSelected,\n label: classes.actionLabel,\n root: classes.bottomNavigationActionRoot\n }}\n\n />\n )\n}\n\n\n\nconst AdminNavbarLinks = (props) => {\n const classes = useStyles();\n const [value, setValue] = React.useState(0);\n const handleClickShare = () => {\n if (typeof window.Android !== 'undefined') {\n window.Android.shareContent(`Hello, I discovered the Singhania Quest+ App recently. The app has engauging Academic and non-academic content. Please download the app from ${SHARE_URL_ANDROID(props.userInfo.userId)} and explore the App.`)\n } else if (typeof shareContent !== 'undefined') {\n window.shareContent(`Hello, I discovered the Singhania Quest+ App recently. The app has engauging Academic and non-academic content. Please download the app from ${SHARE_URL_IOS()} and explore the App.`)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('shareContent', \"Hi Quest\");\n }\n }\n\n\n return (\n <>\n \n \n
\n \"...\"\n
\n
\n\n
\n\n
\n
\n \n {props.loading\n ? \n : \"Hi,\" + props.userInfo.firstName}\n \n\n {props.loading\n ? \n : \n }\n
\n\n props.openLeaderBoard()} label=\"Leader Board\" className={classes.iconbqbnseButton}>\n \n \n\n props.history.push('/home/notification')} label=\"Notification\" className={classes.iconnNotificationsButton}>\n \n \n\n { }} label=\"speed dial\" className={classes.iconDialButton}>\n \n \n \n \n\n \n \n \n
\n
\n
\n \n \n {\n setValue(newValue);\n }}\n showLabels\n classes={{ root: classes.bottomNavigation }}\n >\n props.history.push('/home')}\n iconName={'icon-ic-account-balance-24px'}\n />\n props.history.push('/home/dashboard')}\n iconName={'icon-group-22'}\n iconStyle={classes.muiIconRoot}\n />\n props.history.push('/home/connect')}\n iconName={'icon-ic-live-tv-24px'}\n />\n {typeof window.Android !== 'undefined' && props.history.push('/home/querybox')}\n iconName={'icon-ic-speaker-notes-24px'} />\n }\n props.history.push('/home/profile')}\n iconName={'icon-ic-camera-front-24px'} />\n\n \n \n \n \n \n\n\n );\n}\n\nAdminNavbarLinks.propTypes = {\n classes: PropTypes.object\n};\nexport default withRouter(AdminNavbarLinks);","// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { blue } from '@material-ui/core/colors';\n\n\nconst useStyles = makeStyles((theme) => ({\n\n avatar: {\n backgroundColor: blue[100],\n color: blue[600],\n [theme.breakpoints.down('sm')]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n \n },\n listStyle: {\n width: '100%',\n // maxWidth: 360,\n backgroundColor: theme.palette.background.paper,\n },\n dialogContentStyle:{\n [theme.breakpoints.down('sm')]: {\n padding: '8px 10px;'\n },\n },\n listItemAvatarStyle:{\n [theme.breakpoints.down('sm')]: {\n minWidth:'30px'\n }\n },\n listItemStyle:{\n paddingLeft: '0px',\n [theme.breakpoints.down('sm')]: {\n paddingLeft: '8px'\n }\n },\n heading: {\n fontSize: theme.typography.pxToRem(14),\n fontWeight: theme.typography.fontWeightRegular,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n // height: '3em',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n },\n}))\n\nexport default useStyles;","import React, { useEffect } from 'react';\n\nimport Avatar from '@material-ui/core/Avatar';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Alert from '@material-ui/lab/Alert';\nimport Typography from '@material-ui/core/Typography';\n\n//@material-ui/icons\nimport PersonIcon from '@material-ui/icons/Person';\n//Custom Components\n\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n\nimport useStyles from \"assets/jss/components/views/friendListStyle\"\n\nexport default function LeaderBoard(props) {\n const classes = useStyles();\n return (\n \n\n \n {props.loading\n ?
loading....
\n : props.data.length === 0 ?\n Leader board list not available!\n : props.data.map((value,idx) => (\n \n \n \n \n \n \n {value.name}}\n secondary={{value.score + \" \" + \"Points\"}}\n />\n \n ))}\n\n
\n
\n\n );\n}","import React from \"react\";\nimport PropTypes from \"prop-types\";\n\n//Redux\nimport { useSelector, useDispatch } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n\nimport Hidden from \"@material-ui/core/Hidden\";\n\n// core components\nimport Slide from '@material-ui/core/Slide'\nimport WebNavbarLinks from \"./WebNavbarLinks.js\";\nimport MobileNavbarLinks from './MobileNavbarLinks'\nimport CustomizedDialog from \"components/CustomComponents/Dialog/CustomizedDialog\";\n\n// Views\nimport LeaderBoard from 'components/Views/LeaderBoard/LeaderBoard'\n\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nexport default function Header(props) {\n const dispatch = useDispatch()\n const infoLoading = useSelector(state => state.user.loading)\n const userInfo = useSelector(state => state.user.userinfo)\n\n\n const leaderboardDialog = useSelector(state => state.leaderboard.show_leader_board_dialog)\n const leaderboardLoading = useSelector(state => state.leaderboard.leader_board_data_loading)\n const leaderboard = useSelector(state => state.leaderboard.leader_board_data)\n\n\n /*-----------------------handle Leader Board Close --------------------*/\n const handleCloseLeaderBoardDialog = () => {\n dispatch(questActions.showLeaderBoard(false));\n };\n\n /*-----------------------handle Leader Board Open --------------------*/\n const handleOpenLeaderBoardDialog = () => {\n dispatch(questActions.showLeaderBoard(true))\n };\n\n\n\n return (\n\n \n\n {/*-----Dialog Leaderboard ----- */}\n \n \n \n\n\n \n \n \n\n \n \n \n \n );\n}\n\nHeader.propTypes = {\n color: PropTypes.oneOf([\"primary\", \"info\", \"success\", \"warning\", \"danger\"]),\n rtlActive: PropTypes.bool,\n handleDrawerToggle: PropTypes.func,\n routes: PropTypes.arrayOf(PropTypes.object)\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport CssBaseline from '@material-ui/core/CssBaseline';\n\n\n// imoprt custom-component\nimport Navbar from '../Navbars/Navbar'\n\n\nconst styles = theme => ({\n root: {\n display: 'flex',\n },\n});\n\n\nclass Drawer extends React.Component {\n\n render() {\n const { classes } = this.props;\n return (\n \n \n
\n \n {/* */}\n
\n
\n );\n }\n}\n\nDrawer.propTypes = {\n classes: PropTypes.object\n};\nexport default withStyles(styles)(Drawer);","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n whiteColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardHeaderStyle = {\n cardHeader: {\n padding: \"0.75rem 1.25rem\",\n display: 'flex',\n marginBottom: \"0\",\n borderBottom: \"none\",\n background: \"transparent\",\n zIndex: \"3 !important\",\n \"&$cardHeaderPlain,&$cardHeaderIcon,&$cardHeaderStats,&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n margin: \"0 15px\",\n padding: \"0\",\n position: \"relative\",\n color: whiteColor\n },\n \"&:first-child\": {\n borderRadius: \"calc(.25rem - 1px) calc(.25rem - 1px) 0 0\"\n },\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n \"&:not($cardHeaderIcon)\": {\n borderRadius: \"3px\",\n marginTop: \"-20px\",\n padding: \"15px\"\n }\n },\n \"&$cardHeaderStats svg\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n textAlign: \"center\",\n width: \"36px\",\n height: \"36px\",\n margin: \"10px 10px 4px\"\n },\n \"&$cardHeaderStats i,&$cardHeaderStats .material-icons\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n width: \"56px\",\n height: \"56px\",\n textAlign: \"center\",\n overflow: \"unset\",\n marginBottom: \"1px\"\n },\n \"&$cardHeaderStats$cardHeaderIcon\": {\n textAlign: \"right\"\n }\n },\n cardHeaderPlain: {\n marginLeft: \"0px !important\",\n marginRight: \"0px !important\"\n },\n cardHeaderStats: {\n \"& $cardHeaderIcon\": {\n textAlign: \"right\"\n },\n \"& h1,& h2,& h3,& h4,& h5,& h6\": {\n margin: \"0 !important\"\n }\n },\n cardHeaderIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\"\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\"\n }\n },\n warningCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...warningCardHeader\n }\n },\n successCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...successCardHeader\n }\n },\n dangerCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...dangerCardHeader\n }\n },\n infoCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...infoCardHeader\n }\n },\n primaryCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...primaryCardHeader\n }\n },\n roseCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...roseCardHeader\n }\n },\n cardTitle:{\n flex: \"auto\", \n padding: '0.40625rem 1.25rem 0 0'\n },\n close: {\n width: \"20px\",\n height: \"20px\"\n },\n\n};\n\nexport default cardHeaderStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Typography from '@material-ui/core/Typography';\n\n// @material-ui/icons\nimport Close from \"@material-ui/icons/Close\";\n// core components\nimport styles from \"assets/jss/components/customcomponents/cardHeaderStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustCardHeader(props) {\n const classes = useStyles();\n const { className,titleClassName, children, color, plain, stats, icon, title,onClose, ...rest } = props;\n let actionClose = null;\n const cardHeaderClasses = classNames({\n [classes.cardHeader]: true,\n [classes[color + \"CardHeader\"]]: color,\n [classes.cardHeaderPlain]: plain,\n [classes.cardHeaderStats]: stats,\n [classes.cardHeaderIcon]: icon,\n [className]: className !== undefined\n });\n\n const titleClasses = classNames({\n [classes.cardTitle]: true,\n [className]: className !== undefined\n });\n\n\n if (onClose !== undefined) {\n actionClose = \n props.onClose()}\n >\n \n \n ;\n }\n\n return (\n
\n\n {title\n ?
\n \n \n { title}\n \n \n \n \n \n {title}\n \n \n
\n : null}\n {children}\n {actionClose}\n
\n\n );\n}\n\n// CustCardHeader.defaultProps={\n// titleClass:{}\n// }\n\nCustCardHeader.propTypes = {\n className: PropTypes.string,\n titleClassName: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n plain: PropTypes.bool,\n stats: PropTypes.bool,\n icon: PropTypes.bool,\n children: PropTypes.node,\n title: PropTypes.node,\n onClose:PropTypes.func\n};\n","\nimport { roundPercentageNumber } from 'util/commonfunctions';\n\n\nconst afterTickToLabelConversion = (scaleInstance) => {\n // set the first and last tick to null so it does not display\n // note, ticks[0] is the last tick and ticks[length - 1] is the first\n scaleInstance.ticks[0] = null;\n scaleInstance.ticks[scaleInstance.ticks.length - 1] = null;\n\n // need to do the same thing for this similiar array which is used internally\n scaleInstance.ticksAsNumbers[0] = null;\n scaleInstance.ticksAsNumbers[scaleInstance.ticksAsNumbers.length - 1] = null;\n}\n\n\nconst groupedBarchartOptions = {\n responsive: true,\n legend: {\n position: 'bottom',\n },\n animation: {\n animateScale: true,\n animateRotate: true\n },\n scales: {\n xAxes: [{\n ticks: {\n callback: function (tick) {\n var characterLimit = 20;\n if (tick.length >= characterLimit) {\n return tick.slice(0, tick.length).substring(0, characterLimit - 1).trim() + '...';;\n }\n return tick;\n }\n }\n }],\n yAxes: [{\n display: true,\n afterTickToLabelConversion: afterTickToLabelConversion,\n scaleLabel: {\n display: true,\n labelString: 'Completed(%)'\n },\n ticks: {\n beginAtZero: true,\n steps: 10,\n stepSize:20,\n max: 110\n }\n }]\n },\n plugins: {\n labels: {\n fontSize:0,\n render: 'value',\n // fontStyle: 'bold',\n showZero: false,\n \n }\n }\n}\n\n\nconst barchartOptions = {\n responsive: true,\n legend: {\n display: false,\n position: 'bottom',\n },\n animation: {\n animateScale: true,\n animateRotate: true\n },\n scales: {\n yAxes: [{\n display: true,\n afterTickToLabelConversion: afterTickToLabelConversion,\n scaleLabel: {\n display: true,\n labelString: 'Completed(%)'\n },\n ticks: {\n beginAtZero: true,\n steps: 10,\n // stepValue: 5,\n stepSize: 20,\n max: 110\n }\n }]\n },\n plugins: {\n labels: {\n fontSize:0,\n render: 'value',\n fontStyle: 'bold',\n showZero: false,\n }\n }\n}\n\nconst piechartOptions = {\n responsive: true,\n legend: {\n position: 'bottom',\n },\n animation: {\n animateScale: true,\n animateRotate: true\n },\n plugins: {\n labels: {\n render: 'percentage',\n precision: 2,\n fontStyle: 'bold',\n }\n }\n}\n\n//labels: ['AV', 'Test', 'Web', 'Activity'],\nconst getQuestBarchart=async (questContent,questProgress)=>{\n const videoCount = await questContent.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.videoCount, 0)\n const testCount = await questContent.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.testCount, 0)\n const activityCount = await questContent.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.activityCount, 0)\n const webContentCount = await questContent.add.missions.reduce((accumulator, currentValue) => accumulator + currentValue.webContentCount, 0)\n \n const progressVideoCount = roundPercentageNumber(questProgress.avCount, videoCount)\n const progressTestCount = roundPercentageNumber(questProgress.testCount, testCount)\n const progressActivityCount = roundPercentageNumber(questProgress.activityCount, activityCount)\n const progressWebContentCount = roundPercentageNumber(questProgress.webContentCount, webContentCount)\n \n return {\n datasets: [{\n data: [progressVideoCount, progressTestCount, progressWebContentCount, progressActivityCount],\n backgroundColor: ['#89CDDF', '#AF65DF', '#19D4A7', '#E98B4D']\n }],\n labels: ['Watch', 'Think', 'Solve', 'Play'],\n };\n \n}\n\n/**\n * Custom function that prepare grouped chart data.\n * @param dataArray:Array.\n * @param displayName:String.\n * @param idName:String.\n * @returns {Number}\n */\nconst groupedChartData = async (dataArray, displayName, idName) => {\n let chartData = {\n labels: [],\n datasets: [\n {\n ids: [], label: \"Watch\", backgroundColor: \"#89CDDF\", data: []\n },\n {\n ids: [], label: \"Think\", backgroundColor: \"#AF65DF\", data: []\n },\n {\n ids: [], label: \"Solve\", backgroundColor: \"#19D4A7\", data: []\n },\n {\n ids: [], label: \"Play\",backgroundColor: \"#E98B4D\", data: []\n }\n ]\n };\n await dataArray.forEach(currentData => {\n\n chartData.labels.push(currentData[displayName])\n chartData.datasets.forEach(currentValue => {\n currentValue.ids.push({ 'label': currentData[displayName], 'id': currentData[idName] })\n if (currentValue.label === \"Watch\")\n currentValue.data.push(roundPercentageNumber(currentData.progress.avCount, currentData.videoCount))\n if (currentValue.label === \"Think\")\n currentValue.data.push(roundPercentageNumber(currentData.progress.testCount, currentData.testCount))\n if (currentValue.label === \"Solve\")\n currentValue.data.push(roundPercentageNumber(currentData.progress.webContentCount, currentData.webContentCount))\n if (currentValue.label === \"Play\")\n currentValue.data.push(roundPercentageNumber(currentData.progress.activityCount, currentData.activityCount))\n }\n )\n })\n return chartData;\n}\n\n\n\n\n\nexport {\n barchartOptions,\n groupedBarchartOptions,\n piechartOptions,\n getQuestBarchart,\n groupedChartData,\n}","import {\n successColor,\n whiteColor,\n grayColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst dashboardStyle = {\n successText: {\n color: successColor[0]\n },\n upArrowCardCategory: {\n width: \"16px\",\n height: \"16px\"\n },\n stats: {\n color: grayColor[0],\n display: \"inline-flex\",\n fontSize: \"12px\",\n lineHeight: \"22px\",\n \"& svg\": {\n top: \"4px\",\n width: \"16px\",\n height: \"16px\",\n position: \"relative\",\n marginRight: \"3px\",\n marginLeft: \"3px\"\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n top: \"4px\",\n fontSize: \"16px\",\n position: \"relative\",\n marginRight: \"3px\",\n marginLeft: \"3px\"\n }\n },\n cardCategory: {\n color: grayColor[0],\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n paddingTop: \"10px\",\n marginBottom: \"0\"\n },\n cardCategoryWhite: {\n color: \"rgba(\" + hexToRgb(whiteColor) + \",.62)\",\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n marginBottom: \"0\"\n },\n cardTitle: {\n color: grayColor[2],\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardTitleWhite: {\n color: whiteColor,\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n }\n};\n\nexport default dashboardStyle;\n","import React, { useRef, useEffect, useState } from \"react\";\n//redux\nimport { connect } from 'react-redux'\n\n// chart\nimport { Pie, Bar } from 'react-chartjs-2';\nimport 'chartjs-plugin-labels';\n// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\n\n// core components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\";\nimport Card from \"components/CustomComponents/Card/Card.js\";\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\n\n//Utility\nimport { roundPercentageNumber } from 'util/commonfunctions';\nimport {\n barchartOptions,\n groupedBarchartOptions,\n piechartOptions,\n getQuestBarchart,\n groupedChartData,\n} from './DashboardUtility'\n//style\nimport styles from \"assets/jss/components/views/dashboardStyle\";\n\nconst useStyles = makeStyles(styles);\n\nconst Dashboard = (props) => {\n const classes = useStyles();\n const pieRef = useRef(null);\n const qustBarRef = useRef(null);\n const missionBarRef = useRef(null);\n const operationBarRef = useRef(null);\n\n const [qustPieData, setQuestPieData] = useState({});\n const [qustBarData, setQuestBarData] = useState({});\n const [missionBarData, setMissionBarData] = useState({})\n const [operationBarData, setOperationBarData] = useState({})\n\n useEffect(() => {\n populateQuestPie()\n populateQuestBar()\n missionProgress()\n }, [props.questContent])\n\n // ----------Populate Quest Pie--------\n const populateQuestPie = () => {\n const pieChartdata = {\n datasets: [{\n data: [Math.round(props.questProgress.progress), Math.round(100 - props.questProgress.progress)],\n backgroundColor: ['#B0D851', '#EC9B4A']\n }],\n labels: ['Completed', 'Remaining'],\n };\n setQuestPieData(pieChartdata)\n }\n\n // ----------populate Quest Bar--------\n const populateQuestBar = async () => {\n const questBarchartData = await getQuestBarchart(props.questContent, props.questProgress)\n await setQuestBarData(questBarchartData)\n }\n\n // ----------Mission Progress--------\n const missionProgress = async () => {\n const chartData = await groupedChartData(props.questContent.add.missions, 'missionDisplayName', 'missionId')\n setMissionBarData(chartData)\n\n //operationsProgress\n if (Object.keys(chartData).length) {\n if (chartData.datasets[0]) {\n if (chartData.datasets[0].ids[0])\n operationsProgress(chartData.datasets[0].ids[0].id)\n }\n }\n }\n\n const clickHandler = (evt) => {\n const activePoint = evt[0];\n if (activePoint) {\n const data = activePoint._chart.data;\n const datasetIndex = activePoint._datasetIndex;\n const id = data.datasets[datasetIndex].ids[activePoint._index].id;\n operationsProgress(id)\n }\n }\n // ----------Pperations Progress--------\n const operationsProgress = async (missionId) => {\n let chartData = await groupedChartData(\n props.questContent.add.operations.filter(current_value => current_value.missionId === missionId),\n 'operationDisplayName',\n 'operationId'\n )\n setOperationBarData(chartData)\n }\n\n return (\n
\n\n \n \n \n \n

Quest Progress

\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n
\n\n \n \n \n

Mission

\n
\n \n \n \n clickHandler(e)}\n />\n \n \n \n
\n
\n\n\n \n \n \n

Operation

\n
\n \n \n \n \n \n \n \n
\n
\n\n
\n\n
\n );\n}\n\nconst mapSateToProps = state => {\n return {\n questProgress: state.content.current_quest_progress,\n questContent: state.content.contentlist,\n }\n}\n\nexport default connect(mapSateToProps, null)(Dashboard);\n","import React, { useState } from 'react';\n//axios\nimport axiosConfig from \"util/axios\";\n\n// material component\nimport Avatar from '@material-ui/core/Avatar';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\n// @material-ui/icons\nimport LockIcon from '@material-ui/icons/LockOutlined';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n\n\n//Custom Components\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n\n//validations\nimport { checkNull, checkPassword } from \"util/validations\";\n\n// styles\nimport useStyles from \"assets/jss/components/views/changePasswordStyle\";\n\nfunction Alert(props) {\n return ;\n}\n\nconst ChangePassword = (props) => {\n const classes = useStyles();\n const [progress, setProgress] = useState(false);\n\n const [errorState, setErrorState] = useState({\n open: false,\n errorMessage: \"\"\n });\n\n const [state, setState] = useState({\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n errorCurrentPassword: \"\",\n errorNewPassword: \"\",\n errorConfirmPassword: \"\",\n })\n\n // ------Clear All States---------\n const clearStates = () => {\n setState({\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n errorCurrentPassword: \"\",\n errorNewPassword: \"\",\n errorConfirmPassword: \"\",\n currentShowPassword: false,\n newShowPassword: false,\n confirmShowPassword: false,\n });\n setErrorState({\n open: false,\n errorMessage: \"\"\n });\n setProgress(false);\n }\n\n // ------Clear error---------\n const clearError = () => {\n setState({\n ...state,\n errorCurrentPassword: \"\",\n errorNewPassword: \"\",\n errorConfirmPassword: \"\"\n });\n }\n\n // ---- click chnage --------\n const handlePasswordChange = () => {\n clearError() // clear Error\n setProgress(true)\n // Validation\n let validationObject = {};\n checkNull(\"CurrentPassword\", state.currentPassword, \"Password is required\", validationObject);\n checkNull(\"NewPassword\", state.newPassword, \"New Password is required\", validationObject);\n checkNull(\"ConfirmPassword\", state.confirmPassword, \"Confirm Password is required\", validationObject);\n checkPassword(\"ConfirmPassword\", state.newPassword, state.confirmPassword, \"Password not match.\", validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setProgress(false)\n setState({\n ...state,\n errorCurrentPassword: validationObject.errorCurrentPassword,\n errorNewPassword: validationObject.errorNewPassword,\n errorConfirmPassword: validationObject.errorConfirmPassword,\n });\n } else {\n postChangePassword(state.currentPassword, state.newPassword)\n }\n }\n\n // axios call for post password change\n const postChangePassword = (oldPassword, newPassword) => {\n axiosConfig().get('/QuestUser/ChangePassword', {\n params: {\n oldPassword: oldPassword,\n newPassword: newPassword\n }\n })\n .then(response => {\n clearStates()\n props.onStart()\n }).catch((error) => {\n setProgress(false)\n if (error.response.data) {\n setErrorState({\n open: true,\n errorMessage: error.response.data.error\n })\n }\n\n });\n }\n\n // ------handle Close Snackbar----\n const handleSnackbarClose = (event, reason) => {\n if (reason === 'clickaway') {\n return;\n }\n setErrorState({\n open: false,\n errorMessage: \"\"\n });\n };\n\n // ----click Not now-----\n const handleDialogClose = () => {\n clearStates()\n props.onClose()\n }\n\n const handleClickShowPassword = (showPassword) => () => {\n console.log(showPassword);\n setState({ ...state, [showPassword]: !state[showPassword] });\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n\n return (\n \n \n \n \n \n Change Password\n \n \n\n setState({ ...state, currentPassword: e.target.value })}\n InputProps={{\n endAdornment: (\n \n \n {state.currentShowPassword ? : }\n \n \n )\n }}\n />\n setState({ ...state, newPassword: e.target.value })}\n InputProps={{\n endAdornment: (\n \n \n {state.newShowPassword ? : }\n \n \n )\n }}\n />\n setState({ ...state, confirmPassword: e.target.value })}\n InputProps={{\n endAdornment: (\n \n \n {state.confirmShowPassword ? : }\n \n \n )\n }}\n />\n \n\n\n \n \n Not now\n \n \n Change\n \n\n \n\n \n \n {errorState.errorMessage}\n \n \n\n {progress ? : null}\n\n \n )\n}\n\n\n\nexport default ChangePassword;\n\n\n","import Badge from '@material-ui/core/Badge';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst StyledBadge = withStyles((theme) => ({\n badge: {\n backgroundColor: '#44b700',\n color: '#44b700',\n boxShadow: `0 0 0 2px ${theme.palette.background.paper}`,\n '&::after': {\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n borderRadius: '50%',\n // animation: '$ripple 1.2s infinite ease-in-out',\n border: '1px solid currentColor',\n content: '\"\"',\n },\n },\n '@keyframes ripple': {\n '0%': {\n transform: 'scale(.8)',\n opacity: 1,\n },\n '100%': {\n transform: 'scale(2.4)',\n opacity: 0,\n },\n },\n}))(Badge);\n\nexport default StyledBadge;","import React, { useEffect } from 'react';\n\n\nimport Avatar from '@material-ui/core/Avatar';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Typography from '@material-ui/core/Typography';\n\n//@material-ui/icons\nimport PersonIcon from '@material-ui/icons/HowToReg';\n// import HowToRegIcon from '@material-ui/icons/HowToReg';\nimport ShareIcon from '@material-ui/icons/Share';\n//Custom Components\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport StyledBadge from \"components/CustomComponents/StyledBadge/StyledBadge\";\n\nimport useStyles from \"assets/jss/components/views/friendListStyle\"\n\nexport default function SimpleDialogDemo(props) {\n const classes = useStyles();\n const [data, setData] = React.useState([]);\n\n useEffect(() => {\n setData(props.data);\n }, [props.data])\n\n\n const handleClose = () => {\n props.onClose()\n };\n\n const handleToggle = (selectedValue) => () => {\n let newChecked = [...data];\n newChecked = newChecked.map(currentValue => {\n let newCurrentValue = { ...currentValue }\n if (newCurrentValue.userId === selectedValue.userId)\n newCurrentValue.isShared = !selectedValue.isShared\n return newCurrentValue\n\n })\n setData(newChecked);\n };\n\n\n\n\n return (\n \n {data.length === 0 ?\n { }}\n action={[{ text: 'OK', onPress: () => handleClose() }\n ]}\n />\n : \n Share with friends\n \n \n {data.map((value) => (\n \n \n \n \n \n \n \n \n \n {value.name}\n \n } />\n\n \n \n \n \n ))}\n\n \n \n \n \n Not now\n \n }\n round\n fullWidth\n color=\"primary\"\n size='md'\n onClick={() => props.onPost(data)}\n >\n Share\n \n\n \n {props.loading ? : null}\n \n }\n \n\n );\n}","import {\n successColor,\n primaryColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst dashboardStyle = theme => ({\n profilePicContainer: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n margin: 5,\n // marginLeft:'20px',\n marginRight: '20px'\n },\n profilePicAvatar: {\n width: theme.spacing(9),\n height: theme.spacing(9),\n },\n largeAvatar: {\n width: theme.spacing(8),\n height: theme.spacing(8),\n margin: 5,\n // marginLeft:'20px',\n marginRight: '20px'\n },\n\n layout: {\n width: 'auto',\n display: 'block',\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n padding: 20,\n marginRight: 'auto',\n },\n },\n infoText: {\n color: primaryColor[4],\n [theme.breakpoints.down(600)]: {\n padding: '0.9375rem 5px'\n },\n },\n upArrowCardCategory: {\n width: \"16px\",\n height: \"16px\"\n },\n stats: {\n textAlign: 'center'\n },\n taskDiv: {\n padding: '0px 10px 0px 10px',\n borderRightStyle: 'solid',\n borderRightColor: primaryColor[0],\n flexDirection: \"row\", display: 'flex', justifyContent: 'center'\n },\n timeDiv: {\n padding: '0px 10px 0px 10px',\n flexDirection: \"row\", display: 'flex', justifyContent: 'center'\n },\n\n pageCardBody: {\n minHeight: '100vh',\n },\n gridItemFooter: {\n padding: '0 !important'\n },\n cardStyle: {\n marginBottom: \"0\",\n marginTop: '0',\n padding: 5,\n borderRadius: '20px'\n // backgroundColor:successColor[0]\n },\n successColor: {\n backgroundColor: successColor[0],\n margin: \"0px\",\n },\n cardBodyStyle: {\n padding: 0\n },\n cardIconStyle: {\n width: '90px',\n height: '90px',\n marginTop: '50px',\n marginBottom: '60px',\n },\n\n\n\n\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n\n earnPoints: {\n // padding: '5px 20px 5px 20px',\n width: 'fit-content',\n textAlign: 'center',\n Display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: \"15px\"\n },\n buttonCenter: {\n display: 'flex',\n justifyContent: \"center\"\n },\n\n nested: {\n paddingLeft: theme.spacing(8),\n },\n\n\n})\n\nexport default dashboardStyle;\n","import React, { useState, useEffect } from \"react\";\n//Redux\nimport { connect, useDispatch } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n//axios\nimport axiosConfig from \"util/axios\";\n// @material-ui/core\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\nimport Paper from '@material-ui/core/Paper';\nimport Slide from '@material-ui/core/Slide';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport Collapse from '@material-ui/core/Collapse';\nimport Avatar from '@material-ui/core/Avatar';\nimport Divider from '@material-ui/core/Divider';\nimport Typography from '@material-ui/core/Typography';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\nimport IconButton from '@material-ui/core/IconButton';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport StarBorder from '@material-ui/icons/StarBorder';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\n// @material-ui/icons\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport LockOpenIcon from '@material-ui/icons/LockOpen';\nimport RedeemIcon from '@material-ui/icons/Redeem';\nimport PeopleIcon from '@material-ui/icons/People';\nimport EmojiFlagsIcon from '@material-ui/icons/EmojiFlags';\nimport MonetizationOnIcon from '@material-ui/icons/MonetizationOn';\nimport Mail from '@material-ui/icons/Mail';\nimport ShareIcon from '@material-ui/icons/Share';\n\n// core components\n// import Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Card from \"components/CustomComponents/Card/Card.js\";\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\nimport Dialog from \"components/CustomComponents/Dialog/Dialog\";\nimport Progress from 'components/CustomComponents/Progress/Progress'\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n// Views\nimport ChangePassword from 'components/Views/ChangePassword/ChangePassword';\nimport FriendList from 'components/Views/Profile/FriendList';\n\n\n// styles\nimport styles from \"assets/jss/components/views/profileStyle\";\n\nconst useStyles = makeStyles(styles);\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\n//Alert\nfunction Alert(props) {\n return ;\n}\n\n// Tooltip\nconst useStylesBootstrap = makeStyles((theme) => ({\n arrow: {\n color: theme.palette.common.black,\n },\n tooltip: {\n backgroundColor: theme.palette.common.black,\n },\n}));\n\nfunction BootstrapTooltip(props) {\n const classes = useStylesBootstrap();\n return ;\n}\n\n\n\nconst InstructionAssessment = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n const dispatch = useDispatch();\n const [dialogState, setDialogState] = useState(false);\n\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n const [friendsDialog, setFriendsDialog] = React.useState(false);\n const [openCollapse, setOpenCollapse] = React.useState(false);\n const [logoutLoading, setLogoutLoading] = useState(false);\n\n const imageUploader = React.useRef(null);\n const [picLoading, setPicLoading] = React.useState(false)\n\n const [snackbarMessage, setSnackbarMessage] = React.useState(\"\");\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n\n\n /*-----------------------handle Image Upload --------------------*/\n const handleImageUpload = async e => {\n try {\n setPicLoading(true)\n const [file] = e.target.files;\n const base64 = await convertBase64(file);\n await dispatch(questActions.uploadProfilePicture(base64))\n setPicLoading(false)\n } catch (error) {\n setPicLoading(false)\n console.log(error);\n }\n };\n\n /*-----------------------convert file to Base64 --------------------*/\n const convertBase64 = (file) => {\n return new Promise((resolve, reject) => {\n const fileReader = new FileReader();\n fileReader.readAsDataURL(file);\n\n fileReader.onload = () => {\n resolve(fileReader.result);\n };\n\n fileReader.onerror = (error) => {\n reject(error);\n };\n });\n };\n\n /*----------------------- handle Collapse --------------------*/\n const handleClick = () => {\n setOpenCollapse(!openCollapse);\n if (!openCollapse)\n props.onInitSharedData(props.userInfo.userId, props.quest.questId)\n };\n\n useEffect(() => {\n if (openCollapse && !props.loadingSharedData) {\n if (props.sharedData.sharedList.length === 0) {\n setOpenCollapse(false)\n setAlertType(\"info\")\n setAlertMessage(\"Friends list not available\")\n }\n\n }\n }, [openCollapse, props.loadingSharedData])\n\n /*----------------------- Logout --------------------*/\n const Logout = () => {\n setLogoutLoading(true)\n let isRemember = null;\n let userName = null;\n let password = null;\n let apptype = props.apptype;\n let AppId = sessionStorage.getItem('AppId');\n isRemember = localStorage.getItem('remember')\n\n if (typeof window.Android !== 'undefined') {\n userName = localStorage.getItem('userName')\n password = localStorage.getItem('password')\n window.Android.onLogout(props.userInfo.userName, false)\n }\n else if (typeof window.flutter_inappwebview !== 'undefined') {\n userName = localStorage.getItem('userName')\n password = localStorage.getItem('password')\n window.flutter_inappwebview.callHandler('onLogout', props.userInfo.userName, isRemember);\n }\n if (typeof onLogout !== 'undefined') {\n userName = localStorage.getItem('userName')\n password = localStorage.getItem('password')\n window.onLogout(props.userInfo.userName, isRemember)\n }\n axiosConfig().get('/QuestUser/Logout', null)\n .then(response => {\n props.logoutUser()\n localStorage.clear();\n sessionStorage.clear();\n setLogoutLoading(false)\n\n if ((typeof window.Android !== 'undefined' || typeof onLogout !== 'undefined')) {\n props.history.push({ pathname: '/', search: `?userName=${userName}&password=${password}${apptype ? `&AppType=${apptype}` : ''}` })\n } else {\n let SearchParams = \"\"\n if (apptype !== null && apptype !== 'null')\n SearchParams = `?AppType=${apptype}`\n\n if (AppId)\n SearchParams = `${SearchParams.length ? SearchParams + '&' : \"?\"}AppId=${AppId}`\n\n props.history.push({ pathname: '/', search: SearchParams })\n }\n\n }).catch((error) => {\n if (error.response.data) {\n console.log(error.response.data.error)\n }\n });\n }\n\n /*-----------------------handle Close Dialog--------------------*/\n const handleCloseDialog = () => {\n setDialogState(false);\n };\n\n /*-----------------------handle Close Dialog--------------------*/\n const handleOpenDialog = () => {\n setDialogState(true);\n };\n\n /*-----------------------handle Close Dialog--------------------*/\n const onStart = () => {\n setDialogState(false);\n setAlertType(\"success\")\n setSnackbarMessage(\"Your password has been changed. Please Logout and Login with new password.\");\n //props.history.push('/task')\n }\n\n /*-----------------------handle Close Snackbar--------------------*/\n const handleClose = () => {\n setSnackbarMessage(\"\");\n }\n\n /*-----------------------handle FriedsDialog Close --------------------*/\n const handleCloseFriedsDialog = () => {\n setFriendsDialog(false);\n };\n\n /*-----------------------handle FriedsDialog Open --------------------*/\n const handleOpenFriedsDialog = () => {\n setFriendsDialog(true);\n props.onInitSharedData(props.userInfo.userId, props.quest.questId)\n };\n\n /*----------------------- Post Shared Data --------------------*/\n const postSharedData = (postData) => {\n\n let bodyData = [...postData].map(value => {\n let newValue = {}\n newValue[\"userId\"] = value.userId\n newValue[\"questId\"] = props.quest.questId\n newValue[\"isShared\"] = value.isShared\n return newValue\n })\n dispatch(questActions.postSharedData(bodyData)).then(() => {\n setFriendsDialog(false);\n setAlertType(\"success\")\n setSnackbarMessage(\"Sharing Successful.\");\n }).catch(error => {\n setAlertType(\"error\")\n setSnackbarMessage(error.message)\n })\n }\n\n /*----------------------- Close Alert --------------------*/\n const onCloseAlert = () => {\n setAlertMessage(\"\")\n }\n\n return (\n \n {/*----- Spinner---- */}\n \n\n\n {/* ------Snackbar------ */}\n \n \n {snackbarMessage}\n \n \n\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n {/*-----Dialog----- */}\n \n \n \n\n {/*-----Dialog Friends----- */}\n \n \n \n\n\n\n\n
\n {/*-----Grid----- */}\n\n \n \n
\n
\n {props.infoLoading || picLoading ? \n : \n \n
imageUploader.current.click()} >\n \n
\n
\n }\n
\n\n\n
\n \n {props.infoLoading || picLoading ? : \"Hello \" + props.userInfo.firstName + \",\"}\n \n \n {props.infoLoading || picLoading ? : props.userInfo.emailId}\n \n\n \n {props.infoLoading || picLoading ? \n : \n {`Logout`}\n }\n \n\n
\n
\n
\n
\n\n\n \n \n
\n \n \n \n \n \n\n \n {localStorage.getItem('PASSWORD_TYPE') === 'PASSWORD'\n ? \n \n \n \n \n \n \n Change Password\n \n }\n />\n \n \n \n : null\n }\n\n \n \n \n \n Email for Support : {props.configs.supportEmail}}\n />\n\n \n\n \n \n \n \n \n Total Points Earned : {props.questProgress.points}}\n />\n\n \n \n \n \n \n \n\n \n \n\n \n\n \n \n \n \n Redeem Points}\n />\n \n\n \n\n \n \n \n \n Quest {props.quest.questName}}\n />\n \n\n \n \n \n \n My Missions}\n />\n \n\n {props.questContent.add.missions.filter(data => data.isAcademic).map(mission =>\n \n \n \n \n \n {`${mission.missionDisplayName} : ${mission.progress.points}`}\n \n }\n />\n \n )}\n\n \n\n \n \n \n \n My Friends Status(Points)}\n />\n {openCollapse ? : }\n \n\n \n \n {props.loadingSharedData\n ? null\n : props.sharedData.sharedList.map((data, index) =>\n \n \n \n \n \n {`${data.name} : ${data.score}`}\n \n }\n />\n \n )}\n \n \n\n\n \n \n \n \n\n \n \n
\n
\n
\n\n
\n
\n\n );\n}\n\n\nconst mapStateToProps = state => {\n return {\n questProgress: state.content.current_quest_progress,\n questContent: state.content.contentlist,\n\n quest: state.quest.current_quest,\n\n infoLoading: state.user.loading,\n userInfo: state.user.userinfo,\n\n loadingSharedData: state.shareddata.fetch_loading,\n sharedData: state.shareddata.shareddata,\n loadingPost: state.shareddata.post_loading,\n\n apptype: state.appconfigs.apptype,\n configs: state.appconfigs.configs\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onInitSharedData: (userId, QuestId) => dispatch(questActions.initSharedData(userId, QuestId)),\n logoutUser: () => dispatch(questActions.logoutUser())\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(InstructionAssessment);\n","import {\n blackColor,\n whiteColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardStyle = {\n card: {\n border: \"0\",\n marginBottom: \"30px\",\n // marginTop: \"30px\",\n borderRadius: \"6px\",\n color: \"rgba(\" + hexToRgb(blackColor) + \", 0.87)\",\n background: whiteColor,\n width: \"100%\",\n boxShadow: \"0 1px 4px 0 rgba(\" + hexToRgb(blackColor) + \", 0.14)\",\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n minWidth: \"0\",\n wordWrap: \"break-word\",\n fontSize: \".875rem\"\n },\n cardPlain: {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n cardProfile: {\n marginTop: \"30px\",\n textAlign: \"center\"\n },\n cardChart: {\n \"& p\": {\n marginTop: \"0px\",\n paddingTop: \"0px\"\n }\n }\n};\n\nexport default cardStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport CardActionArea from '@material-ui/core/CardActionArea';\n// @material-ui/icons\n\n// core components\nimport styles from \"./styles/cardStyle\";\n\n\nconst useStyles = makeStyles(styles);\n\n\n\nexport default function Card(props) {\n const classes = useStyles();\n const { className, children, plain, profile, chart, ...rest } = props;\n const cardClasses = classNames({\n [classes.card]: true,\n [classes.cardPlain]: plain,\n [classes.cardProfile]: profile,\n [classes.cardChart]: chart,\n [className]: className !== undefined\n });\n return (\n
\n \n {children}\n \n
\n );\n}\n\nCard.propTypes = {\n className: PropTypes.string,\n plain: PropTypes.bool,\n profile: PropTypes.bool,\n chart: PropTypes.bool,\n children: PropTypes.node\n};\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n whiteColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardHeaderStyle = {\n cardHeader: {\n padding: \"0.75rem 1.25rem\",\n display: 'flex',\n marginBottom: \"0\",\n borderBottom: \"none\",\n background: \"transparent\",\n zIndex: \"3 !important\",\n \"&$cardHeaderPlain,&$cardHeaderIcon,&$cardHeaderStats,&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n margin: \"0 15px\",\n padding: \"0\",\n position: \"relative\",\n color: whiteColor\n },\n \"&:first-child\": {\n borderRadius: \"calc(.25rem - 1px) calc(.25rem - 1px) 0 0\"\n },\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n \"&:not($cardHeaderIcon)\": {\n borderRadius: \"3px\",\n marginTop: \"-20px\",\n padding: \"15px\"\n }\n },\n \"&$cardHeaderStats svg\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n textAlign: \"center\",\n width: \"36px\",\n height: \"36px\",\n margin: \"10px 10px 4px\"\n },\n \"&$cardHeaderStats i,&$cardHeaderStats .material-icons\": {\n fontSize: \"36px\",\n lineHeight: \"56px\",\n width: \"56px\",\n height: \"56px\",\n textAlign: \"center\",\n overflow: \"unset\",\n marginBottom: \"1px\"\n },\n \"&$cardHeaderStats$cardHeaderIcon\": {\n textAlign: \"right\"\n }\n },\n cardHeaderPlain: {\n marginLeft: \"0px !important\",\n marginRight: \"0px !important\"\n },\n cardHeaderStats: {\n \"& $cardHeaderIcon\": {\n textAlign: \"right\"\n },\n \"& h1,& h2,& h3,& h4,& h5,& h6\": {\n margin: \"0 !important\"\n }\n },\n cardHeaderIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n background: \"transparent\",\n boxShadow: \"none\"\n },\n \"& i,& .material-icons\": {\n width: \"33px\",\n height: \"33px\",\n textAlign: \"center\",\n lineHeight: \"33px\"\n },\n \"& svg\": {\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n lineHeight: \"33px\",\n margin: \"5px 4px 0px\"\n }\n },\n warningCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...warningCardHeader\n }\n },\n successCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...successCardHeader\n }\n },\n dangerCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...dangerCardHeader\n }\n },\n infoCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...infoCardHeader\n }\n },\n primaryCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...primaryCardHeader\n }\n },\n roseCardHeader: {\n color: whiteColor,\n \"&:not($cardHeaderIcon)\": {\n ...roseCardHeader\n }\n },\n cardTitle:{\n flex: \"auto\", \n padding: '0.40625rem 1.25rem 0 0'\n },\n close: {\n width: \"20px\",\n height: \"20px\"\n },\n\n};\n\nexport default cardHeaderStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Typography from '@material-ui/core/Typography';\n\n// @material-ui/icons\nimport Close from \"@material-ui/icons/Close\";\n// core components\nimport styles from \"./styles/cardHeaderStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustCardHeader(props) {\n const classes = useStyles();\n const { className, children, color, plain, stats, icon, title,onClose, ...rest } = props;\n let actionClose = null;\n const cardHeaderClasses = classNames({\n [classes.cardHeader]: true,\n [classes[color + \"CardHeader\"]]: color,\n [classes.cardHeaderPlain]: plain,\n [classes.cardHeaderStats]: stats,\n [classes.cardHeaderIcon]: icon,\n [className]: className !== undefined\n });\n\n if (onClose !== undefined) {\n actionClose = \n props.onClose()}\n >\n \n \n ;\n }\n\n return (\n
\n\n {title\n ?
\n \n \n { title}\n \n \n \n \n {title}\n \n \n
\n : null}\n {children}\n {actionClose}\n
\n\n );\n}\n\nCustCardHeader.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n plain: PropTypes.bool,\n stats: PropTypes.bool,\n icon: PropTypes.bool,\n children: PropTypes.node,\n title: PropTypes.node,\n onClose:PropTypes.func\n};\n","import {\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader,\n grayColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst cardIconStyle = {\n cardIcon: {\n \"&$warningCardHeader,&$successCardHeader,&$dangerCardHeader,&$infoCardHeader,&$primaryCardHeader,&$roseCardHeader\": {\n borderRadius: \"3px\",\n backgroundColor: grayColor[0],\n padding: \"15px\",\n marginTop: \"-20px\",\n marginRight: \"15px\",\n float: \"left\",\n },\n // width:'70px',\n // height:'70px',\n // display: 'block',\n // marginLeft: 'auto',\n // marginRight: 'auto',\n },\n warningCardHeader,\n successCardHeader,\n dangerCardHeader,\n infoCardHeader,\n primaryCardHeader,\n roseCardHeader\n};\n\nexport default cardIconStyle;\n","import React from \"react\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// @material-ui/icons\n\n// core components\nimport styles from \"./styles/cardIconStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CardIcon(props) {\n const classes = useStyles();\n const { className, children, color, ...rest } = props;\n const cardIconClasses = classNames({\n [classes.cardIcon]: true,\n [classes[color + \"CardHeader\"]]: color,\n [className]: className !== undefined\n });\n return (\n
\n {children}\n
\n );\n}\n\nCardIcon.propTypes = {\n className: PropTypes.string,\n color: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n children: PropTypes.node\n};\n","import {\n successColor,\n whiteColor,\n grayColor,\n hexToRgb,\n blackColor\n} from \"assets/jss/material-dashboard-react.js\";\nimport { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n cardStyle: {\n borderRadius: 0\n },\n\n cardHeader: {\n margin:'0px !important',\n \"&$cardHeader svg\": {\n width: 30\n },\n },\n cardIconStyle: {\n boxShadow:'none !important',\n borderRadius: '0px !important',\n padding: \"10px !important\",\n // maxHeight: 55,\n // maxWidth: 55,\n marginTop: '0px !important'\n },\n cardCategoryDiv: {\n display: 'flex',\n flexDirection: 'column',\n textAlign: 'left',\n justifyContent:'center'\n },\n cardCategory: {\n color: blackColor,\n fontWeight: 'bold',\n margin: \"0\",\n fontSize: \"16px\",\n marginTop: \"0\",\n // paddingTop: \"10px\",\n marginBottom: \"0\"\n },\n cardFooter: {\n margin: '0 10px 0px 0px',\n textAlign: 'end'\n },\n stats: {\n color: blackColor,\n display: \"inline-flex\",\n fontSize: \"12px\",\n lineHeight: \"22px\",\n \"& svg\": {\n top: \"4px\",\n width: \"16px\",\n height: \"16px\",\n position: \"relative\",\n marginRight: \"3px\",\n marginLeft: \"3px\"\n },\n \"& .fab,& .fas,& .far,& .fal,& .material-icons\": {\n top: \"4px\",\n fontSize: \"16px\",\n position: \"relative\",\n marginRight: \"3px\",\n marginLeft: \"3px\"\n }\n },\n\n}));\n\nexport default useStyles;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n cardContainer: {\n display: 'flex',\n justifyContent: 'center'\n },\n}));\n\nexport default useStyles;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n cardContainer: {\n display: 'flex',\n justifyContent: 'center'\n },\n}));\n\nexport default useStyles;","import { makeStyles } from '@material-ui/core/styles';\nconst useStyles = makeStyles((theme) => ({\n divButtonsStyle: {\n display: 'flex',\n justifyContent: \"space-between\"\n },\n buttonBackNext: {\n padding: \"8px 28px\",\n [theme.breakpoints.down('sm')]: {\n padding: '0 10px'\n },\n },\n\n}));\n\nexport default useStyles;","import React from 'react'\nimport moment from 'moment'\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\"\n\n// material-ui components\nimport Typography from '@material-ui/core/Typography';\n\n// components\nimport Button from 'components/CustomComponents/CustomButtons/Button'\n// @material-ui/icons/\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\n\nimport useStyles from \"assets/jss/components/customcomponents/monthYearSelectorStyle\";\n\nconst currentDate = new Date()\n\nconst MonthYearSelector = (props) => {\n const classes = useStyles();\n const {\n value,\n onChange,\n ...rest\n } = props;\n\n const handleNext = () => {\n onChange(moment(value).add(1, 'month'))\n }\n\n const handleBack = () => {\n onChange(moment(value).subtract(1, 'month'))\n }\n\n const isLastStep = () => {\n return (moment(value).year() === moment(currentDate).year() && moment(value).month() === moment(currentDate).month())\n }\n\n return (
\n \n {moment(value).format('MMMM YYYY')}\n \n
)\n}\n\nMonthYearSelector.defaultProps = {\n value: currentDate\n}\n\nMonthYearSelector.propTypes = {\n value: PropTypes.any,\n onChange: PropTypes.func\n};\n\nexport default MonthYearSelector;","import {\n dangerColor,\n boxShadow\n } from \"assets/jss/material-dashboard-react.js\";\n\n import { makeStyles } from \"@material-ui/core/styles\";\n //.....styles..........\n\n const useStyles = makeStyles((theme) => ({\n cardStyle: {\n marginBottom: \"30px\",\n marginTop: \"30px\",\n borderRadius: 10,\n ...boxShadow\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n \n }));\n \n export default useStyles;","import React from 'react';\n//@material-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\n\nimport ShowMoreText from 'react-show-more-text';\nimport Skeleton from '@material-ui/lab/Skeleton';\n// custom style\nimport useStyles from \"assets/jss/components/views/NotificationStyle\";\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n {['SK0011', 'DK0101', 'PL0111', 'LK1111'].map((v, i) =>\n \n \n \n
\n \n
\n\n
\n )}\n
\n )\n}\n\n\n\nconst NotificationCard = (props) => {\n const classes = useStyles();\n\n if (props.loading) {\n return ()\n }\n\n\n\n return (\n \n {props.notifications.length ?\n props.notifications.map((data, idex) => (\n \n \n
\n \n {data.modifiedOn}\n \n

Show more}\n less={<>

Show less}\n className='content-css'\n anchorClass='my-anchor-css-class'\n expanded={false}\n // width={600}\n >\n {data.messageText}\n \n
\n
\n
\n ))\n : \n \n \n {\"Notification not available.\"}\n \n\n \n \n }\n
\n );\n}\n\nexport default NotificationCard;","import React, { useEffect, useState } from 'react';\nimport moment from 'moment'\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//Custom Components\nimport ShowMoreText from 'react-show-more-text';\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport MonthYearSelector from \"components/CustomComponents/MonthYearSelector/MonthYearSelector\";\nimport NotificationCard from 'components/Views/Notification/NotificationCard'\n// custom style\nimport useStyles from \"assets/jss/components/views/NotificationStyle\";\n\n\n\nconst Connnect = (props) => {\n const dispatch = useDispatch();\n const notifications = useSelector(state => state.notificationcenter.notifications)\n const classes = useStyles();\n const [loading, setLoading] = useState(false)\n\n const [monthyear, setMonthYear] = useState(new Date())\n\n useEffect(() => {\n const MONTH = moment(monthyear).format(\"MM\");\n const YEAR = moment(monthyear).format(\"YYYY\");\n setLoading(true)\n dispatch(questActions.fetchNotification(MONTH, YEAR)).then(() => {\n setLoading(false)\n })\n }, [monthyear])\n\n return (\n
\n \n \n
\n setMonthYear(value)} value={monthyear} />\n
\n \n
\n
\n
\n
\n
\n );\n}\n\nexport default Connnect;","import {\n dangerColor,\n boxShadow\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n cardStyle: {\n marginBottom: \"30px\",\n marginTop: \"30px\",\n borderRadius: 10,\n // borderBottomStyle: 'inset',\n ...boxShadow,\n padding: 10\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n senderName: {\n width: '100%',\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n subject: {\n display: 'flex',\n fontWeight: 'bold',\n alignItems: 'center',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n messageText: {\n overflow: 'hidden',\n lineHeight: 1.3,\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '2',\n },\n fontSize: '0.875rem',\n fontWeight: '500',\n letterSpacing: ' 0.00714em'\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n fontSize: 14,\n marginRight: 5\n },\n gridContainerStyle: {\n margin: 0,\n height: '100%',\n overflowY: 'overlay',\n overflowX: 'hidden',\n [theme.breakpoints.down('sm')]: {\n // height: '60vh',\n },\n },\n gridItemStyle: {\n padding: 0\n },\n cardContent: {\n // padding: '0px 16px'\n },\n chip: {\n margin: theme.spacing(0.2),\n borderRadius: 2,\n maxWidth: 400,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '-webkit-fill-available',\n },\n },\n iconTime: {\n fontSize: 15,\n marginRight: 2\n }\n\n}));\n\nexport default useStyles;","import React from 'react';\n// nodejs library to set properties for components\nimport moment from 'moment'\nimport PropTypes from \"prop-types\";\n//@material-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport { Avatar } from '@material-ui/core';\n\nimport TodayIcon from '@material-ui/icons/Today';\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport TimelapseIcon from '@material-ui/icons/Timelapse';\n\n// core components\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n// custom style\nimport useStyles from \"./styles/messagesCardStyle\";\n\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n {['SK0011', 'DK0101', 'PL0111', 'LK1111'].map((v, i) =>\n \n \n \n
\n \n
\n\n
\n )}\n
\n )\n}\n\n\n\nconst MessagesCard = (props) => {\n const classes = useStyles();\n const { loading, data, noDataMessage, onClickRow } = props;\n\n if (loading) {\n return ()\n }\n\n\n const JoinButton = (props) => {\n const onClickJoin = () => {\n if (typeof window.Android === 'undefined' && typeof openNewUrl === 'undefined' && typeof window.openNewUrl === 'undefined') {\n window.open(props.data.joinLink, \"_blank\")\n } else {\n if (typeof window.Android !== 'undefined') {\n if (typeof window.Android.openZoomUrl !== 'undefined') {\n window.Android.openZoomUrl(props.data.appJoinLink)\n }\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n if (typeof window.flutter_inappwebview.openZoomUrl !== 'undefined') {\n window.flutter_inappwebview.callHandler('openZoomUrl', props.data.appJoinLink, '');\n }\n } else {\n if (typeof window.openZoomUrl !== 'undefined') {\n window.openZoomUrl(props.data.appJoinLink)\n }\n }\n }\n }\n if (props.type === '2') {\n return ()\n }\n if (props.type === '1') {\n return \n }\n return ()\n }\n\n return (\n \n {data.length ?\n data.map((data, idex) => (\n \n\n \n
\n \n {data.CourseName}\n \n \n {data.scheduleName}\n \n \n {data.Teacher}\n \n\n
\n \n {` ${moment(data.startTime).format('DD-MM-YYYY')}`}\n \n \n {`${moment(data.startTime).format('hh:mm:ss a')}`}\n \n \n {`${data.duration}min`}\n \n
\n\n\n
\n
\n\n \n \n \n
\n ))\n : \n \n \n {noDataMessage}\n \n\n \n \n }\n
\n );\n}\n\nMessagesCard.propTypes = {\n loading: PropTypes.bool,\n data: PropTypes.array,\n noDataMessage: PropTypes.string,\n onClickRow: PropTypes.func\n};\n\nexport default MessagesCard;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n fab: {\n position: 'absolute',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n },\n addIcon: {\n // marginRight: theme.spacing(1),\n },\n mainContainer: {\n maxHeight: '78.5vh',\n // backgroundColor: '#fff',\n [theme.breakpoints.down('sm')]: {\n maxHeight: 'calc(100vh - 205px)',\n },\n }\n}));\n\nexport default useStyles;","import React, { useState } from \"react\";\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n\n//Custom Components\nimport MessagesCard from \"components/Views/Connect/components/MessageComponents/MessagesCard\";\n//Style\nimport useStyles from './styles.js'\n\nconst Inbox = (props) => {\n const { loading } = props\n const todyasOnlineClasses = useSelector(state => state.onlineclasses.todyasOnlineClasses.scheduleDataResult)\n const classes = useStyles();\n return (\n \n { }}\n loading={loading}\n noDataMessage={\"No data available\"}\n type={\"1\"}\n />\n \n )\n}\n\nexport default Inbox;","import React, { useState, useEffect } from \"react\";\n\n//Redux\nimport { useDispatch } from 'react-redux'\n//import reducer \nimport * as actions from \"components/Views/Connect/store/actions/index\"\n\n//@material-ui/icons\nimport InboxIcon from '@material-ui/icons/Inbox';\nimport ForumIcon from '@material-ui/icons/Forum';\n\n// custom components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\n\n// Views\nimport Todays from './Todays'\n\n\n\n// Styles\nimport { makeStyles } from \"@material-ui/core/styles\";\nconst useStyles = makeStyles((theme) => ({\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n\n}));\n\n\nconst Container = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const [selectedTab, setSelectedTab] = useState({ name: \"Today's\", icon: InboxIcon })\n const [loading, setLoading] = useState(false)\n\n useEffect(() => {\n setLoading(true)\n let dispatchAction = actions.fetchTodaysOnlineClasses()\n dispatch(dispatchAction).then(() => {\n setLoading(false)\n }).catch(error => {\n setLoading(false)\n console.log(error);\n });\n }, [selectedTab])\n\n\n return (\n \n
\n \n \n
\n { }}\n />\n
\n
\n
\n
\n \n )\n}\n\nexport default Container","import * as actionTypes from '../actionTypes';\nimport axiosConfig from \"util/axios\";\n\n//---Todays Online Classes---\nexport const setTodaysOnlineClasses = (MEETINGS_SCHEDULE) => {\n return {\n type: actionTypes.SET_TODAYS_ONLINE_CLASSES,\n schedule: MEETINGS_SCHEDULE\n }\n}\n\nexport const fetchTodaysOnlineClasses = () => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('/QuestSchedule/GetCurrentUserSchedules', {\n params: {\n UserId: UserId\n }\n }).then(response => {\n // console.log(response.data);\n dispatch(setTodaysOnlineClasses(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n\n","import * as actionTypes from './actionTypes';\n// import axios\nimport axiosConfig from \"util/axios\";\n\n\n\n//-------------Message Announcements-----------------\n\nexport const setFetchLoadingStatus=(status)=>{\n return{\n type:actionTypes.FETCH_QUERY_LOADING,\n status: status,\n }\n}\n\n\nexport const setMessageAnnouncements = (messages) => {\n return {\n type: actionTypes.SET_QUERY_DATA,\n inbox: messages,\n }\n};\n\nexport const fetchMessageAnnouncements = () => {\n return async (dispatch, getState) => {\n dispatch(setFetchLoadingStatus(true))\n await axiosConfig().get('/QuestMessage/GetMessageList').then(response => {\n dispatch(setMessageAnnouncements(response.data))\n }).catch(error => {\n dispatch(setFetchLoadingStatus(false))\n throw new Error(error)\n });\n }\n}\n\n// ----------Post Query Message--------------\nexport const postQueryMessage = (message, attachmentList) => {\n return async (dispatch, getState) => {\n const formData = new FormData();\n formData.append('messageTypeId', 1)\n formData.append('questId', message.questId)\n formData.append('missionId', message.missionId)\n formData.append('operationId', message.operationId)\n formData.append('subject', message.subject)\n formData.append('messageBody', message.messageBody)\n formData.append('parentMessageId', message.parentMessageId)\n formData.append('isActive', true)\n attachmentList.forEach((element, index) => {\n formData.append(`attachmentList[${index}].id`, index + '');\n formData.append(`attachmentList[${index}].fileName`, element.name);\n formData.append(`attachmentList[${index}].fileSize`, element.size.toString());\n formData.append(`attachmentList[${index}].fileType`, element.type);\n formData.append(`attachmentList[${index}].isActive`, 'true');\n formData.append(`attachmentList[${index}].isDeleted`, 'false');\n formData.append(`attachmentList[${index}].isNew`, 'true');\n formData.append(`attachmentList[${index}].index`, index + '');\n formData.append(`attachmentList[${index}].fileUrl`, '');\n formData.append(`attachmentList[${index}].file`, element);\n });\n\n\n await axiosConfig().post('/QuestMessage/InsertUpdateMessage', formData, {\n headers: {\n 'Content-Type': 'multipart/form-data'\n }\n }).then(response=>{\n dispatch(fetchMessageAnnouncements())\n }).catch((error) => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n","import {\n dangerColor,\n boxShadow\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n cardStyle: {\n borderRadius: 10,\n margin: 10,\n ...boxShadow,\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n senderName: {\n width: '85%',\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n subject: {\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n messageText: {\n overflow: 'hidden',\n lineHeight: 1.3,\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '2',\n },\n fontSize: '0.875rem',\n fontWeight: '500',\n letterSpacing:' 0.00714em'\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n fontSize: 14,\n marginRight: 5\n },\n gridContainerStyle: {\n margin: 0,\n height: '100%',\n overflowY: 'overlay',\n overflowX: 'hidden',\n [theme.breakpoints.down('sm')]: {\n // height: '60vh',\n },\n },\n gridItemStyle: {\n padding: 0\n },\n cardContent: {\n padding: '8px 16px'\n },\n chip: {\n margin: theme.spacing(0.2),\n borderRadius: 2,\n maxWidth: 400,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '-webkit-fill-available',\n },\n },\n\n}));\n\nexport default useStyles;","import React from 'react';\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n//@material-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardActionArea from '@material-ui/core/CardActionArea';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\n\n// core components\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\n\n//@material-ui/icons\nimport AttachmentIcon from '@material-ui/icons/Attachment';\n// custom style\nimport useStyles from \"./styles/messagesCardStyle\";\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n \n \n {['SK0011', 'DK0101', 'PL0111', 'LK1111'].map((v, i) =>\n \n \n \n
\n \n
\n\n
\n )}\n
\n
\n
\n )\n}\n\n\n\nconst MessagesCard = (props) => {\n const classes = useStyles();\n const { loading, data, noDataMessage, onClickRow } = props;\n\n if (loading) {\n return ()\n }\n\n return (\n \n \n \n {data.length ?\n data.map((message, idex) => (\n \n onClickRow ? onClickRow(message) : null}>\n \n
\n
\n
\n \n {message.Date}\n \n \n {message.missionDisplayName}\n \n
\n {message.attachmentList ?\n \n : null\n }\n
\n\n\n \n {message.subject}\n \n\n \n
\n \n \n
\n
\n
\n ))\n : \n \n \n {noDataMessage}\n \n\n \n \n }\n
\n
\n
\n );\n}\n\nMessagesCard.propTypes = {\n loading: PropTypes.bool,\n data: PropTypes.array,\n noDataMessage: PropTypes.string,\n onClickRow: PropTypes.func\n};\n\nexport default MessagesCard;","\nimport React, { useState, useEffect } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\n\n// @material-ui/core\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport IconButton from '@material-ui/core/IconButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport Typography from '@material-ui/core/Typography';\nimport Badge from '@material-ui/core/Badge';\n\n//@material-ui/icons\nimport SendIcon from '@material-ui/icons/Send';\nimport AttachmentIcon from '@material-ui/icons/Attachment';\n\n\nconst styles = (theme) => ({\n root: {\n margin: 0,\n padding: theme.spacing(1.5),\n paddingTop: 5,\n paddingBottom: 5,\n color: '#fff',\n backgroundImage: 'linear-gradient(to right, #006c64 , #00b8ac)',\n },\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n // color: theme.palette.grey[500],\n },\n saveButton: {\n color: \"#fff\"\n },\n input: {\n display: 'none',\n },\n\n});\n\nconst DialogTitle = withStyles(styles)((props) => {\n const { children, classes, onClose, onSave, onAttachment, ...other } = props;\n return (\n \n
\n
\n \n \n \n {children}\n
\n
\n {onAttachment ? (\n
\n \n \n
\n\n ) : null}\n {onSave ? (\n \n \n \n ) : null}\n\n
\n\n\n
\n
\n );\n});\n\nexport default DialogTitle;\n","import {\n primaryColor,\n dangerColor,\n successColor,\n grayColor,\n defaultFont\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst customInputStyle = {\n disabled: {\n \"&:before\": {\n backgroundColor: \"transparent !important\"\n }\n },\n underline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: grayColor[4] + \" !important\",\n borderWidth: \"1px !important\"\n },\n \"&:after\": {\n borderColor: primaryColor[0]\n }\n },\n underlineError: {\n \"&:after\": {\n borderColor: dangerColor[0]\n }\n },\n underlineSuccess: {\n \"&:after\": {\n borderColor: successColor[0]\n }\n },\n\n underlineNo: {\n \"&:hover:not($disabled):before,&:before\": {\n borderWidth: \"0px !important\"\n },\n \"&:after\": {\n borderWidth: \"0px !important\"\n }\n },\n\n // labelRoot: {\n // ...defaultFont,\n // color: grayColor[3] + \" !important\",\n // fontWeight: \"400\",\n // fontSize: \"14px\",\n // lineHeight: \"1.42857\",\n // letterSpacing: \"unset\"\n // },\n labelRootError: {\n color: dangerColor[0]\n },\n labelRootSuccess: {\n color: successColor[0]\n },\n feedback: {\n position: \"absolute\",\n top: \"18px\",\n right: \"0\",\n zIndex: \"2\",\n display: \"block\",\n width: \"24px\",\n height: \"24px\",\n textAlign: \"center\",\n pointerEvents: \"none\"\n },\n marginTop: {\n marginTop: \"16px\"\n },\n formControl: {\n // paddingBottom: \"10px\",\n // margin: \"27px 0 0 0\",\n position: \"relative\",\n verticalAlign: \"unset\"\n }\n};\n\nexport default customInputStyle;\n","import React from \"react\";\nimport classNames from \"classnames\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport InputLabel from \"@material-ui/core/InputLabel\";\nimport Input from \"@material-ui/core/Input\";\n// @material-ui/icons\nimport Clear from \"@material-ui/icons/Clear\";\nimport Check from \"@material-ui/icons/Check\";\n// core components\nimport styles from \"./styles\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustomInput(props) {\n const classes = useStyles();\n const {\n formControlClasses,\n labelText,\n id,\n labelProps,\n inputProps,\n error,\n success,\n underline,\n ...rest\n } = props;\n\n const labelClasses = classNames({\n [\" \" + classes.labelRootError]: error,\n [\" \" + classes.labelRootSuccess]: success && !error\n });\n const underlineClasses = classNames({\n [classes.underlineError]: error,\n [classes.underlineSuccess]: success && !error,\n [underline ? classes.underline : classes.underlineNo]: true\n });\n\n const formControlClassesName = classNames({\n [formControlClasses]: formControlClasses\n });\n\n\n const marginTop = classNames({\n [classes.marginTop]: labelText === undefined\n });\n return (\n \n {labelText !== undefined ? (\n \n {labelText}\n \n ) : null}\n \n {error ? (\n \n ) : success ? (\n \n ) : null}\n \n );\n}\nCustomInput.defaultProps = {\n underline: true\n}\nCustomInput.propTypes = {\n labelText: PropTypes.node,\n labelProps: PropTypes.object,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n formControlClasses: PropTypes.string,\n error: PropTypes.bool,\n success: PropTypes.bool,\n underline: PropTypes.bool\n};\n","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n input: {\n display: 'none',\n },\n formControl:{\n marginTop:10\n },\n chip: {\n margin: theme.spacing(0.2),\n borderRadius:2,\n maxWidth:400,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n maxWidth:'-webkit-fill-available',\n },\n },\n \n}));\n\nexport default useStyles;","import React, { useEffect, useState } from \"react\";\nimport PropTypes from 'prop-types';\n//@material-ui/core\nimport DialogContent from '@material-ui/core/DialogContent';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Chip from '@material-ui/core/Chip'\nimport IconButton from '@material-ui/core/IconButton';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Button from '@material-ui/core/Button';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport TextField from '@material-ui/core/TextField';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport Alert from '@material-ui/lab/Alert';\nimport LinearProgress from '@material-ui/core/LinearProgress';\n//@material-ui/icons\nimport AttachFile from '@material-ui/icons/AttachFile';\nimport TelegramIcon from '@material-ui/icons/Telegram';\n\n//Custom Components\nimport DialogTitle from 'components/Views/QueryBox/components/Dialog/DialogTitle';\nimport CustomInput from \"components/Views/QueryBox/components/CustomInput\"\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\nimport * as messageActions from \"components/Views/QueryBox/store/actions/index\"\n\n//validations\nimport { checkNull } from \"util/validations\";\n\n//Style\nimport useStyles from './styles.js'\n\n\nconst Compose = (props) => {\n const { reply, replyTo, onClose } = props\n const classes = useStyles();\n const dispatch = useDispatch()\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n\n const contentLoading = useSelector(state => state.content.loading)\n const questContent = useSelector(state => state.content.contentlist)\n const quest = useSelector(state => state.quest.current_quest)\n\n\n const [progress, setProgress] = useState(false);\n\n const [subject, setSubject] = useState(\"\");\n\n const [attachmentFiles, setAttachmentFiles] = React.useState([]);\n\n const [selectedCourse, setSelectedCourse] = useState(null)\n\n const [operations, setOperations] = useState([])\n const [selectedOperation, setSelectedOperation] = useState(null)\n\n const [queryMessage, setQueryMessage] = useState(\"\")\n const [snackbarMessage, setSnackbarMessage] = useState(\"\");\n\n //handle File Upload\n useEffect(() => {\n window.addEventListener(\"upload\", handleFileUpload);\n return () => window.removeEventListener(\"upload\", handleFileUpload);\n }, [])\n\n const handleFileUpload = (event) => {\n const data = event.detail\n const byteCharacters = atob(data.base64);\n const byteNumbers = new Array(byteCharacters.length);\n for (let i = 0; i < byteCharacters.length; i++) {\n byteNumbers[i] = byteCharacters.charCodeAt(i);\n }\n const byteArray = new Uint8Array(byteNumbers);\n const blob = new Blob([byteArray]);\n\n const file = new File([blob], data.filename)\n setAttachmentFiles([...attachmentFiles, file])\n }\n\n\n // Handle Delete\n const handleDelete = (fileToDelete) => () => {\n setAttachmentFiles(attachmentFiles.filter((file,index) => index !== fileToDelete));\n };\n\n // On file select (from the pop up) \n const onAttachment = event => {\n if (event.target.files[0]) {\n const upload_file = event.target.files[0];\n setAttachmentFiles([...attachmentFiles, upload_file])\n }\n };\n\n const onAttachmentMobile = () => {\n if (typeof window.Android !== 'undefined') {\n window.Android.uploadFile('QueryBox', reply ? replyTo.messageId : 0);\n }\n }\n\n\n const onChnageCourse = (event, newValue) => {\n setSelectedCourse(newValue)\n if (newValue)\n setOperations(questContent.add.operations.filter(data => data.missionId === newValue.missionId))\n else\n setOperations([])\n setSelectedOperation(null)\n }\n\n\n const onChnageOperations = (event, newValue) => {\n setSelectedOperation(newValue)\n }\n\n // Post Query Message\n const onPostQueryMessage = async () => {\n const MessageBody = {\n \"subject\": reply ? replyTo.subject : subject,\n \"messageBody\": queryMessage,\n \"questId\": quest.questId,\n \"missionId\": reply ? replyTo.missionId : selectedCourse ? selectedCourse.missionId : '',\n \"operationId\": reply ? replyTo.operationId : selectedOperation ? selectedOperation.operationId : '',\n \"parentMessageId\": reply ? replyTo.messageId : 0\n }\n\n if (MessageBody.subject === null || MessageBody.subject === '')\n setSnackbarMessage(\"Please specify subject.\")\n else if (MessageBody.missionId === null || MessageBody.missionId === '')\n setSnackbarMessage(\"Please specify at least one Mission. \")\n else {\n setProgress(true)\n await dispatch(messageActions.postQueryMessage(MessageBody, attachmentFiles)).then(() => {\n setProgress(false)\n onClose()\n }).catch(error => {\n setProgress(false)\n setSnackbarMessage(error.message)\n })\n }\n\n }\n\n /*handle Close Snackbar*/\n const handleClose = () => {\n setSnackbarMessage(\"\");\n }\n\n return (\n \n\n {/* ------Snackbar------ */}\n \n \n {snackbarMessage}\n \n \n\n {!reply\n ? \n Compose\n \n : sm && \n {subject}\n \n }\n\n \n\n {!reply && setSubject(e.target.value)}\n />}\n\n {!reply && option.missionDisplayName ? option.missionDisplayName : \"\"}\n renderInput={(params) => }\n />\n }\n\n {!reply && option.operationDisplayName ? option.operationDisplayName : \"\"}\n renderInput={(params) => }\n />\n }\n\n setQueryMessage(event.target.value)}\n />\n\n {attachmentFiles.map((file,index) => {\n return (\n
\n \n
\n );\n })}\n\n
\n\n \n {typeof window.Android !== 'undefined'\n ? \n \n \n :
\n \n \n
\n }\n {/* }\n >\n Save\n */}\n {/* \n \n */}\n }\n onClick={() => onPostQueryMessage()}\n >\n Send\n \n\n {/* \n \n */}\n
\n\n {progress ? : null}\n\n
\n )\n}\n\nCompose.defaultProps = {\n replyTo: {},\n onClose: () => { }\n}\n\nCompose.propTypes = {\n reply: PropTypes.bool,\n replyTo: PropTypes.string,\n onClose: PropTypes.func\n};\n\nexport default Compose;","import React, { useState } from \"react\";\nimport moment from \"moment\";\n//@material-ui/core\nimport DialogContent from '@material-ui/core/DialogContent';\nimport Typography from '@material-ui/core/Typography';\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Button from '@material-ui/core/Button';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport Paper from '@material-ui/core/Paper'\nimport Chip from '@material-ui/core/Chip'\nimport Collapse from '@material-ui/core/Collapse';\nimport { Divider } from \"@material-ui/core\";\nimport Dialog from '@material-ui/core/Dialog';\nimport Zoom from '@material-ui/core/Zoom';\n//@material-ui/icons\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport ReplyIcon from '@material-ui/icons/Reply';\n\nimport DialogTitle from 'components/Views/QueryBox/components/Dialog/DialogTitle';\nimport Compose from 'components/Views/QueryBox/components/Compose/index';\n\n\n// custom style\nimport useStyles from \"./styles/messagesCardStyle\";\n\n\nconst DeatilsCard = ({ currentQuery, isReplay }) => {\n const classes = useStyles();\n\n const fileDowload = (file) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.downloadFile( file.fileUrl);\n } else {\n fetch(file.fileUrl)\n .then(res => res.blob()) // Gets the response and returns it as a blob\n .then(blob => {\n let objectURL = URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.href = objectURL;\n document.body.appendChild(link);\n link.setAttribute('download', file.fileName);\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\n // Remove link from body\n document.body.removeChild(link);\n });\n }\n }\n\n return (\n
\n
\n
\n \n {moment(currentQuery.createdOn).format('DD/MM/YYYY')}\n \n
\n {/* H */}\n \n {currentQuery.createdByName}\n \n
\n
\n
\n\n \n
\n \n\n {currentQuery.attachmentList\n ? currentQuery.attachmentList.map((data) => {\n return (\n
\n }\n label={data.fileName}\n // onDelete={data.label === 'React' ? undefined : handleDelete(data)}\n className={classes.chip}\n onDelete={() => fileDowload(data)}\n onClick={() => fileDowload(data)}\n />\n
\n );\n })\n : null\n }\n \n )\n}\n\nconst MessageDeatilsCard = (props) => {\n const { onReply, currentQuery } = props\n const classes = useStyles();\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n\n\n const [checked, setChecked] = React.useState(false);\n const [open, setOpen] = useState(false);\n\n\n const handleChange = () => {\n setChecked((prev) => !prev);\n };\n\n\n\n return (\n\n\n \n {currentQuery.subject}\n \n\n \n\n \n\n {currentQuery.chatList && currentQuery.chatList.map(data => {\n return (\n \n )\n })}\n\n\n {!checked && \n \n }\n\n \n\n\n {!sm\n ? \n \n \n \n \n \n : \n \n \n }\n\n )\n}\n\nexport default MessageDeatilsCard;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n fab: {\n position: 'absolute',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n },\n addIcon: {\n // marginRight: theme.spacing(1),\n },\n mainContainer: {\n transform: 'translate(0%, 0px)',\n // padding: 20,\n borderRadius: 5,\n // maxHeight: '78.5vh',\n height:'78.5vh',\n backgroundColor: '#fff',\n [theme.breakpoints.down('sm')]: {\n height: 'calc(100vh - 100px)',\n borderRadius: 0,\n },\n }\n}));\n\nexport default useStyles;","import React, { useState } from \"react\";\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n\n//@material-ui/core\nimport { useTheme } from \"@material-ui/core/styles\";\nimport Fab from '@material-ui/core/Fab';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Zoom from '@material-ui/core/Zoom';\n\n//@material-ui/icons\nimport AddIcon from '@material-ui/icons/Add';\nimport Dialog from '@material-ui/core/Dialog';\n\n//Custom Components\nimport MessagesCard from \"components/Views/QueryBox/components/MessageComponents/MessagesCard\";\nimport MessageDeatilsCard from \"components/Views/QueryBox/components/MessageComponents/MessageDeatilsCard\";\n\n//Views\nimport Compose from '../../components/Compose'\n\n//Style\nimport useStyles from './styles.js'\n\nconst Inbox = (props) => {\n const { loading } = props\n\n const inboxMessages = useSelector(state => state.messages.inbox_messages)\n\n const classes = useStyles();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n const [open, setOpen] = useState(false);\n const [openMessageDeatils, setOpenMessageDeatils] = useState(false);\n\n const [currentQuery, setCurrentQuery] = useState({});\n\n // Dialog Close\n const handleClose = () => {\n setOpen(false);\n };\n\n // Dialog Open\n const handleOpen = () => {\n setOpen(true);\n };\n\n // Dialog Close Message Deatils\n const handleCloseMessageDeatils = () => {\n setOpenMessageDeatils(false);\n\n };\n\n // Dialog Open Message Deatils\n const handleOpenMessageDeatils = (CurrentQuery) => {\n setCurrentQuery(CurrentQuery)\n setOpenMessageDeatils(true);\n };\n\n\n //Handle Reply \n const handleReply = () => {\n handleCloseMessageDeatils()\n handleOpen();\n }\n\n return (\n
\n {/* Dialog */}\n \n \n \n\n \n\n \n \n\n\n \n\n \n \n\n \n
\n )\n}\n\nexport default Inbox;","import React, { useState, useEffect } from \"react\";\n\n// custom components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport LinearProgress from '@material-ui/core/LinearProgress';\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as messageActions from \"components/Views/QueryBox/store/actions/index\"\n\n// Views\nimport Inbox from './Inbox'\n\n// Styles\nimport { makeStyles } from \"@material-ui/core/styles\";\nconst useStyles = makeStyles((theme) => ({\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\",\n transform: 'translate(0%, 0px)',\n\n },\n\n}));\n\n\nconst MailContainer = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const [loading, setLoading] = useState(false)\n const inboxLoading = useSelector(state => state.messages.loading)\n\n useEffect(() => {\n fetchMessageAnnouncements()\n }, [])\n\n const fetchMessageAnnouncements = () => {\n setLoading(true)\n dispatch(messageActions.fetchMessageAnnouncements()).then(() => {\n setLoading(false)\n }).catch(error => {\n setLoading(false)\n console.log(error);\n });\n }\n\n\n return (\n
\n \n \n \n {inboxLoading ? : null}\n \n \n
\n )\n}\n\nexport default MailContainer","import React from \"react\";\nimport { BrowserRouter as Router, Route, Switch, withRouter } from \"react-router-dom\";\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\n// @material-ui/core\nimport withStyles from '@material-ui/core/styles/withStyles';\n// core components\nimport Drawer from 'components/CustomComponents/Drawer/Drawer';\n// Views\nimport Dashboard from 'components/Views/Dashboard/Dashboard'\nimport HomeDefaultComponent from 'components/Views/Home'\nimport Profile from \"components/Views/Profile/Profile\"\nimport Connect from \"components/Views/Connect\"\nimport Notification from 'components/Views/Notification/Notification'\nimport OnlineClasses from 'components/Views/Connect/views/OnlineClasses'\n\nimport QueryBox from 'components/Views/QueryBox/views'\n\n// styles\nimport styles from \"assets/jss/components/views/homeStyle\";\n\n// img\nimport QuestLogo from \"assets/img/icons/Questlogoheader.png\";\n\nconst Routes = [\n {\n path: \"/home/querybox\",\n name: \"QueryBox\",\n icon: null,\n component: QueryBox,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/home/connect\",\n name: \"Connect\",\n icon: null,\n component: OnlineClasses,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/home/dashboard\",\n name: \"Dashboard\",\n icon: null,\n component: Dashboard,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/home/profile\",\n name: \"profile\",\n icon: null,\n component: Profile,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/home/notification\",\n name: \"Notification\",\n icon: null,\n component: Notification,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/home\",\n name: \"Home\",\n icon: null,\n component: HomeDefaultComponent,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n \n\n\n]\n\n\nconst SwitchRoutes = (props) => (\n \n {Routes.map((prop, key) => {\n if (prop.submenu.length)\n return prop.submenu.map(submenu => )\n return \n })}\n \n);\n\nclass Home extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n showDrawer: false,\n mobileOpen: false,\n prevDepth: this.getPathDepth(this.props.location)\n }\n }\n\n componentWillReceiveProps = () => {\n this.setState({ prevDepth: this.getPathDepth(this.props.location) })\n }\n\n\n getPathDepth = (location) => {\n let pathArr = location.pathname.split(\"/\")\n pathArr = pathArr.filter(n => n !== \"\")\n return pathArr.length\n }\n\n render() {\n const { classes, location } = this.props;\n const currentKey = location.pathname.split(\"/\")[2] || \"/\";\n return (\n\n
\n \n\n \n { node.addEventListener(\"transitionend\", done, false); }}\n classNames=\"fade\" >\n
= 0 ? \"left\" : \"right\"}>\n \n
\n \n
\n\n
\n\n )\n }\n}\n\n\n\nexport default withRouter(withStyles(styles)(Home));","import {\n whiteColor,\n primaryColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst drawerWidth = 240;\nconst styles = theme => ({\n root: {\n display: 'flex',\n },\n\n appBar: {\n zIndex: theme.zIndex.drawer + 1,\n backgroundColor: whiteColor,\n color: primaryColor[0],\n },\n appBarShift: {\n marginLeft: drawerWidth,\n width: `calc(100% - ${drawerWidth}px)`,\n transition: theme.transitions.create(['width', 'margin'], {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n toolbar: {\n // justifyContent: 'space-between',\n ...theme.mixins.toolbar\n },\n muiToolbarDense: {\n minHeight: 50,\n padding: 0,\n [theme.breakpoints.down('sm')]: {\n minHeight: 45\n },\n },\n toolbarIcon: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n padding: '0 8px',\n ...theme.mixins.toolbar,\n\n },\n title: {\n fontWeight: 'bold',\n color: '#00B8AC',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n /* line-height: 16px; */\n /* max-height: 32px; */\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n fontSize: '0.875rem',\n lineHeight: 1.43,\n letterSpacing: '0.01071em'\n }\n },\n\n iconButton: {\n color: primaryColor[0],\n // padding: 5\n },\n\n\n\n});\n\nexport default styles;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport CssBaseline from '@material-ui/core/CssBaseline';\n\n// import material-ui/core\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\n\n\n// import material-ui/icons\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n\n//import style\nimport styles from \"assets/jss/components/customcomponents/pageNavigationStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nconst AdminNavbarLinks = (props) => {\n const classes = useStyles();\n const [alertDialog, setAlertDialog] = React.useState(false);\n // const [value, setValue] = React.useState(0);\n\n /*-----------------------handle Alert Close Dialog--------------------*/\n const handleAlertCloseDialog = () => {\n setAlertDialog(false);\n };\n\n /*-----------------------handle back--------------------*/\n const handleBack = () => {\n if (props.alert) {\n setAlertDialog(true);\n } else {\n props.back ? props.history.push(props.back) : props.history.goBack()\n }\n\n };\n\n /*-----------------------handle Alert onOK--------------------*/\n const handleAlertOK = async () => {\n handleAlertCloseDialog()\n };\n\n\n const divClasses = classNames({\n [props.className]: props.className\n });\n\n return (\n \n \n
\n\n \n \n
\n
\n \n \n \n\n \n {props.logoText}\n \n
\n\n\n {props.children}\n\n
\n\n
\n
\n
\n\n {/*-----Alert Dialog----- */}\n { }}\n action={[\n { text: 'OK', onPress: handleAlertOK }\n ]}\n />\n\n
\n\n );\n}\nAdminNavbarLinks.defaultProps = {\n alert: false,\n}\nAdminNavbarLinks.propTypes = {\n classes: PropTypes.object,\n alert: PropTypes.bool,\n alertOK: PropTypes.func,\n alertMessage: PropTypes.string,\n className:PropTypes.string\n};\nexport default withRouter(AdminNavbarLinks);","import React, { useState, useEffect } from 'react';\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//axios\nimport axiosConfig from \"util/axios\";\n\n// core components\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n\n//import style\nimport 'assets/css/loader.css';\n\n//variables\nimport { NexoolURL } from \"variables/ServerURL\";\n\nconst NexoolView = (props) => {\n const [loading, setLoading] = useState(true)\n const [display, setDisplay] = useState('none')\n const [Token, setToken] = useState('')\n\n const hideSpinner = () => {\n setLoading(false);\n setDisplay('block')\n };\n\n useEffect(() => {\n const getToken = async () => {\n await axiosConfig().get('/QuestUser/GetNexoolToken', {\n params: {\n UserId: props.userInfo.userId,\n QuestId: props.quest.questId\n }\n }).then(async response => {\n setToken(response.data.token)\n })\n }\n getToken()\n }, []);\n\n\n\n\n return (\n
\n {/*-----PageNavigation----- */}\n \n\n {/*-----page-container----- */}\n
\n {loading ? (\n
\n
Loading...
\n
\n\n ) : null}\n {Token ? \n : null\n }\n
\n
\n );\n\n}\n\nconst mapStateToProps = state => {\n return {\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n }\n}\n\n\nexport default connect(mapStateToProps, null)(NexoolView);\n\n","\nimport React from 'react';\nimport classNames from \"classnames\";\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\n\nimport PropTypes from 'prop-types';\nimport CircularProgress from '@material-ui/core/CircularProgress';\nimport Typography from '@material-ui/core/Typography';\nimport Box from '@material-ui/core/Box';\n// style\nimport {\n orangeColor,\n dangerColor,\n successColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\n// Inspired by the former Facebook spinners.\nconst useStylesFacebook = makeStyles((theme) => ({\n root: {\n position: 'relative',\n display: 'flex'\n },\n\n bottom: {\n color: theme.palette.grey[theme.palette.type === 'light' ? 200 : 700],\n },\n top: {\n color: '#1a90ff',\n animationDuration: '550ms',\n position: 'absolute',\n left: 0,\n },\n colorPrimary25: {\n color: dangerColor[0],\n },\n colorPrimary50: {\n color: orangeColor[0],\n },\n colorPrimary100: {\n color: successColor[0],\n },\n\n circle: {\n strokeLinecap: 'round',\n },\n\n}));\n\n\nfunction CircularProgressWithLabel(props) {\n const classes = useStylesFacebook();\n\n const progressClass = classNames({\n [classes.top]: true,\n [classes[`colorPrimary${props.value <= 25 ? '25' : (props.value > 25 && props.value <= 50) ? '50' : '100'}`]]: true,\n });\n\n return (\n \n
\n \n \n
\n \n {`${Math.round(\n props.value,\n )}%`}\n
\n \n );\n}\n\nCircularProgressWithLabel.propTypes = {\n /**\n * The value of the progress indicator for the determinate variant.\n * Value between 0 and 100.\n */\n value: PropTypes.number.isRequired,\n};\n\nexport default CircularProgressWithLabel;","import React, { useEffect } from \"react\";\n//Redux\nimport { connect } from 'react-redux'\n\n// @material-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardHeader from '@material-ui/core/CardHeader';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\nimport Grid from '@material-ui/core/Grid';\nimport Icon from '@material-ui/core/Icon';\n\n\n// @material-ui/icons\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport VideoLibraryIcon from '@material-ui/icons/VideoLibrary';\nimport ListAltIcon from '@material-ui/icons/ListAlt';\nimport WebIcon from '@material-ui/icons/Web';\nimport CasinoIcon from '@material-ui/icons/Casino';\n\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport LinearProgressWithLabel from 'components/CustomComponents/Progress/LinearProgressWithLabel'\nimport CircularProgressWithLabel from 'components/CustomComponents/Progress/CircularProgressWithLabel'\n\n// styles\nimport useStyles from \"assets/jss/components/views/taskStyle\";\nimport '../style.css'\n\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n\nconst OpCardContent = (props) => {\n const classes = useStyles();\n return (\n
\n
\n
\n {props.icon}\n
\n \n {props.countText}\n \n
\n \n {props.title}\n \n
\n )\n}\n\nconst ChapterCards = (props) => {\n\n ///const contentList =getSteps()\n const classes = useStyles();\n // const [activeCard, setActiveCard] = React.useState(0);\n\n\n useEffect(() => {\n if (props.operation.missionId !== props.mission.missionId) {\n props.setCurrentOperation()\n }\n }, [props.mission])\n\n\n\n const handleCardSelect = (operation) => {\n props.setCurrentOperation(operation)\n props.onClick(operation);\n }\n\n // useEffect(() => { window.scrollTo(0, 0) }, [props.operation.operationId])\n\n\n return (\n\n \n \n
\n {props.questContent.add.operations.filter(current_value => props.mission.missionId === current_value.missionId).map((operation, index) => (\n handleCardSelect(operation)}>\n\n \n \n\n \n\n
\n\n {operation.videoCount ?\n }\n bgcolor='#67bc47'\n />\n : null\n }\n\n {operation.testCount ?\n }\n bgcolor='#f26c2c'\n />\n : null\n }\n\n {operation.webContentCount ?\n }\n bgcolor='#124989'\n />\n : null\n }\n\n {operation.activityCount ?\n }\n bgcolor='#00b8ac'\n />\n : null\n }\n\n
\n
\n \n \n \n\n
))}\n
\n
\n )\n}\n\n\nconst mapStateToProps = state => {\n return {\n questContent: state.content.contentlist,\n mission: state.content.current_mission,\n operation: state.content.current_operation\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n setCurrentOperation: (operation) => dispatch(questActions.setCurrentOperation(operation))\n }\n\n}\n\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ChapterCards);\n\n\n\n\n","import React, { useState } from \"react\";\nimport { useDropzone } from \"react-dropzone\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport JSZip from \"jszip\";\n// import { saveAs } from \"file-saver\";\nimport fileUpload from \"../../../assets/img/upload-file_1.png\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nconst styles = {\n container: {\n boxShadow: \"0px 2px 10px 0px rgba(0,0,0,0.15)\",\n borderRadius: \"5px\",\n padding: \"30px\",\n // width: '400px',\n textAlign: \"center\",\n cursor: \"pointer\",\n },\n uploadText: {\n fontSize: \"24px\",\n fontWeight: \"500\",\n color: \"#425466\",\n },\n files: {\n textAlign: \"start\",\n },\n removeButton: {\n background: \"none\",\n color: \"inherit\",\n border: \"none\",\n padding: 0,\n font: \"inherit\",\n cursor: \"pointer\",\n outline: \"inherit\",\n paddingLeft: \"10px\",\n fontSize: \"18px\",\n fontWeight: \"700\",\n },\n uploadButton: {\n border: \"none\",\n background: \"linear-gradient(264.15deg, #4F90EE 0%, #0945BF 100%)\",\n padding: \"12px 28px 12px 28px\",\n cursor: \"pointer\",\n borderRadius: \"6px\",\n color: \"#fff\",\n fontSize: \"16px\",\n },\n buttonContainer: {\n width: \"100%\",\n textAlign: \"right\",\n },\n};\n\nconst useStyles = makeStyles(styles);\nfunction FileUpload({userInfo}) {\n const [files, setFiles] = useState([]);\n const [fileUploading, setFileUploading] = useState(false);\n const [alertDialog, setAlertDialog] = React.useState(false);\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertMessageType, setAlertMessageType] = React.useState(\"success\");\n const [uploadError, setUploadError] = useState(null);\n const classes = useStyles();\n const onDrop = (acceptedFiles) => {\n setFiles((prev) => [...prev, ...acceptedFiles]);\n };\n\n const { getRootProps, getInputProps } = useDropzone({ onDrop });\n\n const handleRemoveFile = (index) => {\n setFiles((prevFiles) => prevFiles.filter((_, i) => i !== index));\n };\n\n const truncateFileName = (name) => {\n const maxLength = 20;\n if (name.length <= maxLength) return name;\n const extIndex = name.lastIndexOf(\".\");\n const nameWithoutExt = name.substring(0, extIndex);\n const ext = name.substring(extIndex);\n return `${nameWithoutExt.substring(\n 0,\n maxLength - ext.length - 3\n )}...${ext}`;\n };\n\n const fileItems = files.map((file, index) => (\n
  • \n {truncateFileName(file.name)} - {(file.size / 1024 ** 2).toFixed(2)} Mb\n handleRemoveFile(index)}\n >\n X\n \n
  • \n ));\n\n const formData = new FormData();\n var zip = new JSZip();\n var zipFileName = \"files.zip\";\n var zipPromises = [];\n function handleFile(file) {\n if (file.type === \"application/zip\") {\n return JSZip.loadAsync(file).then((content) => {\n const internalPromises = [];\n content.forEach((relativePath, zipEntry) => {\n internalPromises.push(\n zipEntry.async(\"blob\").then((blob) => {\n zip.file(relativePath, blob);\n })\n );\n });\n return Promise.all(internalPromises);\n });\n } else {\n zip.file(file.name, file);\n return Promise.resolve();\n }\n }\n\n const handleUpload = async () => {\n setFileUploading(true);\n setUploadError(null);\n\n files.forEach((file) => {\n zipPromises.push(handleFile(file));\n });\n\n try {\n await Promise.all(zipPromises);\n const content = await zip.generateAsync({ type: \"blob\" });\n formData.append(\"file\", content, zipFileName);\n formData.append(\"UserId\", userInfo?.userId);\n\n const response = await fetch(\n \"https://apiv2.questplus.in/api/users/uploadFiles\",\n {\n method: \"POST\",\n body: formData,\n }\n );\n\n const result = await response.json();\n if (response.ok) {\n setAlertMessage(\"Upload Successfully\");\n setAlertDialog(true);\n if (!result?.payload) {\n setUploadError(result.message);\n setAlertMessageType(\"danger\");\n setAlertMessage(result.message);\n }\n } else {\n setUploadError(result.message || \"File upload failed\");\n throw new Error(result.message || \"File upload failed\");\n }\n } catch (error) {\n console.error(\"Error:\", error);\n setAlertMessageType(\"danger\");\n setAlertMessage(error.message);\n setUploadError(error.message);\n } finally {\n setFileUploading(false);\n setFiles([]);\n }\n };\n\n const handleAlertOK = async () => {\n setAlertDialog(false);\n };\n\n return (\n <>\n
    \n
    \n \n

    Upload or Drag your file

    \n \"...\"\n
    \n {fileItems.length ? (\n \n ) : (\n \"\"\n )}\n\n {fileItems.length ? (\n
    \n \n {fileUploading ? \"Uploading...\" : \"Upload All Files\"}\n \n
    \n ) : (\n \"\"\n )}\n {uploadError && (\n
    \n

    Error: {uploadError}

    \n
    \n )}\n {/* */}\n
    \n {}}\n action={[{ text: \"OK\", onPress: handleAlertOK }]}\n />\n \n );\n}\n\nexport default FileUpload;\n","import React, { Suspense, lazy, useEffect ,useState} from \"react\";\nimport { connect } from 'react-redux'\n\n// @material-ui/core\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Typography from '@material-ui/core/Typography';\nimport Hidden from \"@material-ui/core/Hidden\";\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n// import WebTopics from 'components/Views/Tasks/Topics/WebTopics'\nimport OperationCards from 'components/Views/Tasks/Operation/Operation'\n\nimport FileUpload from \"components/CustomComponents/FileUpload/FileUpload\";\nimport Grid from \"@material-ui/core/Grid\";\nimport axiosConfig from \"util/axios\";\nimport { serverDjangoURL } from \"variables/ServerURL\";\n// styles\nimport useStyles from \"assets/jss/components/views/taskStyle\";\nimport './style.css'\n\nconst WebTopics = lazy(() => import('components/Views/Tasks/Topics/WebTopics'));\n\n\nconst Operations = (props) => {\n\n const classes = useStyles();\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n const [masterClassData, setMasterClassData] = useState([])\n\n const getGoCoderDetails = async() => {\n await axiosConfig(serverDjangoURL).get('/api/active_masterclass_links/').then(async response => {\n // await dispatch(setUserInfo(response.data))\n setMasterClassData(response.data)\n }).catch(error => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n\n useEffect(() => {\n props.mission.missionName === \"GO_CODERZ\" && getGoCoderDetails()\n }, [])\n\n\n return (\n \n {/*-----PageNavigation----- */}\n \n \n {`(${props.mission.videoCount>0 ? props.mission.videoCount +\" Videos,\":''} \n ${props.mission.testCount>0 ? props.mission.testCount+' Tests,':''} \n ${props.mission.webContentCount>0 ? props.mission.webContentCount+' Webs':''} \n ${props.mission.activityCount>0 ?props.mission.activityCount+' Activities':''})`}\n \n \n\n {/*-----page-container----- */}\n
    \n\n {sm // mobile \n ? \n \n
    {/* height: '90vh' */}\n props.history.push({ pathname: '/topics' })} >\n
    \n
    \n
    \n\n : \n \n
    \n { }} >\n
    \n
    \n\n \n \n {props.operation.operationDisplayName}\n \n
    \n Loading...
    }>\n \n {props.mission.missionName === \"GO_CODERZ\" ? (\n <>\n \n \n \n \n {masterClassData.map((item) => {\n return (\n \n
    \n
    \n {item.is_live ? (\n
    \n
    Live\n
    \n ) : (\n <>\n )}\n
    \n

    \n {\" \"}\n {item.masterclass_name}\n

    \n \n Join Now\n \n
    \n
    \n );\n })}\n
    \n\n \n
    \n

    Instruction

    \n\n
      \n
    • 1. Click on the Join Now button to join the Masterclass.
    • \n
    • \n 2. Once you join the Masterclass, you will be redirected to the\n Masterclass page.\n
    • \n
    • \n 3. You can start learning by clicking on the Start Learning\n button.\n
    • \n
    \n
    \n
    \n \n ) : (\n \"\"\n )}\n \n\n\n
    \n \n \n }\n \n
    \n )\n}\n\n\nconst mapSateToProps = state => {\n return {\n mission: state.content.current_mission,\n operation: state.content.current_operation,\n userInfo: state.user.userinfo,\n }\n}\n\n\nexport default connect(mapSateToProps)(Operations);","import React, { useState, useEffect, useRef } from 'react';\n//Redux\nimport { connect, useDispatch, useSelector } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n\nimport CssBaseline from '@material-ui/core/CssBaseline';\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\nimport VideoViewer from 'components/Views/ContentViewer/VideoViewer/VideoViewer'\nimport AutoPlaySwipeableViews from 'components/Views/Tasks/Topics/TaskSwipeableViews'\nimport TopicAccordion from 'components/Views/Tasks/Topics/TopicAccordion'\n// // style\nimport useStyles from 'assets/jss/components/views/topicsContainerStyle'\nimport { Grid } from '@material-ui/core';\n\nimport axiosConfig from \"util/axios\";\nimport { serverDjangoURL } from \"variables/ServerURL\";\nimport FileUpload from 'components/CustomComponents/FileUpload/FileUpload';\n//Common functions\n// import { clevertapEvents, facebookTracking } from \"util/commonfunctions\";\n\n\nfunction SwipeableTextMobileStepper(props) {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const [masterClassData, setMasterClassData] = useState([])\n\n const elementRef = useRef();\n\n const mission = useSelector(state => state.content.current_mission)\n const quest = useSelector(state => state.quest.current_quest)\n const content = useSelector(state => state.content.contentlist);\n const current_content = useSelector(state => state.content.current_content);\n const operation = useSelector(state => state.content.current_operation)\n const questContentsList = useSelector(state => state.content.contentlist.add.questContents.filter((questContent) => (operation.operationId === questContent.operationId) && questContent[\"taskId\"] === undefined))\n const taskList = useSelector(state => state.content.contentlist.add.tasks.filter((task) => operation.operationId === task.operationId))\n const introductionExpanded = questContentsList.reduce((boolean, next) => next.isExpanded || boolean, false)\n const userInfo = useSelector(state => state.user.userinfo)\n const [lockDetails, setLockDetails] = useState({\n \"Watch\": true,\n \"Think\": true,\n \"Solve\": true,\n \"Play\": true\n })\n const [isVideo, setIsVideo] = React.useState(false);\n const [ScreenOrientation, setScreenOrientation] = useState('portrait')\n\n const handleChange = (taskId, panel) => (event, newExpanded) => {\n dispatch(questActions.setExpandedFlag(taskId, newExpanded))\n };\n\n useEffect(() => {\n if (questContentsList.length) {\n // const contentTypeCode = questContentsList[0].contentTypeCode;\n // if ((contentTypeCode === '01' || contentTypeCode === '02' || contentTypeCode === '03') && introductionExpanded) {\n // clevertapfacebook(contentTypeCode)\n // dispatch(questActions.setCurrentContent(questContentsList[0]))\n // setIsVideo(true)\n // }\n } else if (taskList.length) {\n dispatch(questActions.setExpandedFlag(taskList[0].taskId, true))\n // const contentList = content.add.questContents.filter(questContent => taskList[0].taskId === questContent.taskId)\n // if (contentList.length) {\n // const contentTypeCode = contentList[0].contentTypeCode;\n // if (contentTypeCode === '01' || contentTypeCode === '02' || contentTypeCode === '03') {\n // clevertapfacebook(contentTypeCode)\n // dispatch(questActions.setCurrentContent(contentList[0]))\n // setIsVideo(true)\n // }\n // }\n }\n // else {\n // dispatch(questActions.setCurrentContent({}))\n // setIsVideo(false)\n // }\n dispatch(questActions.setCurrentContent({}))\n setIsVideo(false)\n }, [operation.operationId])\n\n // const clevertapfacebook = (contentTypeCode) => {\n // //clevertap\n // const eventData = JSON.stringify({\n // 'QuestName': quest.questName,\n // 'MisssionName': mission.missionDisplayName,\n // 'OperationName': operation.operationDisplayName,\n // 'ContentType': contentTypeCode\n // });\n // clevertapEvents('ContentView', eventData);\n // //facebook tracking\n // const EventProperty = JSON.stringify({\n // 'fb_content_type': contentTypeCode,\n // 'fb_content_id': mission.missionName,\n // 'fb_currency': ''\n // })\n // console.log(EventProperty);\n // facebookTracking('fb_mobile_content_view', EventProperty)\n // }\n\n const handleChangeTask = (contentType) => {\n if (typeof onRemenberMeClicked === 'undefined')\n setIsVideo(contentType)\n else\n props.history.push('/player')\n elementRef.current.scrollIntoView({ behavior: 'smooth', block: 'center' })\n }\n\n\n const getGoCoderDetails = async() => {\n await axiosConfig(serverDjangoURL).get('/api/active_masterclass_links/').then(async response => {\n // await dispatch(setUserInfo(response.data))\n setMasterClassData(response.data)\n }).catch(error => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n\n const getContentLockDetails = async() => {\n await axiosConfig(serverDjangoURL).post('api/location/getLocationContentStatus', {\n \"LocationId\":userInfo.locationId\n }).then(async response => {\n\n setLockDetails((prev)=>({...prev,...response?.data?.payload}))\n // await dispatch(setUserInfo(response.data))\n // setMasterClassData(response.data)\n }).catch(error => {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n\n\n useEffect(() => {\n props.mission.missionName === \"GO_CODERZ\" && getGoCoderDetails()\n getContentLockDetails()\n }, [])\n\n return (\n
    \n\n {ScreenOrientation === \"portrait\"\n ? //back={'/task'}\n : \n }\n\n\n
    \n \n \n
    \n {typeof onRemenberMeClicked === 'undefined' && (current_content.contentTypeCode === '01' || current_content.contentTypeCode === '02' || current_content.contentTypeCode === '03')\n ? \n\n : null\n }\n
    \n\n
    \n {questContentsList.length\n ? (handleChangeTask(type))}\n />}\n />\n : null}\n {taskList.length\n ? taskList.map((current_task, indx) =>\n (handleChangeTask(type))}\n topics={content.add.questContents.filter((questContent) => current_task.taskId === questContent.taskId)} />}\n />\n\n ) : null\n }\n {props.mission.missionName === \"GO_CODERZ\" ? (\n
    \n \n \n \n \n {masterClassData.map((item) => {\n return (\n \n
    \n
    \n {item.is_live ? (\n
    \n
    Live\n
    \n ) : (\n <>\n )}\n
    \n

    \n {\" \"}\n {item.masterclass_name}\n

    \n \n Join Now\n \n
    \n
    \n );\n })}\n
    \n\n \n
    \n

    Instruction

    \n\n
      \n
    • 1. Click on the Join Now button to join the Masterclass.
    • \n
    • \n 2. Once you join the Masterclass, you will be redirected to the\n Masterclass page.\n
    • \n
    • \n 3. You can start learning by clicking on the Start Learning\n button.\n
    • \n
    \n
    \n
    \n
    \n ) : (\n \"\"\n )}\n
    \n
    \n
    \n
    \n
    \n );\n}\n\nconst mapStateToProps = state => {\n return {\n content: state.content.contentlist,\n operation: state.content.current_operation,\n mission: state.content.current_mission,\n userInfo: state.user.userinfo,\n }\n}\n\nexport default connect(mapStateToProps, null)(SwipeableTextMobileStepper);","import React, { useState, useEffect } from 'react';\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// import axios\nimport axiosConfig from \"util/axios\";\n//validations\nimport { checkNull, checkEmail, checkMaxLength, checkMinLength } from 'util/validations'\n//Common functions\nimport { clevertapEvents } from \"util/commonfunctions\";\n//import Custom Components\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\n// @material-ui/icon\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n// custom style\nimport useStyles from \"assets/jss/components/views/signupStyle\";\n//variables error\nimport { LENGTH_ERROR, MIN_LENGTH_ERROR } from 'variables/general'\n\nconst LoginDetails = (props) => {\n const { isLogin } = props;\n\n const dispatch = useDispatch()\n const classes = useStyles();\n\n const userDetails = useSelector(state => state.newuser.registerUser)\n\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n const [state, setState] = useState({\n username: userDetails.contactNo,\n password: \"\",\n pincode: \"\",\n cityName: \"\",\n firstName: \"\",\n email: \"\",\n\n errorpincode: \"\",\n errorcityName: \"\",\n errorusername: \"\",\n errorpassword: \"\",\n errorfirstName: \"\",\n erroremail: \"\",\n })\n\n const [showPassword, setShowPassword] = React.useState(false);\n\n const onNext = async () => {\n let validationObject = {};\n checkNull(\"username\", state.username, \"Username is required\", validationObject);\n checkNull(\"password\", state.password, \"Password is required\", validationObject);\n checkNull(\"firstName\", state.firstName, \"Name is required\", validationObject);\n checkEmail(\"email\", state.email, \"Email ID is not valid\", validationObject);\n\n checkMaxLength(\"firstName\", state.firstName, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"username\", state.username, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"password\", state.password, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"pincode\", state.pincode, 6, LENGTH_ERROR(6), validationObject);\n checkMaxLength(\"cityName\", state.cityName, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"email\", state.email, 50, LENGTH_ERROR(50), validationObject);\n\n checkMinLength(\"password\", state.password, 3, MIN_LENGTH_ERROR(\"Password\", 3), validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorusername: \"\",\n errorpassword: \"\",\n errorpincode: \"\",\n errorcityName: \"\",\n errorlastName: \"\",\n erroremail: \"\",\n ...validationObject\n });\n } else {\n await dispatch(questActions.setUsernamePassword(state.username, state.password));\n await dispatch(questActions.setSchoolCity(state.pincode, state.cityName));\n await dispatch(questActions.setFLName(state.firstName, \"\"));\n await dispatch(questActions.setUserEmail(state.email))\n handleRegisterUser();\n }\n }\n\n // Register User\n const handleRegisterUser = () => {\n const userInfo = {\n 'username': state.username,\n 'contactNo': userDetails.contactNo,\n 'firstName': state.firstName,\n 'password': state.password,\n 'pincode': state.pincode,\n 'cityName': state.cityName,\n 'emailId': state.email\n }\n props.handleLoading(true);\n\n //clevertap\n const eventData = JSON.stringify({\n 'Mobilenumber': \"+91\"+userDetails.contactNo,\n 'EmailId': state.email,\n 'UserName': state.username\n });\n\n clevertapEvents('Registration', eventData);\n\n axiosConfig().post('/QuestUser/RegisterUser', userInfo).then(async response => {\n if (response.data.error) {\n props.handleLoading(false);\n setAlertType(\"danger\")\n setAlertMessage(response.data.error)\n } else {\n if (isLogin) {\n await dispatch(questActions.authenticateUser(state.username, state.password)).catch(error => {\n props.handleLoading(false);\n setAlertType(\"error\")\n setAlertMessage(error.message)\n });\n setAlertType(\"success\")\n setAlertMessage(\"Registration completed successfully.Your Mobile Number is Your User Name\")\n props.handleLoading(false);\n //props.handleNext()\n }\n }\n }).catch(function (error) {\n console.log(error);\n });\n }\n\n\n\n // Close Alert\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n\n const handleClickShowPassword = () => {\n setShowPassword((prev) => !prev);\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n return (\n \n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n \n {/* */}\n \n {/* */}\n\n \n \n setState({ ...state, username: e.target.value })}\n />\n \n \n\n \n \n setState({ ...state, password: e.target.value })}\n InputProps={{\n endAdornment: (\n \n \n {showPassword ? : }\n \n \n )\n }}\n />\n \n \n\n \n \n setState({ ...state, firstName: e.target.value })}\n />\n \n \n\n \n \n setState({ ...state, email: e.target.value })}\n />\n \n \n\n\n \n \n setState({ ...state, cityName: e.target.value })}\n />\n \n \n\n \n \n setState({ ...state, pincode: e.target.value })}\n onInput={(e) => {\n e.target.value = e.target.value ? Math.max(0, parseInt(e.target.value)).toString().slice(0, 6) : \"\"\n }}\n />\n \n \n\n \n\n \n
    \n \n Back\n \n\n \n {props.activeStep === props.steps.length - 1 ? 'Finish' : 'Next'}\n \n
    \n
    \n
    \n\n )\n}\n\nexport default LoginDetails;","import React, { useState } from 'react';\n//Redux\nimport { useDispatch } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//Views\nimport VerifyOTP from \"components/Views/VerifyOTP/VerifyOTP\";\n\nconst CouponCode = (props) => {\n const { mobileNumber, onClose, onValidate } = props\n const dispatch = useDispatch();\n \n const [alertType, setAlertType] = React.useState(\"success\");\n const [snackbarMessage, setSnackbarMessage] = useState(\"\")\n const [loading, setLoading] = useState(false);\n\n const onValidateOTP = async (verificationCode) => {\n dispatch(questActions.validateOTP(verificationCode,mobileNumber)).then(() => {\n onValidate(true)\n onClose(false)\n }).catch(error => {\n setAlertType(\"error\")\n setSnackbarMessage(error.message)\n });\n }\n\n const resendOTP = async () => {\n setLoading(true)\n dispatch(questActions.requestForOTP(mobileNumber)).then(() => {\n setLoading(false)\n setAlertType(\"success\")\n setSnackbarMessage(\"OTP was resent successfully!\")\n }).catch(error => {\n setAlertType(\"error\")\n setSnackbarMessage(error.message)\n });\n }\n\n return (\n\n \n \n \n )\n}\n\nexport default CouponCode;","import React, { useRef, useState, useEffect } from 'react';\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n//validations\nimport { checkNull, checkMobileNumber } from 'util/validations'\n//commonfunctions\nimport { clevertapEvents } from \"util/commonfunctions\";\n// import axios\n// import axiosConfig from \"util/axios\";\n\n// import material component\nimport { useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport InputAdornment from '@material-ui/core/InputAdornment';\nimport Slide from '@material-ui/core/Slide';\nimport Dialog from '@material-ui/core/Dialog';\nimport Typography from '@material-ui/core/Typography';\n//import Custom Components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\n// Views\nimport VerifyMobileOTP from 'components/Views/SignUp/VerifyMobileOTP';\n\n// custom style\nimport useStyles from \"assets/jss/components/views/signupStyle\";\n\nfunction Alert(props) {\n return ;\n}\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst MobileNumber = (props) => {\n const dispatch = useDispatch()\n const userDetails = useSelector(state => state.newuser.registerUser)\n\n const ref = React.createRef();\n\n const classes = useStyles();\n const theme = useTheme();\n\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n const [OTPDialog, setOTPDialog] = React.useState(false);\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n const [snackbarMessage, setSnackbarMessage] = useState(\"\")\n const [isMobileValidate, setMobileValidation] = useState(false)\n const [state, setState] = useState({\n contactNumber: userDetails.contactNo,\n errorcontactNumber: \"\",\n })\n\n useEffect(() => {\n if (userDetails.contactNo === state.contactNumber && userDetails.contactNo !== \"\")\n setMobileValidation(true)\n }, [dispatch])\n\n const onSendOTP = async () => {\n\n let validationObject = {};\n checkNull(\"contactNumber\", state.contactNumber, \"Mobile number is required\", validationObject);\n checkMobileNumber(\"contactNumber\", state.contactNumber, \"Mobile number is not valid\", validationObject);\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorcontactNumber: \"\",\n ...validationObject\n });\n } else {\n setState({ ...state, errorcontactNumber: \"\" });\n await dispatch(questActions.setContactNumber(state.contactNumber));\n props.handleLoading(true);\n\n //clevertap\n clevertapEvents('OtpRequest',\"{\\\"Mobilenumber\\\":\\\"+91\" + state.contactNumber + \"\\\"}\");\n\n dispatch(questActions.requestForOTP(state.contactNumber)).then(() => {\n setOTPDialog(true)\n props.handleLoading(false);\n }).catch(error => {\n props.handleLoading(false);\n setAlertType(\"danger\")\n setAlertMessage(error.message)\n });\n }\n }\n\n\n // const onNext = () => {\n // // props.handleNext()\n // if (isMobileValidate) {\n // props.handleLoading(true);\n // axiosConfig().post('/QuestUser/RegisterUser', { ...userDetails }).then(response => {\n // if (response.data.error) {\n // props.handleLoading(false);\n // setAlertType(\"danger\")\n // setAlertMessage(response.data.error)\n // } else {\n // setAlertType(\"success\")\n // setAlertMessage(\"Registration completed successfully!\")\n // props.handleLoading(false);\n // //props.handleNext()\n // }\n // }).catch(function (error) {\n // console.log(error);\n // });\n // } else {\n // setState({\n // ...state,\n // errorcontactNumber: \"Please validate mobile number\",\n // });\n // }\n // }\n const onNext = () => {\n if (isMobileValidate) {\n props.handleNext()\n } else {\n setState({\n ...state,\n errorcontactNumber: \"Please validate mobile number\",\n });\n }\n }\n\n\n\n\n const verifyMobile = (isVerify) => {\n setMobileValidation(isVerify)\n setSnackbarMessage(\"Your mobile number is verified\")\n }\n\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n return (\n \n\n {/*-----Dialog----- */}\n \n \n \n\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n\n setSnackbarMessage(\"\")} anchorOrigin={{ vertical: 'top', horizontal: 'center' }}>\n setSnackbarMessage(\"\")} severity=\"success\">\n {snackbarMessage}\n \n \n\n \n {/* */}\n \n\n \n\n \n input && input.focus()}\n disabled={isMobileValidate ? true : false}\n type=\"number\"\n className={classes.number}\n id=\"MOBILE_NUMBER\"\n autoFocus={true}\n label=\"Mobile Number\"\n value={state.contactNumber}\n errorText={state.errorcontactNumber}\n onChange={(e) => setState({ ...state, contactNumber: e.target.value })}\n InputProps={{\n startAdornment: +91,\n }}\n onInput={(e) => {\n e.target.value = e.target.value ? Math.max(0, parseInt(e.target.value)).toString().slice(0, 10) : \"\"\n }}\n />\n {isMobileValidate ?\n
    \n \n {\n setMobileValidation(false)\n }} >\n Edit\n \n {\" mobile number.\"}\n \n
    \n : null\n }\n\n\n
    \n \n
    \n\n
    \n\n
    \n
    \n\n \n
    \n \n Back\n \n\n \n {props.activeStep === props.steps.length - 1 ? 'Finish' : 'Next'}\n \n
    \n
    \n\n
    \n\n )\n}\n\nexport default MobileNumber;","import React from 'react';\n\n\n//import Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Button from \"components/CustomComponents/CustomButtons/Button\"\n\n// custom style\nimport useStyles from \"assets/jss/components/views/signupStyle\";\n\nconst CouponCode = (props) => {\n const classes = useStyles();\n\n return (\n \n \n \n\n \n \n this.setState({ WAREHOUSE_NAME: e.target.value })}\n />\n\n
    \n \n
    \n
    \n
    \n
    \n\n \n
    \n \n Back\n \n props.handleNext()}\n className={classes.button}\n >\n {props.activeStep === props.steps.length - 1 ? 'Finish' : 'Next'}\n \n
    \n
    \n
    \n )\n}\n\nexport default CouponCode;","import React, { useState } from 'react';\nimport PropTypes from \"prop-types\";\n//Redux\nimport { useSelector } from 'react-redux'\n\n// import material component\nimport Stepper from '@material-ui/core/Stepper';\nimport Step from '@material-ui/core/Step';\nimport StepLabel from '@material-ui/core/StepLabel';\nimport Paper from '@material-ui/core/Paper';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport LinearProgress from '@material-ui/core/LinearProgress';\n\n//import Custom Components\nimport FLName from './FLName'\nimport LoginDetails from './LoginDetails'\nimport MobileNumber from './MobileNumber'\nimport OtherDetails from './OtherDetails'\nimport CouponCode from './CouponCode'\n\nimport { SwitchTransition, CSSTransition } from \"react-transition-group\";\n\n// custom style\nimport useStyles from \"assets/jss/components/views/signupStyle\";\n\n// img\nimport QuestLogo from \"assets/img/icons/QuestLogo.png\";\n\nconst modes = [\"out-in\", \"in-out\"];\n\nconst Signup = (props) => {\n const classes = useStyles();\n const appConfigs = useSelector(state => state.appconfigs.configs)\n\n const [activeStep, setActiveStep] = useState(0);\n const steps = appConfigs.showPromoScreen ? ['1', '2', '3'] : ['1', '2'];\n const [mode, setMode] = useState(\"out-in\");\n const [state, setState] = useState(true);\n const [loading, setLoading] = useState(false)\n\n const handleNext = () => {\n if (activeStep === steps.length - 1) {\n props.onSignUp()\n //props.history.push('/')\n } else {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n setState(state => !state)\n }\n };\n\n const handleBack = () => {\n if (activeStep === 0) {\n props.onClose()\n }\n else {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n setState(state => !state)\n }\n };\n\n const handleReset = () => {\n setActiveStep(0);\n };\n\n\n const getStepContent = (step) => {\n switch (step) {\n case 0:\n return \n case 1:\n return \n case 2:\n return \n default:\n return 'Unknown step';\n }\n }\n\n\n return (\n\n \n
    \n \n
    \n \"...\"\n\n {loading ? < LinearProgress color=\"primary\" style={{ margin: '0px 20px 0px 20px' }} /> : null}\n \n\n \n {steps.map((label, index) => (\n \n \n \n ))}\n \n\n \n {\n node.addEventListener(\"transitionend\", done, false);\n }}\n classNames=\"fade\"\n >\n {getStepContent(activeStep)}\n\n \n \n \n\n
    \n
    \n
    \n\n );\n}\n\n\nSignup.defaultProps = {\n onSignUp: () => { },\n isLoginAfterSignUp: false,\n}\n\nSignup.propTypes = {\n onSignUp: PropTypes.func,\n isLoginAfterSignUp: PropTypes.bool,\n}\n\nexport default Signup;\n","import {\n primaryColor,\n dangerColor,\n successColor,\n defaultFont\n} from \"assets/jss/material-dashboard-react\";\n\nconst customInputStyle = {\n disabled: {\n \"&:before\": {\n borderColor: \"transparent !important\"\n }\n },\n underline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: \"#D2D2D2 !important\",\n borderWidth: \"1px !important\"\n },\n \"&:after\": {\n borderColor: primaryColor\n }\n },\n underlineError: {\n \"&:after\": {\n borderColor: dangerColor\n }\n },\n underlineSuccess: {\n \"&:after\": {\n borderColor: successColor\n }\n },\n whiteUnderline: {\n \"&:hover:not($disabled):before,&:before\": {\n borderColor: \"#FFFFFF\"\n },\n \"&:after\": {\n borderColor: \"#FFFFFF\"\n }\n },\n labelRoot: {\n ...defaultFont,\n color: \"#fff !important\",\n fontWeight: \"400\",\n // fontSize: \"14px\",\n lineHeight: 1.5,\n top: \"10px\",\n letterSpacing: \"unset\",\n \"& + $underline\": {\n marginTop: \"0px\"\n }\n },\n labelRootSuccess: {\n color: successColor + \" !important\"\n },\n formControl: {\n // margin: \"0 0 5px 0\",\n paddingTop: \"25px\",\n position: \"relative\",\n \"& svg,& .fab,& .far,& .fal,& .fas,& .material-icons\": {\n color: \"#495057\"\n }\n },\n formControlSelect: {\n // margin: \"0 0 5px 0\",\n // paddingTop: \"10px\",\n position: \"relative\",\n \"& svg,& .fab,& .far,& .fal,& .fas,& .material-icons\": {\n color: \"#495057\"\n }\n },\n input: {\n color: \"#495057\",\n height: \"unset\",\n \"&,&::placeholder\": {\n fontSize: \"14px\",\n fontFamily: '\"Roboto\", \"Helvetica\", \"Arial\", sans-serif',\n fontWeight: \"400\",\n lineHeight: \"1.42857\",\n opacity: \"1\"\n },\n \"&::placeholder\": {\n color: \"#AAAAAA\"\n }\n },\n whiteInput: {\n \"&,&::placeholder\": {\n color: \"#FFFFFF\",\n opacity: \"1\"\n }\n },\n\n labelRootError: {\n ...defaultFont,\n color: dangerColor[0] + \" !important\",\n marginTop: -1,\n // marginBottom: -10\n },\n labelWhiteError: {\n color: \"#FFFFFF\" + \" !important\",\n },\n\n autocompleteInput:{\n padding:'10px 0'\n }\n};\n\nexport default customInputStyle;\n","import React from \"react\";\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n// nodejs library that concatenates classes\nimport classNames from \"classnames\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport FormControl from \"@material-ui/core/FormControl\";\nimport TextField from '@material-ui/core/TextField';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\n\nimport styles from \"assets/jss/components/customcomponents/autocompleteStyle\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function CustomInput(props) {\n const classes = useStyles();\n const {\n formControlProps,\n labelText,\n id,\n labelProps,\n inputProps,\n error,\n errorText,\n white,\n inputRootCustomClasses,\n success,\n options,\n value,\n ...rest\n } = props;\n\n const labelClasses = classNames({\n [\" \" + classes.labelRootError]: error,\n [\" \" + classes.labelRootSuccess]: success && !error\n });\n\n const inputClasses = classNames({\n [classes.input]: true,\n [classes.whiteInput]: white,\n [classes.whiteUnderline]: white,\n });\n\n const labelError=classNames({\n [classes.labelRootError]: true,\n [classes.labelWhiteError]: white,\n })\n\n var formControlClasses;\n if (formControlProps !== undefined) {\n formControlClasses = classNames(\n formControlProps.className,\n classes.formControlSelect\n );\n } else {\n formControlClasses = classes.formControlSelect;\n }\n return (\n \n }\n {...rest}\n />\n \n );\n}\n\nCustomInput.propTypes = {\n labelText: PropTypes.node,\n labelProps: PropTypes.object,\n id: PropTypes.string,\n inputProps: PropTypes.object,\n formControlProps: PropTypes.object,\n inputRootCustomClasses: PropTypes.string,\n error: PropTypes.bool,\n errorText: PropTypes.string,\n success: PropTypes.bool,\n white: PropTypes.bool,\n options: PropTypes.array.isRequired\n};\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nimport {\n successColor,\n secondaryColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst Style = makeStyles((theme) => ({\n\n UserDetailsLayout: {\n width: 'auto',\n display: 'flex', \n minHeight: '100vh',\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n paddingTop: theme.spacing() * 10,\n width: 440,\n minHeight: 'auto',\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n textAlign: 'center',\n },\n paperContainer: {\n // backgroundColor: secondaryColor[1],\n position: \"relative\",\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n borderRadius: 20,\n },\n },\n UserDetailsPaper: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: `${theme.spacing() * 2}px ${theme.spacing() * 3}px ${theme.spacing() * 3}px`,\n \n },\n stepContent: {\n width: '100%',\n height: '100%',\n minHeight: 200\n },\n\n\n actionsGridItem: {\n marginTop: 20,\n justifyItems: 'flex-end',\n alignItems: 'flex-end',\n display: 'flex'\n },\n actionsContainer: {\n // padding: 15,\n width: '100%',\n display: 'flex',\n justifyContent: \"space-between\"\n },\n\n\n paper1: {\n textAlign: 'center',\n // boxShadow: '0px 8px 10px',\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: `${theme.spacing() * 2}px ${theme.spacing() * 3}px ${theme.spacing() * 3}px`,\n },\n\n form1: {\n maxWidth: '328px',\n width: '100%', // Fix IE11 issue.\n // marginTop: theme.spacing(),\n },\n submit: {\n borderRadius: 20,\n maxWidth: '328px',\n maxHeight: '48px',\n marginTop: theme.spacing() * 3\n },\n titleHeader1:{\n padding:0\n },\n labelRootError: {\n color: '#fff !important',\n marginTop: 0\n },\n labelRoot:{\n color: '#fff !important',\n },\n inputUnderlinewhite: {\n color: '#fff',\n \"&:before\": {\n borderBottom: '1px solid rgb(255 255 255) !important'\n },\n \"&:after\": {\n borderBottom: '2px solid black !important'\n }\n },\n\n\n}));\n\nexport default Style;","import React, { useState, useEffect } from 'react';\nimport { useLocation, useHistory } from \"react-router-dom\";\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// import axios\nimport axiosConfig from \"util/axios\";\n//validations\nimport { checkNull, checkEmail, checkMaxLength, checkMinLength } from 'util/validations'\n//Common functions\nimport { clevertapEvents } from \"util/commonfunctions\";\n//import Custom Components\nimport Paper from '@material-ui/core/Paper';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Progress from \"components/CustomComponents/Progress/Progress\"\nimport Autocomplete from \"components/CustomComponents/Autocomplete/Autocomplete\"\n// custom style\nimport useStyles from \"assets/jss/components/views/userDetailsStyle\";\n//variables error\nimport { LENGTH_ERROR, MIN_LENGTH_ERROR } from 'variables/general'\n\n\nconst LoginDetails = (props) => {\n const history = useHistory();\n const location = useLocation();\n const dispatch = useDispatch()\n const classes = useStyles();\n\n const newuser = useSelector(state => state.newuser.registerUser)\n\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n\n const boards = useSelector(state => state.boardgrade.boards)\n const [board, setBoard] = React.useState(null);\n\n const gradeList = useSelector(state => state.boardgrade.grades)\n const [grades, setGrades] = React.useState([])\n const [grade, setGrade] = React.useState(null);\n\n const [state, setState] = useState({\n firstName: \"\",\n errorboard: \"\",\n errorgrade: \"\",\n errorfirstName: \"\",\n })\n\n const [userId, setUserId] = useState(\"\")\n const [isLoading, setIsLoading] = useState(false)\n\n useEffect(() => {\n if (location.state) {\n setUserId(location.state.userId)\n }\n }, [dispatch, userId])\n\n\n useEffect(() => {\n fetchBoardGrade()\n }, [dispatch])\n\n const fetchBoardGrade = async () => {\n setIsLoading(true)\n await dispatch(questActions.fetchBoardGrade()).then(() => {\n setIsLoading(false)\n }).catch(error => {\n setIsLoading(false)\n console.log(error);\n })\n }\n\n\n const validateInputs = async () => {\n let validationObject = {};\n checkNull(\"firstName\", state.firstName, \"Name is required\", validationObject);\n checkNull(\"board\", board, \"Please select board\", validationObject);\n checkNull(\"grade\", grade, \"Please select grade\", validationObject);\n\n checkMaxLength(\"firstName\", state.firstName, 50, LENGTH_ERROR(50), validationObject);\n\n\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorboard: \"\",\n errorgrade: \"\",\n errorfirstName: \"\",\n ...validationObject\n });\n } else {\n handleRegisterUser();\n }\n }\n\n // Update User info\n const handleRegisterUser = () => {\n const userInfo = {\n 'userId': userId,\n 'firstName': state.firstName,\n \"boardId\": board.boardId,\n \"gradeId\": grade.gradeId,\n \"promoCode\": newuser.promoCode,\n \"UTMData\": newuser.UTMData\n }\n\n setIsLoading(true);\n axiosConfig().post('/QuestUser/UpdateUser', userInfo).then(async response => {\n if (response.data.error) {\n setIsLoading(false);\n setAlertType(\"danger\")\n setAlertMessage(response.data.error)\n } else {\n\n if ((response.data.questId !== undefined && response.data.questname !== undefined) && (response.data.questId !== \"\" && response.data.questname !== \"\")) {\n //clevertap\n const eventData = JSON.stringify({\n 'QuestId': response.data.questId,\n 'QuestName': response.data.questname\n });\n clevertapEvents('QuestSelected', eventData);\n }\n\n // await axiosConfig().get('/QuestUser/GetCurrentUser').then(response => {\n // dispatch(questActions.setUserInfo(response.data))\n // dispatch(questActions.initUserQuestList(props.isInitCurrentQuestAndContentList))\n // if (response.data.userQuestList.length > 0) {\n // dispatch(questActions.initUserQuestList(props.isInitCurrentQuestAndContentList)).then(() => {\n // setIsLoading(false);\n // history.push('/home')\n // })\n // } else if (response.data.showDashboard) {\n // setIsLoading(false);\n // history.push('/products')\n // } else {\n // setIsLoading(false);\n // history.push('/home')\n // }\n // }).catch(function (error) {\n // setIsLoading(false);\n // dispatch(questActions.fetchUserInfoFailed())\n // });\n }\n }).catch(function (error) {\n setAlertType(\"error\")\n setAlertMessage(error.message)\n });\n }\n\n\n\n // Close Alert\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n /*----------------------- on Chnage Board --------------------*/\n const onChnageBoard = (event, newValue) => {\n setBoard(newValue)\n if (newValue)\n setGrades(gradeList.filter(data => data.boardId === newValue.boardId))\n else\n setGrades([])\n setGrade(null)\n }\n\n\n\n return (\n \n \n
    \n \n\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n
    \n \n
    \n \n \n {/* */}\n \n {/* */}\n\n \n \n setState({ ...state, firstName: e.target.value })}\n />\n \n\n \n option.boardName ? option.boardName : \"\"}\n errorText={state.errorboard}\n formControlProps={{ fullWidth: true }}\n />\n \n\n \n { setGrade(newValue) }}\n getOptionLabel={(option) => option.gradeName ? option.gradeName : \"\"}\n errorText={state.errorgrade}\n formControlProps={{ fullWidth: true }}\n />\n \n \n \n\n \n
    \n \n Continue\n \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n )\n}\n\nexport default LoginDetails;","import React, { useState, useEffect } from 'react';\nimport { useLocation, useHistory } from \"react-router-dom\";\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// import axios\nimport axiosConfig from \"util/axios\";\n//validations\nimport { checkNull, checkEmail, checkMaxLength, checkMinLength } from 'util/validations'\n//Common functions\nimport { clevertapEvents } from \"util/commonfunctions\";\n//import Custom Components\nimport Paper from '@material-ui/core/Paper';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Progress from \"components/CustomComponents/Progress/Progress\"\n// custom style\nimport useStyles from \"assets/jss/components/views/userDetailsStyle\";\n//variables error\nimport { LENGTH_ERROR, MIN_LENGTH_ERROR } from 'variables/general'\n\nconst LoginDetails = (props) => {\n const history = useHistory();\n const location = useLocation();\n const dispatch = useDispatch()\n const classes = useStyles();\n\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n\n\n const [state, setState] = useState({\n pincode: \"\",\n cityName: \"\",\n firstName: \"\",\n email: \"\",\n\n errorpincode: \"\",\n errorcityName: \"\",\n errorfirstName: \"\",\n erroremail: \"\",\n })\n\n const [userId, setUserId] = useState(\"\")\n const [isLoading, setIsLoading] = useState(false)\n\n useEffect(() => {\n if (location.state) {\n setUserId(location.state.userId)\n }\n }, [dispatch, userId])\n\n\n\n const validateInputs = async () => {\n let validationObject = {};\n checkNull(\"firstName\", state.firstName, \"Name is required\", validationObject);\n // checkNull(\"email\", state.email, \"Email is required\", validationObject);\n // checkEmail(\"email\", state.email, \"Email ID is not valid\", validationObject);\n\n checkMaxLength(\"firstName\", state.firstName, 50, LENGTH_ERROR(50), validationObject);\n // checkMaxLength(\"pincode\", state.pincode, 6, LENGTH_ERROR(6), validationObject);\n // checkMaxLength(\"cityName\", state.cityName, 50, LENGTH_ERROR(50), validationObject);\n // checkMaxLength(\"email\", state.email, 50, LENGTH_ERROR(50), validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorpincode: \"\",\n errorcityName: \"\",\n errorlastName: \"\",\n erroremail: \"\",\n ...validationObject\n });\n } else {\n handleRegisterUser();\n }\n }\n\n // Update User info\n const handleRegisterUser = () => {\n\n const userInfo = {\n 'userId': userId,\n 'firstName': state.firstName,\n // 'pincode': state.pincode,\n // 'cityName': state.cityName,\n // 'emailId': state.email\n }\n\n setIsLoading(true);\n\n\n axiosConfig().post('/QuestUser/UpdateUser', userInfo).then(async response => {\n if (response.data.error) {\n setIsLoading(false);\n setAlertType(\"danger\")\n setAlertMessage(response.data.error)\n } else {\n setIsLoading(false);\n\n await axiosConfig().get('/QuestUser/GetCurrentUser').then(response => {\n dispatch(questActions.setUserInfo(response.data))\n dispatch(questActions.initUserQuestList(props.isInitCurrentQuestAndContentList))\n if (response.data.showDashboard)\n history.push('/products')\n else\n history.push('/home')\n }).catch(function (error) {\n dispatch(questActions.fetchUserInfoFailed())\n });\n }\n }).catch(function (error) {\n setAlertType(\"error\")\n setAlertMessage(error.message)\n });\n }\n\n\n\n // Close Alert\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n\n\n\n return (\n \n \n
    \n \n
    \n \n
    \n \n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n \n {/* */}\n \n {/* */}\n\n \n \n setState({ ...state, firstName: e.target.value })}\n />\n \n \n\n {/* \n \n setState({ ...state, email: e.target.value })}\n />\n \n \n\n\n \n \n setState({ ...state, cityName: e.target.value })}\n />\n \n \n\n \n \n setState({ ...state, pincode: e.target.value })}\n onInput={(e) => {\n e.target.value = e.target.value ? Math.max(0, parseInt(e.target.value)).toString().slice(0, 6) : \"\"\n }}\n />\n \n */}\n\n \n\n \n
    \n \n Continue\n \n\n
    \n
    \n
    \n\n\n
    \n
    \n
    \n
    \n
    \n\n )\n}\n\nexport default LoginDetails;","import {\n successColor,\n // whiteColor,\n primaryColor,\n // grayColor,\n // hexToRgb,\n // blackColor,\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst dashboardStyle = theme => ({\n\n layout: {\n width: 'auto',\n display: 'block', // Fix IE11 issue.\n // marginLeft: theme.spacing(3),\n // marginRight: theme.spacing(3),\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n width: 800,\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n [theme.breakpoints.down('sm')]: {\n height: '100%'\n },\n // textAlign: 'center',\n },\n infoText: {\n color: primaryColor[4],\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n upArrowCardCategory: {\n width: \"16px\",\n height: \"16px\"\n },\n stats: {\n textAlign: 'center'\n },\n taskDiv: {\n padding: '0px 10px 0px 10px',\n borderRightStyle: 'solid',\n borderRightColor: primaryColor[0],\n flexDirection: \"row\", display: 'flex', justifyContent: 'center'\n },\n timeDiv: {\n padding: '0px 10px 0px 10px',\n flexDirection: \"row\", display: 'flex', justifyContent: 'center'\n },\n\n pageCardBody: {\n minHeight: '100vh'\n },\n gridItemFooter: {\n padding: '0 !important'\n },\n cardStyle1: {\n marginBottom: \"0\",\n marginTop: '0px',\n // padding: 20,\n borderRadius: 0,\n borderTopLeftRadius: 20,\n borderTopRightRadius: 20,\n [theme.breakpoints.down('sm')]: {\n height: '100%',\n padding: 5,\n },\n // backgroundColor:successColor[0]\n },\n cardStyle2: {\n height: '100%',\n marginBottom: \"0\",\n overflowY: 'auto',\n overflowX: 'hidden',\n // padding: 20,\n marginTop: 0,\n borderRadius: 0,\n [theme.breakpoints.down('sm')]: {\n height: '100%',\n padding: 5,\n },\n // backgroundColor:successColor[0]\n },\n cardStyle3: {\n marginBottom: \"0\",\n padding: 5,\n marginTop: 0,\n borderRadius: 0,\n [theme.breakpoints.down('sm')]: {\n height: '100%',\n padding: 5,\n },\n [theme.breakpoints.up('sm')]: {\n borderBottomLeftRadius: 20,\n borderBottomRightRadius: 20,\n },\n // backgroundColor:successColor[0]\n },\n successColor: {\n backgroundColor: successColor[0],\n margin: \"0px\",\n flex: '0 0 auto'\n },\n cardBodyStyle: {\n padding: 0\n },\n cardIconStyle: {\n width: '90px',\n height: '90px',\n marginTop: '20px',\n marginBottom: '40px',\n },\n\n \n\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n\n earnPoints: {\n // padding: '5px 20px 5px 20px',\n width: 'fit-content',\n textAlign: 'center',\n Display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: \"15px\"\n },\n\n\n buttonCenter: {\n display: 'flex',\n justifyContent: \"center\"\n },\n gridContainer1: {\n margin: \"0px\",\n marginTop: '-30px',\n flex: '0 0 auto',\n [theme.breakpoints.down('sm')]: {\n // height: '100%',\n margin: \"0px -15px\",\n marginTop: '-30px',\n },\n },\n\n gridContainer2: {\n margin: \"0px\",\n minHeight: '200px',\n maxHeight: '80vh',\n flex: '1 1 auto',\n height: ' -webkit-fill-available',\n // padding: 8px 24px;\n overflowY: 'hidden',\n [theme.breakpoints.down('sm')]: {\n // height: '100%',\n margin: \"0px -15px\",\n },\n [theme.breakpoints.up('sm')]: {\n // height: '100%',\n // maxHeight: '80vh',\n },\n },\n gridContainer3: {\n minHeight: '200px',\n overflowY: 'auto',\n '-webkit-overflow-scrolling': 'touch',\n },\n gridContainer4: {\n margin: \"0px\",\n flex: '0 0 auto',\n [theme.breakpoints.down('sm')]: {\n // height: '100%',\n margin: \"0px -15px\",\n },\n\n },\n centerContainer: {\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n\n gridItem: {\n marginLeft: 'auto',\n marginRight: 'auto',\n height: '100%',\n },\n\n\n \n '@media screen and (max-height: 480px)': {\n cardIconStyle: {\n width: '70px',\n height: '70px',\n },\n earnPoints:{\n marginBottom: \"0px\"\n },\n gridContainer2:{\n minHeight: '150px',\n }\n },\n\n})\n\nexport default dashboardStyle;\n","import React, { useEffect } from \"react\";\nimport { Redirect } from 'react-router-dom';\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//commonfunctions\nimport { clevertapEvents } from \"util/commonfunctions\";\n\n// @material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Paper from '@material-ui/core/Paper';\nimport Skeleton from '@material-ui/lab/Skeleton';\n\n// @material-ui/icons\nimport Typography from '@material-ui/core/Typography';\n\n\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Card from \"components/CustomComponents/Card/Card.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\nimport Info from 'components/CustomComponents/Typography/Info'\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n// import Progress from \"components/CustomComponents/Progress/Progress\"\n// img\nimport avatar from \"assets/img/documents.png\";\n\n// styles\nimport styles from \"assets/jss/components/views/InstructionAssessmentStyle\";\n\nconst useStyles = makeStyles(styles);\n\n\n\nconst InstructionAssessment = (props) => {\n // const [progress, setProgress] = React.useState(false);\n const classes = useStyles();\n\n /*---------------------init Questions List--------------------*/\n useEffect(() => {\n if (props.content.testCode) {\n props.onSetCurrentTest(props.content.testCode)\n props.onInitQuestions(props.content.testCode)\n }\n }, [props.content])\n\n /*----------------------Begin Test----------------------------*/\n const onBeginTest = () => {\n props.setCurrentTestHistory({})\n clevertapFun(\"Teststared\")\n props.history.push('/assessment');\n }\n\n /*-----------------------clevertap--------------------*/\n const clevertapFun = (EventName) => {\n const eventData = JSON.stringify({\n 'MisssionName': props.mission.missionName,\n 'TestName': props.test.testName\n });\n clevertapEvents(EventName, eventData);\n }\n\n\n if (props.content.testCode === undefined) {\n return (\n \n )\n }\n\n return (\n
    \n {/*-----PageNavigation----- */}\n \n\n {/*----- Spinner---- */}\n {/* {props.loading ? : null} */}\n\n {/*-----page-container----- */}\n
    \n\n {/*-----Grid----- */}\n \n \n \n {props.loading\n ? \n : \"...\"\n }\n \n \n \n\n {/*
    */}\n\n {/*
    \n \n \n \n
    */}\n\n \n \n \n \n \n \n \n
    \n \n {props.loading ? : 'Instruction For Assessment'}\n \n\n\n
    \n {props.loading\n ? \n : \n
    \n Time: \n {props.test.totalDuration} min\n
    \n
    \n < Info > Questions: \n {props.test.totalQuestion}\n
    \n
    \n }\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n\n \n \n \n \n\n \n \n\n {props.loading ?\n \n \n \n \n \n \n

    \n \n\n \n
    \n\n : \n \n
    \n\n \n \n }\n \n \n \n \n \n \n\n\n \n \n \n \n\n \n\n \n {props.loading ?\n \n : props.history.push('/assessment')}\n onClick={onBeginTest}\n >\n Begin Test\n \n }\n \n \n\n \n \n \n\n\n \n\n {/* */}\n
    \n \n );\n}\n\n\nconst mapStateToProps = state => {\n return {\n content: state.content.current_content,\n test: state.content.current_test,\n loading: state.questions.loading,\n mission: state.content.current_mission,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onSetCurrentTest: (testCode) => dispatch(questActions.setCurrentTest(testCode)),\n onInitQuestions: (testCode) => dispatch(questActions.initQuestions(testCode)),\n setCurrentTestHistory: (data) => dispatch(questActions.setCurrentTestHistory(data)),\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(InstructionAssessment);\n","import React, { useMemo } from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport RemarkMathPlugin from 'remark-math';\nimport { BlockMath, InlineMath } from 'react-katex';\nimport 'katex/dist/katex.min.css';\n\nconst _mapProps = (props) => ({\n ...props,\n escapeHtml: false,\n plugins: [\n RemarkMathPlugin\n ],\n renderers: {\n ...props.renderers,\n math: ({ value }) => {value},\n inlineMath: ({ value }) => {value}\n }\n});\n\nconst Markdown = (props) => {\n\n let Input = props.children.replace(/(]+?>|

    )/, \"

    \")\n Input=Input.replace(/(<\\/p>)/, \"

    \")\n Input=Input.replace(/<\\/?span[^>]*>/g,\"\")\n\n return ${Input}`} />\n};\n\nexport default Markdown;","import {\n successColor,\n roseColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nconst Style = theme => ({\n root: {\n\n },\n disabledListItem: {\n opacity: '1 !important'\n },\n ansListItemStyle: {\n paddingLeft: 0\n },\n\n ansGridContainer: {\n // justifyContent: \"center\"\n },\n ansButton: {\n maxWidth: \"700px\",\n marginBottom: 20\n },\n footerDiv: {\n display: \"flex\",\n justifyContent: 'space-between',\n marginTop: '10px'\n },\n\n layout: {\n width: 'auto',\n display: 'block', // Fix IE11 issue.\n // marginLeft: theme.spacing(3),\n // marginRight: theme.spacing(3),\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n width: 800,\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n // textAlign: 'center',\n },\n\n cardStyle: {\n marginBottom: \"0\",\n marginTop: '-150px',\n borderRadius: 20\n // padding: 20\n // backgroundColor:successColor[0]\n },\n\n cardIconStyle: {\n width: '90px',\n height: '90px',\n marginTop: '20px',\n marginBottom: '40px',\n },\n\n //-------Grid Container----\n gridContainer: {\n backgroundColor: successColor[0],\n margin: \"0px\",\n flex: '0 0 auto',\n [theme.breakpoints.down('sm')]: {\n // height: '100%',\n display: 'none'\n },\n },\n\n\n gridContainer1: {\n margin: \"0px\",\n marginTop: '-100px',\n flex: '0 0 auto',\n [theme.breakpoints.down('sm')]: {\n margin: \"0px -15px\",\n },\n },\n gridContainer2: {\n margin: \"0px\",\n minHeight: '200px',\n maxHeight: '80vh',\n flex: '1 1 auto',\n height: ' -webkit-fill-available',\n // padding: 8px 24px;\n overflowY: 'hidden',\n [theme.breakpoints.down('sm')]: {\n // height: '100%',\n margin: \"0px -15px\",\n },\n [theme.breakpoints.up('sm')]: {\n // height: '100%',\n // maxHeight: '80vh',\n },\n },\n gridContainer3: {\n minHeight: '200px',\n overflowY: 'auto',\n '-webkit-overflow-scrolling': 'touch',\n },\n gridContainer4: {\n margin: \"0px\",\n flex: '0 0 auto',\n [theme.breakpoints.down('sm')]: {\n // height: '100%',\n margin: \"0px -15px\",\n },\n },\n\n\n //------CardStyle1-----\n cardStyle1: {\n marginBottom: \"0\",\n marginTop: '0px',\n // padding: 20,\n borderRadius: 0,\n borderTopLeftRadius: 5,\n borderTopRightRadius: 5,\n [theme.breakpoints.down('sm')]: {\n height: '100%',\n padding: 5,\n },\n // backgroundColor:successColor[0]\n },\n cardStyle2: {\n height: '100%',\n marginBottom: \"0\",\n overflowY: 'auto',\n overflowX: 'auto',\n // padding: 20,\n marginTop: 0,\n borderRadius: 0,\n [theme.breakpoints.down('sm')]: {\n height: '100%',\n padding: 5,\n },\n // backgroundColor:successColor[0]\n },\n cardStyle3: {\n marginBottom: \"0\",\n padding: 5,\n marginTop: 0,\n borderRadius: 0,\n [theme.breakpoints.down('sm')]: {\n height: '100%',\n padding: 5,\n },\n [theme.breakpoints.up('sm')]: {\n borderBottomLeftRadius: 5,\n borderBottomRightRadius: 5,\n },\n // backgroundColor:successColor[0]\n },\n\n centerContainer: {\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n\n gridItem: {\n marginLeft: 'auto',\n marginRight: 'auto',\n height: '100%',\n },\n cardBodyStyle: {\n padding: 0\n },\n\n\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n\n earnPoints: {\n // padding: '5px 20px 5px 20px',\n width: 'fit-content',\n textAlign: 'center',\n Display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n marginBottom: \"15px\"\n },\n buttonCenter: {\n display: 'flex',\n justifyContent: \"center\"\n },\n // Customized radios\n icon: {\n borderRadius: '50%',\n width: 16,\n height: 16,\n boxShadow: 'inset 0 0 0 1px rgba(16,22,26,.2), inset 0 -1px 0 rgba(16,22,26,.1)',\n backgroundColor: '#f5f8fa',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#137cbd',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 16,\n height: 16,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: '#106ba3',\n },\n },\n\n //checkbox\n formControl: {\n margin: theme.spacing(3),\n },\n\n checkboxLabelStyle: {\n fontSize: '1rem',\n fontWeight: '400',\n lineHeight: '1.5',\n letterSpacing: '0.00938em',\n color: ' rgba(0, 0, 0, 0.87)'\n },\n\n // temp\n backdrop: {\n zIndex: theme.zIndex.drawer + 1,\n color: roseColor[0],\n },\n\n //Button style\n buttonStyle: {\n padding: \"8px 28px\",\n },\n buttonBackNext: {\n padding: \"8px 28px\",\n [theme.breakpoints.down('sm')]: {\n padding: '0 10px'\n },\n },\n divButtonsStyle: {\n display: 'flex',\n justifyContent: \"space-between\"\n },\n cardHeader: {\n padding: '0.25rem 1rem'\n },\n stepperCardBody: {\n padding: '0.25rem 1rem'\n },\n questioAnswersCardBody: {\n padding: '0 1rem 0.25rem 1rem',\n },\n stepperStyle: {\n padding: 10,\n marginLeft: \"auto\",\n marginRight: 'auto',\n overflowX: \"overlay\",\n overflowY: \"hidden\"\n },\n yourAnswerText: {\n fontWeight: 'bold',\n backgroundColor: \"aliceblue\",\n padding: '5px 0px 0px 10px',\n marginBottom: '-5px',//'-18px',\n zIndex: '100',\n position: 'relative'\n },\n correctAnswerText: {\n fontWeight: 'bold',\n display: 'flex',\n justifyContent: 'flex-end',\n backgroundColor: \"aliceblue\",\n // padding: '0px 15px 5px 0px',\n //marginTop: '-22px',\n position: 'relative',\n zIndex: '100',\n },\n explanationHeaderText: {\n fontWeight: 'bold',\n },\n listItemContainer: {\n minWidth: 'fit-content'\n },\n secondaryAction: {\n transform: 'none',\n top: 'auto',\n bottom: 0\n }\n\n})\n\nexport default Style;\n\n","import React, { useEffect, useState } from \"react\";\n//Redux\nimport { connect } from 'react-redux'\n\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//@material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport Radio from '@material-ui/core/Radio';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemIcon from '@material-ui/core/ListItemIcon';\nimport ListItemSecondaryAction from '@material-ui/core/ListItemSecondaryAction';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport { green } from '@material-ui/core/colors';\n\nimport IconButton from '@material-ui/core/IconButton';\nimport FlagIcon from '@material-ui/icons/Flag';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CustomMarkdown from 'components/CustomComponents/CustMarkdown/CustMarkdown'\nimport Progress from 'components/CustomComponents/Progress/Progress'\n\n\n// styles\nimport Styles from \"assets/jss/components/views/assessmentStyle\";\nimport { Button } from \"@material-ui/core\";\nconst useStyles = makeStyles(Styles);\n\n\nconst QuestionAnswers = (props) => {\n const classes = useStyles();\n const [minutes, setMinutes] = useState(0);\n const [seconds, setSeconds] = useState(0);\n const [loading, setLoading] = useState(false);\n useEffect(() => {\n let myInterval = setInterval(() => {\n if (props.reviewe) {\n clearInterval(myInterval)\n } else {\n if (seconds < 60) {\n setSeconds(seconds + 1);\n }\n if (seconds === 60) {\n setMinutes(minutes + 1);\n setSeconds(0);\n }\n props.updateAnswerDuration(1, props.questionId)\n }\n }, 1000)\n\n return () => {\n clearInterval(myInterval);\n };\n });\n\n const handleChange = async (value) => {\n setLoading(true)\n await props.updateQuestioAnswers(value, props.questionId)\n setLoading(false)\n };\n\n const CORRECT_ANSWER = props.answer.split(\",\").sort()\n \n return (\n
    \n \n \n \n \n {props.questionText}\n \n \n \n \n \n props.onFlag(props.missionTestQuestionId)} >\n \n \n \n \n \n\n \n {/*----- Spinner---- */}\n {loading ? : null}\n\n {props.options.optionItems.map(option =>\n\n \n {option.value !== \"\" &&\n \n {option.ischecked && props.reviewe\n ? \n Your Answer\n \n : null\n }\n handleChange(option.id)}\n >\n \n {props.questionTypeCode === \"QT01\" || props.questionTypeCode === \"QT04\" || props.questionTypeCode === \"QT09\"\n ? \n : props.questionTypeCode === \"QT02\" ?\n \n : null\n }\n \n {option.value} }\n />\n\n {props.reviewe\n ? CORRECT_ANSWER.includes(option.id)\n ? \n
    \n \n \n Correct Answer\n \n
    \n\n
    \n : null\n : null\n }\n\n \n {/* {props.reviewe\n ? CORRECT_ANSWER.includes(option.id)\n ? \n Correct Answer\n \n : null\n : null\n } */}\n
    \n }\n
    \n )}\n\n
    \n\n {(props.reviewe && props.explanation) &&
    \n \n Explanation :\n \n \n \n {props.explanation}\n \n \n
    }\n\n
    \n )\n}\n\n\n\n\nconst mapDispatchToProps = dispatch => {\n return {\n updateQuestioAnswers: (answer, questionId) => dispatch(questActions.updateQuestioAnswer(answer, questionId)),\n updateAnswerDuration: (duration, questionId) => dispatch(questActions.updateAnswerDuration(duration, questionId)),\n\n }\n}\n\n\nexport default connect(null, mapDispatchToProps)(QuestionAnswers);\n","import React, { useEffect, useState } from \"react\";\n\n//Redux\nimport { connect } from 'react-redux'\n\nimport { Doughnut, Line } from 'react-chartjs-2';\n\n//@material-ui/core\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport Typography from '@material-ui/core/Typography';\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Body from \"components/CustomComponents/Card/CardBody.js\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n\n// common functions\nimport { hhmmss } from \"util/commonfunctions\";\n\n\n// styles\nimport Styles from \"assets/jss/components/views/assessmentStyle\";\nconst useStyles = makeStyles(Styles);\n\n\nconst afterTickToLabelConversion = (scaleInstance) => {\n // set the first and last tick to null so it does not display\n // note, ticks[0] is the last tick and ticks[length - 1] is the first\n scaleInstance.ticks[0] = null;\n scaleInstance.ticks[scaleInstance.ticks.length - 1] = null;\n\n // need to do the same thing for this similiar array which is used internally\n scaleInstance.ticksAsNumbers[0] = null;\n scaleInstance.ticksAsNumbers[scaleInstance.ticksAsNumbers.length - 1] = null;\n}\n\n\nconst barchartOptions = {\n responsive: true,\n legend: {\n display: false,\n position: 'bottom',\n },\n animation: {\n animateScale: true,\n animateRotate: true\n },\n plugins: {\n labels: {\n fontSize: 0,\n render: 'value',\n fontStyle: 'bold',\n showZero: false,\n }\n }\n}\n\n\nconst QuestionAnswers = (props) => {\n const classes = useStyles();\n const [minutes, setMinutes] = useState(0);\n const [seconds, setSeconds] = useState(0);\n\n const skipCount = props.answers.reduce((Count, currentValue) => Count + (currentValue.isQuestionSkipped === \"0\" ? 1 : 0), 0)\n const rightCount = props.answers.reduce((Count, currentValue) => Count + parseInt(currentValue.isAnsweredCorrect), 0)\n const wrongCount = props.answers.reduce((Count, currentValue) => Count + (currentValue.isAnsweredCorrect === \"0\" && currentValue.isQuestionSkipped !== \"0\" ? 1 : 0), 0)\n const marksObtained = props.answers.reduce((Count, currentValue) => Count + parseFloat(currentValue.questionMarksObtained), 0)\n const data = {\n datasets: [{\n data: [skipCount, rightCount, wrongCount],\n backgroundColor: ['#A9A9A9', '#51D887', '#FF0000']\n }],\n\n // These labels appear in the legend and in the tooltips when hovering different arcs\n labels: ['Skip', 'Correct', 'Incorrect'],\n };\n\n const legend = {\n position: \"bottom\",\n }\n\n\n const [bestAttempt, setBestAttempt] = useState({})\n const [allAttempt, setAllAttempt] = useState({})\n useEffect(() => {\n\n\n if (Object.keys(props.testHistory).length > 0) {\n let bestAttempt = props.testHistory.attemptList.filter(op => op.attemptNumber === props.testHistory.bestAttemptNumber).reduce((acc, cv) => { return acc = cv }, {})\n setBestAttempt(bestAttempt)\n let all_attempt = props.testHistory.attemptList.sort((a, b) => a.attemptNumber - b.attemptNumber);\n setAllAttempt({\n datasets: [{\n data: all_attempt.map(data => {\n return data.marksObtained\n }),\n }],\n labels: all_attempt.map(data => {\n return data.attemptNumber\n }),\n })\n }\n }, [props.testHistory])\n\n useEffect(() => {\n if (props.test.testAttemptedDuration > 0) {\n let totalSeconds = Number(props.test.testAttemptedDuration);\n totalSeconds %= 3600;\n const newMinutes = Math.floor(totalSeconds / 60);\n const newSeconds = totalSeconds % 60;\n setMinutes(newMinutes)\n setSeconds(newSeconds)\n }\n }, [])\n\n\n return (\n \n \n Current Attempt\n \n \n \n {props.loading\n ? \n : \n }\n \n \n
    \n
    \n \n {props.loading ? : `Score : ${marksObtained + \" / \" + props.test.totalMark}`}\n \n \n {props.loading ? : `Correct : ${rightCount}`}\n \n \n {props.loading ? : `Incorrect : ${wrongCount}`}\n \n \n {props.loading ? : `Skipped : ${skipCount}`}\n \n \n {props.loading ? : `Attempts : ${props.content.progress ? props.content.progress.accessCount + 1 : 0}`}\n \n \n {props.loading ? : `Time Taken : ${minutes + \":\" + (seconds < 10 ? `0${seconds}` : seconds)} minutes`}\n \n
    \n
    \n
    \n
    \n\n {props.testHistory.bestAttemptNumber !== 0 && \n \n Best Attempt\n \n \n \n {props.loading\n ? \n : \n }\n \n\n\n \n
    \n
    \n \n {props.loading ? : `Score : ${bestAttempt.marksObtained + \" / \" + bestAttempt.totalMarks}`}\n \n \n {props.loading ? : `Correct : ${bestAttempt.rightAnswerCount}`}\n \n \n {props.loading ? : `Incorrect : ${bestAttempt.wrongAnswerCount}`}\n \n \n {props.loading ? : `Skipped : ${bestAttempt.skipQuestionCount}`}\n \n \n {props.loading ? : `Attempts : ${bestAttempt.attemptNumber}`}\n \n \n {props.loading ? : `Time Taken : ${hhmmss(bestAttempt.totalTimeConsume)} minutes`}\n \n
    \n
    \n
    \n
    \n
    \n }\n\n \n Score-All Attempts\n \n \n \n \n \n \n
    \n )\n}\n\n\nconst mapSateToProps = state => {\n return {\n loading: state.questions.post_test_loading,\n content: state.content.current_content,\n test: state.content.current_test,\n testHistory: state.content.current_test_history,\n answers: state.questions.answers,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n\n\n }\n}\n\n\nexport default connect(mapSateToProps, mapDispatchToProps)(QuestionAnswers);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Button from '@material-ui/core/Button';\nimport Avatar from '@material-ui/core/Avatar';\nimport List from '@material-ui/core/List';\nimport ListItem from '@material-ui/core/ListItem';\nimport ListItemAvatar from '@material-ui/core/ListItemAvatar';\nimport ListItemText from '@material-ui/core/ListItemText';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Dialog from '@material-ui/core/Dialog';\nimport PersonIcon from '@material-ui/icons/Person';\nimport AddIcon from '@material-ui/icons/Add';\nimport Typography from '@material-ui/core/Typography';\nimport { blue } from '@material-ui/core/colors';\n\nconst emails = ['username@gmail.com', 'user02@gmail.com'];\nconst useStyles = makeStyles({\n avatar: {\n backgroundColor: blue[100],\n color: blue[600],\n },\n});\n\n\nexport default function SimpleDialogDemo() {\n const classes = useStyles();\n\n const [open, setOpen] = React.useState(false);\n const [selectedValue, setSelectedValue] = React.useState(emails[1]);\n\n const handleListItemClick = (value) => {\n handleClose(value);\n };\n\n\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = (value) => {\n setOpen(false);\n setSelectedValue(value);\n };\n\n return (\n
    \n Set backup account\n \n {emails.map((email) => (\n handleListItemClick(email)} key={email}>\n \n \n \n \n \n \n \n ))}\n\n handleListItemClick('addAccount')}>\n \n \n \n \n \n \n \n \n \n
    \n );\n}","import React, { useState } from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n\n\nimport { Collapse, DialogActions, DialogContent, DialogTitle, FormHelperText, LinearProgress } from '@material-ui/core';\n//axios\nimport axiosConfig from \"util/axios\";\nimport { checkNull } from 'util/validations';\nimport { dangerColor } from 'assets/jss/material-dashboard-react';\nimport { Alert } from '@material-ui/lab';\n\nconst useStyles = makeStyles({\n labelRootError: {\n color: dangerColor[0],\n marginTop: -8\n },\n});\n\n\nconst QuestionFlag = (props) => {\n const classes = useStyles();\n const { questionId, onClose, onSubmit } = props\n const [progress, setProgress] = useState(false);\n const [remark, setRemark] = useState('');\n const [errorRemark, setErrorRemark] = useState('');\n const [error,setError]=useState('');\n\n const postRemark = () => {\n setErrorRemark('')\n setError('')\n setProgress(true)\n // Validation\n let validationObject = {};\n checkNull(\"Remark\", remark, \"Remark is required\", validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setProgress(false)\n setErrorRemark(validationObject.errorRemark)\n } else {\n axiosConfig().post('/OnlineTest/QuestionFlag', {\n questionId: questionId,\n remark: remark\n }).then(response => {\n setProgress(false)\n if (response.data.isSuccess) {\n setRemark('')\n onSubmit(response.data.message)\n }else{\n setError(response.data.message)\n }\n\n }).catch((error) => {\n setProgress(false)\n });\n }\n\n\n\n }\n return (\n \n\n \n Question flag\n \n\n \n 0} style={{marginBottom:10}}>\n {error}\n \n\n setRemark(e.target.value)}\n placeholder='Enter short description of the error'\n rows=\"5\"\n cols=\"50\"\n />\n {errorRemark}\n \n\n \n onClose()}>\n Not now\n \n postRemark()}>\n Submit\n \n \n {progress ? : null}\n \n );\n}\n\nexport default QuestionFlag ","import React, { useEffect, useState } from \"react\";\nimport { SwitchTransition, CSSTransition } from \"react-transition-group\";\n//redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n// @material-ui/core\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Stepper from '@material-ui/core/Stepper';\nimport Step from '@material-ui/core/Step';\nimport StepButton from '@material-ui/core/StepButton';\nimport { Divider } from '@material-ui/core';\nimport Paper from '@material-ui/core/Paper';\nimport Backdrop from '@material-ui/core/Backdrop';\nimport Slide from '@material-ui/core/Slide';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\n// @material-ui/icons/\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Header from \"components/CustomComponents/Card/CardHeader.js\";\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation';\nimport Card from \"components/CustomComponents/Card/Card.js\";\nimport Dialog from \"components/CustomComponents/Dialog/Dialog\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n\n\n// Views\nimport StepContent from 'components/Views/ContentViewer/AssessmentViewer/components/QuestionAnswers'\nimport Summary from 'components/Views/ContentViewer/AssessmentViewer/components/Summary'\nimport Help from 'components/Views/ContentViewer/AssessmentViewer/components/Help'\nimport QuestionFlag from \"./components/QuestionFlag\";\n\n//variables\nimport { CURRENT_DATE_TIME } from \"variables/general.js\";\n\n//commonfunctions\nimport { clevertapEvents } from \"util/commonfunctions\";\n\n//Lottie\nimport Lottie from 'react-lottie';\nimport animationData from 'assets/lotties/times-up';\n// styles\nimport Styles from \"assets/jss/components/views/assessmentStyle\";\nimport \"./styles.css\";\n\nconst useStyles = makeStyles(Styles);\n\nconst defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData,\n rendererSettings: {\n preserveAspectRatio: \"xMidYMid slice\"\n }\n};\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\n//Alert\nfunction Alert(props) {\n return ;\n}\n\n\n\nconst Assessment = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n\n const [activeStep, setActiveStep] = React.useState(0);\n const [completed, setCompleted] = React.useState({});\n\n const [minutes, setMinutes] = useState(props.test.totalDuration);\n const [seconds, setSeconds] = useState(0);\n\n\n const [mode, setMode] = React.useState(\"out-in\");\n const [helpDialog, setHelpDialog] = React.useState(false);\n const [alertDialog, setAlertDialog] = React.useState(false);\n const [isTimesup, setTimesup] = React.useState(false);\n\n const [revieweMode, setRevieweMode] = React.useState(false);\n\n\n const [currentQuestion, setCurrentQuestion] = React.useState(null);\n const [flagAlert, setFlagAlert] = React.useState(false);\n const [flagDialog, setDialog] = React.useState(false);\n\n const [snackbarMessage, setSnackbarMessage] = React.useState(\"\");\n\n\n useEffect(() => {\n if (props.test.testAttemptedDuration > 0) {\n let totalSeconds = Number(props.test.testAttemptedDuration);\n totalSeconds %= 3600;\n let newMinutes = Math.floor(totalSeconds / 60);\n\n if (Number(props.test.totalDuration) <= newMinutes) {\n newMinutes = minutes - (newMinutes + 1);\n // const newSeconds = 60 - (totalSeconds % 60);\n setMinutes(0)\n } else {\n newMinutes = minutes - (newMinutes + 1);\n const newSeconds = 60 - (totalSeconds % 60);\n setMinutes(newMinutes)\n setSeconds(newSeconds)\n }\n }\n }, [])\n\n useEffect(() => {\n let myInterval = setInterval(() => {\n if (props.test.testAttemptCount > 0) {\n clearInterval(myInterval)\n }\n else {\n if (seconds > 0) {\n setSeconds(seconds - 1);\n }\n if (seconds === 0) {\n if (minutes === 0) {\n clearInterval(myInterval)\n setTimesup(true);\n setTimeout(() => {\n setTimesup(false);\n handlePostTestAttempt()\n }, 3000);\n } else {\n setMinutes(minutes - 1);\n setSeconds(59);\n }\n }\n if (seconds !== 0 || minutes !== 0) {\n props.updateTestAttemptedDuration(1)\n }\n\n }\n\n }, 1000)\n return () => {\n clearInterval(myInterval);\n };\n }, [seconds]);\n\n\n\n const totalSteps = () => {\n return props.questions.qadd.length;\n };\n\n const completedSteps = () => {\n return Object.keys(completed).length;\n };\n\n const isLastStep = () => {\n return activeStep === totalSteps() - 1;\n };\n\n\n const handleNext = () => {\n const newActiveStep = activeStep + 1;\n setActiveStep(newActiveStep);\n };\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n\n const handleStep = (step) => () => {\n setActiveStep(step);\n };\n\n const handleReviewe = () => {\n setRevieweMode(true)\n setActiveStep(0);\n };\n\n /*-----------------------handle Alert Close Dialog--------------------*/\n const handleAlertCloseDialog = () => {\n setAlertDialog(false);\n };\n\n /*-----------------------handle Alert Open Dialog--------------------*/\n const handleAlertOpenDialog = () => {\n setAlertDialog(true);\n };\n\n /*-----------------------handle Alert onOK--------------------*/\n const handleAlertOK = async () => {\n handleAlertCloseDialog()\n await handlePostTestAttempt()\n };\n\n\n\n /*-----------------------handle Help Close Dialog--------------------*/\n const handleCloseDialog = () => {\n setHelpDialog(false);\n };\n\n\n /*-----------------------handle Help Open Dialog--------------------*/\n const handleOpenDialog = () => {\n setHelpDialog(true);\n };\n\n /*-----------------------handle open Flag Alert--------------------*/\n const handleCloseFlagAlert = () => {\n setCurrentQuestion(null)\n setFlagAlert(false);\n };\n\n /*-----------------------handle close Flag Alert-----------------*/\n const handleOpenFlagAlert = (question) => {\n setCurrentQuestion(question)\n setFlagAlert(true);\n };\n /*-----------------------handle Flag Alert onOK--------------------*/\n const handleFlagAlertOK = async () => {\n setFlagAlert(false);\n setDialog(true)\n };\n\n\n /*-----------------------handle Help Close Dialog--------------------*/\n const handleCloseFlagDialog = () => {\n setCurrentQuestion(null)\n setDialog(false)\n };\n\n\n /*-----------------------handle Close Snackbar--------------------*/\n const handleClose = () => {\n setSnackbarMessage(\"\");\n }\n /*-----------------------handle Close Dialog--------------------*/\n const onSubmit = (message) => {\n setDialog(false);\n setSnackbarMessage(message);\n }\n\n\n\n\n const handlePostTestAttempt = async () => {\n const skipCount = props.answers.reduce((Count, currentValue) => Count + (currentValue.isQuestionSkipped === \"0\" ? 1 : 0), 0);\n const rightCount = props.answers.reduce((Count, currentValue) => Count + parseInt(currentValue.isAnsweredCorrect), 0);\n const wrongCount = props.answers.reduce((Count, currentValue) => Count + (currentValue.isAnsweredCorrect === \"0\" && currentValue.isQuestionSkipped !== \"0\" ? 1 : 0), 0);\n const marksObtained = props.answers.reduce((Count, currentValue) => Count + parseFloat(currentValue.questionMarksObtained), 0);\n const answers = props.answers\n //const actualDuration = (props.test.totalDuration * 60) - ((parseInt(minutes) * 60) + seconds)\n const bodyData = {\n \"testTrackingId\": \"\", // Don't set this\n \"userId\": props.userInfo.userId,\n \"locationId\": props.userInfo.locationId,\n \"groupId\": props.userInfo.groupId,\n \"questId\": props.quest.questId,\n \"contentId\": props.content.contentId,\n \"testCode\": props.content.testCode,\n \"testActualDuration\": props.test.totalDuration,\n \"testAttemptedDuration\": \"\" + props.test.testAttemptedDuration,\n \"testTotalMarks\": \"\" + props.test.totalMark,\n \"marksObtained\": \"\" + marksObtained,\n \"totalQuestion\": \"\" + props.test.totalQuestion,\n \"skipCount\": \"\" + skipCount,\n \"rightCount\": \"\" + rightCount,\n \"wrongCount\": \"\" + wrongCount,\n \"percentage\": \"0\",\n \"attemptedDate\": \"\" + CURRENT_DATE_TIME(),\n \"question\": answers,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n props.updateTestAttemptCount() //for check current Test is submit or not\n await props.onPostTestAttempt(bodyData)\n //clevertap\n clevertapFun('Testended')\n }\n\n\n /*-----------------------handle Page--------------------*/\n const handleClosePage = () => {\n props.setCurrentTestHistory({})\n if (sm) {\n props.history.replace('/topics')\n }\n else {\n props.history.replace('/task')\n }\n };\n\n /*-----------------------clevertap--------------------*/\n const clevertapFun = (EventName) => {\n const eventData = JSON.stringify({\n 'MisssionName': props.mission.missionName,\n 'TestName': props.test.testName\n });\n clevertapEvents(EventName, eventData);\n }\n\n\n\n\n return (\n
    \n {/*-----PageNavigation----- */}\n 0 || revieweMode) ? true : false}\n logoText={props.content.contentDisplayName}\n alert={true}\n alertMessage={(props.test.testAttemptCount > 0 || revieweMode)\n ? 'Please close the test.'\n : 'You have started the test, Please complete the test before you leave.'}\n />\n {/*-----Dialog----- */}\n {isTimesup &&\n \n \n \n }\n\n\n\n {/*-----Alert Dialog----- */}\n { }}\n action={[\n {\n text: 'Cancel',\n onPress: handleAlertCloseDialog,\n style: 'cancel'\n },\n { text: 'OK', onPress: handleAlertOK }\n ]}\n />\n\n {/*-----Alert Dialog----- */}\n { }}\n action={[\n {\n text: 'Cancel',\n onPress: handleCloseFlagAlert,\n style: 'cancel'\n },\n { text: 'OK', onPress: handleFlagAlertOK }\n ]}\n />\n\n {/*-----Dialog Help----- */}\n {helpDialog\n ? \n \n \n : null\n }\n\n {/*-----Dialog Flag----- */}\n {flagDialog\n ? \n \n \n : null\n }\n\n\n {/* ------Snackbar------ */}\n \n \n {snackbarMessage}\n \n \n\n {/*-----page-container----- */}\n
    \n\n {/*-----Grid----- */}\n \n \n \n\n \n \n \n \n\n {props.test.testAttemptCount === 0 ? (\n
    \n {/*
    {props.test.testAttemptedDuration}
    */}\n {/* */}\n
    \n \n
    \n ) : null}\n\n\n \n \n {props.test.testAttemptCount === 0 || revieweMode\n ? \n {props.questions.qadd.map((question, index) => (\n \n \n \n ))}\n \n : null}\n \n \n
    \n
    \n
    \n
    \n\n \n \n \n \n\n \n \n \n {props.test.testAttemptCount > 0 && !revieweMode ? (\n \n ) : (\n \n {\n node.addEventListener(\"transitionend\", done, false);\n }}\n classNames=\"asm-fade\"\n >\n \n \n \n\n )}\n \n \n \n \n \n \n \n\n \n \n \n \n\n \n\n \n\n {props.test.testAttemptCount > 0 ? (\n revieweMode\n ?
    \n
    \n \n
    \n \n\n
    \n \n
    \n
    \n :
    \n \n\n \n
    \n\n ) : (\n
    \n
    \n \n
    \n\n \n\n
    \n \n
    \n
    \n\n )}\n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n\n )\n}\n\n\nconst mapSateToProps = state => {\n return {\n test: state.content.current_test,\n questions: state.questions.questions,\n answers: state.questions.answers,\n content: state.content.current_content,\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n mission: state.content.current_mission,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n // onInitTestAnswers: (answers) => dispatch(questActions.initTestAnswers(answers)),\n updateTestAttemptCount: () => dispatch(questActions.updateTestAttemptCount()),// For check Current Test is attempted or not \n onPostTestAttempt: (userId) => dispatch(questActions.postTestAttempt(userId)), // //also update content,current_cuntent and quest_progress \n updateTestAttemptedDuration: (duration) => dispatch(questActions.updateTestAttemptedDuration(duration)),\n setCurrentTestHistory: (data) => dispatch(questActions.setCurrentTestHistory(data)),\n\n }\n}\n\n\nexport default connect(mapSateToProps, mapDispatchToProps)(Assessment);\n","import {\n whiteColor,\n primaryColor\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst drawerWidth = 240;\nconst styles = theme => ({\n root: {\n display: 'flex',\n },\n\n inputStyle: {\n color: 'white',\n padding: 0,\n maxWidth: 40,\n borderBottom: '2px solid #3f51b5'\n },\n pdfControl: {\n flexDirection: \"row\",\n display: \"flex\",\n alignItems: 'center',\n color: \"white\",\n backgroundColor: 'rgba(0,0,0,1)',\n position: 'fixed',\n left:0,\n zIndex: '100',\n width: '100%',\n bottom: 0,\n maxHeight: '50px',\n justifyContent: \"center\"\n },\n fab: {\n position: 'fixed',\n zIndex: '100',\n bottom: theme.spacing(10),\n right: theme.spacing(4),\n },\n\n\n\n});\n\nexport default styles;\n","import React, { useState } from 'react';\nimport { Document, Page, pdfjs } from 'react-pdf';\nimport { saveAs } from 'file-saver';\n// import axios\nimport axiosConfig from \"util/axios\";\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\";\n\n// import material-ui/core\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport Hidden from \"@material-ui/core/Hidden\";\nimport { Input } from '@material-ui/core';\nimport Fab from '@material-ui/core/Fab';\n\n//@material-ui/icons\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport ZoomInIcon from '@material-ui/icons/ZoomIn';\nimport ZoomOutIcon from '@material-ui/icons/ZoomOut';\nimport GetAppIcon from '@material-ui/icons/GetApp';\n//Custom Components\nimport Button from 'components/CustomComponents/CustomButtons/Button'\nimport Loading from 'components/CustomComponents/Progress/Progress'\n\n//import style\nimport styles from \"assets/jss/components/customcomponents/PDFViewStyle.js\";\nimport './PDFViewStyle.css';\nimport 'react-pdf/dist/Page/AnnotationLayer.css';\nimport 'assets/css/loader.css';\nimport Progress from 'components/CustomComponents/Progress/Progress';\nimport PinchToZoom from 'react-pinch-and-zoom';\n\npdfjs.GlobalWorkerOptions.workerSrc = `https://cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\nconst useStyles = makeStyles(styles);\n\n\n\nexport default function PDFViewer(props) {\n const {\n fileurl,\n password,\n ...rest\n } = props;\n const dispatch = useDispatch();\n const classes = useStyles();\n const theme = useTheme();\n const [numPages, setNumPages] = useState(null);\n const [pageNumber, setPageNumber] = useState(1);\n const [inputNumber, setInputNumber] = useState(1);\n const [pagScale, setPagScale] = useState(1);\n const [isLoading, setLoading] = useState(false)\n\n\n function onDocumentLoadSuccess({ numPages }) {\n setNumPages(numPages);\n }\n\n const handleNext = () => {\n setPageNumber((prevActiveStep) => prevActiveStep + 1);\n setInputNumber((prevActiveStep) => prevActiveStep + 1);\n };\n\n const handleBack = () => {\n setPageNumber((prevActiveStep) => prevActiveStep - 1);\n setInputNumber((prevActiveStep) => prevActiveStep - 1);\n };\n\n const handleChange = (event) => {\n setInputNumber(parseInt(event.target.value));\n };\n\n const handleZoomin = () => {\n if (pagScale < 4)\n setPagScale((prevActiveStep) => prevActiveStep + 0.5);\n };\n\n const handleZoomout = () => {\n if (pagScale > 0.5)\n setPagScale((prevActiveStep) => prevActiveStep - 0.5);\n };\n\n const handleKeyPress = (e) => {\n const value = e.target.value\n const charCode = e.charCode;\n if (charCode == 13) {\n if (value > 0 && value <= numPages) {\n setPageNumber(parseInt(value))\n setInputNumber(parseInt(value));\n } else {\n setPageNumber(1)\n setInputNumber(1);\n }\n }\n\n }\n\n const handleDownload = (uri, fileName) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.downloadPdfFile(uri);\n dispatch(questActions.contentDownload(props.contentId));\n }\n else if (typeof onRemenberMeClicked !== 'undefined') {\n window.getPDFDownloadURL(uri);\n dispatch(questActions.contentDownload(props.contentId));\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('downloadPdfFile', uri, '');\n dispatch(questActions.contentDownload(props.contentId));\n }\n else {\n // saveAs(uri, `${fileName}.pdf`);\n setLoading(true)\n fetch(uri)\n .then(res => res.blob()) // Gets the response and returns it as a blob\n .then(blob => {\n setLoading(false)\n let objectURL = URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.href = objectURL;\n document.body.appendChild(link);\n link.setAttribute('download', fileName);\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\n // Remove link from body\n dispatch(questActions.contentDownload(props.contentId))\n document.body.removeChild(link);\n }).catch(function (error) {\n setLoading(false)\n console.log(error);\n });\n\n // axiosConfig().get('/QuestContent/GetDocument', {\n // params: {\n // ContentCode: props.contentId,\n // }\n // }).then(response => {\n // console.log(response.data);\n // setLoading(false)\n // const blob = new Blob([response.data], { type: 'application/pdf' });\n // const blobUrl = URL.createObjectURL(blob);\n // const link = document.createElement(\"a\");\n // link.href = blobUrl;\n // link.download = `${fileName}.pdf`;\n // document.body.appendChild(link);\n // link.dispatchEvent(\n // new MouseEvent('click', {\n // bubbles: true,\n // cancelable: true,\n // view: window\n // })\n // );\n // dispatch(questActions.contentDownload(props.contentId))\n // // Remove link from body\n // document.body.removeChild(link);\n\n // }).catch(function (error) {\n // console.log(error);\n // });\n }\n }\n\n return (\n\n
    \n\n \n {/*typeof onRemenberMeClicked !== 'undefined' && */\n handleDownload(props.fileurl, props.fileName)}>\n \n \n }\n
    \n \n

    Page :

    \n \n\n

    of {numPages}

    \n \n {/* \n */}\n \n \n \n \n
    \n \n callback(password)}\n onLoadSuccess={onDocumentLoadSuccess}\n loading={
    Loading...
    }\n\n >\n \n\n \n
    \n
    \n );\n}\n\n\nPDFViewer.propTypes = {\n fileurl: PropTypes.string,\n password: PropTypes.string,\n};","import React, { useEffect } from \"react\";\n// @material-ui/core\n// import { makeStyles, withStyles } from \"@material-ui/core/styles\";\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n// core components\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\nimport PDFView from 'components/CustomComponents/PDFView/PDFView'\n\n//variables\nimport { CURRENT_DATE_TIME } from \"variables/general.js\";\n// styles\n// import styles from \"assets/jss/components/views/PDFViewerStyle\";\n// const useStyles = makeStyles(styles);\n\n\n\nconst PDFViewer = (props) => {\n\n useEffect(() => {\n let accessTime = 0;\n const timer = setInterval(() => {\n accessTime++\n }, 1000);\n return () => {\n if (accessTime > 10) {\n const BODY_DATA = {\n \"missionActivityId\": \"\", // Don't set this\n \"userId\": props.userInfo.userId,\n \"locationId\": props.userInfo.locationId,\n \"groupId\": props.userInfo.groupId,\n \"questId\": props.quest.questId,\n \"contentId\": props.content.contentId,\n \"contentTypeCode\": props.content.contentTypeCode,\n \"accessDate\": \"\" + CURRENT_DATE_TIME(),\n \"accessDuration\": \"\" + accessTime,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n props.onPostContentAccess(BODY_DATA,props.content)\n }\n\n clearTimeout(timer)\n };\n }, []);\n\n // const classes = useStyles();\n return (\n
    \n {/*-----PageNavigation----- */}\n \n\n {/*-----page-container----- */}\n
    \n \n
    \n
    \n );\n}\n\n\nconst mapStateToProps = state => {\n return {\n content: state.content.current_content,\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onPostContentAccess: (accessData, content) => dispatch(questActions.postContentAccess(accessData, content)), //also update update content,current_cuntent and quest_progress\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PDFViewer);","import React, { useState, useEffect } from 'react';\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// core components\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n\n//import style\nimport 'assets/css/loader.css';\n\n//variables\nimport { CURRENT_DATE_TIME } from \"variables/general.js\";\n\nconst DocView = (props) => {\n const [loading, setLoading] = useState(true)\n const [display, setDisplay] = useState('none')\n\n const hideSpinner = () => {\n setLoading(false);\n setDisplay('block')\n };\n\n useEffect(() => {\n let accessTime = 0;\n const timer = setInterval(() => {\n accessTime++\n }, 1000);\n return () => {\n if (accessTime > 10) {\n const BODY_DATA = {\n \"missionActivityId\": \"\", // Don't set this\n \"userId\": props.userInfo.userId,\n \"locationId\": props.userInfo.locationId,\n \"groupId\": props.userInfo.groupId,\n \"questId\": props.quest.questId,\n \"contentId\": props.content.contentId,\n \"contentTypeCode\": props.content.contentTypeCode,\n \"accessDate\": \"\" + CURRENT_DATE_TIME(),\n \"accessDuration\": \"\" + accessTime,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n props.onPostContentAccess(BODY_DATA,props.content)\n }\n\n clearTimeout(timer)\n };\n }, []);\n\n\n return (\n
    \n {/*-----PageNavigation----- */}\n \n\n {/*-----page-container----- */}\n
    \n {loading ? (\n
    \n
    Loading...
    \n
    \n\n ) : null}\n\n {props.content.contentTypeCode === '07' ?\n < iframe\n title=\"HTMLViewer\"\n style={{\n position: 'relative',\n left: 0,\n // bottom: 0,\n right: 0,\n width: '100%',\n minHeight: '100vh',\n border: \"none\",\n display: display\n }}\n onLoad={hideSpinner}\n src={props.content.fileUrl}\n />\n : null\n }\n\n
    \n
    \n );\n\n}\n\nconst mapStateToProps = state => {\n return {\n content: state.content.current_content,\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onPostContentAccess: (accessData, content) => dispatch(questActions.postContentAccess(accessData, content)), //also update update content,current_cuntent and quest_progress \n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DocView);\n\n","import React,{useEffect} from 'react';\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// core components\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n\n//variables\nimport { CURRENT_DATE_TIME } from \"variables/general.js\";\n\nconst DocView = (props) => {\n\n \n\n\n useEffect(() => {\n let accessTime=0;\n const timer = setInterval(() => {\n accessTime++\n }, 1000);\n return () =>{\n if(accessTime>10)\n {\n const BODY_DATA = {\n \"missionActivityId\": \"\", // Don't set this\n \"userId\": props.userInfo.userId,\n \"locationId\": props.userInfo.locationId,\n \"groupId\": props.userInfo.groupId,\n \"questId\": props.quest.questId,\n \"contentId\": props.content.contentId,\n \"contentTypeCode\": props.content.contentTypeCode,\n \"accessDate\": \"\" + CURRENT_DATE_TIME(),\n \"accessDuration\": \"\" + accessTime,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n props.onPostContentAccess(BODY_DATA,props.content)\n }\n \n clearTimeout(timer)};\n }, []);\n\n\n return (\n
    \n {/*-----PageNavigation----- */}\n \n\n {/*-----html-container----- */}\n
    \n
    \n \n
    \n
    \n
    \n );\n\n}\n\nconst mapStateToProps = state => {\n return {\n content: state.content.current_content,\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onPostContentAccess: (accessData, content) => dispatch(questActions.postContentAccess(accessData, content)), //also update update content,current_cuntent and quest_progress\n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DocView);\n\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { withRouter } from 'react-router-dom';\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport CssBaseline from '@material-ui/core/CssBaseline';\n\n// import material-ui/core\nimport AppBar from '@material-ui/core/AppBar';\nimport Toolbar from '@material-ui/core/Toolbar';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\n\n\n// import material-ui/icons\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\n\n//import style\nimport styles from \"assets/jss/components/customcomponents/pageNavigationStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nconst AdminNavbarLinks = (props) => {\n const classes = useStyles();\n // const [value, setValue] = React.useState(0);\n\n\n return (\n \n \n
    \n\n \n \n
    \n {\n if(typeof window.Android !== 'undefined')\n {\n window.Android.setDeviceOrientation(2)\n }else if(typeof window.flutter_inappwebview !== 'undefined')\n {\n window.flutter_inappwebview.callHandler('setDeviceOrientation', 2, '');\n }\n return props.back ? props.history.push(props.back) : props.history.goBack()\n }\n }>\n \n \n
    \n\n
    \n
    \n
    \n
    \n\n );\n}\n\nAdminNavbarLinks.propTypes = {\n classes: PropTypes.object\n};\nexport default withRouter(AdminNavbarLinks);","import React, { useState, useEffect } from 'react';\n//Redux\nimport { connect } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// core components\nimport PageNavigation from 'components/CustomComponents/Navbars/ActivityNavigation'\n\n//import style\nimport 'assets/css/loader.css';\n\n//variables\nimport { CURRENT_DATE_TIME } from \"variables/general.js\";\n\nconst DocView = (props) => {\n const [loading, setLoading] = useState(true)\n const [display, setDisplay] = useState('block')\n\n const hideSpinner = () => {\n setLoading(false);\n setDisplay('block');\n if (typeof window.Android !== 'undefined') {\n window.Android.setDeviceOrientation(1)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('setDeviceOrientation', 1, '');\n }\n };\n\n useEffect(() => {\n window.addEventListener(\"message\", eventListener);\n return () => {\n window.removeEventListener(\"message\", eventListener);\n };\n }, []);\n\n\n const eventListener = (event) => {\n if (event.data !== null && typeof event.data !== 'undefined') {\n console.log(event.data);\n try {\n let actObj = JSON.parse(event.data);\n if (actObj.Method == 'Back') {\n if (typeof window.Android !== 'undefined') {\n window.Android.setDeviceOrientation(2)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('setDeviceOrientation', 2, '');\n }\n return props.back ? props.history.push(props.back) : props.history.goBack()\n } else if (actObj.Method == 'FinishActivity') {\n handlePostContentAccess(actObj.TrackingData.ConsumedTime)\n }\n } catch (error) {\n\n }\n\n }\n }\n\n\n const handlePostContentAccess = (accessTime) => {\n const BODY_DATA = {\n \"missionActivityId\": \"\", // Don't set this\n \"userId\": props.userInfo.userId,\n \"locationId\": props.userInfo.locationId,\n \"groupId\": props.userInfo.groupId,\n \"questId\": props.quest.questId,\n \"contentId\": props.content.contentId,\n \"contentTypeCode\": props.content.contentTypeCode,\n \"accessDate\": \"\" + CURRENT_DATE_TIME(),\n \"accessDuration\": \"\" + accessTime,\n \"missionActivitySummaryId\": \"\" // Don't set this\n }\n props.onPostContentAccess(BODY_DATA,props.content)\n }\n\n\n return (\n
    \n {/*-----PageNavigation----- */}\n \n\n {/*-----page-container----- */}\n
    \n {loading ? (\n
    \n
    Loading...
    \n
    \n\n ) : null}\n\n {props.content.contentTypeCode === '10'\n ? \n : null\n }\n\n
    \n
    \n );\n\n}\n\nconst mapStateToProps = state => {\n return {\n content: state.content.current_content,\n userInfo: state.user.userinfo,\n quest: state.quest.current_quest,\n }\n}\n\nconst mapDispatchToProps = dispatch => {\n return {\n onPostContentAccess: (accessData, content) => dispatch(questActions.postContentAccess(accessData, content)), //also update update content,current_cuntent and quest_progress \n }\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(DocView);\n\n","import React, { useState, useEffect } from \"react\";\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\nimport { useLocation } from \"react-router-dom\";\n// // core components\n// import PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n\n//import style\nimport \"assets/css/loader.css\";\n\nconst DocView = (props) => {\n let location = useLocation();\n const [loading, setLoading] = useState(true);\n const [display, setDisplay] = useState(\"none\");\n\n const hideSpinner = () => {\n setLoading(false);\n setDisplay(\"block\");\n };\n\n useEffect(() => {\n window.addEventListener(\"message\", eventListener);\n // clean up\n return () => window.removeEventListener(\"message\", eventListener);\n }, []);\n\n const eventListener = (event) => {\n if (event.data !== null && typeof event.data !== \"undefined\") {\n try {\n let actObj = JSON.parse(event.data);\n if (\n actObj.Method == \"FinishTest\" ||\n actObj.Method == \"AbortTest\" ||\n actObj.Method == \"TestAbort\" ||\n actObj.Method == \"Back\"\n ) {\n return props.back\n ? props.history.push(props.back)\n : props.history.replace(\"/assessment-report\");\n }\n } catch (error) {}\n }\n };\n\n return (\n \n {/*-----PageNavigation----- */}\n \n\n {/*-----page-container----- */}\n
    \n {loading ? (\n \n
    Loading...
    \n
    \n ) : null}\n \n \n
    \n );\n};\n\nexport default DocView;\n","import { fade,makeStyles } from '@material-ui/core/styles';\n\n\nconst useStyles = makeStyles((theme) => ({\n\n search: {\n position: 'relative',\n borderRadius: theme.shape.borderRadius,\n backgroundColor: fade(theme.palette.common.black, 0.15),\n '&:hover': {\n backgroundColor: fade(theme.palette.common.black, 0.25),\n },\n marginRight: theme.spacing(2),\n marginLeft: 0,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n marginLeft: theme.spacing(3),\n width: 'auto',\n },\n },\n searchIcon: {\n padding: theme.spacing(0, 2),\n height: '100%',\n position: 'absolute',\n pointerEvents: 'none',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n inputRoot: {\n color: 'inherit',\n width:'100%',\n },\n inputInput: {\n padding: theme.spacing(1, 1, 1, 0),\n // vertical padding + font size from searchIcon\n paddingLeft: `calc(1em + ${theme.spacing(4)}px)`,\n transition: theme.transitions.create('width'),\n width: '100%',\n \n // [theme.breakpoints.up('md')]: {\n // width: '20ch',\n // },\n },\n}));\n\nexport default useStyles;","import React from 'react'\n\n// nodejs library to set properties for components\nimport PropTypes from \"prop-types\"\n\n// material-ui components\nimport InputBase from '@material-ui/core/InputBase';\nimport SearchIcon from '@material-ui/icons/Search';\n\n//style\nimport useStyles from \"assets/jss/components/customcomponents/searchInputStyle\";\n\nconst SearchInput = (props) => {\n const classes = useStyles();\n const {\n open,\n handleClose,\n styles,\n ...rest\n } = props;\n return (\n
    \n
    \n \n
    \n props.inputchange(e.target.value)}\n classes={{\n root: classes.inputRoot,\n input: classes.inputInput,\n }}\n inputProps={{ 'aria-label': 'search' }}\n />\n
    \n )\n}\n\nSearchInput.defaultProps = {\n styles: { color: \"#fff\", width: '100%' }\n}\n\nSearchInput.propTypes = {\n inputchange: PropTypes.func,\n styles:PropTypes.object\n};\n\nexport default SearchInput;","import React from 'react';\nimport { makeStyles, useTheme } from '@material-ui/core/styles';\nimport MobileStepper from '@material-ui/core/MobileStepper';\nimport Button from '@material-ui/core/Button';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport SwipeableViews from 'react-swipeable-views';\n\nimport ReactPlayer from 'react-player';\n\n\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n maxWidth: 400,\n flexGrow: 1,\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n height: 50,\n paddingLeft: theme.spacing(4),\n backgroundColor: theme.palette.background.default,\n },\n img: {\n height: 255,\n display: 'block',\n maxWidth: 400,\n overflow: 'hidden',\n width: '100%',\n },\n}));\n\nconst SwipeableTextMobileStepper = (props) => {\n const { data } = props\n const classes = useStyles();\n const theme = useTheme();\n const [activeStep, setActiveStep] = React.useState(0);\n const [playing, setPlaying] = React.useState(false);\n const maxSteps = data.length;\n\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n setPlaying(false)\n };\n\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n setPlaying(false)\n };\n\n const handleStepChange = (step) => {\n setActiveStep(step);\n setPlaying(false)\n };\n\n const handlePlay = () => {\n setPlaying(true)\n }\n\n // handlePush = () => {\n // setPlaying(false)\n // }\n\n\n return (\n
    \n \n {data.map((step, index) => (\n
    \n {Math.abs(activeStep - index) <= 2 ? (\n e.preventDefault()\n }\n }\n }}\n />\n // {step.label}\n ) : null}\n
    \n ))}\n \n 1 ? 'flex' : 'none' }}\n steps={maxSteps}\n position=\"static\"\n variant=\"text\"\n activeStep={activeStep}\n nextButton={\n \n }\n backButton={\n \n }\n />\n
    \n );\n}\n\nexport default SwipeableTextMobileStepper;","import { makeStyles } from \"@material-ui/core/styles\";\n\nimport {\n whiteColor,\n primaryColor,\n grayColor,\n hexToRgb\n} from \"assets/jss/material-dashboard-react.js\";\n\n\nconst dashboardStyle = makeStyles((theme) => ({\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n infoText: {\n color: primaryColor[4]\n },\n upArrowCardCategory: {\n width: \"16px\",\n height: \"16px\"\n },\n stats: {\n textAlign: 'center'\n },\n taskDiv: {\n padding: '0px 20px 0px 10px',\n borderRightStyle: 'groove',\n borderWidth: 1,\n borderRightColor: primaryColor[0]\n },\n timeDiv: {\n padding: '0px 0px 0px 10px',\n },\n\n pageCardBody: {\n minHeight: '100vh'\n },\n gridItemFooter: {\n padding: '0 !important'\n },\n cardMissions: {\n marginBottom: \"0\",\n marginTop: '0'\n },\n cardCategoryWhite: {\n color: \"rgba(\" + hexToRgb(whiteColor) + \",.62)\",\n margin: \"0\",\n fontSize: \"14px\",\n marginTop: \"0\",\n marginBottom: \"0\"\n },\n cardTitle: {\n color: grayColor[2],\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardTitleWhite: {\n color: whiteColor,\n marginTop: \"0px\",\n minHeight: \"auto\",\n fontWeight: \"300\",\n fontFamily: \"'Roboto', 'Helvetica', 'Arial', sans-serif\",\n marginBottom: \"3px\",\n textDecoration: \"none\",\n \"& small\": {\n color: grayColor[1],\n fontWeight: \"400\",\n lineHeight: \"1\"\n }\n },\n cardAvatar: {\n maxWidth: \"70px\",\n maxHeight: \"70px\",\n right: \"10%\",\n position: 'absolute',\n margin: \"-35px auto 0\",\n borderRadius: \"50%\",\n overflow: \"hidden\",\n padding: \"0\",\n // boxShadow:\n // \"0 16px 38px -12px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.56), 0 4px 25px 0px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.12), 0 8px 10px -5px rgba(\" +\n // hexToRgb(blackColor) +\n // \", 0.2)\",\n // \"&$cardAvatarPlain\": {\n // marginTop: \"0\"\n // }\n },\n imgIcon: {\n // width:0,\n height: 90\n },\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n checkboxStyle: {\n // padding:'7px 30px'\n },\n checkboxLabelStyle: {\n fontSize: '0.9rem',\n color: primaryColor[4],\n fontWeight: \"bold\",\n textTransform: \"capitalize\",\n letterSpacing: \"0\",\n willChange: \"box-shadow, transform\",\n transition:\n \"box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1)\",\n lineHeight: \"1.42857143\",\n textAlign: \"center\",\n whiteSpace: \"nowrap\",\n verticalAlign: \"middle\",\n touchAction: \"manipulation\",\n },\n earnPoints: {\n padding: '5px 20px 5px 20px',\n width: 'fit-content',\n borderStyle: 'solid',\n textAlign: 'center',\n Display: 'block',\n marginLeft: 'auto',\n marginRight: 'auto',\n // marginTop: '30px',\n marginBottom: '24px',\n borderRadius: '30px',\n borderWidth: 1,\n borderColor: primaryColor[4]\n }\n}));\n\nexport default dashboardStyle;\n","import React, { useState, useEffect } from \"react\";\nimport ReactPlayer from 'react-player'\n\n//import reducer \nimport { useDispatch, useSelector } from 'react-redux';\nimport * as questActions from 'store/actions/index'\n\n// @material-ui/core\nimport IconButton from '@material-ui/core/IconButton';\n// @material-ui/icons\nimport Typography from '@material-ui/core/Typography';\nimport CloseIcon from '@material-ui/icons/Close';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport ShoppingCartTwoToneIcon from '@material-ui/icons/ShoppingCartTwoTone';\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\n\n// Views\nimport VideoGallery from 'components/CustomComponents/VideoGallery/VideoGallery'\n\n// styles\nimport useStyles from \"assets/jss/components/views/questDetailsStyle\"\n\nconst QuestDetails = (props) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const [isLoading, setIsLoading] = useState(true);\n const questDetails = useSelector(state => state.categories.questdetails)\n\n useEffect(() => {\n setIsLoading(true);\n dispatch(questActions.fetchQuestDetails(props.data.questId)).then(() => {\n setIsLoading(false);\n }).catch(error => {\n console.log(error);\n setIsLoading(false);\n });\n }, [dispatch]);\n\n const handleClose = () => {\n dispatch(questActions.setQuestDetails({}))\n props.onClose()\n }\n\n const handelLaunch = () => {\n handleClose()\n props.onLaunch(props.data);\n }\n\n const _handelLaunch = () => {\n handleClose()\n props.onOfflineLaunch(props.data.formUrl)\n //window.open(props.data.formUrl, \"_blank\")\n }\n const handelBuy = () => {\n handleClose()\n props.onBuy(props.data);\n }\n\n const handelTrail = () => {\n handleClose()\n props.onLaunch(props.data, true);\n }\n\n console.log(questDetails);\n\n return (\n \n \n \n \n {props.data.questName}\n \n \n \n \n\n \n {isLoading\n ? \n : questDetails.questVideo\n ? \n // ? e.preventDefault()\n // }\n // }\n // }}\n // />\n : questDetails.questIcon && \n \"...\"\n \n }\n \n \n \n\n \n \n \n \n \n \n {isLoading ? : 'About the Quest'}\n \n {isLoading\n ?
    \n \n \n \n \n
    \n : \n }\n
    \n
    \n
    \n {((props.data.isFree || props.data.isAssigned) ^ !(props.data.isOnTrial || props.data.isTrialTaken))\n ? \n \n {isLoading ? : `Price : ${props.data.isFree ? \"Free\" : \"₹\" + props.data.price}`}\n \n \n : null}\n\n
    \n
    \n\n \n {\n isLoading ? \n : props.data.isFree\n ? props.data.isOnline\n ? \n : \n : props.data.isTrialTaken\n ? props.data.isAssigned\n ? \n : \n : props.data.isAssigned\n ? \n : props.data.isOnline === true || props.data.isOnline === undefined || props.data.isOnline === null\n ? \n \n \n \n : \n }\n\n \n
    \n\n\n\n );\n}\n\n\n\n\n\nexport default QuestDetails;\n","import React, { useState, useEffect } from 'react';\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\nimport SwipeableViews from 'react-swipeable-views';\n//@material-ui/core\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Card from '@material-ui/core/Card';\nimport { useTheme } from '@material-ui/core/styles';\nimport Dialog from '@material-ui/core/Dialog';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport CardHeader from '@material-ui/core/CardHeader';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport Slide from '@material-ui/core/Slide';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport IconButton from '@material-ui/core/IconButton';\nimport Badge from '@material-ui/core/Badge';\n\n// import material-ui/icons\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport ShoppingCartTwoToneIcon from '@material-ui/icons/ShoppingCartTwoTone';\n\n//Custom Components\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport SearchInput from \"components/CustomComponents/Inputs/SearchInput/SearchInput\";\n\n// Views\nimport QuestDetails from 'components/Views/QuestCategory/QuestDetails'\nimport SigninComponent from 'components/Views/SignIn/SigninSpectrum/SigninComponent'\nimport Signup from 'components/Views/SignUp/Signup'\n\n// custom style\nimport useStyles from \"assets/jss/components/views/questCategoryStyle\";\nimport DefaultImage from \"assets/img/task/default.png\";\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n
    \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n \n {['001', '010', '011', '111', '112', '113'].map((v, i) =>\n \n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n )}\n
    \n
    \n
    \n
    \n )\n}\n\n\nconst AutoPlaySwipeableViews = (props) => {\n const classes = useStyles();\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n const md = useMediaQuery(theme.breakpoints.between('sm', 'md'));\n\n return (\n \n {props.topics.map((step, index) => (\n
    \n \n \n \n \n \n
    \n \n {step.questName}\n \n
    \n\n
    \n
    \n props.onSeeMore(step)}>Details\n
    \n \n ₹\n \n \n {Math.floor(step.price) + ''}\n \n
    \n
    \n\n {step.isFree\n ?
    \n
    \n {\n step.isOnline === true || step.isOnline === undefined || step.isOnline === null\n ? \n : \n }\n\n
    \n : step.isTrialTaken\n ? step.isAssigned\n ?
    \n \n
    \n :
    \n
    \n \n
    \n : step.isAssigned\n ?
    \n \n
    \n : step.isOnline === true || step.isOnline === undefined || step.isOnline === null\n ?
    \n \n \n
    \n :
    \n \n
    \n }\n
    \n
    \n
    \n\n \n {step.tagValue}\n \n\n
    \n
    \n {/* */}\n
    \n ))\n }\n \n )\n};\n\nconst CardConterol = (props) => {\n const theme = useTheme();\n return (\n
    \n \n\n \n
    \n )\n}\n\n\nconst CategoryCard = (props) => {\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n const md = useMediaQuery(theme.breakpoints.between('sm', 'md'));\n const classes = useStyles();\n const [activeStep, setActiveStep] = useState(0);\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n const handleStepChange = (step) => {\n setActiveStep(step);\n };\n\n return (\n < React.Fragment >\n {props.topics.length > 0\n &&
    \n \n {props.task}\n \n {sm && !md\n ? null\n : \n }\n
    }\n\n \n \n\n )\n}\n\n\nconst QuestCategory = (props) => {\n const dispatch = useDispatch();\n const QuestCategories = useSelector(state => state.categories.questcategories)\n const userInfo = useSelector(state => state.user.userinfo)\n const cartItems = useSelector(state => state.store.cartitems)\n const classes = useStyles();\n const [searchText, setSearchText] = useState(\"\")\n const [loading, setLoading] = useState(false)\n const [questDialog, setQuestDialog] = React.useState(false);\n const [questData, setQuestData] = React.useState({\n quest: null,\n isTrialQuest: false\n });\n\n const [loginDialog, setLoginDialog] = React.useState(false);\n const [signupDialog, setSignupDialog] = React.useState(false);\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"danger\");\n\n\n\n /*-----------------------handle Quest Dialog Open --------------------*/\n const openQuestDialog = (CurrentQuest) => {\n setQuestData({ ...questData, quest: CurrentQuest });\n setQuestDialog(true);\n };\n /*-----------------------handle Quest Dialog Close --------------------*/\n const closeQuestDialog = () => {\n setQuestDialog(false);\n };\n\n /*-----------------------handle Login Dialog Open --------------------*/\n const openLoginDialog = (CurrentQuest, isTrialQuest) => {\n setQuestData({ quest: CurrentQuest, isTrialQuest: isTrialQuest });\n setLoginDialog(true)\n };\n\n /*-----------------------handle Login Dialog Close --------------------*/\n const closeLoginDialog = () => {\n setLoginDialog(false);\n };\n\n /*-----------------------handle Signup Dialog Open --------------------*/\n const openSignupDialog = () => {\n closeLoginDialog();\n setSignupDialog(true)\n };\n\n /*-----------------------handle Signup Dialog Close --------------------*/\n const closeSignupDialog = () => {\n setSignupDialog(false);\n };\n\n /*----------------------- Change Quest Data --------------------*/\n const onChangeQuest = async (CurrentQuest, isTrialQuest = false) => {\n if (userInfo.userId) {\n assignQuest(CurrentQuest, isTrialQuest)\n } else {\n openLoginDialog(CurrentQuest, isTrialQuest)\n }\n }\n\n /*----------------------- Change Offline Quest --------------------*/\n const onChangeOfflineQuest = (URL) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.openNewUrl(\"\", URL)\n } else if (typeof openNewUrl !== 'undefined') {\n window.openNewUrl(\"\", URL)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('openNewUrl', \"\", URL);\n } else {\n window.open(URL, \"_blank\")\n }\n }\n\n /*----------------------- Assign Quest --------------------*/\n const assignQuest = async (CurrentQuest, isTrialQuest, initUserInfo = false) => {\n try {\n if (!(Object.keys(CurrentQuest).includes(\"viewedOn\") || CurrentQuest.isAssigned)) {\n if (isTrialQuest) {\n await dispatch(questActions.postAssignTrialQuest(CurrentQuest.questId)).then(() => {\n setCurrentQuestAndInitContentList(CurrentQuest, initUserInfo)\n })\n } else {\n await dispatch(questActions.postAssignQuest(CurrentQuest.questId)).then(() => {\n setCurrentQuestAndInitContentList(CurrentQuest, initUserInfo)\n })\n }\n } else {\n setCurrentQuestAndInitContentList(CurrentQuest, initUserInfo)\n }\n\n //Clevertap \n if (typeof window.Android !== 'undefined') {\n window.Android.onEventReceived(\"QuestLaunch\", userInfo.userId, true, true)\n } else if (typeof onEventReceived !== 'undefined') {\n window.onEventReceived(\"QuestLaunch\", \"{\\\"userId\\\":\\\"\" + userInfo.userId + \"\\\"}\", true, true)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('onEventReceived', \"QuestLaunch\", userInfo.userId, true, true);\n }\n\n props.history.push('/home')\n } catch (error) {\n setAlertType(\"danger\")\n setAlertMessage(error.message)\n }\n }\n\n const setCurrentQuestAndInitContentList = async (CurrentQuest, initUserInfo = false) => {\n dispatch(questActions.setCurrentQuest(CurrentQuest))\n await dispatch(questActions.initContentList(CurrentQuest.questId)).then(() => {\n if (initUserInfo)\n dispatch(questActions.initUserInfo())\n })\n }\n\n useEffect(() => {\n fetchQuestCategory()\n }, [userInfo.userId])\n\n\n const fetchQuestCategory = () => {\n // if (userInfo.userId) {\n setLoading(true)\n // Fetch Quest Category and Cart Item \n dispatch(questActions.fetchQuestCategory()).then(() => {\n setLoading(false)\n })\n // }\n }\n\n /*-----------------------handel Login --------------------*/\n const handelLogin = async () => {\n closeLoginDialog();\n assignQuest(questData.quest, questData.isTrialQuest);\n }\n\n /*-----------------------handel Signup --------------------*/\n const handelSignup = async () => {\n closeSignupDialog();\n setLoading(true)\n await assignQuest(questData.quest, questData.isTrialQuest, true);\n\n }\n\n\n //-----------------------Handel Buy Quest---------------------\n const onBuyQuest = async (CurrentQuest) => {\n const cartItem = {\n \"cartId\": \"\",\n \"userId\": userInfo.userId,\n \"questId\": CurrentQuest.questId,\n \"questName\": CurrentQuest.questName,\n \"qty\": 1,\n \"price\": Number(CurrentQuest.price)\n }\n\n await dispatch(questActions.addToCart(cartItem));\n props.history.push('/cart');\n }\n\n // Close Alert\n const onCloseAlert = () => {\n setAlertMessage(\"\")\n }\n\n return (\n
    \n \n {/*-----Dialog----- */}\n \n \n \n\n \n \n \n\n \n \n \n\n {/* AlertDialog */}\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n\n\n {(loading || QuestCategories.lastViewed === \"\")\n ? \n : \n \n
    \n\n \n \n
    \n props.history.push(userInfo.lastQuestAccessed ? '/home' : '/')}>\n \n \n setSearchText(text)}\n />\n
    \n
    \n {cartItems.length > 0 ?\n \n props.history.push('/cart')} style={{ color: \"#fff\" }}>\n \n \n \n \n \n : null\n }\n\n
    \n\n {QuestCategories.lastViewed.questName && \n onChangeQuest(QuestCategories.lastViewed)} >\n Launch\n \n }\n title={QuestCategories.lastViewed.questName}\n titleTypographyProps={{ variant: 'body1', className: classes.contentCardTitle }}\n subheader={`Viewed on date: ${QuestCategories.lastViewed.viewedOn}`}\n subheaderTypographyProps={{ variant: 'caption' }}\n />\n \n }\n\n {QuestCategories.questCategory.map((data, idex) => (\n quest.questName.trim().toUpperCase().includes(searchText.trim().toUpperCase()))}\n onSeeMore={openQuestDialog}\n onLaunch={onChangeQuest}\n onOfflineLaunch={onChangeOfflineQuest}\n onBuy={onBuyQuest}\n />))}\n
    \n
    \n
    \n }\n
    \n )\n}\n\nexport default QuestCategory;","import React from 'react';\n\n// @material-ui/core\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\n\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\n\n// custom style\nimport useStyles from \"assets/jss/components/views/questCategoryStyle\";\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n
    \n \n \n \n \n \n \n \n\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n \n {['001', '010', '011', '111', '112', '113'].map((v, i) =>\n \n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n )}\n
    \n
    \n
    \n
    \n )\n}\n\nexport default SkeletonCard;\n","import React, { useState, useEffect } from \"react\";\nimport ReactPlayer from 'react-player'\n\n//import reducer \nimport { useDispatch, useSelector } from 'react-redux';\nimport * as questActions from 'store/actions/index'\n\n// @material-ui/core\nimport IconButton from '@material-ui/core/IconButton';\n// @material-ui/icons\nimport Typography from '@material-ui/core/Typography';\nimport CloseIcon from '@material-ui/icons/Close';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport ShoppingCartTwoToneIcon from '@material-ui/icons/ShoppingCartTwoTone';\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\n\n// Views\nimport VideoGallery from 'components/CustomComponents/VideoGallery/VideoGallery'\n\n// styles\nimport useStyles from \"assets/jss/components/views/questDetailsStyle\"\n\nconst QuestDetails = (props) => {\n\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const [isLoading, setIsLoading] = useState(true);\n const productDetails = useSelector(state => state.products.productdetails)\n\n const isSamePrice = (Math.floor(props.data.discountPrice) === Math.floor(props.data.price))\n\n useEffect(() => {\n setIsLoading(true);\n dispatch(questActions.fetchProductDetails(props.data.productId)).then(() => {\n setIsLoading(false);\n }).catch(error => {\n console.log(error);\n setIsLoading(false);\n });\n }, [dispatch]);\n\n const handleClose = () => {\n dispatch(questActions.setQuestDetails({}))\n props.onClose()\n }\n\n const handelLaunch = () => {\n handleClose()\n props.onLaunch(props.data);\n }\n\n const _handelLaunch = () => {\n handleClose()\n props.onOfflineLaunch(props.data.formUrl)\n //window.open(props.data.formUrl, \"_blank\")\n }\n const handelBuy = () => {\n handleClose()\n props.onBuy(props.data);\n }\n\n const handelTrail = () => {\n handleClose()\n props.onLaunch(props.data, true);\n }\n\n\n return (\n \n \n \n \n {props.data.productName}\n \n \n \n \n\n \n {isLoading\n ? \n : productDetails.productVideo\n ? \n : productDetails.productIcon && \n \"...\"\n \n }\n \n \n \n\n \n \n \n \n \n \n {isLoading ? : 'About the Quest'}\n \n {isLoading\n ?
    \n \n \n \n \n
    \n : \n }\n
    \n
    \n
    \n {((props.data.isFree || props.data.isAssigned) ^ !(props.data.isOnTrial || props.data.isTrialTaken))\n ? \n \n {isLoading\n ? \n :
    \n {\"Price :\"}\n {props.data.isFree\n ? \"Free\"\n : isSamePrice\n ?
    \n \n {Math.floor(props.data.discountPrice) + ''}\n
    \n : \n \n {Math.floor(props.data.discountPrice) + ''}\n\n
    \n \n \n {Math.floor(props.data.price) + \"\"}\n \n
    \n \n }\n
    \n }\n\n \n\n\n
    \n : null}\n\n
    \n
    \n\n \n {\n isLoading ? \n : props.data.isFree\n ? props.data.isOnline\n ? \n : \n : props.data.isTrialTaken\n ?\n // props.data.isAssigned\n // ? \n // : \n \n : props.data.isAssigned\n ? \n : props.data.isOnline === true || props.data.isOnline === undefined || props.data.isOnline === null\n ? \n {props.data.trialDuration > 0\n ? \n : null\n }\n \n \n : \n }\n\n \n
    \n\n\n\n );\n}\n\n\n\n\n\nexport default QuestDetails;\n","import React, { useState, useEffect } from \"react\";\nimport ReactPlayer from 'react-player'\n\n//import reducer \nimport { useDispatch, useSelector } from 'react-redux';\nimport * as questActions from 'store/actions/index'\n\n// @material-ui/core\nimport IconButton from '@material-ui/core/IconButton';\n// @material-ui/icons\nimport Typography from '@material-ui/core/Typography';\nimport CloseIcon from '@material-ui/icons/Close';\nimport DialogActions from '@material-ui/core/DialogActions';\nimport DialogContent from '@material-ui/core/DialogContent';\nimport DialogTitle from '@material-ui/core/DialogTitle';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport ShoppingCartTwoToneIcon from '@material-ui/icons/ShoppingCartTwoTone';\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\n\n// Views\nimport VideoGallery from 'components/CustomComponents/VideoGallery/VideoGallery'\n\n// styles\nimport useStyles from \"assets/jss/components/views/questDetailsStyle\"\n\nconst QuestDetails = (props) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n const [isLoading, setIsLoading] = useState(true);\n const questDetails = useSelector(state => state.categories.questdetails)\n\n useEffect(() => {\n setIsLoading(true);\n dispatch(questActions.fetchQuestDetails(props.data.questId)).then(() => {\n setIsLoading(false);\n }).catch(error => {\n console.log(error);\n setIsLoading(false);\n });\n }, [dispatch]);\n\n const handleClose = () => {\n dispatch(questActions.setQuestDetails({}))\n props.onClose()\n }\n\n const handelLaunch = () => {\n handleClose()\n props.onLaunch(props.data);\n }\n\n const _handelLaunch = () => {\n handleClose()\n props.onOfflineLaunch(props.data.formUrl)\n //window.open(props.data.formUrl, \"_blank\")\n }\n const handelBuy = () => {\n handleClose()\n props.onBuy(props.data);\n }\n\n const handelTrail = () => {\n handleClose()\n props.onLaunch(props.data, true);\n }\n\n console.log(questDetails);\n\n return (\n \n \n \n \n {props.data.questName}\n \n \n \n \n\n \n {isLoading\n ? \n : questDetails.questVideo\n ? \n : questDetails.questIcon && \n \"...\"\n \n }\n \n \n \n\n \n \n \n \n \n \n {isLoading ? : 'About the Quest'}\n \n {isLoading\n ?
    \n \n \n \n \n
    \n : \n }\n
    \n
    \n
    \n {((props.data.isFree || props.data.isAssigned) ^ !(props.data.isOnTrial || props.data.isTrialTaken))\n ? \n \n {isLoading ? : `Price : ${props.data.isFree ? \"Free\" : \"₹\" + props.data.price}`}\n \n \n : null}\n\n
    \n
    \n\n \n {\n isLoading ? \n : props.data.isFree\n ? props.data.isOnline|| props.data.isAssigned\n ? \n : \n : props.data.isTrialTaken\n ? props.data.isAssigned\n ? \n : \n : props.data.isAssigned\n ? \n : props.data.isOnline === true || props.data.isOnline === undefined || props.data.isOnline === null\n ? \n \n \n \n : \n }\n\n \n
    \n\n\n\n );\n}\n\n\n\n\n\nexport default QuestDetails;\n","import React from \"react\";\n\nimport ProductDetails from \"./ProductDetails\";\nimport QuestDetails from \"./QuestDetails\";\n\nconst Details = (props) => {\n console.log(props);\n\n\n let Content = ;\n if (Object.keys(props.data).includes(\"questId\")) {\n Content = \n }\n\n return (\n \n {Content}\n \n );\n}\n\n\n\n\n\nexport default Details;\n","import React from 'react';\nimport SwipeableViews from 'react-swipeable-views';\n//@material-ui/core\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { useTheme } from '@material-ui/core/styles';\n\nconst SwipeableView = (props) => {\n const { children, ...rest } = props\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n const md = useMediaQuery(theme.breakpoints.between('sm', 'md'));\n return (\n \n {children}\n \n )\n};\n\nexport default SwipeableView;","\nimport React from 'react';\n\n//@material-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport CardMedia from '@material-ui/core/CardMedia';\nimport CardActionArea from '@material-ui/core/CardActionArea';\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n// custom style\nimport useStyles from \"assets/jss/components/views/questCategoryStyle\";\nimport DefaultImage from \"assets/img/task/default.png\";\n\nconst SwipeCard = (props) => {\n const classes = useStyles();\n\n const isSamePrice = (Math.floor(props.data.discountPrice) === Math.floor(props.data.price))\n\n return (\n \n \n \n props.onClick(props.data)} style={{ display: 'flex' }}>\n \n \n \n
    \n \n {props.name}\n \n
    \n\n
    \n
    \n props.onSeeMore(props.data)}>\n Details\n \n\n
    \n\n
    \n \n {Math.floor(props.data.discountPrice) + ''}\n \n
    \n\n
    \n \n {Math.floor(props.data.price) + ''}\n \n
    \n\n\n
    \n\n
    \n\n {props.data.isFree\n ?
    \n
    \n {\n props.data.isOnline === true || props.data.isOnline === undefined || props.data.isOnline === null\n ? \n : \n }\n\n
    \n : props.data.isTrialTaken\n ?\n // props.data.isAssigned\n // ?
    \n // \n //
    \n // : \n\n
    \n
    \n \n
    \n : props.data.isAssigned\n ?
    \n \n
    \n : props.data.isOnline === true || props.data.isOnline === undefined || props.data.isOnline === null\n ?
    \n {props.data.trialDuration > 0\n ? < Button className={classes.button} fullWidth style={{ marginRight: 3, marginLeft: -1 }} color=\"warning\" size=\"xs\" onClick={() => props.onTrail(props.data)} >Try\n :
    \n }\n \n
    \n :
    \n \n
    \n }\n
    \n
    \n
    \n\n \n {props.data.tagValue}\n \n
    \n
    \n\n )\n};\n\nexport default SwipeCard;","\nimport React from 'react';\n\n\n//Custom Components\nimport SwipeableView from \"components/CustomComponents/SwipeableView/SwipeableView\";\nimport SwipeCard from \"components/Views/QuestProducts/SwipeableViews/SwipeCard\";\nconst AutoPlaySwipeableViews = (props) => {\n return (\n \n {props.topics.map((step, index) => (\n
    \n \n
    \n ))\n }\n
    \n )\n};\n\n\nexport default AutoPlaySwipeableViews;","\nimport React from 'react';\n\n//Custom Components\nimport SwipeableView from \"components/CustomComponents/SwipeableView/SwipeableView\";\nimport SwipeCard from \"components/Views/QuestProducts/SwipeableViews/SwipeCard\";\n\nconst AutoPlaySwipeableViews = (props) => {\n return (\n \n {props.topics.map((step, index) => (\n
    \n \n
    \n ))\n }\n
    \n )\n};\n\nexport default AutoPlaySwipeableViews;","import React, { useState, useEffect } from 'react';\nimport classNames from \"classnames\";\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n//@material-ui/core\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Card from '@material-ui/core/Card';\nimport { useTheme } from '@material-ui/core/styles';\nimport Dialog from '@material-ui/core/Dialog';\nimport Typography from '@material-ui/core/Typography';\nimport CardHeader from '@material-ui/core/CardHeader';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport Slide from '@material-ui/core/Slide';\nimport IconButton from '@material-ui/core/IconButton';\nimport Badge from '@material-ui/core/Badge';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport TextField from '@material-ui/core/TextField';\n// import material-ui/icons\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport KeyboardArrowLeft from '@material-ui/icons/KeyboardArrowLeft';\nimport KeyboardArrowRight from '@material-ui/icons/KeyboardArrowRight';\nimport ShoppingCartTwoToneIcon from '@material-ui/icons/ShoppingCartTwoTone';\n\n//Custom Components\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport SearchInput from \"components/CustomComponents/Inputs/SearchInput/SearchInput\";\nimport SkeletonCard from 'components/Views/QuestProducts/SkeletonCards'\n// import Autocomplete from \"components/CustomComponents/Autocomplete/Autocomplete\"\n\n// Views\nimport QuestDetails from 'components/Views/QuestProducts/Details/Details'\nimport SigninComponent from 'components/Views/SignIn/SigninSpectrum/SigninComponent'\nimport Signup from 'components/Views/SignUp/Signup'\nimport ProductsSwipeableViews from 'components/Views/QuestProducts/SwipeableViews/ProductsSwipeableViews'\nimport QuestSwipeableViews from 'components/Views/QuestProducts/SwipeableViews/QuestSwipeableViews'\n\n// custom style\nimport useStyles from \"assets/jss/components/views/questCategoryStyle\";\n\n//commonfunctions\nimport { clevertapEvents, facebookTracking } from \"util/commonfunctions\";\nimport { HIDE_FOR_IOS } from 'variables/general'\n\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\n\nconst CardConterol = (props) => {\n const theme = useTheme();\n return (\n
    \n \n\n \n
    \n )\n}\n\nconst CategoryCard = (props) => {\n const theme = useTheme();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n const md = useMediaQuery(theme.breakpoints.between('sm', 'md'));\n const classes = useStyles();\n const [activeStep, setActiveStep] = useState(0);\n const handleNext = () => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\n };\n const handleBack = () => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\n };\n const handleStepChange = (step) => {\n setActiveStep(step);\n };\n\n return (\n < React.Fragment >\n {props.topics.length > 0\n &&
    \n \n {props.task}\n \n {sm && !md\n ? null\n : \n }\n
    }\n\n\n {props.task === \"Assigned Quest\" ?\n \n : \n }\n \n )\n}\n\n\nconst QuestCategory = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n\n const platform = useSelector(state => state.platforms.platform)\n const userInfo = useSelector(state => state.user.userinfo)\n const cartItems = useSelector(state => state.store.cartitems)\n const currentQuest = useSelector(state => state.quest.current_quest)\n const boards = useSelector(state => state.boardgrade.boards)\n const gradeList = useSelector(state => state.boardgrade.grades)\n const productList = useSelector(state => state.products.productcategories)\n const questCategories = useSelector(state => state.user.userinfo.userQuestList.map(data => {\n data.isAssigned = true\n return data\n }))\n\n const backButtonClasses = classNames({\n [classes.backButtonContainer]: true,\n [classes.backButtonContainer1]: userInfo.lastQuestAccessed ? true : false\n })\n\n\n\n const [searchText, setSearchText] = useState(\"\")\n const [loading, setLoading] = useState(false)\n const [questDialog, setQuestDialog] = React.useState(false);\n const [questData, setQuestData] = React.useState({ quest: null, isTrialQuest: false });\n const [loginDialog, setLoginDialog] = React.useState(false);\n const [signupDialog, setSignupDialog] = React.useState(false);\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"danger\");\n\n const [productCategories, setProductCategories] = React.useState({ productCategory: [] })\n\n const [board, setBoard] = React.useState(null);\n\n const [grades, setGrades] = React.useState([])\n const [grade, setGrade] = React.useState(null);\n\n /*-----------------------fetch Product Category --------------------*/\n useEffect(() => {\n fetchProductCategory()\n }, [userInfo.userId])\n\n\n const fetchProductCategory = async () => {\n setLoading(true)\n await dispatch(questActions.fetchProductCategory()).then(() => {\n setLoading(false)\n fetchBoardGrade()\n }).catch(error => {\n setLoading(false)\n setAlertType(\"danger\")\n setAlertMessage(error.message)\n })\n }\n\n useEffect(() => {\n setProductCategories(productList)\n }, [productList.productCategory])\n\n\n const fetchBoardGrade = async () => {\n setLoading(true)\n await dispatch(questActions.fetchBoardGrade()).then(() => {\n setLoading(false)\n }).catch(error => {\n setLoading(false)\n console.log(error);\n })\n }\n\n /*-----------------------on change Boards --------------------*/\n useEffect(() => {\n if (boards.length)\n if (currentQuest.gradeIds) {\n const currentGrade = gradeList.filter(data => data.gradeId === currentQuest.gradeIds[0]).reduce((acc, cv) => { return acc = cv }, {})\n setBoard(boards.filter(data => data.boardId === currentGrade.boardId).reduce((acc, cv) => { return acc = cv }, {}))\n setGrades(gradeList.filter(data => data.boardId === currentGrade.boardId))\n setGrade(currentGrade)\n }\n }, [boards])\n\n\n /*-----------------------On Change Grade--------------------*/\n useEffect(() => {\n if (grade) {\n const products = productList.productCategory.reduce((accumulator, currentValue) => {\n const productList = currentValue.productList.filter(d => d.gradeIds.includes(grade.gradeId))\n if (productList.length > 0) {\n accumulator.push({\n categoryName: currentValue.categoryName,\n productList: productList\n })\n }\n return accumulator\n }, [])\n\n setProductCategories({ productCategory: products })\n } else {\n setProductCategories(productList)\n }\n }, [grade])\n\n /*----------------------- on Chnage Board --------------------*/\n const onChnageBoard = (event, newValue) => {\n setBoard(newValue)\n if (newValue)\n setGrades(gradeList.filter(data => data.boardId === newValue.boardId))\n else\n setGrades([])\n setGrade(null)\n }\n\n /*-----------------------handle Quest Dialog Open --------------------*/\n const openQuestDialog = (CurrentQuest) => {\n setQuestData({ ...questData, quest: CurrentQuest });\n setQuestDialog(true);\n };\n /*-----------------------handle Quest Dialog Close --------------------*/\n const closeQuestDialog = () => {\n setQuestDialog(false);\n };\n\n /*-----------------------handle Login Dialog Open --------------------*/\n const openLoginDialog = (CurrentQuest, isTrialQuest) => {\n setQuestData({ quest: CurrentQuest, isTrialQuest: isTrialQuest });\n setLoginDialog(true)\n };\n\n /*-----------------------handle Login Dialog Close --------------------*/\n const closeLoginDialog = () => {\n setLoginDialog(false);\n };\n\n /*-----------------------handle Signup Dialog Open --------------------*/\n const openSignupDialog = () => {\n closeLoginDialog();\n setSignupDialog(true)\n };\n\n /*-----------------------handle Signup Dialog Close --------------------*/\n const closeSignupDialog = () => {\n setSignupDialog(false);\n };\n\n /*----------------------- Change Quest Data --------------------*/\n const onChangeQuest = async (CurrentQuest, isTrialQuest = false) => {\n if (userInfo.userId) {\n assignQuest(CurrentQuest, isTrialQuest)\n } else {\n openLoginDialog(CurrentQuest, isTrialQuest)\n }\n }\n\n /*----------------------- Change Offline Quest --------------------*/\n const onChangeOfflineQuest = (URL) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.openNewUrl(\"\", URL)\n } else if (typeof openNewUrl !== 'undefined') {\n window.openNewUrl(\"\", URL)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('openNewUrl', \"\", URL);\n } else {\n window.open(URL, \"_blank\")\n }\n }\n\n /*----------------------- Assign Quest --------------------*/\n const assignQuest = async (CurrentQuest, isTrialQuest, initUserInfo = true) => {\n setLoading(true)\n try {\n if (!CurrentQuest.isAssigned) {\n if (isTrialQuest) {\n\n //facebook tracking\n const EventProperty = JSON.stringify({\n 'fb_order_id': CurrentQuest.productId,\n 'fb_currency': ''\n });\n facebookTracking('StartTrial', EventProperty)\n\n await dispatch(questActions.assignTrialProduct(CurrentQuest.productId)).then(async () => {\n await setCurrentQuestAndInitContentList(CurrentQuest.questDetails[0], initUserInfo)\n setLoading(false)\n })\n\n\n } else {\n await dispatch(questActions.assignFreeProduct(CurrentQuest.productId)).then(async () => {\n await setCurrentQuestAndInitContentList(CurrentQuest.questDetails[0], initUserInfo)\n setLoading(false)\n })\n }\n } else {\n\n if (CurrentQuest.questName) {\n await setCurrentQuestAndInitContentList(CurrentQuest, initUserInfo)\n } else {\n await setCurrentQuestAndInitContentList(CurrentQuest.questDetails[0], initUserInfo)\n }\n\n setLoading(false)\n }\n props.history.push('/home')\n } catch (error) {\n setLoading(false)\n setAlertType(\"danger\")\n setAlertMessage(error.message)\n }\n }\n\n const setCurrentQuestAndInitContentList = async (CurrentQuest, initUserInfo = false) => {\n\n //clevertap\n const eventData = JSON.stringify({\n 'QuestId': CurrentQuest.questId,\n 'QuestName': CurrentQuest.questName\n });\n clevertapEvents('QuestSelected', eventData);\n\n if (CurrentQuest.questName) {\n await dispatch(questActions.setCurrentQuest(CurrentQuest))\n } else {\n await dispatch(questActions.setCurrentQuestByID(CurrentQuest.questId, true))\n }\n await dispatch(questActions.initContentList(CurrentQuest.questId)).then(async () => {\n if (initUserInfo)\n await dispatch(questActions.initUserInfo())\n })\n }\n\n /*-----------------------handel Login --------------------*/\n const handelLogin = async () => {\n closeLoginDialog();\n assignQuest(questData.quest, questData.isTrialQuest);\n }\n\n /*-----------------------handel Signup --------------------*/\n const handelSignup = async () => {\n closeSignupDialog();\n setLoading(true)\n await assignQuest(questData.quest, questData.isTrialQuest);\n }\n\n //-----------------------Handel Buy Quest---------------------\n const onBuyQuest = async (CurrentQuest) => {\n const cartItem = {\n \"cartId\": \"\",\n \"userId\": userInfo.userId,\n \"productId\": CurrentQuest.productId,\n \"productName\": CurrentQuest.productName,\n 'productIcon': CurrentQuest.productIcon,\n \"qty\": 1,\n \"price\": Number(CurrentQuest.price),\n \"netPrice\": Number(CurrentQuest.discountPrice)\n }\n\n //clevertap\n const eventData = JSON.stringify({\n 'UserId': userInfo.userId,\n 'ProductId': CurrentQuest.productId,\n 'ProductName': CurrentQuest.productName\n });\n clevertapEvents('PurchaseInitiate', eventData);\n\n //facebookTracking\n const EventProperty = JSON.stringify({\n 'fb_content_type': CurrentQuest.productName,\n 'fb_content_id': CurrentQuest.productId,\n 'fb_num_items': 1,\n 'fb_payment_info_available': false,\n 'fb_currency': ''\n });\n facebookTracking('fb_mobile_initiated_checkout', EventProperty)\n\n await dispatch(questActions.addToCart(cartItem));\n props.history.push('/cart',{backTo:\"/products\"});\n }\n\n //-----------------------Handel Handel Trail---------------------\n const handelTrail = (CurrentQuest) => {\n onChangeQuest(CurrentQuest, true)\n // setQuestData({ ...questData, quest: CurrentQuest });\n // setAlertType(\"trial\")\n // setAlertMessage(`Do you want to continue ${CurrentQuest.trialDuration}-Days Trial`)\n }\n\n\n ///----------------------- Close Alert ---------------------\n const onCloseAlert = () => {\n setAlertMessage(\"\")\n }\n\n ///----------------------- Ok Alert ---------------------\n const onOkAlert = () => {\n\n switch (alertType) {\n case \"buy\":\n onBuyQuest(questData.quest)\n setAlertMessage(\"\")\n break;\n case \"trial\":\n onChangeQuest(questData.quest, true)\n setAlertMessage(\"\")\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n\n // --------------------------- on Launch Last Quest Accessed ----------------------------\n const onLaunchLastQuestAccessed = async (questId) => {\n await onChangeQuest(questCategories.filter(data => data.questId === questId)[0]);\n }\n\n\n // --------------------------- handel on click Card----------------------------\n const handelCardClick = (CurrentQuest) => {\n setQuestData({ ...questData, quest: CurrentQuest });\n if (CurrentQuest.isFree) {\n if (CurrentQuest.isOnline === true || CurrentQuest.isOnline === undefined || CurrentQuest.isOnline === null)\n onChangeQuest(CurrentQuest)\n else\n onChangeOfflineQuest(CurrentQuest.formUrl)\n } else {\n if (CurrentQuest.isTrialTaken) {\n setAlertType(\"buy\")\n setAlertMessage(`Do you want to continue with buy this product.`)\n // onBuyQuest(CurrentQuest)\n }\n\n else\n if (CurrentQuest.isAssigned)\n onChangeQuest(CurrentQuest)\n else\n if (CurrentQuest.isOnline === true || CurrentQuest.isOnline === undefined || CurrentQuest.isOnline === null)\n if (CurrentQuest.trialDuration > 0) {\n handelTrail(CurrentQuest)\n }\n else\n onBuyQuest(CurrentQuest)\n else\n onChangeOfflineQuest(CurrentQuest.formUrl)\n }\n }\n\n\n\n return (\n\n
    \n \n {/*-----Dialog----- */}\n \n \n \n\n {/* Signin */}\n \n \n \n\n {/* Signup */}\n \n \n \n\n {/* AlertDialog */}\n { }}\n action={\n (alertType === \"buy\" || alertType === \"trial\")\n ? [\n { text: 'not now', onPress: () => onCloseAlert() },\n { text: 'continue', onPress: () => onOkAlert() }\n ]\n : [\n { text: 'OK', onPress: () => onCloseAlert() }\n ]\n }\n />\n\n\n\n {(loading)\n ? \n : \n \n
    \n \n \n \n \n
    \n props.history.push(userInfo.lastQuestAccessed ? '/home' : '/')}>\n \n \n setSearchText(text)}\n />\n
    \n
    \n\n \n option.boardName ? option.boardName : \"\"}\n renderInput={(params) => }\n />\n\n \n\n \n { setGrade(newValue) }}\n getOptionLabel={(option) => option.gradeName ? option.gradeName : \"\"}\n renderInput={(params) => }\n />\n \n
    \n
    \n\n\n {platform === \"IOS\" && HIDE_FOR_IOS\n ? null\n : cartItems.length > 0 ?\n
    \n props.history.push('/cart')} style={{ color: \"#fff\" }}>\n \n \n \n \n
    \n : null\n }\n
    \n {userInfo.lastQuestAccessed && \n onLaunchLastQuestAccessed(userInfo.lastQuestAccessed)} >\n Launch\n \n }\n title={userInfo.lastQuestName}\n titleTypographyProps={{ variant: 'body1', className: classes.contentCardTitle }}\n subheader={`Viewed on date: ${userInfo.viewedOn}`}\n subheaderTypographyProps={{ variant: 'caption' }}\n />\n \n }\n {/* Assigned Courses */}\n quest.questName.trim().toUpperCase().includes(searchText.trim().toUpperCase())).map(data => {\n data.isAssigned = true\n return data;\n })}\n onSeeMore={openQuestDialog}\n onLaunch={onChangeQuest}\n onOfflineLaunch={onChangeOfflineQuest}\n onBuy={onBuyQuest}\n onTrail={handelTrail}\n onClick={handelCardClick}\n />\n {/* Products */}\n {platform === \"IOS\" && HIDE_FOR_IOS\n ? null\n : productCategories.productCategory.map((data, idex) => (\n quest.productName.trim().toUpperCase().includes(searchText.trim().toUpperCase()))}\n onSeeMore={openQuestDialog}\n onLaunch={onChangeQuest}\n onOfflineLaunch={onChangeOfflineQuest}\n onBuy={onBuyQuest}\n onTrail={handelTrail}\n onClick={handelCardClick}\n />))\n\n }\n
    \n
    \n
    \n }\n
    \n )\n}\n\nexport default QuestCategory;","import {\n dangerColor,\n whiteColor,\n roseColor,\n boxShadow\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Backdrop } from \"@material-ui/core\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n cardStyle: {\n display: 'flex',\n marginBottom: \"30px\",\n marginTop: \"30px\",\n borderRadius: 10,\n ...boxShadow\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n\n buttonKeepShop: {\n width: '50%',\n alignSelf: 'center'\n },\n\n cardMedia: {\n width: 135\n },\n details: {\n display: 'flex',\n flexDirection: 'column',\n },\n content: {\n flex: '1 0 auto',\n },\n\n nameTitle: {\n display: 'block!important',\n display: '-webkit-box!important',\n '-webkit-line-clamp': 2,\n '-moz-line-clamp': 2,\n '-ms-line-clamp': 2,\n '-o-line-clamp': 2,\n lineClamp: 2,\n '-webkit-box-orient': 'vertical',\n '-moz-box-orient': 'vertical',\n '-ms-box-orient': 'vertical',\n '-o-box-orient': 'vertical',\n boxOrient: 'vertical',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'normal',\n color: '#29303b',\n lineHeight: 1.2,\n fontWeight: 700\n },\n lengthTitle: {\n color: whiteColor,\n padding: 5\n },\n priceTitle: {\n color: roseColor[0],\n fontWeight: 700,\n display: 'flex',\n alignItems: 'flex-end',\n float: 'right'\n },\n\n root: {\n flexGrow: 1,\n padding: 5\n },\n paper: {\n padding: theme.spacing(2),\n margin: 'auto',\n // maxWidth: 500,\n },\n image: {\n // maxWidth: 250,\n // height: 150,\n },\n img: {\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n },\n\n checkoutCardContainer: {\n flexGrow: 1,\n padding: 5,\n display:'flex',\n justifyContent:\"flex-end\"\n },\n\n checkoutCard: {\n flexGrow: 1,\n padding: 5\n },\n\n\n applyCouponButtonContainer: {\n // width: '20%',\n display: 'flex',\n // paddingTop: 2\n padding:0,\n },\n\n applyCouponTextContainer:{\n padding:0\n },\n\n applyCouponTextInput:{\n height:'0.8em'\n },\n applyCouponInputLabel:{\n fontSize:'0.8rem'\n },\n paperDialog: {\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n borderRadius: 10\n }\n },\n\n backButtonContainer: {\n marginLeft: -10,\n flexDirection: \"row\",\n display: \"flex\",\n alignItems: 'center',\n color: \"#fff\"\n },\n\n gstFontStyle:{\n fontSize: '0.65rem',\n lineHeight: 1,\n fontWeight: 'bold'\n }\n\n}));\n\nexport default useStyles;","import React, { useEffect } from 'react';\nimport { useHistory } from \"react-router-dom\";\n//@material-ui/core\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport ButtonBase from '@material-ui/core/ButtonBase';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\n//material-ui/icons/\nimport LocalOfferIcon from '@material-ui/icons/LocalOffer';\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n//Lottie\nimport Lottie from 'react-lottie';\nimport ShoppingCartLottie from 'assets/lotties/shopping-cart';\n\n// Image\nimport DefaultImage from \"assets/img/task/default.png\";\nimport MembershipImage from \"assets/img/Other/Membership-card.png\";\nimport ProMembershipImage from \"assets/img/Other/Membership-card-pro.png\";\n\n// custom style\nimport useStyles from \"assets/jss/components/views/cartStyle\";\n\nconst CartLottieOptions = {\n loop: true,\n autoplay: true,\n animationData: ShoppingCartLottie,\n rendererSettings: {\n preserveAspectRatio: \"xMidYMid slice\"\n }\n};\n\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {['IT0011', 'ITM0101', 'IPS0111', 'ITP1111'].map((v, i) =>\n \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )\n}\n\n\n\nconst ItemCard = (props) => {\n const classes = useStyles();\n let history = useHistory();\n const {\n data,\n onBuy,\n loading,\n ...rest\n } = props;\n\n if (loading) {\n return ()\n }\n\n return (\n\n \n {data.length ?\n \n \n {data.length} Products\n \n\n {\n data.map((product, idex) => (\n
    \n \n \n \n \n \n {/* \"complex\" */}\n {product.planPrice > 600\n ? \"complex\"\n : \"complex\"\n }\n \n \n \n \n {product.productDisplayName}\n \n \n \n \n\n \n \n
    \n \n {Math.floor(product.planPrice * 100 / 118)}\n \n
    Plus 18% GST
    \n
    \n props.onBuy(product)} >\n Buy\n \n
    \n\n
    \n
    \n
    \n
    \n ))\n }\n
    \n\n :
    \n \n \n \n {\"No Products!\"}\n \n {/* history.push('/products')} >Keep shopping */}\n \n
    \n }\n
    \n );\n}\n\nexport default ItemCard;","import React, { useEffect, useState } from 'react';\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//@material-ui/core\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport Typography from '@material-ui/core/Typography';\n\n//Custom Components\nimport ProductCard from './components/ProductCard'\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\n\n//commonfunctions\nimport { clevertapEvents, facebookTracking } from \"util/commonfunctions\";\n\n// custom style\nimport useStyles from \"assets/jss/components/views/cartStyle\";\n\n\nconst RaymondProducts = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const products = useSelector(state => state.raymond.products)\n const userInfo = useSelector(state => state.user.userinfo)\n\n const [loading, setLoading] = useState(false)\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"danger\");\n\n useEffect(() => {\n fetchProducts()\n }, [dispatch])\n\n\n /*-----------------------fetch raymond products --------------------*/\n const fetchProducts = async () => {\n setLoading(true)\n dispatch(questActions.fetchRaymondProducts()).then(() => {\n setLoading(false)\n }).catch(error => {\n setLoading(false)\n setAlertType(\"danger\")\n setAlertMessage(error.message)\n })\n }\n\n\n //-----------------------Handel Buy Quest---------------------\n const onBuyQuest = async (product) => {\n //clevertap\n const eventData = JSON.stringify({\n 'UserId': userInfo.userId,\n 'ProductId': product.productId,\n 'ProductName': product.productDisplayName\n });\n clevertapEvents('PurchaseInitiate', eventData);\n\n //facebookTracking\n const EventProperty = JSON.stringify({\n 'fb_content_type': product.productDisplayName,\n 'fb_content_id': product.productId,\n 'fb_num_items': 1,\n 'fb_payment_info_available': false,\n 'fb_currency': ''\n });\n facebookTracking('fb_mobile_initiated_checkout', EventProperty)\n\n await dispatch(questActions.addToCart({\n \"cartId\": \"\",\n \"userId\": userInfo.userId,\n \"productId\": product.productId,\n \"productName\": product.productDisplayName,\n 'productIcon': product.productIcon,\n \"qty\": 1,\n \"price\": Number(product.planPrice),\n \"netPrice\": Number(product.planPrice),\n \"planId\": product.planId\n }));\n\n \n props.history.push('/cart',{backTo:\"/raymond-products\"});\n }\n\n\n return (\n
    \n \n \n\n
    \n \n \n
    \n \n {\"Product List\"}\n \n
    \n
    \n\n \n
    {/* style={{ height: '90vh', overflow: \"overlay\", }} */}\n \n
    \n
    \n
    \n\n\n \n
    \n
    \n )\n\n}\n\nexport default RaymondProducts;","import React, { useEffect } from 'react';\nimport { useHistory, useLocation } from \"react-router-dom\";\n//@material-ui/core\nimport Grid from '@material-ui/core/Grid';\nimport Paper from '@material-ui/core/Paper';\nimport ButtonBase from '@material-ui/core/ButtonBase';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\n//material-ui/icons/\nimport LocalOfferIcon from '@material-ui/icons/LocalOffer';\n// core components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n//Lottie\nimport Lottie from 'react-lottie';\nimport ShoppingCartLottie from 'assets/lotties/shopping-cart';\nimport DefaultImage from \"assets/img/task/default.png\";\n// custom style\nimport useStyles from \"assets/jss/components/views/cartStyle\";\n\nconst CartLottieOptions = {\n loop: true,\n autoplay: true,\n animationData: ShoppingCartLottie,\n rendererSettings: {\n preserveAspectRatio: \"xMidYMid slice\"\n }\n};\n\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n \n \n \n {['IT0011', 'ITM0101', 'IPS0111', 'ITP1111'].map((v, i) =>\n \n \n \n
    \n \n
    \n \n
    \n
    \n
    \n )}\n
    \n )\n}\n\n\n\nconst ItemCard = (props) => {\n const classes = useStyles();\n let history = useHistory();\n const location = useLocation();\n const {\n data,\n onRemove,\n loading,\n ...rest\n } = props;\n\n if (loading) {\n return ()\n }\n\n const isSamePrice = (Math.floor(props.data.netPrice) === Math.floor(props.data.price))\n\n return (\n\n \n {data.length ?\n \n \n {data.length} Product in Cart\n \n\n {\n data.map((cartitme, idex) => (\n
    \n \n \n \n \n \n \"complex\"\n \n \n \n \n {cartitme.productName}\n \n \n \n\n \n \n onRemove(cartitme)}>\n Remove\n \n \n \n \n {cartitme.netPrice}{ /* Math.floor() */}\n \n \n \n \n \n \n
    \n ))\n }\n
    \n\n :
    \n \n \n \n {\"Your cart is empty. Keep shopping to find a Quest!\"}\n \n {\n location.state\n ? history.push(location.state.backTo)\n : history.push(\"/products\")\n }} >Keep shopping\n \n
    \n }\n
    \n );\n}\n\nexport default ItemCard;","import React, { useEffect, useState } from 'react';\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n\n//@material-ui/core\nimport Grid from '@material-ui/core/Grid';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Divider from '@material-ui/core/Divider';\nimport Skeleton from '@material-ui/lab/Skeleton';\nimport IconButton from '@material-ui/core/IconButton';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\n\n//@material-ui/icons/\nimport DeleteIcon from '@material-ui/icons/Cancel';\n//Custom Components\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\n// custom style\nimport useStyles from \"assets/jss/components/views/cartStyle\";\n\nfunction Alert(props) {\n return ;\n}\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n
    \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n \n
    \n \n
    \n\n
    \n
    \n )\n}\n\nconst PriceGrid = (props) => {\n const { label, amount, labelStyle, signs } = props;\n const classes = useStyles();\n\n return (\n \n \n \n {label} :\n \n \n \n \n {signs} {amount}\n \n \n \n )\n}\n\n\nconst ShoppingCart = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n const {\n onCheckout,\n payableAmount,\n loading,\n coupon,\n setCoupon,\n onApplyCoupon,\n onRemoveCoupon,\n status,\n appliedCoupon,\n ...rest\n } = props;\n\n const [alertType, setAlertType] = React.useState(\"\");\n const [snackbarMessage, setSnackbarMessage] = useState(\"\")\n const [discountAmt, SetDiscountAmt] = useState(0)\n const [totalAmt, SetTotalAmt] = useState(0)\n\n\n useEffect(() => {\n setAlertType(status.isSuccess ? 'success' : 'error')\n setSnackbarMessage((status.message))\n SetDiscountAmt(0)\n SetTotalAmt(payableAmount)\n\n if (status.isSuccess) {\n SetDiscountAmt(status.extraValue)\n SetTotalAmt(payableAmount - status.extraValue)\n setCoupon(\"\")\n }\n }, [status, payableAmount])\n\n if (loading) {\n return ()\n }\n\n const handleDelete = () => {\n console.info('You clicked the delete icon.');\n };\n\n // Close Snackbar\n const handeCloseSnackbar = () => {\n if (!status.isSuccess) {\n dispatch(questActions.setStoreCouponStatus({}))\n }\n setSnackbarMessage(\"\")\n }\n\n return (\n
    \n\n \n \n {snackbarMessage}\n \n \n\n \n \n\n \n {discountAmt > 0 ?\n \n \n \n \n : null\n }\n\n \n \n \n \n \n \n \n\n \n\n \n \n \n setCoupon(e.target.value)}\n disabled={appliedCoupon?true:false}\n />\n \n \n {/*
    */}\n \n {/*
    */}\n
    \n\n {appliedCoupon ?\n \n
    \n \n \n \n \n {appliedCoupon} coupon is applied\n \n
    \n
    \n : null}\n
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default ShoppingCart;","import React, { useState } from 'react';\nimport PropTypes from \"prop-types\";\n// import axios\nimport axiosConfig from \"util/axios\";\n//Redux\nimport { useDispatch } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\nimport Chip from '@material-ui/core/Chip';\nimport Divider from '@material-ui/core/Divider';\nimport Slide from '@material-ui/core/Slide';\nimport Snackbar from '@material-ui/core/Snackbar';\nimport MuiAlert from '@material-ui/lab/Alert';\nimport LinearProgress from '@material-ui/core/LinearProgress';\nimport { withStyles } from '@material-ui/core/styles';\nimport { green } from '@material-ui/core/colors';\nimport IconButton from '@material-ui/core/IconButton';\nimport InputAdornment from '@material-ui/core/InputAdornment';\n//@material-ui/icons\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\n//import Custom Components\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Dialog from '@material-ui/core/Dialog';\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\n// custom style\nimport useStyles from \"assets/jss/components/views/signupStyle\";\n//validations\nimport { checkNull, checkEmail, checkMinLength, checkMaxLength, checkMobileNumber, checkMobileNumberVerification } from 'util/validations'\n//variables error\nimport { MIN_LENGTH_ERROR, LENGTH_ERROR } from 'variables/general'\n//Common functions\nimport { clevertapEvents } from \"util/commonfunctions\";\n// Views\nimport VerifyMobileOTP from 'components/Views/SignUp/VerifyMobileOTP';\n\nfunction Alert(props) {\n return ;\n}\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\nconst GreenCheckIcon = withStyles({\n root: { color: green[400] }\n})((props) => );\n\nconst EasySignup = (props) => {\n const {\n onSignUp,\n onLogin,\n isLoginAfterSignUp,\n ...rest\n } = props;\n\n const dispatch = useDispatch()\n const classes = useStyles();\n const [openProgress, setOpenProgress] = useState(false)\n\n const [isMobileValidate, setMobileValidation] = useState(false)\n const [alertType, setAlertType] = React.useState(\"success\");\n const [snackbarMessage, setSnackbarMessage] = useState(\"\")\n const [OTPDialog, setOTPDialog] = React.useState(false);\n const [state, setState] = useState({\n firstName: \"\",\n lastName: \"\",\n contactNumber: \"\",\n email: \"\",\n password: \"\",\n errorfirstName: \"\",\n errorlastName: \"\",\n errorcontactNumber: \"\",\n erroremail: \"\",\n errorpassword: \"\"\n })\n const [showPassword, setShowPassword] = React.useState(false);\n\n const handleSignup = async () => {\n let validationObject = {};\n checkNull(\"firstName\", state.firstName, \"First name is required\", validationObject);\n checkNull(\"lastName\", state.lastName, \"Last name is required\", validationObject);\n //checkNull(\"email\", state.email, \"Email ID is required\", validationObject);\n checkNull(\"password\", state.password, \"Password is required\", validationObject);\n checkEmail(\"email\", state.email, \"Email ID is not valid\", validationObject);\n checkNull(\"contactNumber\", state.contactNumber, \"Mobile number is required\", validationObject);\n\n checkMobileNumber(\"contactNumber\", state.contactNumber, \"Mobile number is not valid\", validationObject);\n checkMobileNumberVerification(\"contactNumber\", state.contactNumber, isMobileValidate, \"Please verify mobile number\", validationObject);\n checkMaxLength(\"email\", state.email, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"password\", state.password, 50, LENGTH_ERROR(50), validationObject);\n checkMinLength(\"password\", state.password, 3, MIN_LENGTH_ERROR(\"Password\", 3), validationObject);\n checkMaxLength(\"firstName\", state.firstName, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"lastName\", state.lastName, 50, LENGTH_ERROR(50), validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorfirstName: \"\",\n errorlastName: \"\",\n errorcontactNumber: \"\",\n erroremail: \"\",\n errorpassword: \"\",\n ...validationObject\n });\n } else {\n setOpenProgress(true);\n const userDetails = {\n \"userName\": state.contactNumber,\n \"password\": state.password,\n \"firstName\": state.firstName,\n \"lastName\": state.lastName,\n \"emailId\": state.email,\n \"contactNo\": state.contactNumber,\n \"schoolName\": \"\",\n \"cityName\": \"\"\n }\n\n //clevertap\n const eventData = JSON.stringify({\n 'Mobilenumber': \"+91\"+state.contactNumber,\n 'EmailId': state.email,\n 'UserName': state.contactNumber\n });\n\n clevertapEvents('Registration', eventData);\n\n axiosConfig().post('/QuestUser/RegisterUser', userDetails).then(async response => {\n if (response.data.error) {\n setOpenProgress(false);\n setAlertType(\"error\")\n setSnackbarMessage(response.data.error)\n } else {\n if (isLoginAfterSignUp) {\n await dispatch(questActions.authenticateUser(state.contactNumber, state.password)).catch(function (error) {\n setAlertType(\"error\")\n setSnackbarMessage(error.message)\n });\n }\n setAlertType(\"success\")\n setSnackbarMessage(\"Registration completed successfully!\")\n setOpenProgress(false);\n onSignUp()\n }\n }).catch(function (error) {\n console.log(error);\n });\n\n }\n }\n\n\n\n const onSendOTP = async () => {\n let validationObject = {};\n checkNull(\"contactNumber\", state.contactNumber, \"Mobile number is required\", validationObject);\n checkMobileNumber(\"contactNumber\", state.contactNumber, \"Mobile number is not valid\", validationObject);\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorcontactNumber: \"\",\n ...validationObject\n });\n } else {\n setState({ ...state, errorcontactNumber: \"\" });\n setOpenProgress(true)\n await dispatch(questActions.setContactNumber(state.contactNumber));\n\n //clevertap\n clevertapEvents('OtpRequest', \"{\\\"Mobilenumber\\\":\\\"+91\" + state.contactNumber + \"\\\"}\");\n\n dispatch(questActions.requestForOTP(state.contactNumber)).then(() => {\n setOTPDialog(true)\n setOpenProgress(false)\n }).catch(error => {\n setOpenProgress(false)\n setAlertType(\"error\")\n setSnackbarMessage(error.message)\n });\n }\n }\n\n const verifyMobile = (isVerify) => {\n setMobileValidation(isVerify)\n setAlertType(\"success\")\n setSnackbarMessage(\"Your mobile number is verified\")\n }\n\n const onChangeMobileNumber = (e) => {\n e.preventDefault();\n setState({ ...state, contactNumber: e.target.value })\n setMobileValidation(false)\n }\n\n const handleClickShowPassword = () => {\n setShowPassword((prev) => !prev);\n };\n\n const handleMouseDownPassword = (event) => {\n event.preventDefault();\n };\n\n\n return (\n \n {openProgress\n ? < LinearProgress color=\"primary\" style={{ position: 'absolute', width: '95%', left: 0 }} />\n : null\n }\n\n
    \n
    \n {/*-----Dialog----- */}\n \n \n \n\n {/* -----Snackbar---- */}\n setSnackbarMessage(\"\")} anchorOrigin={{ vertical: 'top', horizontal: 'center' }}>\n setSnackbarMessage(\"\")} severity={alertType}>\n {snackbarMessage}\n \n \n\n \n \n setState({ ...state, firstName: e.target.value })}\n disabled={openProgress ? true : false}\n />\n \n\n \n setState({ ...state, lastName: e.target.value })}\n disabled={openProgress ? true : false}\n />\n \n\n \n +91,\n endAdornment: \n {\n isMobileValidate\n ? \n : \n }\n \n }}\n onInput={(e) => {\n e.target.value = e.target.value ? Math.max(0, parseInt(e.target.value)).toString().slice(0, 10) : \"\"\n }}\n\n />\n \n\n\n \n setState({ ...state, password: e.target.value })}\n disabled={openProgress ? true : false}\n InputProps={{\n endAdornment: (\n \n \n {showPassword ? : }\n \n \n )\n }}\n />\n \n\n \n setState({ ...state, email: e.target.value })}\n disabled={openProgress ? true : false}\n />\n \n\n\n \n\n\n \n \n Sign Up\n \n \n\n
    \n \n
    \n\n \n \n Already have an account? Log In\n \n \n\n
    \n
    \n
    \n )\n}\n\nEasySignup.defaultProps = {\n onSignUp: () => { },\n onLogin: () => { },\n isLoginAfterSignUp: false,\n}\n\nEasySignup.propTypes = {\n onSignUp: PropTypes.func,\n onLogin: PropTypes.func,\n isLoginAfterSignUp: PropTypes.bool,\n}\n\nexport default EasySignup;","import React, { useState, useEffect } from 'react';\nimport { useLocation, useHistory } from \"react-router-dom\";\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n// import axios\nimport axiosConfig from \"util/axios\";\n//validations\nimport { checkNull, checkEmail, checkMaxLength, checkMinLength } from 'util/validations'\n//Common functions\nimport { clevertapEvents } from \"util/commonfunctions\";\n//import Custom Components\nimport Paper from '@material-ui/core/Paper';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport CardHeader from \"components/CustomComponents/Card/CardHeader.js\";\nimport { TextInput } from \"components/CustomComponents/Inputs/Inputs\"\nimport Progress from \"components/CustomComponents/Progress/Progress\"\n// custom style\nimport useStyles from \"assets/jss/components/views/userDetailsStyle\";\n//variables error\nimport { LENGTH_ERROR, MIN_LENGTH_ERROR } from 'variables/general'\n\nconst LoginDetails = (props) => {\n const history = useHistory();\n const location = useLocation();\n const dispatch = useDispatch()\n const classes = useStyles();\n\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n const userInfo = useSelector(state => state.user.userinfo)\n\n\n const [state, setState] = useState({\n pincode: \"\",\n cityName: \"\",\n firstName: \"\",\n email: \"\",\n\n errorpincode: \"\",\n errorcityName: \"\",\n errorfirstName: \"\",\n erroremail: \"\",\n })\n\n const [userId, setUserId] = useState(\"\")\n const [isLoading, setIsLoading] = useState(false)\n\n\n useEffect(() => {\n setIsLoading(true)\n dispatch(questActions.initUserInfo()).then(() => {\n setIsLoading(false)\n }).catch(error => {\n setIsLoading(false)\n setAlertType(\"error\")\n setAlertMessage(error.message)\n })\n }, [dispatch])\n\n\n\n useEffect(() => {\n\n if (userInfo.userId) {\n setUserId(userInfo.userId);\n setState(prvState => {\n return {\n ...prvState,\n pincode:userInfo.pincode,\n cityName:userInfo.cityName,\n firstName: userInfo.firstName,\n email: userInfo.emailId,\n }\n })\n }\n }, [userInfo])\n\n\n\n const validateInputs = async () => {\n let validationObject = {};\n checkNull(\"firstName\", state.firstName, \"Name is required\", validationObject);\n checkNull(\"email\", state.email, \"Email is required\", validationObject);\n checkEmail(\"email\", state.email, \"Email ID is not valid\", validationObject);\n\n checkMaxLength(\"firstName\", state.firstName, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"pincode\", state.pincode, 6, LENGTH_ERROR(6), validationObject);\n checkMaxLength(\"cityName\", state.cityName, 50, LENGTH_ERROR(50), validationObject);\n checkMaxLength(\"email\", state.email, 50, LENGTH_ERROR(50), validationObject);\n\n if (Object.keys(validationObject).length != 0) {\n setState({\n ...state,\n errorpincode: \"\",\n errorcityName: \"\",\n errorlastName: \"\",\n erroremail: \"\",\n ...validationObject\n });\n } else {\n handleRegisterUser();\n }\n }\n\n // Update User info\n const handleRegisterUser = () => {\n\n const userInfo = {\n 'userId': userId,\n 'firstName': state.firstName,\n 'pincode': state.pincode,\n 'cityName': state.cityName,\n 'emailId': state.email\n }\n\n setIsLoading(true);\n\n dispatch(questActions.updateUserDetails(userInfo)).then(async response => {\n props.onUpdateDetails()\n }).catch(function (error) {\n setIsLoading(false);\n setAlertType(\"error\")\n setAlertMessage(error.message)\n });\n }\n\n\n\n // Close Alert\n const onCloseAlert = () => {\n switch (alertType) {\n case \"danger\":\n setAlertMessage(\"\")\n break;\n case \"success\":\n setAlertMessage(\"\")\n props.handleNext()\n break;\n default:\n setAlertMessage(\"\")\n }\n }\n\n\n\n\n return (\n \n \n\n\n
    \n \n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n \n\n \n \n setState({ ...state, firstName: e.target.value })}\n />\n \n \n\n \n \n setState({ ...state, email: e.target.value })}\n />\n \n \n\n\n \n \n setState({ ...state, cityName: e.target.value })}\n />\n \n \n\n \n \n setState({ ...state, pincode: e.target.value })}\n onInput={(e) => {\n e.target.value = e.target.value ? Math.max(0, parseInt(e.target.value)).toString().slice(0, 6) : \"\"\n }}\n />\n \n \n\n \n\n \n
    \n \n Continue\n \n\n
    \n
    \n
    \n\n\n
    \n\n\n\n
    \n\n )\n}\n\nexport default LoginDetails;","import React, { useEffect, useState } from 'react';\nimport { useLocation, Redirect, useHistory } from 'react-router-dom'\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n//@material-ui/core\nimport { useTheme } from \"@material-ui/core/styles\";\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport Alert from '@material-ui/lab/Alert';\nimport AlertTitle from '@material-ui/lab/AlertTitle';\nimport Collapse from '@material-ui/core/Collapse';\nimport Typography from '@material-ui/core/Typography';\nimport IconButton from '@material-ui/core/IconButton';\nimport Slide from '@material-ui/core/Slide';\n// import material-ui/icons\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport ItemCard from 'components/Views/ShoppingCart/ItemCard'\nimport CheckoutCard from 'components/Views/ShoppingCart/CheckoutCard'\nimport Progress from 'components/CustomComponents/Progress/Progress'\nimport CustomizedDialog from \"components/CustomComponents/Dialog/CustomizedDialog\";\nimport AlertDialog from \"components/CustomComponents/Dialog/AlertDialog\";\n// Views\nimport EasySignup from 'components/Views/SignUp/EasySignup'\nimport SigninComponent from 'components/Views/SignIn/SigninSpectrum/SigninComponent'\nimport UserDetails from 'components/Views/UserDetails/UserDetailsPopup'\n// custom style\nimport useStyles from \"assets/jss/components/views/cartStyle\";\n\n\n\n\nconst Transition = React.forwardRef(function Transition(props, ref) {\n return ;\n});\n\n\nconst ShoppingCart = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n const theme = useTheme();\n const location = useLocation();\n const history = useHistory();\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n const cartItems = useSelector(state => state.store.cartitems)\n const PGData = useSelector(state => state.store.PGData)\n const paymentStatus = useSelector(state => state.store.paymentStatus)\n const userInfo = useSelector(state => state.user.userinfo)\n const couponStatus = useSelector(state => state.store.couponStatus)\n const couponCode = useSelector(state => state.store.couponCode)\n\n\n const [loading, setLoading] = useState(false)\n const [progressLoading, setProgressLoading] = useState(false)\n const [signupDialog, setSignupDialog] = React.useState(false);\n const [detailsDialog, setDetailsDialog] = React.useState(false);\n const [loginDialog, setLoginDialog] = React.useState(false);\n const [payableAmount, setPayableAmount] = React.useState(0);\n const [openPaymentStatus, setOpenPaymentStatus] = React.useState(false);\n const [alertMessage, setAlertMessage] = React.useState(\"\");\n const [alertType, setAlertType] = React.useState(\"success\");\n\n const [coupon, setCoupon] = useState(\"\");\n\n useEffect(() => {\n const paramOrderId = location.pathname.split(\"/\")[2];\n if (userInfo.userId) {\n if ((paramOrderId !== \"\" && paramOrderId !== undefined) && (PGData.orderId !== \"\" && paramOrderId !== undefined) && (paramOrderId === PGData.orderId)) {\n dispatch(questActions.checkPaymentStatus(paramOrderId))\n }\n getCartDetails()\n }\n }, [dispatch])\n\n useEffect(() => {\n if (!paymentStatus.isSuccess && paymentStatus.errorCode === 'Failed') {\n setOpenPaymentStatus(true)\n dispatch(questActions.setPaymentGatwayDetails())\n dispatch(questActions.setPaymentStatus())\n setTimeout(() => {\n setOpenPaymentStatus(false)\n }, 6000)\n } else if (paymentStatus.isSuccess && paymentStatus.errorCode === 'Success') {\n dispatch(questActions.setPaymentGatwayDetails())\n dispatch(questActions.setPaymentStatus())\n getCartDetails();\n history.push('/payment-response')\n }\n }, [paymentStatus])\n\n useEffect(() => {\n const AMOUNT = cartItems.reduce((totalAmount, currentValue) => totalAmount + Number(currentValue.netPrice), 0)\n setPayableAmount(AMOUNT.toFixed(2))\n }, [cartItems])\n\n /*----------------------- Get Cart Details --------------------*/\n const getCartDetails = async () => {\n setLoading(true)\n dispatch(questActions.fetchCartItems()).then(() => {\n setLoading(false)\n })\n }\n\n /*-----------------------handle Login Dialog Open --------------------*/\n const openLoginDialog = () => {\n setLoginDialog(true)\n };\n\n /*-----------------------handle Login Dialog Close --------------------*/\n const closeLoginDialog = () => {\n setLoginDialog(false);\n };\n\n /*------------------handle SignUp Dialog Close --------------------*/\n const closeSignUpDialog = () => {\n setSignupDialog(false);\n };\n\n /*-----------------------handel Login --------------------*/\n const handelLogin = async () => {\n closeLoginDialog();\n setLoading(true)\n await dispatch(questActions.fetchCartItems())\n dispatch(questActions.addItemsToCart()).then(() => {\n getCartDetails()\n })\n }\n const _handelLogin = () => {\n closeSignUpDialog();\n setProgressLoading(true)\n setTimeout(() => {\n setProgressLoading(false)\n setLoginDialog(true)\n }, 1000)\n //props.history.push('/signup')\n }\n /*-----------------------Handel Sign Up--------------------*/\n const handelSignUp = async () => {\n closeSignUpDialog();\n setAlertType(\"success\")\n setAlertMessage(\"Registration completed successfully!\")\n await dispatch(questActions.fetchCartItems())\n dispatch(questActions.addItemsToCart()).then(() => {\n getCartDetails()\n })\n }\n\n const _handelSignUp = () => {\n closeLoginDialog();\n setProgressLoading(true)\n setTimeout(() => {\n setProgressLoading(false)\n setSignupDialog(true)\n }, 1000)\n //props.history.push('/signup')\n }\n\n /*-----------------------Handel Checkout--------------------*/\n const handelCheckout = () => {\n if (userInfo.userId) {\n setDetailsDialog(true)\n // dispatch(questActions.getPaymentGatwayDetails())\n } else {\n openLoginDialog()\n }\n }\n /*-----------------------Remove Item--------------------*/\n const handelRemoveItem = (item) => {\n setLoading(true)\n dispatch(questActions.removeItemFromCart(item)).then(() => {\n setLoading(false)\n })\n }\n\n /*-------------------onCloseAlert--------------------*/\n const onCloseAlert = () => {\n setAlertMessage(\"\")\n }\n\n /*-------------------handel Apply Coupon--------------------*/\n const handelApplyCoupon = () => {\n setProgressLoading(true)\n dispatch(questActions.applyStoreCoupon(coupon)).then(() => {\n setProgressLoading(false)\n }).catch(error => {\n setProgressLoading(false)\n setAlertType(\"error\")\n setAlertMessage(error.message)\n })\n }\n\n /*-------------------handel Apply Coupon--------------------*/\n const handelRemoveCoupon = () => {\n dispatch(questActions.setStoreCouponStatus({}))\n dispatch(questActions.setStoreCouponCode(\"\"))\n }\n\n\n /*-------------------handel Update Details-------------------*/\n const handelUpdateDetails = () => {\n setDetailsDialog(false)\n dispatch(questActions.getPaymentGatwayDetails())\n }\n\n return (\n
    \n \n\n {/*----- Spinner---- */}\n {progressLoading ? : null}\n\n\n {/* ----Signin Dialog------ */}\n \n
    \n \n
    \n\n \n\n {/* ----Signup Dialog------ */}\n \n
    \n \n
    \n \n\n\n\n {/* ----User Details Dialog------ */}\n setDetailsDialog(false)}\n dialogContentStyle={{ height: '90%' }}\n dividers={false}\n >\n
    \n \n
    \n \n\n\n { }}\n action={[{ text: 'OK', onPress: () => onCloseAlert() }\n ]}\n />\n\n
    \n \n\n \n
    \n {\n location.state\n ? props.history.push(location.state.backTo)\n : props.history.push(\"/products\")\n }\n\n } style={{ color: \"#fff\" }}>\n \n \n \n {\"Product List\"}\n \n
    \n\n
    \n\n \n \n \n
    \n \n // Try Again\n // \n // }\n >\n Payment failed\n Unfortunately,we couldn't collect payment on your purchase.You can try again.\n \n
    \n
    \n
    \n
    \n\n \n
    \n
    {/* style={{ height: '90vh', overflow: \"overlay\", }} */}\n \n
    \n
    \n
    \n {payableAmount !== 0\n && \n \n \n }\n
    \n
    \n
    \n );\n}\n\nexport default ShoppingCart;","import React, { useEffect, useState } from 'react';\nimport { useLocation, Redirect, useHistory } from 'react-router-dom'\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as questActions from 'store/actions/index'\n\n// material-ui components\nimport { useTheme } from \"@material-ui/core/styles\";\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\n//Custom Components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport Button from 'components/CustomComponents/CustomButtons/Button'\n//Lottie\nimport Lottie from 'react-lottie';\nimport animationData from 'assets/lotties/payment-successful';\nimport loaderAnimationData from 'assets/lotties/loader';\n\n\nconst defaultOptions = {\n loop: true,\n autoplay: true,\n animationData: animationData,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n};\nconst loaderOptions = {\n loop: true,\n autoplay: true,\n animationData: loaderAnimationData,\n rendererSettings: {\n preserveAspectRatio: 'xMidYMid slice'\n }\n};\n\nconst PGResponse = (props) => {\n const dispatch = useDispatch();\n const theme = useTheme();\n const history = useHistory();\n const sm = useMediaQuery(theme.breakpoints.down('sm'));\n const userinfo = useSelector(state => state.user.userinfo)\n const [fetchUserInfo, setFetchUserInfo] = useState(false)\n\n\n // const location = useLocation().pathname.split(\"/\");\n // console.log(location.pop());\n\n useEffect(() => {\n dispatch(questActions.ClearCart())\n dispatch(questActions.initUserInfo()).then(() => {\n dispatch(questActions.initUserQuestList(true)).then(() => {\n setFetchUserInfo(true)\n })\n })\n }, [])\n\n\n useEffect(() => {\n if (fetchUserInfo)\n setTimeout(() => {\n navigateTo(userinfo.showDashboard)\n }, 3000);\n\n }, [fetchUserInfo])\n\n\n // navigate To\n const navigateTo = (showDashboard) => {\n // if (showDashboard)\n // return history.push('/products')\n return history.push('/home')\n }\n\n\n\n\n\n return (\n
    \n \n\n \n \n
    \n \n
    \n
    \n\n \n
    \n \n
    \n
    \n \n
    \n \n
    \n
    \n
    \n\n\n\n
    \n );\n}\n\nexport default PGResponse;","import {\n dangerColor,\n } from \"assets/jss/material-dashboard-react.js\";\n\n import { makeStyles } from \"@material-ui/core/styles\";\n //.....styles..........\n\n const useStyles = makeStyles((theme) => ({\n layout: {\n width: 'auto',\n display: 'block', // Fix IE11 issue.\n marginLeft: theme.spacing(3),\n marginRight: theme.spacing(3),\n paddingTop: theme.spacing() * 5,\n [theme.breakpoints.up(400 + theme.spacing(3 * 2))]: {\n width: 440,\n minHeight:550,\n marginLeft: 'auto',\n marginRight: 'auto',\n },\n textAlign: 'center',\n },\n paper: {\n borderRadius: 5,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n padding: `${theme.spacing() * 2}px ${theme.spacing() * 3}px ${theme.spacing() * 3}px`,\n },\n \n form: {\n maxWidth: '328px',\n width: '100%', // Fix IE11 issue.\n marginTop: theme.spacing(),\n },\n \n }));\n \n export default useStyles;","import React from 'react';\n// custom style\nimport useStyles from \"assets/jss/components/views/connectStyle\";\nimport Paper from '@material-ui/core/Paper';\nimport DialogTitle from '@material-ui/core/DialogTitle';\n\n\nconst Connnect = (props) => {\n const classes = useStyles();\n\n return (\n
    \n
    \n \n
    \n
    {\"Singhania Quest+ App is not available on browsers. Please download Singhania Quest+ App from Google Playstore for Android devices and for iOS devices download it from Apple Appstore.\"}
    \n
    \n
    \n
    \n
    \n );\n}\n\nexport default Connnect;","import {\n dangerColor,\n boxShadow\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n cardStyle: {\n marginBottom: \"15px\",\n marginTop: \"10px\",\n borderRadius: 10,\n // borderBottomStyle: 'inset',\n ...boxShadow,\n // padding: 10\n },\n\n\n subject: {\n // display: 'flex',\n // fontWeight: 'bold',\n lineHeight: 1.2,\n alignItems: 'center',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '2',\n },\n },\n\n gridContainer: {\n margin: 0\n },\n gridItemStyle: {\n padding: 0\n },\n\n gridItemButton: {\n // padding: 0,\n },\n\n\n cardContent: {\n padding: '0px 0px',\n paddingBottom: '0 !important'\n },\n\n buttonContainer: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column'\n },\n buttonClass: {\n width: '100%',\n margin: 0,\n height: '100%',\n borderRadius: 0\n },\n dateContainer: {\n display: 'flex',\n flexDirection: \"column\",\n alignItems: 'center',\n height: '100%',\n justifyContent: 'center'\n },\n nameConatiner: {\n display: 'flex',\n flexDirection: \"column\",\n padding: '5px 0px',\n justifyContent:'center',\n height:'100%'\n }\n}));\n\nexport default useStyles;","import React from 'react';\n// nodejs library to set properties for components\nimport moment from 'moment'\nimport PropTypes from \"prop-types\";\n//@material-ui/core\n\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\n\n// core components\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\n\n//variables\nimport {\n SHARE_URL_ANDROID,\n SHARE_URL_IOS\n} from \"variables/general.js\";\n// custom style\nimport useStyles from \"./styles/messagesCardStyle\";\n\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n {['SK0011', 'DK0101', 'PL0111', 'LK1111'].map((v, i) =>\n \n \n \n
    \n \n
    \n\n
    \n )}\n
    \n )\n}\n\n\n\n\nconst JoinButton = ({ data, datetime, ...rest }) => {\n const onClickJoin = () => {\n if (typeof window.Android === 'undefined' && typeof openNewUrl === 'undefined' && typeof window.openNewUrl === 'undefined') {\n window.open(data.joinLink, \"_blank\")\n } else {\n if (typeof window.Android !== 'undefined') {\n if (typeof window.Android.openZoomUrl !== 'undefined') {\n window.Android.openZoomUrl(data.appJoinLink)\n }\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n if (typeof window.flutter_inappwebview.openZoomUrl !== 'undefined') {\n window.flutter_inappwebview.callHandler('openZoomUrl', data.appJoinLink, '');\n }\n } else {\n if (typeof window.openZoomUrl !== 'undefined') {\n window.openZoomUrl(data.appJoinLink)\n }\n }\n }\n }\n const diff = moment(data.startTime).diff(moment(datetime), 'minutes')\n\n if (diff > 5) {\n return ()\n }\n\n if (diff > 0 && (diff <= 5) || diff > -(data.duration)) {\n return \n }\n\n return ()\n}\n\n\n\nconst MessagesCard = (props) => {\n const classes = useStyles();\n const { loading, data, noDataMessage, currentdatetime } = props;\n\n if (loading) {\n return ()\n }\n\n // handle Click Share\n const handleClickShare = (data) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.shareContent(`Hi, I'm planning to join an online session regarding ${data.scheduleName} on ${moment(data.startTime).format('DD MMM YYYY')} at ${moment(data.startTime).format('hh:mm:ss a')}. I request you to join this session with me by download the Singhania Quest+ app ${SHARE_URL_ANDROID(props.userInfo.userId)}.`)\n } else if (typeof shareContent !== 'undefined') {\n window.shareContent(`Hi, I'm planning to join an online session regarding ${data.scheduleName} on ${moment(data.startTime).format('DD MMM YYYY')} at ${moment(data.startTime).format('hh:mm:ss a')}. I request you to join this session with me by download the Singhania Quest+ app ${SHARE_URL_IOS()}.`)\n } else if (typeof window.flutter_inappwebview !== 'undefined') {\n window.flutter_inappwebview.callHandler('shareContent', \"Hi Quest\");\n }\n }\n\n return (\n \n {data.length ?\n data.map((data, idex) => (\n \n\n \n\n \n \n
    \n \n {`${moment(data.startTime).format('ddd')}`}\n \n \n {`${moment(data.startTime).format('DD')}`}\n \n \n {`${moment(data.startTime).format('MMM YYYY')}`}\n \n
    \n\n
    \n\n \n
    \n
    \n \n TIME - {` ${moment(data.startTime).format('hh:mm:ss a')}`} ({`${data.duration}min`})\n \n
    \n\n
    \n \n {data.scheduleName}\n \n
    \n
    \n
    \n\n \n
    \n \n \n
    \n
    \n
    \n\n
    \n\n
    \n ))\n : \n \n \n {noDataMessage}\n \n\n \n \n }\n
    \n );\n}\n\nMessagesCard.propTypes = {\n loading: PropTypes.bool,\n data: PropTypes.array,\n noDataMessage: PropTypes.string,\n onClickRow: PropTypes.func\n};\n\nexport default MessagesCard;","import { makeStyles } from \"@material-ui/core/styles\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n gridItemMissions: {\n padding: 5\n },\n cardMissions: {\n backgroundColor: 'transparent',\n marginLeft: \"auto\",\n marginRight: \"auto\",\n maxWidth: 248,\n marginBottom: \"0px\",\n boxShadow: 'none',\n margin: '0px 0px 0px 0px'\n },\n imageStyle: {\n width: \"auto\",\n height: \"-webkit-fill-available\"\n },\n infoText: {\n textAlign: 'center',\n lineHeight: '1em',\n height: '2em',\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n },\n stats:{\n padding:'5px 5px 0px 5px'\n }\n\n}));\n\nexport default useStyles;","import React from 'react';\n\n//@material-ui/core\nimport CardActionArea from '@material-ui/core/CardActionArea';\n\n// core components\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Card from \"components/CustomComponents/Card/Card.js\";\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\nimport CardFooter from \"components/CustomComponents/Card/CardFooter.js\";\nimport Info from 'components/CustomComponents/Typography/Info';\n\n// custom style\nimport useStyles from \"./styles\";\n\n// Image\nimport DefaultImage from \"assets/img/task/default.png\";\n\nconst SubjectCard = (props) => {\n\n const classes = useStyles();\n\n const {\n data,\n onClick,\n ...rest\n } = props\n\n return (\n \n {data.map((operation, index) => (\n \n onClick(operation)} >\n \n \n \n \n \n \n \n \n\n \n
    \n {operation.operationDisplayName}\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n ))}\n\n
    \n )\n}\n\n\nexport default SubjectCard;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n fab: {\n position: 'absolute',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n },\n addIcon: {\n // marginRight: theme.spacing(1),\n },\n mainContainer: {\n maxHeight: '78.5vh',\n // backgroundColor: '#fff',\n [theme.breakpoints.down('sm')]: {\n maxHeight: 'calc(100vh - 205px)',\n },\n }\n}));\n\nexport default useStyles;","import React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n\n//Custom Components\nimport MessagesCard from \"../../components/MessageComponents/MessagesCard\";\nimport OperationCard from \"../../components/OperationCards/OperationCard\";\n\n//Style\nimport useStyles from './styles.js'\n\nconst Inbox = (props) => {\n const { loading, currentdatetime, operations } = props\n const dispatch = useDispatch();\n let history = useHistory();\n const classes = useStyles();\n const schedules = useSelector(state => state.schedules.missionsSchedules.scheduleDataResult)\n\n\n const onClickOperation = (operation) => {\n dispatch(questActions.setCurrentOperation(operation))\n history.push({ pathname: '/topics' })\n }\n\n\n return (\n \n { }}\n loading={loading}\n noDataMessage={\"No data available\"}\n currentdatetime={currentdatetime}\n />\n\n \n\n \n )\n}\n\nexport default Inbox;","import React, { useState, useEffect } from \"react\";\n\n//Redux\nimport { useDispatch, useSelector } from 'react-redux'\n//import reducer \nimport * as actions from \"components/Views/MissionsSchedules/store/actions\"\n\n// custom components\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport PageNavigation from 'components/CustomComponents/Navbars/PageNavigation'\n// Views\nimport Todays from './Todays'\n\n\n\n// Styles\nimport { makeStyles } from \"@material-ui/core/styles\";\nconst useStyles = makeStyles((theme) => ({\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n\n}));\n\n\nconst Container = (props) => {\n const dispatch = useDispatch();\n const classes = useStyles();\n\n\n const [loading, setLoading] = useState(false)\n const [currentDataTime, setCurrentDataTime] = useState(new Date())\n\n const mission = useSelector(state => state.content.current_mission)\n const questContent = useSelector(state => state.content.contentlist)\n\n\n\n useEffect(() => {\n setLoading(true)\n let dispatchAction = actions.fetchMissionSchedules(mission.missionId)\n dispatch(dispatchAction).then(() => {\n setLoading(false)\n }).catch(error => {\n setLoading(false)\n console.log(error);\n });\n\n let interval = setInterval(() => setCurrentDataTime(new Date()), 1000);\n return (() => {\n clearInterval(interval);\n })\n\n\n }, [mission.missionId])\n\n\n return (\n \n {/*-----PageNavigation----- */}\n \n\n
    \n \n \n
    \n mission.missionId === current_value.missionId)}\n\n />\n
    \n
    \n
    \n
    \n
    \n )\n}\n\nexport default Container","import * as actionTypes from '../actionTypes';\nimport axiosConfig from \"util/axios\";\n\n//---Missions Schedules---\nexport const setMissionSchedules = (SCHEDULE) => {\n return {\n type: actionTypes.SET_MISSIONS_SCHEDULES,\n schedule: SCHEDULE\n }\n}\n\nexport const fetchMissionSchedules = (Missionid) => {\n return async (dispatch, getState) => {\n const UserId = getState().user.userinfo.userId\n await axiosConfig().get('QuestSchedule/GetTrialSchedules', {\n params: {\n UserId: UserId,\n Missionid: Missionid\n }\n }).then(response => {\n dispatch(setMissionSchedules(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n\n","import * as actionTypes from '../actionTypes';\nimport axiosConfig from \"util/axios\";\n\n//---Todays Online Classes---\nexport const setOnlineAssignment = (testList) => {\n return {\n type: actionTypes.SET_ONLINE_ASSIGNMENT,\n payload: testList\n }\n}\n\nexport const fetchOnlineAssignment = (type, PageNumber, PageSize) => {\n return async (dispatch, getState) => {\n await axiosConfig().post('/OnlineTest/GetTestList', {\n \"type\": type, // type==0 -- ALL Test, type==1 -- OnGoing Test, type==2 -- UpComing Test,type==3 -- Missed Test\n \"testTypeId\": \"0\", //--1 = Objective & 2 = Subjective / Pass \"0\" for all\n \"subjectId\": 0,\n \"pageNumber\": PageNumber,\n \"pageSize\": PageSize\n }).then(response => {\n // console.log(response.data);\n dispatch(setOnlineAssignment(response.data))\n }).catch(function (error) {\n if (error.response.data)\n throw new Error(error.response.data.error)\n throw new Error(error.message);\n });\n }\n}\n\n// old code\n// export const fetchOnlineAssignment = (TabType, PageNumber = 1, PageSize = 10) => {\n// return async (dispatch, getState) => {\n// const UserId = getState().user.userinfo.UserId\n// await axiosConfig().get('/schedule/GetTestSchedule', {\n// params: {\n// UserId: UserId,\n// TabType: TabType,\n// PageNumber: PageNumber,\n// PageSize: PageSize\n// }\n// }).then(response => {\n// dispatch(setOnlineAssignment(response.data))\n// }).catch(function (error) {\n// if (error.response.data)\n// throw new Error(error.response.data.error)\n// throw new Error(error.message);\n// });\n// }\n// }","import { grayColor, blackColor,whiteColor } from \"assets/jss/material-dashboard-react.js\";\n\nconst customTabsStyle = {\n cardTitle: {\n float: \"left\",\n padding: \"10px 10px 10px 0px\",\n lineHeight: \"24px\"\n },\n cardTitleRTL: {\n float: \"right\",\n padding: \"10px 0px 10px 10px !important\"\n },\n displayNone: {\n // display: \"none !important\"\n //backgroundColor: primaryColor[0],\n height:0\n },\n tabsRoot: {\n minHeight: \"unset !important\",\n overflowX: \"visible\",\n \"& $tabRootButton\": {\n fontSize: \"0.875rem\"\n }\n },\n tabRootButton: {\n flexGrow: 1,\n minHeight: \"unset !important\",\n minWidth: \"unset !important\",\n width: \"unset !important\",\n height: \"unset !important\",\n maxWidth: \"unset !important\",\n maxHeight: \"unset !important\",\n padding: \"10px 15px\",\n // borderRadius: \"10px\",\n // lineHeight: \"24px\",\n border: \"0 !important\",\n color: \"#000 !important\",\n // color: 'rgb(182, 188, 226)' + \" !important\",\n // fontWeight: 500,\n transition: 'all .3s',\n backgroundColor: grayColor[5],\n // marginLeft: \"4px\",\n // \"&:last-child\": {\n // marginLeft: \"0px\"\n // }\n },\n tabSelected: {\n transition: 'all .3s',\n backgroundColor: '#f16c2d',\n color: \"#fff !important\",\n // boxShadow: '0 4px 20px 0px rgba(0, 0, 0, 0.14), 0 7px 10px -5px rgba(255, 152, 0, 0.4)'\n // transition: \"0.2s background-color 0.1s\"\n },\n tabWrapper: {\n display: \"inline-block\",\n minHeight: \"unset !important\",\n minWidth: \"unset !important\",\n width: \"unset !important\",\n height: \"unset !important\",\n maxWidth: \"unset !important\",\n maxHeight: \"unset !important\",\n textTransform: 'none',\n fontWeight: \"bold\",\n fontSize: \"12px\",\n marginTop: \"1px\",\n \"& > svg,& > .material-icons\": {\n verticalAlign: \"middle\",\n margin: \"-1px 5px 0 0 !important\"\n }\n }\n};\n\nexport default customTabsStyle;\n","import React from 'react';\nimport PropTypes from 'prop-types';\n\n// material-ui components\nimport { makeStyles, useTheme } from \"@material-ui/core/styles\";\nimport Tabs from \"@material-ui/core/Tabs\";\nimport Tab from \"@material-ui/core/Tab\";\n\nimport SwipeableViews from 'react-swipeable-views';\n\nimport styles from \"./styles\";\nimport { Divider } from '@material-ui/core';\nconst useStyles = makeStyles(styles);\n\nconst NavTab = (props) => {\n const { plainTabs, tabs, onTabChange } = props;\n const classes = useStyles();\n const theme = useTheme();\n const [value, setValue] = React.useState(0);\n const handleChange = (event, value) => {\n setValue(value);\n onTabChange({\n name: tabs[value].tabName,\n icon: tabs[value].tabIcon\n })\n };\n const handleChangeIndex = (index) => {\n setValue(index);\n };\n\n\n return (\n \n\n\n \n {tabs.map((prop, key) => {\n var icon = {};\n if (prop.tabIcon) {\n icon = {\n icon: \n };\n }\n return (\n \n );\n })}\n \n \n \n {tabs.map((prop, key) => {\n if (key === value) {\n return
    {prop.tabContent}
    ;\n }\n return ;\n })}\n \n\n
    \n );\n}\n\nNavTab.propTypes = {\n headerColor: PropTypes.oneOf([\n \"warning\",\n \"success\",\n \"danger\",\n \"info\",\n \"primary\",\n \"rose\"\n ]),\n title: PropTypes.string,\n onTabChange: PropTypes.func,\n tabs: PropTypes.arrayOf(\n PropTypes.shape({\n tabName: PropTypes.string.isRequired,\n tabIcon: PropTypes.object,\n tabContent: PropTypes.node.isRequired\n })\n ),\n rtlActive: PropTypes.bool,\n plainTabs: PropTypes.bool\n};\n\nexport default NavTab;","import React from \"react\";\nimport PropTypes from \"prop-types\";\n// @material-ui/core components\nimport { makeStyles } from \"@material-ui/core/styles\";\n// core components\nimport styles from \"assets/jss/components/customcomponents/typographyStyle.js\";\n\nconst useStyles = makeStyles(styles);\n\nexport default function InputLabel(props) {\n const classes = useStyles();\n const { children } = props;\n return (\n
    \n {children}\n
    \n );\n}\n\nInputLabel.propTypes = {\n children: PropTypes.node\n};\n","import {\n dangerColor,\n boxShadow,\n primaryColor\n} from \"assets/jss/material-dashboard-react.js\";\n\nimport { makeStyles } from \"@material-ui/core/styles\";\n//.....styles..........\n\nconst useStyles = makeStyles((theme) => ({\n cardStyle: {\n // marginBottom: \"30px\",\n // marginTop: \"30px\",\n borderRadius: 0,\n borderBottomStyle: 'inset',\n // ...boxShadow,\n padding: 10\n },\n listGridContainer: {\n display: 'flex',\n justifyContent: \"center\"\n },\n paperName: {\n color:primaryColor[0],\n width: '100%',\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n senderName: {\n width: '100%',\n fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n subject: {\n // fontWeight: 'bold',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '1',\n },\n },\n messageText: {\n overflow: 'hidden',\n lineHeight: 1.3,\n textOverflow: 'ellipsis',\n display: '-webkit-box',\n '-webkit-line-clamp': '2',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n '-webkit-line-clamp': '2',\n },\n fontSize: '0.875rem',\n fontWeight: '500',\n letterSpacing: ' 0.00714em'\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n fontSize: 14,\n marginRight: 5\n },\n gridContainerStyle: {\n margin: 0,\n height: '100%',\n overflowY: 'overlay',\n overflowX: 'hidden',\n [theme.breakpoints.down('sm')]: {\n // height: '60vh',\n },\n },\n gridItemStyle: {\n padding: 0\n },\n cardContent: {\n padding: '0px 16px',\n [theme.breakpoints.down('sm')]: {\n padding: '0px 2px',\n },\n },\n chip: {\n margin: theme.spacing(0.2),\n borderRadius: 2,\n maxWidth: 400,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n '-webkit-line-clamp': '1',\n '-webkit-box-orient': 'vertical',\n [theme.breakpoints.down('sm')]: {\n maxWidth: '-webkit-fill-available',\n },\n },\n iconTime: {\n fontSize: 14,\n marginRight: 2\n },\n icon_text: {\n display: 'flex',\n alignItems: 'center',\n marginRight: 15\n },\n not_attempt:{\n color:'#f44336',\n }\n\n}));\n\nexport default useStyles;","import React from 'react';\n// nodejs library to set properties for components\nimport moment from 'moment'\nimport PropTypes from \"prop-types\";\nimport { useHistory } from \"react-router-dom\";\n//@mate;rial-ui/core\nimport Card from '@material-ui/core/Card';\nimport CardActions from '@material-ui/core/CardActions';\nimport CardContent from '@material-ui/core/CardContent';\nimport Typography from '@material-ui/core/Typography';\nimport Skeleton from '@material-ui/lab/Skeleton';\n\n// core components\nimport GridContainer from \"components/CustomComponents/Grid/GridContainer.js\"\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Button from \"components/CustomComponents/CustomButtons/Button.js\";\nimport InputLabel from 'components/CustomComponents/Typography/InputLabel';\n// custom style\nimport useStyles from \"./styles\";\n\n//Icon\nimport TodayIcon from '@material-ui/icons/Today';\nimport AccessTimeIcon from '@material-ui/icons/AccessTime';\nimport TimelapseIcon from '@material-ui/icons/Timelapse';\n\n\n\nconst SkeletonCard = (props) => {\n const classes = useStyles();\n return (\n {['SK0011', 'DK0101', 'PL0111', 'LK1111'].map((v, i) =>\n \n \n \n
    \n \n
    \n\n
    \n )}\n
    \n )\n}\n\n\n\nconst AssignmentCard = (props) => {\n const classes = useStyles();\n let history = useHistory();\n\n const { loading, data, noDataMessage, type } = props;\n\n\n if (loading) {\n return ()\n }\n const JoinButton = ({ currentData }) => {\n\n console.log(currentData)\n const handleClickStartTest = () => {\n let token = sessionStorage.getItem('token');\n let MLink = window.ONLINE_ASSESSMENT_URL + '?tk=' + token + '&osaid=' + currentData.onlineStudentAssignmentId + '&type=web'\n history.push('/online-test', { testLink: MLink, testName: currentData.paperName })\n }\n\n const handleClickViewSolution = () => {\n let token = sessionStorage.getItem('token');\n let MLink = window.VIEW_SOLUTION_URL + '?tk=' + token + '&osaid=' + currentData.onlineStudentAssignmentId + '&attemptid=' + currentData.attemptList[0].onlineStudentAssignmentAttemptId + '&type=web'\n history.push('/online-test', { testLink: MLink, testName: currentData.paperName })\n }\n\n if (type === 1 || type === 't3') {\n return ()\n }\n\n if (type === 2) {\n return ()\n }\n\n if (type === 3) {\n return (\n { currentData.attemptList.length === 0 &&
    Not Attempted
    }\n {currentData.isViewSolution && currentData.attemptList.length\n ? \n : null\n }\n
    )\n }\n\n return (null)\n }\n\n const handleClickViewReport = (currentData) => {\n let token = sessionStorage.getItem('token');\n let MLink = window.DIAGNOSTIC_REPORT_URL + '?tk=' + token + '&osaid=' + currentData.onlineStudentAssignmentId + '&type=web'\n history.push('/online-test', { testLink: MLink, testName: currentData.paperName })\n }\n\n const handleDownloadReport = (fileUrl) => {\n if (typeof window.Android !== 'undefined') {\n window.Android.downloadFile(fileUrl);\n } else {\n fetch(fileUrl)\n .then(res => res.blob()) // Gets the response and returns it as a blob\n .then(blob => {\n let objectURL = URL.createObjectURL(blob);\n const link = document.createElement(\"a\");\n link.href = objectURL;\n document.body.appendChild(link);\n link.setAttribute('download', 'Report.pdf');\n link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));\n // Remove link from body\n document.body.removeChild(link);\n });\n }\n }\n\n\n return (\n \n \n \n {data.length ?\n data.map((assessment, idex) => (\n \n\n \n
    \n \n {assessment.testAlternateName}\n \n \n {assessment.testTypeName + \" | \" + assessment.totalQuestions + \" Questions\" + \" | \" + assessment.totalMarks + \" Marks\" + \" | \" + assessment.testDuration + \" min\"}\n \n\n
    \n\n
    \n \n \n {`${moment(assessment.testAssignStartDate).format('DD-MM-YYYY')} ${moment(assessment.testAssignStartDate).format('hh:mm a')}`}\n \n
    \n\n
    \n \n \n {`${moment(assessment.testAssignEndDate).format('DD-MM-YYYY')} ${moment(assessment.testAssignEndDate).format('hh:mm:ss a')}`}\n \n
    \n\n
    \n
    \n
    \n\n \n \n {assessment.isViewDiagnosticReport && assessment.attemptList.length > 0\n && handleClickViewReport(assessment)}>View Report\n }\n {assessment.isReportGenerated && assessment.attemptList.length > 0\n ? handleDownloadReport(assessment.reportPath)}>Download Report\n : !assessment.isReportGenerated && assessment.attemptList.length > 0&& Not Generated Report\n }\n \n
    \n ))\n :
    \n \n {noDataMessage}\n \n\n
    \n\n }\n
    \n
    \n
    \n );\n}\n\nAssignmentCard.propTypes = {\n loading: PropTypes.bool,\n data: PropTypes.array,\n noDataMessage: PropTypes.string,\n onClickRow: PropTypes.func\n};\n\nexport default AssignmentCard;","import { makeStyles } from '@material-ui/core/styles';\n\nconst useStyles = makeStyles((theme) => ({\n fab: {\n position: 'absolute',\n bottom: theme.spacing(2),\n right: theme.spacing(2),\n },\n addIcon: {\n // marginRight: theme.spacing(1),\n },\n \n mainContainer: {\n \n flexShrink: 0,\n overflow: 'auto',\n height: '80vh',\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: '#fff',\n [theme.breakpoints.down('sm')]: {\n height: 'calc(100vh - 88px)',\n // maxHeight: 'calc(100vh - 165px)',\n },\n }\n}));\n\nexport default useStyles;","import React from \"react\";\n\n//Redux\nimport { useSelector } from 'react-redux'\n\n// Components\nimport Pagination from '@material-ui/lab/Pagination';\n\n//Custom Components\nimport AssignmentCard from \"components/Views/AssessmentTests/components/AssignmentCard\";\n\n//Style\nimport useStyles from './styles.js'\n\nconst OnGoingTest = (props) => {\n const { loading, fetchAssessments,tabName } = props\n const Test = useSelector(state => state.onlineassignment.tests)\n const classes = useStyles();\n const [page, setPage] = React.useState(1);\n\n\n // handle Page Change\n const handlePageChange = (event, value) => {\n setPage(value);\n fetchAssessments(tabName, value)\n };\n\n\n return (\n
    \n { }}\n loading={loading}\n noDataMessage={\"No data available\"}\n type={tabName}\n />\n
    \n \n
    \n
    \n )\n}\n\nexport default OnGoingTest;","import React, { useState, useEffect } from \"react\";\n\n//Redux\nimport { useDispatch, useSelector } from \"react-redux\";\n//import reducer\nimport * as actions from \"components/Views/AssessmentTests/store/actions\";\n\n//@material-ui/icons\nimport InboxIcon from \"@material-ui/icons/Inbox\";\nimport ForumIcon from \"@material-ui/icons/Forum\";\n\n// custom components\nimport PageNavigation from \"components/CustomComponents/Navbars/PageNavigation\";\nimport CustomTabs from \"components/CustomComponents/CustomTabs/CustomTabs\";\n\n// Views\nimport OnlineTest from \"./components/OnlineTestList\";\n\nconst Container = (props) => {\n // type==0 -- ALL Test\n // type==1 -- OnGoing Test\n // type==2 -- UpComing Test\n // type==3 -- Past Test\n\n const dispatch = useDispatch();\n const [selectedTab, setSelectedTab] = useState({\n name: \"Ongoing\",\n icon: InboxIcon,\n });\n const [loading, setLoading] = useState(false);\n\n useEffect(() => {\n setLoading(true);\n if (selectedTab.name === \"Ongoing\") fetchOnlineTest(1);\n if (selectedTab.name === \"Upcoming\") fetchOnlineTest(2);\n if (selectedTab.name === \"Past\") fetchOnlineTest(3);\n }, [selectedTab]);\n\n // fetch Online Test\n const fetchOnlineTest = async (tabtype, page = 0, pageSize = 10) => {\n await dispatch(actions.fetchOnlineAssignment(tabtype, page, pageSize))\n .then(() => {\n setLoading(false);\n })\n .catch((error) => {\n setLoading(false);\n console.log(error);\n });\n };\n\n return (\n \n {/*-----PageNavigation----- */}\n \n
    \n setSelectedTab(name)}\n tabs={[\n {\n tabName: \"Ongoing\",\n tabContent: (\n \n ),\n },\n {\n tabName: \"Upcoming\",\n tabContent: (\n \n ),\n },\n {\n tabName: \"Past\",\n tabContent: (\n \n ),\n },\n ]}\n >\n
    \n
    \n );\n};\n\nexport default Container;\n","import React from \"react\";\nimport \"./TableAnalysis.css\";\n\nfunction CommonAnalysisTable({ data, heading, style }) {\n // Function to safely get values from an object by key\n function getKeyValue(obj, key) {\n return obj[key] !== undefined ? obj[key] : \"-\"; // Return \"-\" if the key is not found\n }\n\n if (data.length === 0) {\n return null;\n }\n\n return (\n
    \n {heading &&

    {heading}

    }\n \n \n \n {Object.keys(data[0].map).map((key) => (\n \n ))}\n \n \n \n {data[0].questions.map((question, questionIndex) => {\n return (\n \n {Object.keys(data[0].map).map((key, keyIndex) => {\n return (\n \n );\n })}\n \n );\n })}\n \n
    {data[0].map[key]}
    \n
    \n );\n}\n\nexport default CommonAnalysisTable;\n","import React from \"react\";\nimport ReactApexChart from \"react-apexcharts\";\nfunction AssignMentChart({ chartData, style }) {\n if (Object.keys(chartData).length === 0) {\n return null;\n }\n return (\n
    \n
    \n \n
    \n
    \n
    \n );\n}\n\nexport default AssignMentChart;\n","import React from \"react\";\n\nfunction TableLoader({ heading, data, loading, error }) {\n return (\n \n

    {heading}

    \n {loading ? (\n \n
    \n
    {data}
    \n \n ) : error ? (\n
    {error}
    \n ) : (\n \"\"\n )}\n \n );\n}\n\nexport default TableLoader;\n\n// height: 100%;\n// display: flex;\n// flex-direction: column;\n// justify-content: center;\n// align-items: center;\n","import React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport CommonAnalysisTable from \"./CommonAnalysisTable\";\nimport AssignMentChart from \"./AssignMentChart\";\nimport PageNavigation from \"components/CustomComponents/Navbars/PageNavigation\";\nimport TableLoader from \"./TableLoader\";\n\nfunction convertSeconds(seconds) {\n if (\n seconds === 0 ||\n seconds === undefined ||\n seconds === \"\" ||\n seconds === null\n ) {\n return \"0\";\n }\n const minutes = Math.floor(seconds / 60); // Get the whole number of minutes\n const remainingSeconds = seconds % 60;\n return `${minutes} : ${remainingSeconds}`;\n}\n\nfunction AssessmentTestReport() {\n const [performanceData, setPerformanceData] = useState([]);\n const [overallPerformanceData, setOverallPerformanceData] = useState([]);\n const [chartData, setChartData] = useState({});\n\n const [performanceLoading, setPerformanceLoading] = useState(true);\n const [overallPerformanceLoading, setOverallPerformanceLoading] =\n useState(true);\n const [overallPerformanceError, setOverallPerformanceError] = useState(null);\n\n const [performanceError, setPerformanceError] = useState(null);\n\n const [timeManagement, setTimeManagement] = useState(true);\n const [timeManagementLoading, setTimeManagementLoading] = useState(true);\n const [timeManagementError, setTimeManagementError] = useState(null);\n\n useEffect(() => {\n fetchPerformanceData();\n fetchOverallPerformanceData();\n fetchTimeManagementData();\n }, []);\n\n const fetchTimeManagementData = async () => {\n setTimeManagementLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getTestTimeReport\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n groupId: \"G1880\",\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n setTimeManagement(timeManagementModifiedData(apiData));\n // setChartData(generateChartData(apiData));\n } catch (error) {\n setTimeManagementError(\"Failed to fetch performance data\");\n } finally {\n setTimeManagementLoading(false);\n }\n };\n\n const timeManagementModifiedData = (apiData) => {\n return [\n {\n map: {\n testName: \"Test Name\",\n Your_Time: \"By You (mm:ss)\",\n Average_of_All_Student: \"Avg of all students (mm:ss)\",\n Average_of_Top_Ten_Percentile: \"Avg of top 10 percentile (mm:ss)\",\n },\n questions: apiData.map((q) => ({\n testName: q?.TestId\n ? `${q.TestName} `\n : q.TestName,\n Your_Time: convertSeconds(q.Your_Time),\n Average_of_All_Student: convertSeconds(q.Average_of_All_Student),\n Average_of_Top_Ten_Percentile: `${convertSeconds(\n q.Average_of_Top_Ten_Percentile\n )} / ${q.TotalTime} min`,\n })),\n },\n ];\n };\n\n const fetchPerformanceData = async () => {\n setPerformanceLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getOverallPerformanceAnalysisReport\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n groupId: \"G1880\",\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n setPerformanceData(processOverallPerformanceData(apiData));\n setChartData(generateChartData(apiData));\n } catch (error) {\n setPerformanceError(\"Failed to fetch performance data\");\n } finally {\n setPerformanceLoading(false);\n }\n };\n\n const fetchOverallPerformanceData = async () => {\n setOverallPerformanceLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getPerformanceCategoryReport\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n groupId: \"G1880\",\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n console.log(\"ssssapiData\", apiData);\n const map = new Map(\n [...apiData?.Data, ...apiData?.Overall].map((obj) => [obj.TestId, obj])\n );\n\n const mergedMainArray = Array.from(map.values());\n\n const userDatamap = new Map(\n [...apiData?.UserData, ...apiData?.OverallUserData].map((obj) => [\n obj.TestId,\n obj,\n ])\n );\n const mergedUserArray = Array.from(userDatamap.values());\n\n setOverallPerformanceData(\n processPerformanceData(mergedMainArray, mergedUserArray)\n );\n } catch (error) {\n setOverallPerformanceError(\"Failed to fetch overall performance data\");\n } finally {\n setOverallPerformanceLoading(false);\n }\n };\n\n const generateChartData = (apiData) => {\n return {\n series: [\n {\n name: \"Your Mark\",\n data: apiData.map((q) => q.Your_Mark),\n },\n {\n name: \"Avg of all student\",\n data: apiData.map((q) => q.Average_of_All_Student),\n },\n {\n name: \"Topper Marks\",\n data: apiData.map((q) => q.Topper_Mark),\n },\n {\n name: \"Avg of top 10 percentile\",\n data: apiData.map((q) => q.Average_of_Top_Ten_Percentile),\n },\n ],\n options: {\n chart: {\n type: \"bar\",\n height: 350,\n },\n plotOptions: {\n bar: {\n horizontal: false,\n columnWidth: \"55%\",\n endingShape: \"rounded\",\n },\n },\n dataLabels: {\n enabled: false,\n },\n stroke: {\n show: true,\n width: 2,\n colors: [\"transparent\"],\n },\n xaxis: {\n categories: apiData.map((q) => q.TestName),\n },\n yaxis: {\n title: {\n text: \"Marks\",\n },\n },\n fill: {\n opacity: 1,\n },\n tooltip: {\n y: {\n formatter: (val) => ` ${val} Marks`,\n },\n },\n },\n };\n };\n\n const processPerformanceData = (apiData, userData) => {\n return [\n {\n map: {\n testName: \"Test Name\",\n above_85: \">85%\",\n between_75_85: \"75-85%\",\n between_63_75: \"63-75%\",\n between_55_63: \"55-63%\",\n between_48_55: \"48-55%\",\n between_40_48: \"40-48%\",\n below_40: \"<40%\",\n },\n questions: apiData.map((q) => {\n const userDataObj = userData.find((obj) => obj.TestId === q.TestId);\n console.log(\"userDataObj\", userDataObj);\n return {\n testName: q?.TestId\n ? `${q.TestName} `\n : \"Overall\",\n above_85: q.above_85,\n between_75_85:\n userDataObj?.between_75_85 > 0\n ? `${q.between_75_85}`\n : q?.between_75_85,\n between_63_75:\n userDataObj?.between_63_75 > 0\n ? `${q.between_63_75}`\n : q?.between_63_75,\n\n between_55_63:\n userDataObj?.between_55_63 > 0\n ? `${q.between_55_63}`\n : q?.between_55_63,\n between_48_55:\n userDataObj?.between_48_55 > 0\n ? `${q.between_48_55}`\n : q?.between_48_55,\n between_40_48:\n userDataObj?.between_40_48 > 0\n ? `${q.between_40_48}`\n : q?.between_40_48,\n below_40:\n userDataObj?.below_40 > 0\n ? `${q.below_40}`\n : q?.below_40,\n };\n }),\n },\n ];\n };\n\n const processOverallPerformanceData = (apiData) => {\n return [\n {\n map: {\n testName: \"Test Name\",\n Your_Mark: \"Your Mark\",\n Average_of_All_Student: \"Avg of all student\",\n Topper_Mark: \"Topper Marks\",\n Average_of_Top_Ten_Percentile: \"Avg of top 10 percentile\",\n },\n questions: apiData.map((q) => ({\n testName: q?.TestId\n ? `${q.TestName} `\n : q.TestName,\n Your_Mark: q.Your_Mark,\n Average_of_All_Student: q.Average_of_All_Student,\n Topper_Mark: q.Topper_Mark,\n Average_of_Top_Ten_Percentile: `${q.Average_of_Top_Ten_Percentile} / ${q.TotalMarks}`,\n })),\n },\n ];\n };\n // console.log(\"overallPerformanceData\", overallPerformanceData);\n return (\n <>\n \n\n
    \n {/* Performance Categories Table */}\n {overallPerformanceLoading ? (\n \n ) : overallPerformanceError ? (\n \n ) : (\n \n )}\n\n {/* Performance Analysis Section */}\n \n

    \n Overall Performance Analysis\n

    \n\n
    \n {performanceLoading ? (\n \n
    \n
    \n Loading Overall Performance Analysis ...\n
    \n
    \n ) : performanceError ? (\n

    {performanceError}

    \n ) : (\n <>\n \n \n \n )}\n
    \n \n
    \n {timeManagementLoading ? (\n \n ) : timeManagementError ? (\n \n ) : (\n \n )}\n
    \n \n \n );\n}\n\nexport default AssessmentTestReport;\n","import React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport \"./TableAnalysis.css\";\nimport TableLoader from \"./TableLoader\";\nconst QuestionWiseAnalysis = ({ testId }) => {\n const [questionWiseData, setQuestionWiseData] = useState([]);\n const [questionWiseDataLoading, setQuestionWiseDataLoading] = useState(true);\n const [questionWiseDataError, setQuestionWiseDataError] = useState(null);\n\n useEffect(() => {\n fetchQuestionWiseAnalysis(testId);\n // fetchQuestionWiseAnalysis(testId);\n }, [testId]);\n const fetchQuestionWiseAnalysis = async (testId) => {\n setQuestionWiseDataLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getQuestionWiseTestAnalysis\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n testId: testId,\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n console.log(\"apiData\", apiData);\n setQuestionWiseData(apiData);\n } catch (error) {\n setQuestionWiseDataError(\"Failed to fetch QuestionWise data\");\n } finally {\n setQuestionWiseDataLoading(false);\n }\n };\n\n return (\n
    \n {questionWiseDataLoading ? (\n \n ) : questionWiseDataError ? (\n \n ) : (\n <>\n

    Question wise Analysis

    \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {questionWiseData.map((question, questionIndex) => {\n try {\n return (\n \n \n \n \n \n \n \n \n \n \n \n );\n } catch (error) {\n console.error(`Error rendering row ${questionIndex}:`, error);\n return (\n \n \n \n );\n }\n })}\n \n
    Q No.Attempt (%)Right (%)Wrong (%)Difficulty LevelCorrect ResponseYour ResponseTime Spent (SS)
    YouAll Student Avg
    {questionIndex + 1}\n {question?.AttemptPercentage?.toFixed(2) ?? \"N/A\"}\n {question?.RightPercentage?.toFixed(2) ?? \"N/A\"}{question?.WrongPercentage?.toFixed(2) ?? \"N/A\"}{question?.DifficultyLevel ?? \"N/A\"}{question?.Correct_Response ?? \"N/A\"}{question?.Your_Response ?? \"N/A\"}{question?.Your_Time ?? \"N/A\"}{question?.All_Student_Average_Time ?? \"N/A\"}
    Error rendering this row
    \n \n )}\n
    \n );\n};\n\nexport default QuestionWiseAnalysis;\n","import React, { useState, useEffect } from \"react\";\nimport axios from \"axios\";\nimport QuestionWiseAnalysis from \"./QuestionWiseAnalysis\";\nimport CommonAnalysisTable from \"./CommonAnalysisTable\";\nimport PageNavigation from \"components/CustomComponents/Navbars/PageNavigation\";\nimport { useParams } from \"react-router-dom\";\nimport TableLoader from \"./TableLoader\";\n\nfunction TestReport() {\n const { id } = useParams();\n\n const [bloomData, setBloomData] = useState([]);\n const [bloomDataLoading, setBloomDataLoading] = useState(true);\n const [bloomDataError, setBloomDataError] = useState(null);\n\n const [levelOfEffort, setLevelOfEffort] = useState([]);\n const [levelOfEffortLoading, setLevelOfEffortLoading] = useState(true);\n const [levelOfEffortError, setLevelOfEffortError] = useState(null);\n\n const [dokData, setdokData] = useState([]);\n const [dokDataLoading, setdokDataLoading] = useState(true);\n const [dokDataError, setdokDataError] = useState(null);\n\n useEffect(() => {\n fetchTBloomData(id);\n fetchEffortLevelData(id);\n fetchDokLevelData(id);\n }, [id]);\n\n const fetchTBloomData = async (testId) => {\n setBloomDataLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getTestBloomLevelAnalysis\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n testId: testId,\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n console.log(\"apiData\", apiData);\n setBloomData(bloomModifiedData(apiData));\n // setChartData(generateChartData(apiData));\n } catch (error) {\n setBloomDataError(\"Failed to fetch Bloom data\");\n } finally {\n setBloomDataLoading(false);\n }\n };\n\n const fetchEffortLevelData = async (testId) => {\n setLevelOfEffortLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getTestLOELevelAnalysis\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n testId: testId,\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n console.log(\"apiData\", apiData);\n setLevelOfEffort(levelOdEffortModifiedData(apiData));\n // setChartData(generateChartData(apiData));\n } catch (error) {\n setLevelOfEffortError(\"Failed to fetch Level Of Effort data\");\n } finally {\n setLevelOfEffortLoading(false);\n }\n };\n\n const fetchDokLevelData = async (testId) => {\n setdokDataLoading(true);\n try {\n const response = await axios.post(\n \"https://apiv2.questplus.in/api/reports/getTestDOKLevelAnalysis\",\n {\n payload: {\n token: sessionStorage.getItem(\"token\"),\n isJwt: true,\n testId: testId,\n },\n pager: {\n sortField: \"TestId\",\n sortOrder: \"desc\",\n rowNumber: 1,\n recordsPerPage: 5,\n filteredRecords: null,\n totalRecords: 0,\n },\n }\n );\n const apiData = response.data.payload;\n console.log(\"apiData\", apiData);\n setdokData(dokModifiedData(apiData));\n // setChartData(generateChartData(apiData));\n } catch (error) {\n setdokDataError(\"Failed to fetch Dok Level Of Effort data\");\n } finally {\n setdokDataLoading(false);\n }\n };\n let bloomResMapdata = {\n Average_Of_All_Students: \"Average of all students\",\n Average_Of_Top_Ten_Percentile: \"Average of top 10 percentile\",\n Your_Score: \"Your Score\",\n };\n const bloomModifiedData = (apiData) => {\n if (!apiData || typeof apiData !== \"object\") {\n throw new Error(\"Invalid input: apiData must be an object\");\n }\n\n const bloomResult = Object.entries(apiData)\n .map(([key, value]) => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n const data = value[0];\n return {\n testName: bloomResMapdata[key] || key,\n recall: data.Recall ?? 0,\n understand: data.Understand ?? 0,\n analysis: data.Analysis ?? 0,\n create: data.Create ?? 0,\n application: data.Application ?? 0,\n evaluate: data.Evaluate ?? 0,\n };\n })\n .filter((item) => item !== null);\n\n return [\n {\n map: {\n testName: \"Bloom Name\",\n recall: \"Recall\",\n understand: \"Understand\",\n analysis: \"Analysis\",\n create: \"Create\",\n application: \"Application\",\n evaluate: \"Evaluate\",\n },\n questions: bloomResult,\n },\n ];\n };\n\n const levelOdEffortModifiedData = (apiData) => {\n if (!apiData || typeof apiData !== \"object\") {\n throw new Error(\"Invalid input: apiData must be an object\");\n }\n\n const bloomResult = Object.entries(apiData)\n .map(([key, value]) => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n const data = value[0];\n return {\n testName: bloomResMapdata[key] || key,\n low: data.Low ?? 0,\n moderate: data.Moderate ?? 0,\n high: data.High ?? 0,\n };\n })\n .filter((item) => item !== null);\n\n return [\n {\n map: {\n testName: \"Effort Level\",\n low: \"Low\",\n moderate: \"Moderate\",\n high: \"High\",\n },\n questions: bloomResult,\n },\n ];\n };\n\n const dokModifiedData = (apiData) => {\n if (!apiData || typeof apiData !== \"object\") {\n throw new Error(\"Invalid input: apiData must be an object\");\n }\n\n const dokResult = Object.entries(apiData)\n .map(([key, value]) => {\n if (!Array.isArray(value) || value.length === 0) {\n return null;\n }\n\n const data = value[0];\n return {\n testName: bloomResMapdata[key] || key,\n Application: data.Application ?? 0,\n Extended_Thinking: data.Extended_Thinking ?? 0,\n Recall: data.Recall ?? 0,\n Strategic_Thinking: data.Strategic_Thinking ?? 0,\n };\n })\n .filter((item) => item !== null);\n\n return [\n {\n map: {\n testName: \"Difficult Level\",\n Application: \"Application\",\n Extended_Thinking: \"Extended Thinking\",\n Recall: \"Recall\",\n Strategic_Thinking: \"Strategic Thinking\",\n },\n questions: dokResult,\n },\n ];\n };\n\n return (\n <>\n \n
    \n {bloomDataLoading ? (\n \n ) : bloomDataError ? (\n \n ) : (\n \n )}\n\n
    \n {dokDataLoading ? (\n \n ) : dokDataError ? (\n \n ) : (\n \n )}\n\n {levelOfEffortLoading ? (\n \n ) : levelOfEffortError ? (\n \n ) : (\n \n )}\n
    \n\n \n
    \n \n );\n}\n\nexport default TestReport;\n","const styles = (theme) => ({\n // ----------\n overlap_13: {\n borderRadius: \"8px\",\n background: \"#fff\",\n marginBottom: 0,\n marginTop: \"12px\",\n transition: \"box-shadow 0.3s ease-in-out\", // Transition for smooth hover effect\n \"&:hover\": {\n boxShadow: \"0px 2px 40px 0px rgba(0, 0, 0, 0.1)\",\n border: \"#000\",\n },\n },\n\n cardBoady: {\n flex: \"1 1 auto\",\n position: \"relative\",\n \"-webkit-box-flex\": 1,\n },\n\n image_wrapper: {\n display: \"flex\",\n justifyContent: \"center\",\n paddingRight: 0,\n paddingLeft: 30,\n },\n image_4: {\n height: \"130px\",\n width: \"130px\",\n },\n\n text_wrapper_56: {\n color: \"#ffffff\",\n fontSize: \"20px\",\n fontWeight: 500,\n letterSpacing: 1,\n paddingRight: 15,\n \"-webkit-line-clamp\": \"1\",\n\n display: \"flex\",\n alignItems: \"center\",\n height: \"100%\",\n },\n text_wrapper_57: {\n color: \"#ffffff\",\n fontSize: \"14px\",\n fontWeight: 500,\n letterSpacing: 1,\n lineHeight: \"20px\",\n paddingRight: 15,\n overflow: \"hidden\",\n \"-webkit-line-clamp\": \"2\",\n },\n\n card_wrapper: {\n display: \"flex\",\n gap: \"15px\",\n border: \"1px solid rgba(105, 105, 105, 0.33)\",\n borderTopLeftRadius: \"13px\",\n borderBottomLeftRadius: \"13px\",\n borderRadius: \"12px\",\n },\n\n image_new_wrapper: {\n borderRadius: \"12px\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"45%\",\n padding: \"15px\",\n },\n\n card_heading_text: {\n color: \"#000000\",\n fontSize: \"24px\",\n fontWeight: 600,\n },\n\n card_content: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"center\",\n gap: \"8px\",\n width: \"100%\",\n padding: \"0 10px\",\n },\n\n card_sub_heading_text: {\n color: \"#696969\",\n fontSize: \"16px\",\n fontWeight: 400,\n lineHeight: \"21px\",\n },\n card_subHeading_text: {\n color: \"#777777\",\n fontSize: \"16px\",\n fontWeight: 500,\n lineHeight: \"22px\",\n },\n});\n\nexport default styles;\n","import React from \"react\";\nimport { CardActionArea, makeStyles } from \"@material-ui/core\";\nimport styles from \"assets/jss/components/customcomponents/reportCard.js\";\nconst useStyles = makeStyles(styles);\nfunction ReportCard(props) {\n const classes = useStyles();\n\n const { title, icon, backgroundColor, subTitle, ...rest } = props;\n return (\n
    \n \n
    \n \n \"Image\"\n
    \n
    \n
    {title}
    \n

    {subTitle}

    \n
    \n
    \n \n \n );\n}\n\nexport default ReportCard;\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nconst useStyles = makeStyles((theme) => ({\n overlap: {\n backgroundColor: \"#ffffff\",\n borderRadius: \"12px\",\n boxShadow:\n \"0px 2px 4px #0000001a, 0px 7px 7px #00000017, 0px 15px 9px #0000000d, 0px 26px 10px #00000003,0px 41px 11px transparent\",\n\n margin: \"1rem 0\",\n padding: \"1rem 2rem\",\n },\n topContainer: {\n justifyContent: \"space-between\",\n\n alignItems: \"center\",\n padding: 0,\n width: \"100%\",\n },\n topicsTitle: {\n width: \"85%\",\n fontWeight: \"bold\",\n },\n topicsDescription: {\n margin: 0,\n },\n gridItemMissions: {\n // padding: \"10px 10px\",\n },\n container: {\n marginTop: \"2rem\",\n overflow: \"hidden auto\",\n },\n}));\n\nexport default useStyles;\n","import GridContainer from \"components/CustomComponents/Grid/GridContainer.js\";\nimport GridItem from \"components/CustomComponents/Grid/GridItem.js\";\nimport Card from \"components/CustomComponents/Card/Card.js\";\nimport CardBody from \"components/CustomComponents/Card/CardBody.js\";\nimport CardIcon from \"components/CustomComponents/Card/CardIcon.js\";\nimport CardFooter from \"components/CustomComponents/Card/CardFooter.js\";\nimport Info from \"components/CustomComponents/Typography/Info\";\nimport CardActionArea from \"@material-ui/core/CardActionArea\";\nimport React, { Suspense, lazy, useState, useEffect } from \"react\";\n\nimport PageNavigation from \"components/CustomComponents/Navbars/PageNavigation\";\n// import TestImage from \"assets/img/test.svg\";\n// import ReportImage from \"assets/img/report.svg\";\nimport ReportCard from \"components/CustomComponents/Card/ReportCard\";\nimport TestImage from \"assets/img/Review_Assissment.png\";\nimport ReportsImage from \"assets/img/school_rep.png\";\nimport useStyles from \"assets/jss/components/customcomponents/mainReport.js\";\nfunction AssementDashBoard(props) {\n const classes = useStyles();\n const basePath = props.match.path;\n const handleClick = (path) => {\n props.history.push(path);\n };\n return (\n <>\n \n \n \n handleClick(\"/assessment-tests\")}\n />\n \n \n handleClick(\"/assessment-report\")}\n />\n \n \n {/* \n \n props.history.push(\"/assessment-tests\")}\n >\n \n \n \n \n \n \n \n \n\n \n
    \n Test\n
    \n
    \n
    \n
    \n
    \n \n
    \n \n props.history.push(\"/assessment-report\")}\n >\n \n \n \n \n \n \n \n \n\n \n
    \n Reports\n
    \n
    \n
    \n
    \n
    \n \n
    \n
    */}\n \n );\n}\n\nexport default AssementDashBoard;\n","// @material-ui/icons\nimport DashboardIcon from \"@material-ui/icons/Dashboard\";\n\n// core components\n// import Dashboard from '../components/Views/Dashboard/dashboard'\nimport Intermediate from \"../components/Layouts/Intermediate\";\nimport Home from \"../components/Views/MainContainer/MainContainer\";\nimport Nexool from \"../components/Views/Nexool/Nexool\";\n\nimport Tasks from \"../components/Views/Tasks/Tasks\";\nimport MobileTopics from \"../components/Views/Tasks/Topics/MobileTopics\";\nimport WebTopics from \"../components/Views/Tasks/Topics/WebTopics\";\n\nimport SignIn from \"components/Views/SignIn/SigninSpectrum/signin\";\nimport Signup from \"../components/Views/SignUp/Signup\";\nimport BoardGrade from \"../components/Views/UserDetails/BoardGrade\";\nimport UserDetails from \"../components/Views/UserDetails/UserDetails\";\n\nimport Instruction from \"components/Views/ContentViewer/AssessmentViewer/Instruction\";\nimport Assessment from \"components/Views/ContentViewer/AssessmentViewer/Assessment\";\nimport PDFViewer from \"components/Views/ContentViewer/PDFViewer/PDFViewer\";\nimport HTMLViewer from \"components/Views/ContentViewer/HTMLViewer/HTMLViewer\";\nimport HTMLContentViewer from \"components/Views/ContentViewer/HTMLViewer/HTMLContentViewer\";\nimport VideoViewer from \"components/Views/ContentViewer/VideoViewer/VideoViewer\";\nimport ActivityViewer from \"components/Views/ContentViewer/ActivityViewer/ActivityViewer\";\nimport TestViewer from \"components/Views/ContentViewer/TestViewer/TestViewer\";\n\nimport QuestCategory from \"components/Views/QuestCategory/QuestCategory\";\nimport QuestProducts from \"components/Views/QuestProducts/QuestProducts\";\nimport RaymondProducts from \"components/Views/RaymondProducts\";\nimport ShoppingCart from \"components/Views/ShoppingCart/ShoppingCart\";\nimport PGResponse from \"components/Views/ShoppingCart/PGResponse\";\nimport NotFound from \"components/Views/NotFound\";\n\nimport MissionsSchedules from \"components/Views/MissionsSchedules/views\";\nimport AssessmentTests from \"components/Views/AssessmentTests\";\nimport AssessmentTestReport from \"components/Views/AssessmentTestReport\";\nimport TestReport from \"components/Views/AssessmentTestReport/TestReport\";\nimport AssementDashBoard from \"components/Views/AssementDashBoard\";\nconst inventoryRoutes = [\n {\n path: \"/signin\",\n name: \"SignIn\",\n icon: DashboardIcon,\n component: SignIn,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/nexool\",\n name: \"Nexool\",\n icon: DashboardIcon,\n component: Nexool,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/home\",\n name: \"Home\",\n icon: DashboardIcon,\n component: Home,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/intermediate\",\n name: \"Intermediate\",\n icon: DashboardIcon,\n component: Intermediate,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/category\",\n name: \"QuestCategory\",\n icon: DashboardIcon,\n component: QuestCategory,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/products\",\n name: \"QuestProducts\",\n icon: DashboardIcon,\n component: QuestProducts,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/raymond-products\",\n name: \"RaymondProducts\",\n icon: DashboardIcon,\n component: RaymondProducts,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n\n {\n path: \"/task\",\n name: \"Tasks\",\n icon: DashboardIcon,\n component: Tasks,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n\n {\n path: \"/assessment\",\n name: \"Assessment\",\n icon: DashboardIcon,\n component: Assessment,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n\n {\n path: \"/instruction\",\n name: \"Instruction\",\n icon: DashboardIcon,\n component: Instruction,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/topics\",\n name: \"MobileTopics\",\n icon: DashboardIcon,\n component: MobileTopics,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/topics-w\",\n name: \"WebTopics\",\n icon: DashboardIcon,\n component: WebTopics,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/pdf\",\n name: \"PDFViewer\",\n icon: DashboardIcon,\n component: PDFViewer,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/viewer\",\n name: \"HTMLViewer\",\n icon: DashboardIcon,\n component: HTMLViewer,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/contentviewer\",\n name: \"HTMLContentViewer\",\n icon: DashboardIcon,\n component: HTMLContentViewer,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/player\",\n name: \"VideoViewer\",\n icon: DashboardIcon,\n component: VideoViewer,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/activity\",\n name: \"ActivityViewer\",\n icon: DashboardIcon,\n component: ActivityViewer,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/signup\",\n name: \"Signup\",\n icon: DashboardIcon,\n component: Signup,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/cart\",\n name: \"cart\",\n icon: DashboardIcon,\n component: ShoppingCart,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/payment-response\",\n name: \"PGResponse\",\n icon: DashboardIcon,\n component: PGResponse,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/userdetails\",\n name: \"User Details\",\n icon: DashboardIcon,\n component: UserDetails,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/boardgrade\",\n name: \"Board Grade\",\n icon: DashboardIcon,\n component: BoardGrade,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/missions-schedules\",\n name: \"Schedules\",\n icon: DashboardIcon,\n component: MissionsSchedules,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/assessment-tests\",\n name: \"Tests\",\n icon: DashboardIcon,\n component: AssessmentTests,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/assessment-report\",\n name: \"Tests\",\n icon: DashboardIcon,\n component: AssessmentTestReport,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/report/:id\",\n name: \"Report\",\n icon: DashboardIcon,\n component: TestReport,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/assessment-dashboard\",\n name: \"DashBoard\",\n icon: DashboardIcon,\n component: AssementDashBoard,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/online-test\",\n name: \"TestViewer\",\n icon: DashboardIcon,\n component: TestViewer,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n {\n path: \"/notfound\",\n name: \"notfound\",\n icon: DashboardIcon,\n component: NotFound,\n layout: \"\",\n divider: null,\n submenu: [],\n collapse: false,\n },\n];\n\nexport default inventoryRoutes;\n","import React from 'react';\nimport clsx from 'clsx';\nimport { TransitionGroup, CSSTransition } from \"react-transition-group\";\n// import { BrowserRouter as Router, Route, Switch, withRouter } from \"react-router-dom\";\nimport { Route, Switch, withRouter } from \"react-router-dom\";\n// import { createBrowserHistory } from 'history';\n\n// import style\nimport withStyles from '@material-ui/core/styles/withStyles';\nimport styles from \"assets/jss/components/layouts/layoutStyle.js\";\nimport \"assets/css/pageLayouts/page.css\";\n// Comman Component\n// import SignIn from '../Views/SignIn/SigninContainer'\nimport SignIn from 'components/Views/SignIn/SigninSpectrum/signin'\n//Redux\nimport { connect } from 'react-redux'\nimport * as questActions from 'store/actions/index'\n// import Drawer from '../CustomComponents/Drawer/Drawer';\n\n//Routes Components\nimport Routes from '../../variables/Routes'\nconst SwitchRoutes = (props) => (\n \n {Routes.map((prop, key) => {\n if (prop.submenu.length)\n return prop.submenu.map(submenu => )\n return \n })}\n \n);\n\n\nclass Home extends React.Component {\n\n constructor(props) {\n super(props);\n this.state = {\n showDrawer: false,\n mobileOpen: false,\n prevDepth: this.getPathDepth(this.props.location)\n }\n }\n\n componentWillReceiveProps = () => {\n this.setState({ prevDepth: this.getPathDepth(this.props.location) })\n // set Platform\n if (this.props.history.location.pathname === \"/\") {\n let ios = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform) || navigator.userAgent.includes(\"Mac\") || navigator.userAgent.includes(\"iPhone\") || navigator.userAgent.includes(\"iPad\");\n if (ios) this.props.setPlatform(\"IOS\");\n else this.props.setPlatform(\"\")\n\n const params = new URLSearchParams(window.location.search) \n const AppType = params.get('AppType') || localStorage.getItem('AppType') ;\n localStorage.setItem('AppType', AppType);\n this.props.setAppType(AppType)\n\n }\n }\n\n componentWillMount() {\n let ios = [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform) || navigator.userAgent.includes(\"Mac\") || navigator.userAgent.includes(\"iPhone\") || navigator.userAgent.includes(\"iPad\");\n // if (typeof window.Android === 'undefined' && !ios) {\n // this.props.history.push(`/notfound`)\n // } else {\n if (!sessionStorage.getItem('token')) {\n const params = new URLSearchParams(window.location.search)\n this.props.history.push(`/${params ? \"?\" + params.toString() : \"\"}`)\n // }\n }\n\n\n }\n componentDidUpdate(prevProps) {\n if (this.props.location !== prevProps.location) {\n window.scrollTo(0, 0);\n }\n }\n\n getPathDepth = (location) => {\n let pathArr = location.pathname.split(\"/\")\n pathArr = pathArr.filter(n => n !== \"\")\n return pathArr.length\n }\n\n render() {\n const { classes, location } = this.props;\n // const timeout = { enter: 800, exit: 400 }\n const currentKey = location.pathname.split(\"/\")[1] || \"/\";\n return (\n\n
    \n
    \n\n
    \n\n \n { node.addEventListener(\"transitionend\", done, false); }}\n classNames=\"fade\" >\n
    = 0 ? \"left\" : \"right\"}>\n {/* Routes */}\n } />\n \n \n
    \n \n
    \n\n
    \n
    \n
    \n\n )\n }\n}\nconst mapDispatchToProps = dispatch => {\n return {\n setPlatform: (platform) => dispatch(questActions.setPlatform(platform)),\n setAppType: (apptype) => dispatch(questActions.setAppType(apptype)),\n }\n}\n\n\n\nexport default connect(null, mapDispatchToProps)(withRouter(withStyles(styles)(Home)));","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { BrowserRouter as Router } from \"react-router-dom\";\nimport { createBrowserHistory } from 'history';\n//redux\nimport { Provider } from 'react-redux';\nimport { PersistGate } from 'redux-persist/integration/react'\n\n//store\nimport { store, persistor } from './store/index'\n\n// import './index.css';\nimport \"assets/css/index.css?v=1.8.0\";\nimport * as serviceWorker from './serviceWorker';\nimport Layout from './components/Layouts/Layout';\n\nimport { createMuiTheme, responsiveFontSizes, ThemeProvider } from '@material-ui/core/styles';\nimport { green,blue } from '@material-ui/core/colors';\n// import Typography from '@material-ui/core/Typography';\n\nlet theme = createMuiTheme({\n overrides: {\n // Style sheet name ⚛️\n MuiStepIcon: {\n // Name of the rule\n // root:{\n // color: '#3f51b5'\n // },\n active: {\n // Some CSS\n color: `${green[500]} !important`,\n boxShadow:'0 0 10px gray',\n borderRadius:50\n },\n },\n },\n});\ntheme = responsiveFontSizes(theme);\n\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\nserviceWorker.unregister();\n"],"sourceRoot":""}