{"version":3,"sources":["actions/analytics_actions.js","actions/job_actions.js","components/Common/Icons/smallCoin.svg","constants/routes.js","actions/applicationAssistant_action.js","actions/chat_actions.js","components/Main/EntitiesSearch.js","components/Chat/GiftedChat/chatavatar.svg","components/Common/Icons/skill.svg","components/Common/Icons/interests.svg","components/Common/Icons/styles.svg","actions/resources_actions.js","components/GA/index.js","actions/mission_actions.js","actions/reward_actions.js","actions/auth_actions.js","components/Privacy/Content.js","actions/user_actions.js","components/Profile/icons/rewardShield.svg","actions/types.js","components/Common/Logo/smLogo.svg","config/config_test.js","config/config_prod.js","config/index.js","serviceWorker.js","useServiceWorker.js","reducers/authReducer.js","reducers/chatReducer.js","reducers/rewardReducer.js","reducers/userReducer.js","reducers/rootReducer.js","reducers/jobReducer.js","reducers/missionReducer.js","reducers/resourceReducer.js","reducers/applicationAssistantReducer.js","store.js","components/Auth/Icons/mountains.svg","components/Auth/Forget.js","components/Auth/Login.js","components/Auth/Unsub.js","components/Auth/ApplicationTracking.js","components/Auth/Signup.js","components/Common/RestoreScroll.js","components/Landing/index.js","components/Common/Icons/nav_jobs.svg","components/Common/Icons/nav_jobs_selected.svg","components/Common/Icons/nav_profile.svg","components/Common/Icons/nav_profile_selected.svg","components/Common/Icons/nav_missions.svg","components/Common/Icons/nav_missions_selected.svg","components/Main/NotificationsCenter.js","components/Main/Navigaton.js","components/Main/Demographics.js","components/Main/Icons/hello.svg","components/Main/Hello.js","components/Main/Icons/coin.svg","components/Main/WellDone.js","components/Main/PurchaseComplete.js","components/Main/index.js","components/Help/index.js","components/AutoLogout/index.js","App.js","apocalypseHandler.js.js","components/Common/ErrorBoundary.js","theme/theme.js","index.js"],"names":["logger","updateEndpoint","a","state","getState","email","firstName","location","assessmentVersion","assessmentCompleted","organisation","contract","rawdata","desiredOccupationsOriginal","occupationsOriginal","latestAssessmentResult","keyworkerID","interests","contractType","version","process","parseInt","updateObject","address","userId","userAttributes","sub","attributes","desiredOccupations","occupations","city","country","metrics","assessment_version","demographic","appVersion","Analytics","recordJobClick","isQualification","sort","name","type","jobTitle","occupation","tier_one_category","recordCentreClick","centreName","centreId","recordMissionClick","missionTitle","missionID","id","recordSkillUpdate","loadDB","db","jobCategories","jobs","jobsNearMe","quals","clearTableDB","saveValuesToDB","arr","_","value","JSON","key","loadFromDB","obj","data","toggleLoading","setToggle","dispatch","manualOccSearch","allJobCategories","occ","foundJobCat","item","Promise","loadOccpationJobs","getSearchedCategoryAndJobs","updateOccupationBlacklist","console","preLoadJobsSearch","getJobCategories","updateReverseMineIndexes","setSelectedJobIdFromBubbleChart","jobId","setApplicationNotification","SET_APPLICATIONS_NOTIFICATION","setSelectedJob","ga","category","action","label","config","body","fetchCoins","setCourseViewed","course","setJobViewed","contractDetails","skills_names","updatedAt","desiredExp","occupationsExtended","qualifications","userID","internalMobilityProvider","jobsType","internalMobilityRoles","internalMobilityRolesList","getinternalMobilityRoles","payload","calculateQualifications","role","tmpSkills","skillObj","Cache","existingOccs","Object","r","roleTitle","_item","internalOccs","Set","preferredOccupations","previousOccupations","desired_occupations","interest_occupations","past_occupations","skills_backpack_occupations","styles_occupations","expires","moment","getRecommendedJobsNearMe","getInitialJobs","occupationKey","rawJobCategories","viewPermissions","providerDetails","clonedRawJobCategories","userOccs","provider","combinedJobs","searched_occupations","jobCatKey","_key","_value","job","occupationCategoryFilterChange","parent_occupations","parent_occupation","filteredJobs","filter","jobsKey","preSeletedOcc","isRemove","occupationFilterChange","jobsCache","addFilter","occsToSearch","occupation_catogery","idList","filteredList","getRecommendedJobs","spec_occ","desiredOccupationsExtended","new_jobs_cats","newSearchedCats","new_all_jobs","loadMoreJobs","status","text","allJobs","page_occupations","categoryKey","cat_key","cat_value","occ_idx","occ_value","alt_labels","individual_job","loadMore","jobCount","delay","ms","res","setTimeout","UPDATE_LOAD_MORE_COUNT","fetchQualifications","qualNames","loading","qualNameIsValid","isItemValid","qualification_name","fetchCentres","centreIds","centre_list_ids","addOccupationFilter","reset","Array","occupationFilterReset","resetFilter","filterJobsByOccupation","recommended","applied","saved","fetchSkillsInfo","occupationSkills","skills","skill","individual_skill","typeData","skillTypes","setFavouriteJob","isFavourited","qual_name","rangeKey","isInvited","jobitem","Date","favourited","getFavouriteJobs","API","invited","getAppliedJobs","setJobItemRead","itemSort","vacancyApply","lastName","phoneNumber","jobSort","user_email","applyForJob","recreate","verified","applicationDelay","interviewForJob","updatePosition","startedJob","didntGetJob","deleteAppliedJob","interview","deleteJob","getIndeedDescription","getReedDescription","loadedContentDashboard","loaded","getOptionalSkillCheck","promises","promise","i","resolve","values","_extends","assign","target","arguments","length","source","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","_ref2","createElement","d","fill","_ref3","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","_ref14","_ref15","_ref16","_ref17","_ref18","_ref19","_ref20","_ref21","_ref22","fillRule","clipRule","_ref23","_ref24","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","SvgSmallCoin","_ref","svgRef","title","props","width","height","viewBox","ref","ForwardRef","forwardRef","DEFAULT","HELLO","LOGIN","FORGOT","SIGNUP","APP","UNSUB","APPLICATION","PROFILE","PROFILE_SETTINGS","ORGANISATION_PROFILE","CHAT","JOBS","JOB_DETAILS","RESOURCE_DETAILS","MISSIONS","PRIVACY","FAQ","APPLICATION_ASSISTANT","templateCV","versionName","personalInformation","linkedIn","personalWebsite","personalStatement","htmlStatement","experienceSection","educationSection","languageSection","achievementsSection","projectsSection","hobbiesSection","referencesSection","getCVData","profileSnippets","newMaster","promptsData","undefined","setCVData","cvData","jobData","prompts","exportUnlocked","changeTemplate","storedCVs","createTemplateForJob","activeCV","getOccsForSelection","deleteTemplate","autoCompleteOccupation","dualType","autoCompleteV2","directMatches","closeMatches","autoCompleteSkill","autoCompleteV2Skill","autoCompleteQualifications","data_type","autoCompleteQualificationsLevels","autoCompleteLocations","getOccDetails","isOcc","response","details","allSkills","existingSkills","Expert","Proficient","Novice","Beginner","Missing","_skill","occList","idx","generatePrompts","promptType","newActiveCV","prompt","temperature","reason","cleanedPrompts","promptContent","array","generateExperiencePrompts","preferredLabel","promptText","occPrompt","cleanedDescription","promptContentOccupation","skillDetails","promptContentSkills","description","missingSkills","selectedSkills","warningSkills","generateStatementPrompts","personalStatements","promptList","dimensions","statementDetails","promptContentStatements","clearNewTemplatePrompt","CLEAR_NEW_TEMPLATE_PROMPT","unlockCVExport","generatePreview","cvStyle","generatedHtml","success","rawHtml","generatePDF","templateName","html","rawHTML","timeout","genResponse","level","s3Url","downloadCV","cvLink","fetch","method","blob","triggerCheckout","endpointString","checkoutResponse","url","triggerCustomerPortal","sendMessage","messages","isInterventionBot","msg","disableInput","target_bot","utterance","receiveMessageArray","ts","keyworker","eventType","startOfDay","startOfWeek","startOfMonth","RECEIVE_BOT_DONE","RESET_MESSAGES","Bot_Response","Question_Flag","hasChoices","choices","video","match","botMsg","_id","uuidv4","user","system","index","keepIt","color","val","c","clickWellDone","CHAT_WELL_DONE","resetMessages","OrgChip","style","maxHeight","src","CustomAutoComplete","classes","onSelect","autoCompleteQuery","error","disabled","occListOptions","fontSize","size","placeholder","fullWidth","fontSizeNumber","useState","htmlLabel","group","filteredOptions","setFilteredOptions","input","setInput","setLoading","searchQueue","setSearchQueue","onInputChange","searchText","useEffect","autoCompleteHandeler","className","onChange","v","inputValue","options","getOptionLabel","option","groupBy","renderInput","InputLabelProps","params","InputProps","variant","renderOption","display","alignItems","whiteSpace","ReactHtmlParser","filterOptions","EntitiesSearch","connect","bindActionCreators","withStyles","theme","nav","marginTop","application","chat","backgroundColor","borderColor","borderWidth","interalRolesOnly","stylePreset","queryTarget","roleName","event","menuPortalTarget","document","menuPosition","isDisabled","SvgChatavatar","cx","cy","transform","overflow","clipPath","rx","SvgSkill","x","SvgInterests","SvgStyles","viewedResource","resource","resourceId","link","addResourceSkill","skillName","setActiveVideo","hideVideoMessage","HIDE_VIDEO_MESSAGE","getSkillVideos","getOnlineCourses","orderDict","getVideos","unAuthenticatedVideos","getHelpVideos","path","authenticated","authenticatedVideos","videos","pathData","getSkillAssessment","completedSkillAssessments","submitSkillsAssessmentReport","GA","permissions","ReactGA","setData","pageURL","getMissionsAndInterventions","interventions","missions","fullInterventions","result","missionsInProgress","interventionsInProgress","startMission","fetchUser","entityType","coinData","resetCoins","RESET_COINS","resetMaxCoins","RESET_MAX_COINS","resetCoinDefault","RESET_COIN_DEFAULT","checkOrders","newOrders","orders","payments","history","closePurchaseDialogue","PURCHASE_COMPLETE_CLOSE","authError","login","username","password","Auth","currentAuthUser","err","validateUserSession","bypass","bypassCache","session","credentials","UNAUTH_USER","window","RESET_APP","setNewPassword","cognitoUser","newPassword","logout","message","confirmLogin","code","register","phone","given_name","family_name","captcha","origin","signupObject","clientMetadata","phone_number","REGISTER_USER","confirmRegistration","AUTH_CONFIRM_SUCCESS","resendConfirmationCode","CODE_RESEND_SUCCESS","forgotPassword","FORGOT_PASSWORD","confirmForgotPassword","FORGOT_PASSWORD_CONFIRM","unsubscribe","subscribe","autoApply","vacancy_flag","job_url","doVacancyApply","updateJobTracking","jobitemType","useStyles","makeStyles","mainTitle","fontWeight","marginBottom","subTitle","onlyUser","newBlackList","occupationBlacklist","fetchProfileURL","getSkillAssessmentCompleted","getSkillValidationRequests","getProjectedSkills","profileURL","clickHello","USER_CLICK_HELLO","clickProfileEdit","USER_CLICK_PROFILE_EDIT","doneProfileEdit","USER_PROFILE_EDIT_DONE","RESET_JOBS","openUpdateSkills","occkey","highlightSkill","closeUpdateSkills","skipReset","skillWasEdited","CLOSE_UPDATE_SKILLS","sendFeedback","saveSkills","optionalSkills","deletedSkills","updatedSkills","MARK_SKILLS_UPDATED","addSkillsFromProfile","newOccupationSkills","skillObjIdx","newSkillList","isNewSkill","fetchSkillDetails","skillList","skillCategory","root_item","updateJobMatches","_state","matchesStyles","matchesInterest","bestBackpack","jobStyle","interestStyle","skillPackBack","occupationSkillsFakeList","skillType","skillObject","mineable_skills","SET_BLACKLIST","deleteAccount","enableNotification","enabled","enableCookies","setNotification","goto","setNotificationAmount","amount","notificationAmount","submitDemographics","demoData","showChat","showPage","hidden","showDemographics","internalMobilityResponses","IMdata","getinternalMobilityDemographics","setHideAAHelpText","storeChoice","HIDE_AA_HELP_TEXT","roles","departments","lineManagers","locations","reOpenDemographics","OPEN_DEMOGRAPHICS","whiteListedOccs","filteredRoles","submitDemographicsInternalMobility","questions","department","lineManager","holdUser","internalMobilityRole","internalMobilityRoleVerified","internalMobilityDepartment","internalMobilityDepartmentVerified","internalMobilityRoleDetails","internalMobilityLineManager","internalMobilityLineManagerVerified","internalMobilityLineManagerDetails","setSkillsAssessmentCompleted","assessment_data","skill_name","setSkillValidationRequests","completed","requests","read","unread","setProjectedSkills","targetOcc","occSkill","targetSkill","setSkillNotfiction","SET_SKILL_NOTIFICATION","mapIdentity","SvgRewardShield","AUTH_USER","AUTH_MFA","AUTH_NEW_PASSWORD_REQUIRED","REGISTER_USER_CONFIRM","REGISTER_MFA","REGISTER_USER_ERROR","AUTH_ERROR","AUTH_ERROR_CLEAR","ADD_TO_VIEWED_LIST","FETCH_USER","FETCH_USER_PROFILE_URL","OPEN_UPDATE_SKILLS","ADD_NEW_SKILL","SET_NOTIFICATION","SET_NOTIFICATION_AMOUNT","SET_SKILLS","SET_SKILLS_VIDEOS","SET_USER_PERMISSIONS","UPDATE_DEMOGRAPHICS","UPDATE_DEMOGRAPHICS_QUESTIONS","FETCH_INTERNAL_MOBILITY_ROLES","SET_COMPLETED_SKILLS_ASSESSMENTS","SET_PROJECTED_SKILS","SET_VALIDATION_REQUESTS","LOADED_CONTENT_DASHBOARD","FETCH_JOB_CATEGORIES","FETCH_FAVOURITED_JOBS","SET_FAVOURITE_JOB","SET_SELECTED_JOB","FETCH_APPLIED_JOBS","MARK_ITEM_READ","APPLY_FOR_A_JOB","APPLY_FOR_A_JOB_UPDATE","FETCH_SKILLS_LIST","FETCH_QUALIFICATIONS","FETCH_ALL_JOBS","FETCH_ALL_JOBS_COMPLETE","FETCH_INDIVIDUAL_JOBS","FETCH_NEARME_JOBS","ADD_FILTER","OCC_FILTER","JOBS_FILTER","LEVEL_FILTER","FETCH_CENTRES","TOGGLE_LOADING","SET_RESOURCES","SET_ONLINE_COURSES","SET_ACTIVE_RESOURCE","LOADING_RESOURCES","LOADING_ONLINE_COURSES","UPDATE_OCCUPATION_SKILL","UPDATE_FULL_DESCRIPTION","OPTIONAL_SKILL_CHECK","UPDATE_JOB_CATEGORIES","BLACKLIST_OCC","SET_NO_VIDEO_MESSAGE","SET_HELP_VIDEOS","SET_SKILLS_ASSESSMENTS","SET_SKILLS_ASSESSMENTS_ERRORS","SEND_CHAT_MESSAGE","RECEIVE_BOT_MESSAGE","RECEIVE_BOT_STATE","UPDATE_CHAT_SKILLS","FETCH_MISSIONS","START_MISSION","FETCH_INTERVENTIONS","START_INTERVENTION","FETCH_INTERVENTIONS_MISSIONS","FETCH_COINS","PURCHASE_COMPLETE","STORE_CV_DATA","STORE_OCC_LIST_OPTION","CREATE_JOB_CV","FETCH_ALL_CVS","REMOVE_TEMPLATE","UPDATE_EXPERIENCE_PROMPTS","y","ry","SvgSmLogo","xmlSpace","stroke","strokeWidth","strokeDasharray","strokeLinecap","strokeDashoffset","strokeLinejoin","strokeMiterlimit","opacity","visibility","vectorEffect","points","AWS_REGION","AWS_COGNITO_IDENTITY_POOL_ID","AWS_COGNITO_USER_POOL_ID","AWS_COGNITO_CLIENT_ID","AWS_API_APIKEY","API_ENDPOINT","API_NAME","STORAGE_BUCKET","DEFAULT_SESSIONCHECK_TIME","AWS_PINPOINT_APPID","AWS_PINPOINT_REGION","STORAGE_CLOUDFRONT_URL","aws_appsync_graphqlEndpoint","aws_appsync_region","aws_appsync_authenticationType","distanceName","ga_uuid","tinymceKey","isLocalhost","Boolean","URL","publicUrl","swUrl","headers","contentType","navigator","registration","registerValidSW","checkValidServiceWorker","installingWorker","ServiceWorkerContext","React","ServiceWorkerProvider","children","waitingServiceWorker","setWaitingServiceWorker","isUpdateAvailable","setUpdateAvailable","serviceWorker","onUpdate","onWaiting","waiting","updateAssets","allReducers","combineReducers","auth","returnProps","mfa","changePassword","resendCode","userSub","needConfirm","forgotPasswordCode","clickedHello","showHello","isProfileBeingEdited","skillEditOpen","skillEditing","skillBeingEdited","skillLoop","_skill_list","newSkills_names","s","f","t","mainSkill","newOccIdx","newSkillNames","profileImageURL","isCookiePermissionsEnabled","fullName","reAssessmentDue","isInterventionOngoing","activeIntervention","isJobNotificationEnabled","isEmailNotificationEnabled","locationOriginal","orgDetails","assessmentResult","phonePreferred","customNavLogo","candidate_status_history","allow_reverse_mine","trainingOpportunities","jobOpportunities","dateOfBirth","gender","rightTooWork","hasNoticePeriod","s2Cell","viewedJobs","hideApplicationAssistantHelpText","internalMobilityLocation","internalMobilityLocationVerified","internalMobilityLocationDetails","salary","creator","investigator","driver","crafter","doer","facilitator","locationRadius","contractype","jobTypes","latestCOMM","latestRTF","latestADY","latestSPC","latestRLS","latestDMA","latestCONF","latestCONT","latestPSA","initCOMM","initRTF","initADY","initSPC","initRLS","initDMA","initCONF","initCONT","initPSA","_salary","_contractype","_travel","k","profileStylesGraphData","Latest","Initial","profileInterestsGraphData","candidateStatus","travelToWork","firstLogin","showDemographicsEdit","internalMobilityQuestions","internalMobilityDepartments","internalMobilityLineManagers","internalMobilityLocations","skillValidationRequests","projectedSkills","skillNotificationTransition","occupationListFilter","resourceLoading","coursesLoading","applicationNotification","occupationArr","both","catType","catTitle","occKey","jobsCount","jobsarr","element","_allJobCategories","o","findCat","lower_contract","postedDate","employerName","provider_image","job_contract","jc","cat","filterCat","subOcc","_occupationListFilter","idFilterList","ajc","allJobsList","_occupations","newJobsList","newJobCategories","fetchingJobs","oldCount","newJobs","diff","loadMoreStatus","snackbar","snackbarText","categories","newQualLevelSelect","ja","found","isQual","qual_link","qual_glh_max","Math","qual_sector","qual_level","qual_centre_flag","levels","loadingQualifications","allQualifications","levelFilters","qualLevelSelect","selectedJobId","b","favouritedJob","appliedJobs","_job","centres","centreLoading","activeResource","occFlat","ii","allResourcesFlat","allResources","resourcesPerOccupation","resourcesPerOccupationFlat","allResourcesPerOccupation","allResourcesPerOccupationFlat","allCoursesFlat","allCourses","coursesPerOccupation","coursesPerOccupationFlat","allCoursesPerOccupation","allCoursesPerOccupationFlat","desc","newAllJobs","newRecommendedJobs","recommendedJobs","jobDescriptionFull","optional_skill_check","_occupation","_isRemove","newOccupationBlacklist","useRecommended","sortBy","distanceSelect","contractFilters","datePosted","stringSearch","salarySelect","occupationFilter","occupationFilterWithAlts","low","alt","newAlt","meta","subList","jobCat","sortByItem","occupationCategoryFilterList","currentDistance","maxDistance","contractList","activeDatePosted","maxDate","qualLevelList","filteredJobCategories","qnames","ranker","jobsList","lowerJob","rank","appliedJobsFiltered","favouritedFiltered","filters","previousAndPreferred","levelObject","filterValue","GiftedChat","isTyping","showWellDone","USERnewOccupationSkills","newSkillsNumber","skillsNumber","header","progress","focus","ui_event","assesmentResult","occupationsData","ocSkills","elem","minstyle","stylesGraphData","_location","isInterestActive","isProfileActive","isStylesActive","isSkillsActive","def","interestsGraphData","prevOcc","rewards","dailyLimitReachedNotification","showOrgDefault","currentLevel","toNextLevel","levelRange","coins","totalEarnedCoins","partialSum","newCoins","setcoins","l","timestamp","stripeOrders","purchaseComplete","initialScore","finalScore","intervention","whereToLook","has_completed","mission","Number","has_started","resources","skill_videos","skill_notification","skillAssessment","skillAssessmentErrors","applicationAssistant","newCV","newTemplateType","foundTemplate","newTemplatePrompt","newVersionIndex","newPromptData","initialState","composeEnhancers","composeWithDevTools","Forget","passwordcon","open","vertical","horizontal","prevProps","errorMessage","setState","e","forgotPasswordAction","confirmForgotPasswordAction","alert","isRightLength","hasSpecial","test","hasNumber","hasUpperCase","root","progressCont","container","spacing","direction","justify","grid","logoContainer","logo","main","logingrid","xsDown","xs","sm","mountainsgrid","mountains","fieldholdergrid","formhold","subtitle","onSubmit","formtitle","autoComplete","margin","autoFocus","required","handleChange","notchedOutline","tfroot","component","to","rowSpacing","columnSpacing","md","anchorOrigin","onClose","autoHideDuration","ContentProps","aria-describedby","Component","flexGrow","form","marginLeft","marginRight","minHeight","flexDirection","minWidth","maxWidth","button","textField","marginLabel","snack","dark","buttonProgress","position","top","left","wrapper","justifyContent","borderTopRightRadius","borderBottomRightRadius","alignSelf","titlesubheading","textAlign","forgotpw","tfoutline","border","signup","privacy","mobilePadding","Login","npassword","presumedOrg","showPassword","manualURL","forceClose","tryCache","trim","loginAction","setPasswordAction","queryDict","duration","decodeURIComponent","queryParamsLoaded","orgLogo","data-test","defaultValue","endAdornment","aria-label","onClick","handleClickShowPassword","ROUTES","href","rel","changePass","poweredBylogo","mfaRequired","confirmLoginAction","green","Unsub","urlString","completeQuery","awaitingResponse","substr","split","forEach","push","paddingBottom","ApplicationTracking","reDirectURL","updateAction","Signup","cpassword","firstname","lastname","mobile","openPrivacy","org","prop","search","queryString","passwordconf","recaptchaValue","recaptchaRef","current","useTheme","fullScreen","useMediaQuery","defaultCountry","international","flags","handleChangeMobile","sitekey","confirmCode","resend","scroll","aria-labelledby","dividers","RestoreScroll","withRouter","prevLocation","useRef","Landing","image","elevation","square","paper","backgroundImage","backgroundRepeat","backgroundSize","backgroundPosition","large","alertModal","zIndex","right","boxShadow","overflowY","padding25","padding","hrColor","fontSizeSmall","fontSizeMedium","smallFontGrey","containerRow","cursor","jobList","fetchJobs","setFetchJobs","setAmount","setDisplay","isValidation","savedTimestamp","notificationDate","notificationTitle","notificationClick","icon","notificationDesc","isProjection","object","ElevationScroll","trigger","useScrollTrigger","disableHysteresis","threshold","Navigation","anchorEl","route","pathname","hideNotification","setHideNotifcation","searchBar","setSearchBar","orgName","orgInfo","hideMissonCheck","hideAACheck","bigMenu","buttonlabel","startIcon","sx","smallMenu","smallSettings","badgeContent","colorDefault","appbar","toolbar","logocont","smDown","lgUp","mdDown","alignContent","includes","mdUp","smUp","profileMenu","aria-controls","aria-haspopup","getVariant","avatarbutton","handleMenu","keepMounted","transformOrigin","handleClose","portal","menuitem","textDecoration","paddingLeft","paddingRight","small","expand","colorGrey","LineManagerSelector","availableLineManagers","newLineManager","isVerified","currentLineManager","setCurrentLineManager","createNew","setCreateNew","createNewPlaceHolder","setCreateNewPlaceHolder","currentLineManagerObject","checkIfCreatingNew","paddingInline","paddingBlock","checked","filterItem","textFieldSmall","marginBlock","DepartmentSelector","availableDepartments","newDepartment","currentDepartment","setCurrentDepartment","departmentName","currentDepartmentObject","RoleSelector","availableRoles","newRole","setCurrentRole","currentRoleObject","FreeTextQuestion","question","SingleChoiceQuestion","choice","MultiChoiceQuestion","Demographics","lookingForWork","setLookingForWork","situation","setSituation","lookingOptions","notLookingOptions","genderOptions","newTrainingOpportunities","setTrainingOpportunities","newJobOpportunities","setJobOpportunities","newFutureJobs","setFutureJobs","newDateOfBirth","setDateOfBirth","newGender","setGender","newRightTooWork","setRightTooWork","newHasNoticePeriod","setHasNoticePeriod","showHelp1","setShowHelp1","showHelp2","setShowHelp2","updatedInternalMobilityQuestions","setUpdatedInternalMobilityQuestions","updateCheck","setUpdateCheck","selectedRole","setSelectedRole","selectedDepartment","setSelectedDepartment","selectedLineManager","setSelectedLineManager","newQuestions","checkIMQs","transitionDuration","appear","exit","enter","backdrop","updateIMQs","prevState","muiltiple","arrvalues","submitDisabled","inputProps","styles","control","shrink","formControl","selectEmpty","Hello","gridin","from","wobbly","icondiv","cardholder","card","classnames","bodycard","coinIcon","cardtitle","marginInline","mathIcon","fillOpacity","_ref34","WellDone","show","transformTo","that","runDoneEdit","PurchaseComplete","flexWrap","Profile","lazy","ProfileSettings","Chat","Default","Jobs","JobDetails","Missions","ResourceDetails","Privacy","Faq","OrgProfile","ApplicationAssistant","NotFoundRedirect","Alert","Main","chatActive","isFocused","shouldShowCoins","showCoins","enable","newLocation","lastpath","isLevelUp","removedCoins","defaultRoute","loadingmain","layout","fallback","exact","severity","coinText","rewardIcon","number","fontFamily","orangeBG","anchorSmall","bottom","anchorSmallChat","anchor","borderTopLeftRadius","avatar","isAuthenticated","useLocation","isOpen","expanded","setExpanded","currentPath","setCurrentPath","helpObject","setHelpObject","anchorClassSmall","setAnchorClassSmall","pathChange","videoURL","expandIcon","frameborder","referrerpolicy","allowfullscreen","allow","sandbox","warnTimeout","setWarnTimeout","mouseEvents","logoutCallback","setTimeoutCheck","logoutcb","resetTimeout","clearTimeout","Storage","track","generateClassName","createGenerateClassName","productionPrefix","seed","Logger","PublicRoute","ReactComponent","authStatus","rest","render","PrivateRoute","DefaultRoute","App","isConnected","webPing","setInterval","mode","clearInterval","interval","handleConnectionChange","validateUserAction","alertcontainer","ErrorBoundary","hasError","eventId","base","createMuiTheme","typography","palette","primary","contrastText","secondary","background","default","overrides","MuiButton","borderRadius","contained","textTransform","MuiLinearProgress","MuiBackdrop","MuiPaper","rounded","MuiSnackbar","styleOverrides","Sentry","dsn","release","environment","AppParent","Amplify","identityPoolId","region","userPoolId","userPoolWebClientId","oauth","domain","scope","redirectSignIn","redirectSignOut","responseType","endpoints","endpoint","custom_header","AWSS3","bucket","autoSessionRecord","AWSPinpoint","appId","bufferSize","flushInterval","flushSize","resendLimit","optOut","itemMaxSize","capacityInBytes","ReactDOM","store","createStore","applyMiddleware"],"mappings":"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","file":"static/js/main.729c2e1c.chunk.js","sourcesContent":["import { Logger, Analytics } from \"aws-amplify\";\n\nconst logger = new Logger(\"ANALYTICS.ACTIONS\", \"INFO\");\n\n// Cognito - Auth.signIn()\nexport function updateEndpoint() {\n return async function (dispatch, getState) {\n const state = getState();\n\n try {\n const {\n email = \"\",\n firstName = \"\",\n location = \"\",\n assessmentVersion = 0,\n assessmentCompleted = false,\n organisation = \"\",\n contract = \"\",\n rawdata,\n } = state.user;\n\n const {\n desiredOccupationsOriginal = [],\n occupationsOriginal = [],\n latestAssessmentResult = {},\n keyworkerID = \"\",\n } = rawdata;\n\n const lar = latestAssessmentResult || {};\n\n const { interests = {} } = lar;\n\n /* eslint-disable */\n const { interestsOriginal = [], contract: contractType } = interests;\n /* eslint-enable */\n \n const version =\n process.env.REACT_APP_STAGE +\n \"@\" +\n process.env.REACT_APP_VERSION +\n (process.env.REACT_APP_BUILD\n ? \".\" + parseInt(process.env.REACT_APP_BUILD, 10)\n : \"\");\n\n var updateObject = {\n address: state.auth.userID,\n userId: state.auth.userID,\n userAttributes: {\n sub: [state.auth.userID],\n email: [email],\n firstName: [firstName],\n },\n attributes: {\n assessmentCompleted: [assessmentCompleted],\n organisation: [organisation],\n contract: [contract],\n contractType,\n desiredOccupations: desiredOccupationsOriginal,\n occupations: occupationsOriginal,\n keyworkerID: [keyworkerID],\n },\n location: {\n city: location,\n country: \"GB\",\n },\n metrics: {\n assessment_version: assessmentVersion,\n },\n demographic: {\n appVersion: version,\n }\n };\n\n await Analytics.updateEndpoint(updateObject);\n } catch (e) {\n logger.error(\"updateEndpoint():\", e);\n }\n };\n}\n\nexport function recordEvent() {\n return async function (dispatch, getState) {\n /* eslint-disable */\n const state = getState();\n /* eslint-enable */\n\n try {\n } catch (e) {\n logger.error(\"recordEVent():\", e);\n }\n };\n}\n\nexport function recordJobClick(\n type,\n title,\n occupation,\n tier_one_category,\n isQualification = false\n) {\n return async function (dispatch, getState) {\n /* eslint-disable */\n const state = getState();\n /* eslint-enable */\n\n try {\n var sort = isQualification ? \"qual\" : \"job\";\n Analytics.record({\n name: sort + \"-\" + type,\n // Attribute values must be strings\n attributes: {\n type: sort + \"-\" + type,\n jobTitle: title,\n occupation,\n tier_one_category,\n isQualification,\n },\n });\n } catch (e) {\n logger.error(\"recordEVent():\", e);\n }\n };\n}\n\nexport function recordCentreClick(type, centreName, centreId) {\n return async function (dispatch) {\n try {\n Analytics.record({\n name: \"qual-centre-\" + type,\n // Attribute values must be strings\n attributes: {\n centreName,\n centreId,\n },\n });\n } catch (e) {\n logger.error(\"recordEVent():\", e);\n }\n };\n}\n\nexport function recordMissionClick(type, title, id) {\n return async function (dispatch, getState) {\n /* eslint-disable */\n const state = getState();\n /* eslint-enable */\n\n try {\n Analytics.record({\n name: \"mission-\" + type,\n // Attribute values must be strings\n attributes: { type: type, missionTitle: title, missionID: id },\n });\n } catch (e) {\n logger.error(\"recordEVent():\", e);\n }\n };\n}\n\nexport function recordSkillUpdate(occupation) {\n return async function (dispatch, getState) {\n /* eslint-disable */\n const state = getState();\n /* eslint-enable */\n\n try {\n Analytics.record({\n name: \"skillUpdate\",\n // Attribute values must be strings\n attributes: { occupation: occupation },\n });\n } catch (e) {\n logger.error(\"recordEVent():\", e);\n }\n };\n}\n","import { API, Cache } from \"aws-amplify\";\nimport config from \"../config/\";\nimport dexie from \"dexie\";\nimport moment from \"moment\";\nimport _ from \"lodash\";\n\nimport {GA} from \"../components/GA/index\";\n\nimport {\n // APPLY_FOR_A_JOB, not used?\n APPLY_FOR_A_JOB_UPDATE,\n FETCH_APPLIED_JOBS,\n FETCH_FAVOURITED_JOBS,\n SET_FAVOURITE_JOB,\n SET_SELECTED_JOB,\n FETCH_SKILLS_LIST,\n FETCH_JOB_CATEGORIES,\n FETCH_QUALIFICATIONS,\n FETCH_ALL_JOBS,\n FETCH_NEARME_JOBS,\n ADD_FILTER,\n JOBS_FILTER,\n SET_APPLICATIONS_NOTIFICATION,\n FETCH_CENTRES,\n LOADED_CONTENT_DASHBOARD,\n TOGGLE_LOADING,\n MARK_ITEM_READ,\n UPDATE_FULL_DESCRIPTION,\n OPTIONAL_SKILL_CHECK,\n FETCH_INDIVIDUAL_JOBS,\n UPDATE_JOB_CATEGORIES,\n UPDATE_LOAD_MORE_COUNT,\n ADD_TO_VIEWED_LIST,\n FETCH_ALL_JOBS_COMPLETE\n} from \"./types\";\n\nimport { recordJobClick } from \"./analytics_actions\";\nimport {fetchCoins} from \"./reward_actions\";\nimport { updateReverseMineIndexes, updateOccupationBlacklist, getinternalMobilityRoles } from \"./user_actions\";\n\nconst loadDB = async () => {\n \n let db = new dexie(\"Jobs\");\n db.version(1).stores({\n jobCategories: \"++id, value, key\",\n jobs: \"++id, value, key\",\n jobsNearMe: \"++id, value, key\",\n quals: \"++id, value, key\"\n });\n\n return db;\n}\n\nconst clearTableDB = async (db,store) => {\n await db[store].clear();\n // console.dir(db[store]);\n}\n\nconst saveValuesToDB = async (db, collection, store) => {\n let arr = [];\n _.each(collection, (data, key) => {\n // console.log(data, key);\n arr.push({value: JSON.stringify(data), key: key});\n });\n // console.log(store);\n await db[store].bulkAdd(arr);\n}\n\nconst loadFromDB = async (db, store, type) => {\n \n let obj = {};\n if (type === \"arr\") {\n obj = [];\n }\n await db[store].each((data) => {\n if (type !== \"arr\") {\n obj[data.key] = JSON.parse(data.value);\n } else {\n obj.push(JSON.parse(data.value));\n }\n })\n return obj;\n}\n\n\nexport const toggleLoading = (setToggle) => async (dispatch, getState) => {\n dispatch({ type: TOGGLE_LOADING, setToggle});\n};\n\nexport const manualOccSearch = (value) => async (dispatch, getState) => { //value is an array of occs to search\n try {\n dispatch(toggleLoading(true));\n const {\n jobs:{\n allJobCategories = []\n }\n } = getState();\n\n for (const occ of value){\n const foundJobCat = allJobCategories.find((item) => item.occupation === occ);\n if(foundJobCat){\n await Promise.all([dispatch(loadOccpationJobs(foundJobCat.parent_occupation ? foundJobCat.parent_occupation : foundJobCat.occupation, foundJobCat.occKey))]);\n }\n else{\n await Promise.all([dispatch(getSearchedCategoryAndJobs(occ))]);\n } \n //pass though blacklist to make sure we remove it from there to show the card\n await Promise.all([dispatch(updateOccupationBlacklist(occ, true))]); \n }\n\n } catch (error) {\n console.log(error)\n } finally {\n dispatch(toggleLoading(false));\n\n }\n}\n\n\nexport const preLoadJobsSearch = () => async (dispatch, getState) => {\n dispatch(toggleLoading(true));\n await Promise.all([dispatch(getJobCategories())]);\n dispatch(toggleLoading(false));\n dispatch(updateReverseMineIndexes())\n};\n\nexport const setSelectedJobIdFromBubbleChart = (jobId) => async (dispatch) => {\n dispatch({ type: SET_SELECTED_JOB, jobId });\n}\n\nexport const setApplicationNotification= () => async (dispatch) => {\n dispatch({ type: SET_APPLICATIONS_NOTIFICATION });\n}\n\nexport const setSelectedJob = (\n jobId,\n jobTitle,\n occupation,\n tier_one_category,\n isQualification = false\n) => async (dispatch) => {\n dispatch(\n recordJobClick(\n \"viewDetails\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n \n dispatch({ type: ADD_TO_VIEWED_LIST, jobId });\n \n dispatch({ type: SET_SELECTED_JOB, jobId });\n let ga = new GA();\n ga.setUserFromCache();\n\n if (isQualification){\n ga.trackEvent({\n category: \"Qualification\",\n action: \"Selected\",\n label: `jobId: ${jobId} jobTitle: ${jobTitle} occupation: ${occupation}`\n });\n } else {\n ga.trackEvent({\n category: \"Job\",\n action: \"Selected\",\n label: `jobId: ${jobId} jobTitle: ${jobTitle} occupation: ${occupation}`\n });\n }\n\n try {\n await API.post(config.API_NAME, \"/jobitems/viewed\", {\n body: {\n jobId: jobId,\n jobTitle,\n occupation,\n tier_one_category,\n isQualification,\n },\n });\n } catch (e) {}\n dispatch(fetchCoins())\n};\n\n\nexport const setCourseViewed = (course) => async (dispatch) => {\n\n try {\n await API.post(config.API_NAME, \"/jobitems/courseonline/viewed\", {\n body: course\n });\n } catch (e) {}\n}\n\nexport const setJobViewed = (\n jobId,\n jobTitle,\n occupation,\n tier_one_category,\n isQualification = false) => async (dispatch) => {\n\n dispatch(\n recordJobClick(\n \"viewDetails\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n\n try {\n await API.post(config.API_NAME, \"/jobitems/viewed\", {\n body: {\n jobId: jobId,\n jobTitle,\n occupation,\n tier_one_category,\n isQualification,\n },\n });\n } catch (e) {}\n dispatch(fetchCoins())\n}\n\nexport const getJobCategories = () => async (dispatch, getState) => {\n const {\n user: {\n contractDetails = {},\n skills_names,\n updatedAt,\n rawdata: {\n latestAssessmentResult = {},\n occupations,\n occupationsOriginal,\n desiredOccupations,\n desiredOccupationsOriginal,\n desiredExp,\n occupationsExtended,\n qualifications,\n userID,\n internalMobilityProvider\n } = {},\n },\n } = getState();\n const { jobsType = 0 } = contractDetails;\n let internalMobilityRoles = []\n let internalMobilityRolesList = []\n\n if(internalMobilityProvider){\n internalMobilityRoles = await dispatch(getinternalMobilityRoles());\n internalMobilityRolesList = internalMobilityRoles.map((item) => item.occupation[0])\n }\n try {\n\n\n let payload = {\n updatedAt,\n latestAssessmentResult,\n occupations,\n occupationsExtended,\n desiredExp,\n userID,\n qualifications,\n desiredOccupations,\n occupationsOriginal: occupationsOriginal,\n desiredOccupationsOriginal: desiredOccupationsOriginal,\n calculateQualifications: jobsType !== 0 ? true : false,\n skills_names,\n };\n\n \n if(internalMobilityProvider){\n payload.role_skills = {}\n for(const role of internalMobilityRoles){\n let tmpSkills = []\n if(role.skills && role.skills.length > 0){\n for(const skillObj of role.skills){\n if(skillObj.type === \"essential\"){\n tmpSkills.push(skillObj.skill)\n }\n }\n }\n payload.role_skills[role.occupation[0]] = tmpSkills\n }\n }\n \n if (!Cache.getItem(\"jobCategoriesV2\")) {\n let { jobs } = await API.post(\n config.API_NAME,\n \"/jobs/query/all_occupations\",\n {\n body: {\n data: payload,\n },\n }\n );\n jobs.searched_occupations = [];\n if(internalMobilityProvider){\n let existingOccs = []\n for(const key of Object.keys(jobs)){\n jobs[key] = jobs[key].filter((item) => internalMobilityRolesList.includes(item.occupation) || (item.alt_labels && item.alt_labels.some(r=> internalMobilityRolesList.includes(r)))).map((item) => {\n const roleTitle = internalMobilityRoles.find((_item) => _item.occupation.includes(item.occupation));\n if(roleTitle){\n existingOccs.push(item.occupation);\n existingOccs = [...existingOccs, item.occupation, ...roleTitle.preferredLabels]\n existingOccs.push(item.occupation);\n }\n return {\n ...item,\n roleTitle: roleTitle ? roleTitle.roleName : false\n }\n })\n }\n\n for (const idx in payload.desiredExp){\n payload.occupations.push(payload.desiredOccupations[idx])\n payload.occupationsOriginal.push(payload.desiredOccupationsOriginal[idx])\n }\n payload.desiredExp = []\n payload.desiredOccupations = []\n payload.desiredOccupationsOriginal = []\n for (const role of internalMobilityRoles){\n if(!existingOccs.includes(role.occupation[0])){\n payload.desiredExp.push(false)\n payload.desiredOccupations.push(role.preferredLabels[0])\n payload.desiredOccupationsOriginal.push(role.occupation[0])\n }\n }\n if(payload.desiredExp.length > 0){\n let internalOccs = await API.post(\n config.API_NAME,\n \"/jobs/query/all_occupations\",\n {\n body: {\n data: payload,\n },\n }\n );\n if(internalOccs && internalOccs.jobs){ \n internalOccs.jobs.desired_occupations = internalOccs.jobs.desired_occupations.filter((item) => internalMobilityRolesList.includes(item.occupation) || (item.alt_labels && item.alt_labels.some(r=> internalMobilityRolesList.includes(r)))).map((item) => {\n const roleTitle = internalMobilityRoles.find((_item) => _item.occupation.includes(item.occupation) || (item.alt_labels && item.alt_labels.some(r=> _item.occupation.includes(r))));\n return {\n ...item,\n roleTitle: roleTitle ? roleTitle.roleName : false\n }\n })\n jobs.skills_backpack_occupations.push(...internalOccs.jobs.desired_occupations)\n jobs.skills_backpack_occupations = [...new Set(jobs.skills_backpack_occupations)]\n }\n } \n }\n\n dispatch({ type: FETCH_JOB_CATEGORIES, \n jobs,\n preferredOccupations: desiredOccupations,\n previousOccupations: occupations,\n desiredExp: desiredExp\n });\n \n const {\n desired_occupations = [],\n interest_occupations = [],\n past_occupations = [],\n skills_backpack_occupations = [],\n styles_occupations = [],\n } = jobs;\n\n if (\n desired_occupations.length >= 1 ||\n interest_occupations.length >= 1 ||\n past_occupations.length >= 1 ||\n skills_backpack_occupations.length >= 1 ||\n styles_occupations.length >= 1\n ) {\n let db = await loadDB();\n await clearTableDB(db, \"jobCategories\");\n await saveValuesToDB(db, jobs, \"jobCategories\");\n \n Cache.setItem(\"jobCategoriesV2\", true, {\n expires: moment().add(2, \"days\").valueOf(),\n });\n\n }\n } else {\n let db = await loadDB();\n let jobCategories = await loadFromDB(db,\"jobCategories\");\n\n dispatch({\n type: FETCH_JOB_CATEGORIES,\n jobs: jobCategories,\n preferredOccupations: desiredOccupations,\n previousOccupations: occupations,\n desiredExp: desiredExp\n });\n }\n } catch (e) {\n // TODO\n console.log(e);\n }\n};\n\nexport const getRecommendedJobsNearMe = () => async (dispatch, getState) => {\n const {\n user: {\n skills_names,\n contractDetails = {},\n rawdata: {\n latestAssessmentResult = {},\n occupations,\n desiredOccupations,\n desiredExp,\n occupationsExtended,\n qualifications,\n } = {},\n },\n } = getState();\n\n const { jobsType = 0 } = contractDetails;\n\n const payload = {\n latestAssessmentResult,\n occupations,\n occupationsExtended,\n desiredExp,\n qualifications,\n desiredOccupations,\n calculateQualifications: jobsType !== 0 ? true : false,\n skills_names\n };\n\n if (payload.latestAssessmentResult.interests){\n payload.latestAssessmentResult.interests.salary = [\"0\"];\n }\n\n if (payload.latestAssessmentResult.interests){\n payload.latestAssessmentResult.interests.contract = [\"Either\"];\n }\n\n // payload.occupations = desiredOccupations;\n \n try {\n \n\n if (!Cache.getItem(\"jobs_nearmeV2\")) {\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/jobs_near_me\", {\n body: {\n data: payload,\n },\n });\n\n jobs.searched_occupations = []\n dispatch({ type: FETCH_NEARME_JOBS, jobs });\n\n //add to cache only if exist\n if (jobs.length >= 1){\n let db = await loadDB();\n await clearTableDB(db, \"jobsNearMe\");\n await saveValuesToDB(db, jobs, \"jobsNearMe\");\n Cache.setItem(\"jobs_nearmev2\", true, {\n expires: moment().add(30, \"m\").valueOf(),\n });\n await API.put(config.API_NAME, \"/users/nearmestatus\", {\n body: {\n \"nojobsnearme\": false,\n },\n }).then((res) => {\n }).catch((err) => {\n \n });\n } else {\n await API.put(config.API_NAME, \"/users/nearmestatus\", {\n body: {\n \"nojobsnearme\": true,\n },\n }).then((res) => {\n }).catch((err) => {\n \n });\n dispatch({\n type: FETCH_NEARME_JOBS,\n jobs: [],\n });\n }\n \n } else {\n let db = await loadDB();\n let jobsNearMe = await loadFromDB(db,\"jobCategories\");\n\n dispatch({\n type: FETCH_NEARME_JOBS,\n jobs: jobsNearMe,\n });\n }\n } catch (e) {\n // TODO\n console.log(e);\n }\n};\n\nexport const getInitialJobs = (occupationKey = \"desired_occupations\") => async (dispatch, getState) => {\n const {\n jobs: { rawJobCategories = {}, allJobCategories=[] },\n user: { rawdata: { latestAssessmentResult = {}, occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal, internalMobilityProvider} = {}, skills_names, providerDetails={}},\n } = getState();\n let viewPermissions = {};\n if (providerDetails && providerDetails.viewPermissions) {\n viewPermissions = providerDetails.viewPermissions;\n }\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:true});\n\n var clonedRawJobCategories = _.cloneDeep(rawJobCategories);\n const userOccs = {occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal}\n var interests = latestAssessmentResult.interests;\n\n const payload = {\n provider: providerDetails.sort,\n latestAssessmentResult: {\n interests,\n },\n skills_names,\n desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n };\n\n if(internalMobilityProvider){\n payload.provider = internalMobilityProvider\n payload.isInternal = true\n }\n\n try {\n if (!Cache.getItem(\"jobsV2\")) {\n\n let combinedJobs = {searched_occupations :[], desired_occupations: [], interest_occupations: [], past_occupations: [], skills_backpack_occupations: [], styles_occupations:[]}\n if(payload.isInternal){\n let jobCatKey = {}\n for (const [_key, _value] of Object.entries(clonedRawJobCategories)) {\n for (const occ of _value){\n if(!jobCatKey[occ.occupation]){\n jobCatKey[occ.occupation] = _key\n }\n }\n }\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/internal_mobility_jobs\", {\n body: {\n data: payload\n },\n });\n console.log(clonedRawJobCategories)\n console.log(jobCatKey)\n if(jobs && jobs.length > 0){\n for (const job of jobs){\n try{\n combinedJobs[jobCatKey[job.occupation]].push(job)\n }\n catch (e) {\n continue\n }\n }\n dispatch({\n type: FETCH_ALL_JOBS,\n jobs: combinedJobs,\n });\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n } \n\n }\n else{\n for (const [_key, _value] of Object.entries(clonedRawJobCategories)) {\n if (_key == occupationKey){\n const parent_occupations = [...new Set(_value.map((item) => item.parent_occupation))];\n for (const parent_occupation of parent_occupations){\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/all_jobs\", {\n body: {\n data: {...payload, [_key] : _value.filter((item) => item.parent_occupation === parent_occupation)}\n },\n });\n let filteredJobs = jobs[_key];\n if(viewPermissions && viewPermissions.jobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => item.vacancy_flag);\n }\n else if(viewPermissions && viewPermissions.promotedJobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => !item.vacancy_flag);\n }\n\n combinedJobs[_key] = [...combinedJobs[_key], ...filteredJobs]\n dispatch(\n { \n type: FETCH_INDIVIDUAL_JOBS, \n jobs:\n { desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n searched_occupations :[],\n [_key]: filteredJobs \n } \n , jobsKey: _key});\n if(parent_occupation === parent_occupations[0] && occupationKey === \"desired_occupations\" && filteredJobs.length > 0){\n const preSeletedOcc = _value[0].occupation\n if(preSeletedOcc){\n dispatch({ type: JOBS_FILTER, occupation:preSeletedOcc, isRemove:false, userOccs, occupationFilterChange:true});\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n }\n }\n }\n }\n\n //add to cache only if exist\n const {\n desired_occupations = [],\n interest_occupations = [],\n past_occupations = [],\n skills_backpack_occupations = [],\n styles_occupations = [],\n } = combinedJobs;\n\n if (\n desired_occupations.length >= 1 ||\n interest_occupations.length >= 1 ||\n past_occupations.length >= 1 ||\n skills_backpack_occupations.length >= 1 ||\n styles_occupations.length >= 1\n ) {\n let db = await loadDB();\n await clearTableDB(db, \"jobs\");\n await saveValuesToDB(db, combinedJobs, \"jobs\");\n\n Cache.setItem(\"jobsV2\", true, {\n expires: moment().add(30, \"m\").valueOf(),\n });\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:false});\n }\n else if(occupationKey === \"desired_occupations\"){\n dispatch(getInitialJobs(\"past_occupations\"));\n }\n else if(occupationKey === \"past_occupations\"){\n dispatch(getInitialJobs(\"skills_backpack_occupations\"));\n }\n else{\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:false});\n }\n } else {\n let db = await loadDB();\n let jobsCache = await loadFromDB(db,\"jobs\");\n\n dispatch({\n type: FETCH_ALL_JOBS,\n jobs: jobsCache,\n });\n const preSeletedOcc = clonedRawJobCategories.desired_occupations[0].occupation\n const addFilter = preSeletedOcc ? allJobCategories.find((item) => (preSeletedOcc === item.occupation || preSeletedOcc === item.parent_occupation || (item.alt_labels && item.alt_labels.includes(preSeletedOcc))) && item.jobCount > 0) : false; \n if(preSeletedOcc && addFilter){\n dispatch({ type: JOBS_FILTER, occupation:preSeletedOcc, isRemove:false, userOccs, occupationFilterChange:true});\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:false});\n }\n } catch (e) {\n // TODO\n dispatch({\n type: FETCH_ALL_JOBS,\n jobs: []\n });\n console.log(e);\n }\n};\n\nexport const loadOccpationJobs = (parent_occupation, occupation_catogery) => async (dispatch, getState) => {\n // console.log(\"loadOccpationJobs\")\n // console.log(parent_occupation, occupation_catogery)\n const {\n jobs: { rawJobCategories = {} },\n user: { rawdata: { latestAssessmentResult = {}, occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal} = {}, skills_names, providerDetails={}},\n } = getState();\n let viewPermissions = {};\n if (providerDetails && providerDetails.viewPermissions) {\n viewPermissions = providerDetails.viewPermissions;\n }\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:true});\n dispatch(toggleLoading(true))\n\n var clonedRawJobCategories = _.cloneDeep(rawJobCategories);\n const userOccs = {occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal}\n var interests = latestAssessmentResult.interests;\n\n const payload = {\n provider: providerDetails.sort,\n latestAssessmentResult: {\n interests,\n },\n skills_names,\n desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n };\n\n try {\n const occsToSearch = clonedRawJobCategories[occupation_catogery].filter((item) => item.parent_occupation ? item.parent_occupation === parent_occupation : item.occupation === parent_occupation )\n // console.log(occsToSearch)\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/all_jobs\", {\n body: {\n data: {...payload, [occupation_catogery] : occsToSearch}\n },\n });\n\n let filteredJobs = jobs[occupation_catogery];\n if(viewPermissions && viewPermissions.jobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => item.vacancy_flag);\n }\n else if(viewPermissions && viewPermissions.promotedJobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => !item.vacancy_flag);\n }\n dispatch(\n { \n type: FETCH_INDIVIDUAL_JOBS, \n jobs:\n { desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n searched_occupations :[],\n [occupation_catogery]: filteredJobs \n } \n , jobsKey: occupation_catogery\n });\n const preSeletedOcc = occsToSearch[0].occupation\n if(preSeletedOcc){\n dispatch({ type: JOBS_FILTER, occupation:preSeletedOcc, isRemove:false, userOccs, occupationFilterChange:true});\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n\n let db = await loadDB();\n let combinedJobs = await loadFromDB(db,\"jobs\");\n if (!combinedJobs){\n combinedJobs = {};\n }\n\n let idList = []\n let filteredList = []\n filteredJobs.forEach((item) => {\n if (!idList.includes(item.jobId)){\n idList.push(item.jobId)\n filteredList.push(item)\n }\n })\n\n try {\n combinedJobs[occupation_catogery].push(...filteredList)\n combinedJobs[occupation_catogery] = [...new Set(combinedJobs[occupation_catogery])]\n }\n catch {\n combinedJobs.searched_occupations = filteredList\n }\n await clearTableDB(db, \"jobs\");\n await saveValuesToDB(db, combinedJobs, \"jobs\");\n\n } catch (e) {\n console.log(e);\n }\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:false});\n dispatch(toggleLoading(false))\n};\n\nexport const getRecommendedJobs = () => async (dispatch, getState) => {\n const {\n jobs: { rawJobCategories = {} },\n user: { rawdata: { latestAssessmentResult = {}, occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal} = {}, skills_names, providerDetails={}},\n } = getState();\n let viewPermissions = {};\n if (providerDetails && providerDetails.viewPermissions) {\n viewPermissions = providerDetails.viewPermissions;\n }\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:true});\n\n var clonedRawJobCategories = _.cloneDeep(rawJobCategories);\n const userOccs = {occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal}\n var interests = latestAssessmentResult.interests;\n\n const payload = {\n provider: providerDetails.sort,\n latestAssessmentResult: {\n interests,\n },\n skills_names,\n desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n };\n\n try {\n if (!Cache.getItem(\"jobsV2\")) {\n\n let combinedJobs = {searched_occupations :[]}\n for (const [_key, _value] of Object.entries(clonedRawJobCategories)) {\n if (_key !== \"searched_occupations\"){\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/all_jobs\", {\n body: {\n data: {...payload, [_key] : _value}\n },\n });\n let filteredJobs = jobs[_key];\n if(viewPermissions && viewPermissions.jobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => item.vacancy_flag);\n }\n else if(viewPermissions && viewPermissions.promotedJobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => !item.vacancy_flag);\n }\n\n\n combinedJobs[_key] = filteredJobs \n dispatch(\n { \n type: FETCH_INDIVIDUAL_JOBS, \n jobs:\n { desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n searched_occupations :[],\n [_key]: filteredJobs\n } \n , jobsKey: _key});\n if(_key == \"desired_occupations\"){\n const preSeletedOcc = _value[0].occupation\n if(preSeletedOcc){\n dispatch({ type: JOBS_FILTER, occupation:preSeletedOcc, isRemove:false, userOccs, occupationFilterChange:true});\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n }\n }\n }\n\n //add to cache only if exist\n const {\n desired_occupations = [],\n interest_occupations = [],\n past_occupations = [],\n skills_backpack_occupations = [],\n styles_occupations = [],\n } = combinedJobs;\n\n if (\n desired_occupations.length >= 1 ||\n interest_occupations.length >= 1 ||\n past_occupations.length >= 1 ||\n skills_backpack_occupations.length >= 1 ||\n styles_occupations.length >= 1\n ) {\n let db = await loadDB();\n await clearTableDB(db, \"jobs\");\n await saveValuesToDB(db, combinedJobs, \"jobs\");\n\n Cache.setItem(\"jobsV2\", true, {\n expires: moment().add(30, \"m\").valueOf(),\n });\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:false});\n }\n } else {\n let db = await loadDB();\n let jobsCache = await loadFromDB(db,\"jobs\");\n\n dispatch({\n type: FETCH_ALL_JOBS,\n jobs: jobsCache,\n });\n const preSeletedOcc = clonedRawJobCategories.desired_occupations[0].occupation\n if(preSeletedOcc){\n dispatch({ type: JOBS_FILTER, occupation:preSeletedOcc, isRemove:false, userOccs, occupationFilterChange:true});\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n dispatch({type: FETCH_ALL_JOBS_COMPLETE, data:false});\n }\n } catch (e) {\n // TODO\n dispatch({\n type: FETCH_ALL_JOBS,\n jobs: []\n });\n console.log(e);\n }\n};\n\n //this method probably needs a rework\n export const getSearchedCategoryAndJobs = (spec_occ) => async (dispatch, getState) => {\n const {\n user: {\n skills_names,\n contractDetails = {},\n rawdata: {\n latestAssessmentResult = {},\n qualifications,\n occupations,\n desiredOccupations,\n desiredExp,\n occupationsExtended,\n desiredOccupationsExtended,\n occupationsOriginal,\n desiredOccupationsOriginal,\n } = {},\n providerDetails={}\n },\n jobs: { rawJobCategories = {} },\n } = getState();\n let viewPermissions = {};\n if (providerDetails && providerDetails.viewPermissions) {\n viewPermissions = providerDetails.viewPermissions;\n }\n const userOccs = {occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal}\n var interests = latestAssessmentResult.interests;\n const { jobsType = 0 } = contractDetails;\n var jobs = _.cloneDeep(rawJobCategories);\n\n let payload = _.cloneDeep({\n latestAssessmentResult,\n desiredOccupations,\n occupationsExtended,\n occupations,\n desiredExp,\n qualifications,\n calculateQualifications: jobsType !== 0 ? true : false,\n skills_names,\n occupationsOriginal,\n desiredOccupationsOriginal,\n });\n\n for (const idx in payload.desiredExp) {\n if (payload.desiredExp[idx] === true){\n payload.desiredExp[idx] = false\n payload.occupations.push(payload.desiredOccupations[idx])\n payload.occupationsExtended.push(desiredOccupationsExtended[idx])\n payload.occupationsOriginal.push(desiredOccupationsOriginal[idx])\n }\n }\n payload.desiredOccupations = [spec_occ]\n payload.desiredOccupationsOriginal = [spec_occ]\n \n try {\n const new_jobs_cats = await API.post(\n config.API_NAME,\n \"/jobs/query/all_occupations\",\n {\n body: {\n data: payload,\n },\n }\n );\n\n\n let newSearchedCats = new_jobs_cats.jobs.desired_occupations\n\n jobs.searched_occupations.push(...newSearchedCats)\n jobs.searched_occupations = [...new Set(jobs.searched_occupations)]\n\n let db = await loadDB(); \n await clearTableDB(db, \"jobCategories\");\n await saveValuesToDB(db, jobs, \"jobCategories\");\n await dispatch({ type: FETCH_JOB_CATEGORIES, jobs});\n \n // Cache.setItem(\"jobCategories\", jobs, { expires: moment().add(2, \"days\").valueOf()});\n \n new_jobs_cats.jobs.interest_occupations = []\n new_jobs_cats.jobs.past_occupations = []\n new_jobs_cats.jobs.skills_backpack_occupations = []\n new_jobs_cats.jobs.styles_occupations = []\n\n payload = {\n provider: providerDetails.sort,\n latestAssessmentResult: {\n interests,\n },\n ...new_jobs_cats.jobs,\n skills_names\n };\n const new_all_jobs = await API.post(config.API_NAME, \"/jobs/query/all_jobs\", {\n body: {\n data: payload,\n },\n });\n let filteredJobs = new_all_jobs.jobs.desired_occupations;\n if(viewPermissions && viewPermissions.jobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => item.vacancy_flag);\n }\n else if(viewPermissions && viewPermissions.promotedJobsCheckbox){\n filteredJobs = filteredJobs.filter((item) => !item.vacancy_flag);\n }\n \n let idList = []\n let filteredList = []\n filteredJobs.forEach((item) => {\n if (!idList.includes(item.jobId)){\n idList.push(item.jobId)\n filteredList.push(item)\n }\n })\n \n jobs = await loadFromDB(db,\"jobs\");\n if (!jobs){\n jobs = {};\n }\n // this try catch is being caught in cypress and stopping the execution.\n try {\n jobs.searched_occupations.push(...filteredList)\n jobs.searched_occupations = [...new Set(jobs.searched_occupations)]\n }\n catch {\n jobs.searched_occupations = filteredList\n }\n dispatch(\n { \n type: FETCH_INDIVIDUAL_JOBS, \n jobs:\n { desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n searched_occupations :jobs.searched_occupations,\n } \n , jobsKey: \"searched_occupations\"\n });\n const preSeletedOcc = newSearchedCats[0].occupation\n if(preSeletedOcc){\n dispatch({ type: JOBS_FILTER, occupation:preSeletedOcc, isRemove:false, userOccs, occupationFilterChange:true});\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n await clearTableDB(db, \"jobs\");\n await saveValuesToDB(db, jobs, \"jobs\");\n }\n catch (e) {\n console.log(e);\n }\n}\n\nexport const loadMoreJobs = (value) => async (\n dispatch,\n getState\n) => {\n dispatch({ type: UPDATE_LOAD_MORE_COUNT, status: \"loading\", text: \"Loading More Jobs...\"});\n const {\n jobs: { rawJobCategories = {}, allJobs = [] },\n user: { rawdata: { latestAssessmentResult = {} } = {}, skills_names},\n } = getState();\n\n var occupations = _.cloneDeep(rawJobCategories);\n var interests = latestAssessmentResult.interests;\n\n let payload = {\n latestAssessmentResult: {\n interests,\n },\n page_occupations: []\n };\n\n let categoryKey = {}\n try {\n for (const [cat_key, cat_value] of Object.entries(occupations)) {\n for (const [occ_idx, occ_value] of cat_value.entries()) {\n if (value.includes(occ_value.occupation)){\n if (occ_value.page){\n occupations[cat_key][occ_idx].page += 1\n }\n else{\n occupations[cat_key][occ_idx].page = 2 //start at two, one is essentially the first query\n }\n\n categoryKey[occ_value.occupation] = cat_key\n if(occ_value.alt_labels){\n for (const alt_labels of occ_value.alt_labels) {\n categoryKey[alt_labels] = cat_key\n }\n }\n payload.page_occupations.push(occupations[cat_key][occ_idx])\n }\n }\n }\n\n const {jobs} = await API.post(config.API_NAME, \"/jobs/query/paginate_jobs\", {\n body: {\n data: payload\n },\n });\n\n if (jobs){\n const combinedJobs = {\n desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n }\n for (const individual_job of jobs.occupation_to_paginate) {\n combinedJobs[categoryKey[individual_job.occupation]].push(individual_job)\n }\n \n for (const [cat_key, cat_value] of Object.entries(combinedJobs)) {\n if (cat_value.length > 0){\n await dispatch(\n { \n type: FETCH_INDIVIDUAL_JOBS, \n jobs:\n { desired_occupations: [],\n interest_occupations: [],\n past_occupations: [],\n skills_backpack_occupations: [],\n styles_occupations: [],\n searched_occupations :[],\n [cat_key]: cat_value \n },\n jobsKey: cat_key, loadMore:true\n });\n }\n \n }\n dispatch({ type: UPDATE_JOB_CATEGORIES, jobCategories:occupations }); // stores the new page numbers again\n dispatch({ type: ADD_FILTER, occupation:\"\", isRemove:false });\n dispatch({ type: UPDATE_LOAD_MORE_COUNT, status: \"success\", jobCount: allJobs});\n }\n else{\n dispatch({ type: UPDATE_LOAD_MORE_COUNT, status: \"error\", text: \"Error Loading More Jobs\"});\n }\n }\n catch (e) {\n console.log(e);\n dispatch({ type: UPDATE_LOAD_MORE_COUNT, status: \"error\", text: \"Error Loading More Jobs\"});\n }\n\n const delay = ms => new Promise(res => setTimeout(res, ms));\n await delay(4000)\n dispatch({ type: UPDATE_LOAD_MORE_COUNT});\n}\n \n\nexport const fetchQualifications = (item = false) => async (\n dispatch,\n getState\n) => {\n const {\n jobs: { qualNames = [] },\n } = getState();\n dispatch({ type: FETCH_QUALIFICATIONS, loading: true });\n try {\n let qualNameIsValid = false;\n let isItemValid = false;\n \n if (qualNames && qualNames.length > 0){\n qualNameIsValid = true;\n }\n if (item && item.qualification_name){\n isItemValid = true;\n }\n // \n if (isItemValid || qualNameIsValid ){\n if (!Cache.getItem(\"qualsV2\")) {\n const { jobs } = await API.post(\n config.API_NAME,\n \"/jobs/query/qualification\",\n {\n body: {\n data: !item ? qualNames : item.qualification_name,\n },\n }\n );\n \n await dispatch({ type: FETCH_QUALIFICATIONS, jobs, loading: false });\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n\n if (jobs && jobs.length >= 1) {\n Cache.setItem(\"qualsV2\", true, {\n expires: moment().add(30, \"m\").valueOf(),\n });\n let db = await loadDB();\n await clearTableDB(db, \"quals\");\n await saveValuesToDB(db, jobs, \"quals\");\n }\n } else {\n let db = await loadDB();\n let quals = await loadFromDB(db,\"quals\", \"arr\");\n \n await dispatch({\n type: FETCH_QUALIFICATIONS,\n jobs: quals,\n loading: false\n });\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n } else {\n dispatch({ type: FETCH_QUALIFICATIONS, jobs: [], loading: false});\n }\n dispatch(fetchCoins())\n } catch (e) {\n // TODO\n }\n};\n\nexport const fetchCentres = (centreIds) => async (dispatch, getState) => {\n const {\n user: { rawdata: { latestAssessmentResult = {} } = {} },\n } = getState();\n try {\n const { jobs } = await API.post(\n config.API_NAME,\n \"/jobs/query/centre_query\",\n {\n body: {\n data: {\n latestAssessmentResult: {\n interests: latestAssessmentResult.interests,\n },\n centre_list_ids: centreIds,\n },\n },\n }\n );\n return jobs\n } catch (e) {\n // TODO\n console.log(e);\n return false\n }\n};\n\nexport const addOccupationFilter = (occupation, isRemove = false, reset = false) => async (\n dispatch,\n getState\n) => {\n const {\n user: {\n rawdata: {\n occupations,\n occupationsOriginal,\n desiredOccupations,\n desiredOccupationsOriginal,\n } = {},\n internalMobilityProvider\n },\n jobs:{\n allJobCategories = []\n }\n } = getState();\n\n //If tying to filter a occ with no jobs, do job query\n const foundJobCat = allJobCategories.find((item) => item.occupation === occupation)\n if(!isRemove && foundJobCat && !foundJobCat.jobsCount > 0 && !internalMobilityProvider){\n dispatch(loadOccpationJobs(foundJobCat.parent_occupation ? foundJobCat.parent_occupation : occupation, foundJobCat.occKey));\n }\n else{\n const userOccs = {occupations, occupationsOriginal, desiredOccupations, desiredOccupationsOriginal}\n if(Array.isArray(occupation)){\n for (const occ of occupation) {\n dispatch({ type: JOBS_FILTER, occupation:occ, isRemove, userOccs, occupationFilterChange:true, occupationFilterReset:reset});\n }\n }\n else{\n dispatch({ type: JOBS_FILTER, occupation, isRemove, userOccs, occupationFilterChange:true, occupationFilterReset:reset});\n }\n }\n};\n\nexport const resetFilter = () => async (\n dispatch,\n getState\n) => {\n\n // dispatch({ type: OCC_FILTER, filter: [\n // { name: \"Preferred\", show: true },\n // { name: \"Previous\", show: true },\n // { name: \"Skills\", show: true },\n // { name: \"Styles\", show: true },\n // { name: \"Interest\", show: true },\n // { name: \"Searched\", show: true },\n // ] });\n\n};\n\nexport const filterQualsByOccupation = (category) => async (\n dispatch,\n getState\n) => {\n Cache.setItem(\"paginationConfig\", {\n recommended: 1,\n qualifications: 1,\n applied: 1,\n saved: 1,\n });\n Cache.setItem(\"sm_current_tab\", 1);\n};\n\nexport const filterJobsByOccupation = (occupation) => async (\n dispatch,\n getState\n) => {\n Cache.setItem(\"paginationConfig\", {\n recommended: 1,\n qualifications: 1,\n applied: 1,\n saved: 1,\n });\n\n Cache.setItem(\"sm_current_tab\", 0);\n};\n\nexport const fetchSkillsInfo = () => async (dispatch, getState) => {\n const {\n user: { rawdata: { occupations, desiredOccupations, occupationSkills } = {} },\n } = getState();\n\n try {\n let payload = {\n skills:[]\n };\n\n occupationSkills.forEach((skill, i) => {\n payload.skills.push(...skill.skills.map((individual_skill) => individual_skill.name))\n if(skill.optionalSkills && skill.optionalSkills.length > 0){\n payload.skills.push(...skill.optionalSkills.map((individual_skill) => individual_skill.name))\n }\n if(skill.deletedSkills && skill.deletedSkills.length > 0){\n payload.skills.push(...skill.deletedSkills.map((individual_skill) => individual_skill.name))\n }\n \n })\n\n const { data, typeData } = await API.post(\n config.API_NAME,\n \"/data/skills/description\",\n {\n body: payload\n }\n );\n await Promise.all([dispatch({ type: FETCH_SKILLS_LIST, skills: data, skillTypes: typeData })]);\n } catch (e) {\n console.log(e)\n }\n};\n\nexport const setFavouriteJob = (isFavourited, job) => async (dispatch) => {\n try {\n var { jobTitle, occupation, tier_one_category, qual_name, rangeKey, isInvited } = job;\n var isQualification = false;\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = job.qual_awarding_org + \"#\" + occupation + \"#\" + job.jobId;\n }\n\n if (isFavourited) {\n // NO Response implemented yet\n /* eslint-disable*/\n const { jobs } = await API.post(config.API_NAME, \"/jobitems/saved\", {\n /* eslint-enable*/\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n occupation: occupation,\n tier_one_category: tier_one_category,\n isQualification,\n },\n });\n dispatch(\n recordJobClick(\n \"unfav\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n } else {\n // NO Response implemented yet\n /* eslint-disable */\n if (isInvited) {\n const { jobs } = await API.del(config.API_NAME, \"/jobitems/invited\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n },\n });\n } else {\n await API.del(config.API_NAME, \"/jobitems/saved\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n },\n });\n }\n dispatch(\n recordJobClick(\n \"fav\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n }\n job.savedTimestamp = Date.now();\n dispatch({\n type: SET_FAVOURITE_JOB,\n payload: { favourited: isFavourited, job },\n });\n dispatch(fetchCoins())\n } catch (e) {\n console.log(e);\n // TODO\n }\n};\n\nexport const getFavouriteJobs = () => async (dispatch) => {\n const { saved, invited } = await API.get(config.API_NAME, \"/jobitems\", {});\n dispatch({ type: FETCH_FAVOURITED_JOBS, favourited: saved, invited });\n};\n\nexport const getAppliedJobs = () => async (dispatch) => {\n const { applied } = await API.get(config.API_NAME, \"/jobitems\", {});\n dispatch({ type: FETCH_APPLIED_JOBS, jobs: applied });\n};\n\nexport const setJobItemRead = (item) => async (dispatch, getState) => {\n const {\n user: {\n rawdata: {\n userID\n } = {},\n },\n } = getState();\n\n await API.post(config.API_NAME, \"/jobitems/set/read\", {\n body: {\n userID: userID,\n itemSort: item.itemSort,\n },\n });\n dispatch({ type: MARK_ITEM_READ, itemSort: item.itemSort});\n dispatch(fetchCoins())\n};\n\nexport const vacancyApply = (job) => async (dispatch, getState) => {\n const {\n user: {\n rawdata: {\n userID,\n firstName,\n lastName,\n phoneNumber,\n email\n } = {},\n },\n } = getState();\n try {\n let body = {\n jobId: job.jobId,\n jobSort: job.rangeKey,\n userId : userID,\n firstName: firstName, \n lastName: lastName,\n phoneNumber : phoneNumber,\n user_email: email\n };\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobitems/applied/vacancy\", {\n body: body,\n });\n /* eslint-enable */\n dispatch(fetchCoins())\n } catch (error) {\n console.log(error);\n }\n};\n\nexport const applyForJob = (job, recreate, verified, applicationDelay) => async (dispatch) => {\n try {\n var { jobTitle, occupation, tier_one_category, qual_name, rangeKey } = job;\n var isQualification = false;\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = job.qual_awarding_org + \"#\" + occupation + \"#\" + job.jobId;\n }\n // NO Response implemented yet\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobitems/applied\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n occupation: occupation,\n jobitem: job,\n tier_one_category: tier_one_category,\n isQualification,\n recreate: recreate,\n verified: verified,\n applicationDelay: applicationDelay\n },\n });\n if (!recreate){\n dispatch(\n recordJobClick(\n \"applied\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n }\n dispatch(fetchCoins())\n } catch (error) {\n console.log(error);\n // TODO\n }\n // just re-fetching applied jobs, as for notifications they need stuff that the backend provides(which the reducer wont have)\n await dispatch(getAppliedJobs());\n await dispatch(getFavouriteJobs());\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n // dispatch({ type: APPLY_FOR_A_JOB, job: job , updatePosition: true });\n};\n\nexport const interviewForJob = (job, recreate, verified) => async (dispatch) => {\n try {\n var { jobTitle, occupation, tier_one_category, qual_name, rangeKey } = job;\n var isQualification = false;\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = job.qual_awarding_org + \"#\" + occupation + \"#\" + job.jobId;\n }\n // NO Response implemented yet\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobitems/interviewed\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n recreate: recreate,\n verified: verified\n },\n });\n dispatch(\n recordJobClick(\n \"applied\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n dispatch(fetchCoins())\n } catch (error) {\n console.log(error);\n // TODO\n }\n // job.savedTimestamp = Date.now();\n job.interview = true;\n dispatch({ type: APPLY_FOR_A_JOB_UPDATE, job: job, updatePosition: true });\n};\n\n\n\nexport const startedJob = (job, recreate, verified) => async (dispatch) => {\n try {\n var { jobTitle, occupation, tier_one_category, qual_name, rangeKey } = job;\n var isQualification = false;\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = job.qual_awarding_org + \"#\" + occupation + \"#\" + job.jobId;\n }\n // NO Response implemented yet\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobitems/started\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n recreate: recreate,\n verified: verified\n },\n });\n dispatch(\n recordJobClick(\n \"applied\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n dispatch(fetchCoins())\n } catch (error) {\n console.log(error);\n // TODO\n }\n // job.savedTimestamp = Date.now();\n job.interview = true;\n job.started = true;\n dispatch({ type: APPLY_FOR_A_JOB_UPDATE, job: job, updatePosition:true });\n};\n\n\n\nexport const didntGetJob = (job, recreate, verified) => async (dispatch) => {\n try {\n var { jobTitle, occupation, tier_one_category, qual_name, rangeKey } = job;\n var isQualification = false;\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = job.qual_awarding_org + \"#\" + occupation + \"#\" + job.jobId;\n }\n // NO Response implemented yet\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobitems/unsuccessful\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n recreate: recreate,\n verified: verified\n },\n });\n dispatch(\n recordJobClick(\n \"applied\",\n jobTitle,\n occupation,\n tier_one_category,\n isQualification\n )\n );\n dispatch(fetchCoins())\n } catch (error) {\n console.log(error);\n // TODO\n }\n // job.savedTimestamp = Date.now();\n job.unsuccessful = true;\n dispatch({ type: APPLY_FOR_A_JOB_UPDATE, job: job, updatePosition: true });\n};\n\n\nexport const deleteAppliedJob = (job) => async (dispatch) => {\n try {\n var { jobTitle, occupation, tier_one_category, qual_name, rangeKey, interview } = job;\n var isQualification = false;\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = job.qual_awarding_org + \"#\" + occupation + \"#\" + job.jobId;\n }\n // NO Response implemented yet\n /* eslint-disable */\n if (interview){\n await API.del(config.API_NAME, \"/jobitems/interviewed\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n },\n });\n }\n else{\n await API.del(config.API_NAME, \"/jobitems/applied\", {\n /* eslint-enable */\n body: {\n rangeKey: rangeKey,\n jobitem: job,\n isQualification,\n },\n });\n }\n } catch (error) {\n console.log(error);\n // TODO\n }\n await dispatch({ type: APPLY_FOR_A_JOB_UPDATE, job: job, deleteJob: true });\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n};\n\n\n\n\n\nexport const getIndeedDescription = (id) => async (dispatch) => {\n try {\n // NO Response implemented yet\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/indeed_job_description\", {\n /* eslint-enable */\n body: {\n data: {\n \"job_id\": id\n }\n },\n });\n if(jobs && jobs){\n return jobs\n }\n\n } catch (error) {\n console.log(error);\n // TODO\n }\n};\n\n\nexport const getReedDescription = (id) => async (dispatch) => {\n try {\n // NO Response implemented yet\n /* eslint-disable */\n const { jobs } = await API.post(config.API_NAME, \"/jobs/query/reed_job_details\", {\n /* eslint-enable */\n body: {\n \"id\": id\n },\n });\n if(jobs && jobs.jobDescription){\n // console.log(\"TRIGGERING DISPATCH\")\n //dispatch({ type: UPDATE_FULL_DESCRIPTION, id: id, description: jobs.jobDescription});\n return jobs.jobDescription\n }\n\n } catch (error) {\n console.log(error);\n // TODO\n }\n};\n\nexport const loadedContentDashboard = () => async (dispatch) => {\n try {\n\n dispatch({ type: LOADED_CONTENT_DASHBOARD, loaded: true });\n\n } catch (e) {\n console.log(e);\n }\n}\n\n\nexport const getOptionalSkillCheck = (skills) => async (dispatch) => {\n\n let promises = [];\n _.each(skills , (i) => {\n const promise = new Promise(async (resolve, reject) => { \n let {jobs} = await API.post(config.API_NAME, \"/jobs/query/check_optional_match\", {\n body: {\n data: {\n \"occupation\": i.occupation,\n \"skills\": i.skills\n }\n },\n });\n jobs.occupation = i.occupation;\n resolve(jobs);\n });\n\n promises.push(promise);\n });\n\n Promise.all(promises).then((values) => {\n dispatch({type: OPTIONAL_SKILL_CHECK, values: values});\n });\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 0C3.13451 0 0 3.13451 0 7C0 10.8655 3.13451 14 7 14C10.8655 14 14 10.8655 14 7C14 3.13451 10.8655 0 7 0Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.9999 0.0874023C10.8181 0.0874023 13.9124 3.18172 13.9124 6.9999C13.9124 10.8181 10.8181 13.9124 6.9999 13.9124C3.18172 13.9124 0.0874023 10.8181 0.0874023 6.9999C0.0874023 3.18172 3.18172 0.0874023 6.9999 0.0874023Z\",\n fill: \"#FCD116\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.82289 1.10253C7.80671 1.41166 7.54298 1.64914 7.23384 1.63295C6.92471 1.61676 6.68723 1.35304 6.70342 1.0439C6.7196 0.734765 6.98333 0.497289 7.29247 0.513476C7.60158 0.529664 7.83905 0.793388 7.82289 1.10253Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.20229 12.9565C7.1861 13.2657 6.92237 13.5031 6.61324 13.487C6.3041 13.4708 6.06662 13.207 6.08281 12.8979C6.099 12.5888 6.36272 12.3513 6.67186 12.3675C6.981 12.3837 7.21847 12.6474 7.20229 12.9565Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.8948 7.48573C12.5852 7.48966 12.3311 7.24192 12.3272 6.93238C12.3233 6.62283 12.571 6.36873 12.8805 6.36479C13.1901 6.36085 13.4442 6.6086 13.4481 6.91814C13.452 7.22766 13.2043 7.48179 12.8948 7.48573Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.02515 7.63612C0.715603 7.64005 0.461503 7.39231 0.457566 7.08277C0.453628 6.77322 0.70137 6.51912 1.01092 6.51518C1.32046 6.51125 1.57456 6.75899 1.5785 7.06853C1.58241 7.37808 1.33467 7.63218 1.02515 7.63612Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.4077 9.4055C12.1139 9.3078 11.955 8.99046 12.0527 8.69672C12.1504 8.40299 12.4678 8.24409 12.7615 8.34179C13.0552 8.4395 13.2141 8.75684 13.1164 9.05057C13.0187 9.34431 12.7014 9.50321 12.4077 9.4055Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.14399 5.65892C0.850252 5.56121 0.691352 5.24388 0.78906 4.95014C0.886768 4.6564 1.2041 4.4975 1.49784 4.59521C1.79158 4.69292 1.95048 5.01025 1.85277 5.30399C1.75503 5.59773 1.43773 5.75663 1.14399 5.65892Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.1194 3.8611C11.8795 4.05675 11.5264 4.02087 11.3307 3.78098C11.1351 3.54108 11.171 3.18802 11.4109 2.99237C11.6508 2.79672 12.0038 2.83259 12.1995 3.07249C12.3951 3.31239 12.3593 3.66545 12.1194 3.8611Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.58322 11.0086C2.34333 11.2042 1.99026 11.1683 1.79461 10.9284C1.59896 10.6885 1.63484 10.3355 1.87474 10.1398C2.11463 9.94418 2.46769 9.98005 2.66334 10.22C2.85899 10.4598 2.82312 10.8129 2.58322 11.0086Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.7198 5.48995C12.4291 5.59621 12.1073 5.44661 12.001 5.15588C11.8947 4.86511 12.0443 4.54329 12.3351 4.43703C12.6258 4.33078 12.9477 4.48038 13.0539 4.77111C13.1602 5.06187 13.0106 5.3837 12.7198 5.48995Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.57043 9.56417C1.27966 9.67042 0.957839 9.52083 0.851585 9.23009C0.74533 8.93933 0.894926 8.61751 1.18566 8.51125C1.47642 8.405 1.79825 8.5546 1.9045 8.84533C2.01076 9.13609 1.86116 9.45792 1.57043 9.56417Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.89741 12.8866C7.81985 12.587 7.9999 12.2811 8.29959 12.2036C8.59927 12.126 8.90509 12.3061 8.98267 12.6057C9.06022 12.9054 8.88018 13.2112 8.58049 13.2888C8.2808 13.3664 7.97499 13.1863 7.89741 12.8866Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.9228 1.39495C4.84524 1.09526 5.02529 0.789444 5.32498 0.711861C5.62466 0.634307 5.93048 0.814353 6.00806 1.11404C6.08564 1.41373 5.90557 1.71954 5.60588 1.79712C5.30619 1.87471 5.00038 1.69463 4.9228 1.39495Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.91869 11.3897C3.10579 11.1431 3.4574 11.0949 3.704 11.282C3.95061 11.4691 3.99885 11.8207 3.81174 12.0673C3.62464 12.3139 3.27304 12.3621 3.02643 12.175C2.77983 11.9879 2.73159 11.6363 2.91869 11.3897Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0935 1.93366C10.2806 1.68705 10.6322 1.63881 10.8788 1.82592C11.1254 2.01302 11.1737 2.36462 10.9866 2.61123C10.7995 2.85783 10.4479 2.90607 10.2013 2.71897C9.95462 2.53187 9.90638 2.18029 10.0935 1.93366Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99597 2.06738C4.2741 2.06738 2.06738 4.27407 2.06738 6.99594C2.06738 9.7178 4.27413 11.9245 6.99597 11.9245C9.7178 11.9245 11.9246 9.7178 11.9246 6.99594C11.9246 4.27407 9.71783 2.06738 6.99597 2.06738Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99608 2.08789C9.70665 2.08789 11.9038 4.28502 11.9038 6.99559C11.9038 9.70616 9.70665 11.9033 6.99608 11.9033C4.2855 11.9033 2.08838 9.70616 2.08838 6.99559C2.08838 4.28502 4.2855 2.08789 6.99608 2.08789Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.99599 1.896C4.18033 1.896 1.896 4.18027 1.896 6.99593C1.896 9.81159 4.18036 12.0959 6.99599 12.0959C9.81166 12.0959 12.096 9.81159 12.096 6.99593C12.096 4.18027 9.81166 1.896 6.99599 1.896ZM6.99599 2.06265C9.72159 2.06265 11.9293 4.27034 11.9293 6.99593C11.9293 9.72153 9.72159 11.9293 6.99599 11.9293C4.27043 11.9293 2.06265 9.72153 2.06265 6.99593C2.06268 4.27034 4.27043 2.06265 6.99599 2.06265Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.43745 3.83398V3.86257V4.70566C5.82463 4.96787 5.46291 5.6315 5.57566 6.30312C5.69589 7.01916 6.33003 7.54999 7.0517 7.52065L7.04698 7.52042C7.20976 7.54075 7.34596 7.66511 7.37834 7.85787C7.41553 8.07942 7.28676 8.27677 7.09688 8.33064C6.90587 8.3848 6.71716 8.2926 6.63937 8.08386L6.6294 8.05702L5.64275 8.42464L5.65278 8.45142C5.79474 8.83245 6.08591 9.12348 6.43742 9.27645V10.1573H7.49028V9.30676C8.14207 9.06488 8.53334 8.3785 8.41667 7.68363C8.29674 6.96925 7.66522 6.43967 6.94562 6.46633C6.78267 6.44615 6.64637 6.3217 6.61397 6.12876C6.57678 5.90721 6.70561 5.70993 6.89549 5.65606C7.08647 5.60186 7.27515 5.69415 7.35294 5.90289L7.36297 5.92973L8.34956 5.56211L8.33959 5.53533C8.18903 5.1312 7.87059 4.82836 7.49028 4.68413V3.83398H6.43745Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.02678 5.18149C6.11329 5.18149 6.19441 5.15841 6.26432 5.11808L6.69332 5.48579C6.67274 5.53903 6.66145 5.59689 6.66145 5.6574C6.66145 5.72199 6.67432 5.78358 6.69763 5.83974L5.77823 6.6672C5.71064 6.63036 5.63314 6.60942 5.55074 6.60942C5.28786 6.60942 5.07474 6.82254 5.07474 7.08542C5.07474 7.34831 5.28786 7.56142 5.55074 7.56142C5.81363 7.56142 6.02674 7.34831 6.02674 7.08542C6.02674 7.02081 6.01387 6.95921 5.99055 6.90304L6.90993 6.0756C6.97752 6.11245 7.05504 6.1334 7.13745 6.1334C7.40034 6.1334 7.61345 5.92028 7.61345 5.6574C7.61345 5.39451 7.40034 5.1814 7.13745 5.1814C7.05091 5.1814 6.96977 5.20449 6.89984 5.24485L6.47088 4.87717C6.49148 4.82391 6.50278 4.76602 6.50278 4.70549C6.50278 4.4426 6.28967 4.22949 6.02678 4.22949C5.76389 4.22949 5.55078 4.4426 5.55078 4.70549C5.55078 4.96838 5.76389 5.18149 6.02678 5.18149ZM8.08936 5.81623C8.08936 5.55335 8.30247 5.34023 8.56536 5.34023C8.82824 5.34023 9.04136 5.55335 9.04136 5.81623V9.46557C9.04136 9.72846 8.82824 9.94157 8.56536 9.94157C8.30247 9.94157 8.08936 9.72846 8.08936 9.46557V5.81623ZM7.13741 6.76826C6.87453 6.76826 6.66141 6.98137 6.66141 7.24426V9.4656C6.66141 9.72848 6.87453 9.9416 7.13741 9.9416C7.4003 9.9416 7.61341 9.72848 7.61341 9.4656V7.24426C7.61341 6.98137 7.4003 6.76826 7.13741 6.76826ZM5.55071 7.87876C5.28782 7.87876 5.07471 8.09187 5.07471 8.35476V9.46543C5.07471 9.72831 5.28782 9.94143 5.55071 9.94143C5.81359 9.94143 6.02671 9.72831 6.02671 9.46543V8.35476C6.02671 8.09187 5.81359 7.87876 5.55071 7.87876Z\",\n fill: \"#D89E22\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.96864 5.09946C6.05515 5.09946 6.13627 5.07638 6.20618 5.03604L6.63518 5.40376C6.6146 5.457 6.60331 5.51486 6.60331 5.57537C6.60331 5.63996 6.61617 5.70155 6.63948 5.75771L5.72009 6.58517C5.6525 6.54833 5.575 6.52739 5.4926 6.52739C5.22971 6.52739 5.0166 6.7405 5.0166 7.00339C5.0166 7.26628 5.22971 7.47939 5.4926 7.47939C5.75549 7.47939 5.9686 7.26628 5.9686 7.00339C5.9686 6.93878 5.95573 6.87718 5.93241 6.82101L6.85178 5.99357C6.91938 6.03042 6.9969 6.05137 7.07931 6.05137C7.3422 6.05137 7.55531 5.83825 7.55531 5.57537C7.55531 5.31248 7.3422 5.09937 7.07931 5.09937C6.99277 5.09937 6.91162 5.12246 6.8417 5.16282L6.41274 4.79514C6.43334 4.74188 6.44464 4.68399 6.44464 4.62346C6.44464 4.36057 6.23153 4.14746 5.96864 4.14746C5.70575 4.14746 5.49264 4.36057 5.49264 4.62346C5.49264 4.88635 5.70575 5.09946 5.96864 5.09946ZM8.03129 5.7342C8.03129 5.47132 8.2444 5.2582 8.50729 5.2582C8.77017 5.2582 8.98329 5.47132 8.98329 5.7342V9.38354C8.98329 9.64642 8.77017 9.85954 8.50729 9.85954C8.2444 9.85954 8.03129 9.64642 8.03129 9.38354V5.7342ZM7.07934 6.68623C6.81646 6.68623 6.60334 6.89934 6.60334 7.16223V9.38356C6.60334 9.64645 6.81646 9.85956 7.07934 9.85956C7.34223 9.85956 7.55534 9.64645 7.55534 9.38356V7.16223C7.55534 6.89934 7.34223 6.68623 7.07934 6.68623ZM5.49264 7.79673C5.22975 7.79673 5.01664 8.00984 5.01664 8.27273V9.3834C5.01664 9.64628 5.22975 9.8594 5.49264 9.8594C5.75553 9.8594 5.96864 9.64628 5.96864 9.3834V8.27273C5.96864 8.00984 5.75553 7.79673 5.49264 7.79673Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.35428 7.02309C4.35428 7.25724 4.16446 7.44706 3.93031 7.44706C3.69616 7.44706 3.50635 7.25724 3.50635 7.02309C3.50635 6.78894 3.69616 6.59912 3.93031 6.59912C4.16446 6.59912 4.35428 6.78894 4.35428 7.02309Z\",\n fill: \"#D89E22\"\n});\n\nvar _ref25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.89428 6.55273C3.6524 6.55273 3.45605 6.74908 3.45605 6.99096C3.45605 7.23284 3.6524 7.42925 3.89428 7.42925C4.13616 7.42925 4.33251 7.23284 4.33251 6.99096C4.33251 6.74908 4.13616 6.55273 3.89428 6.55273Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.5437 7.02309C10.5437 7.25724 10.3539 7.44706 10.1198 7.44706C9.88562 7.44706 9.6958 7.25724 9.6958 7.02309C9.6958 6.78894 9.88562 6.59912 10.1198 6.59912C10.3539 6.59912 10.5437 6.78894 10.5437 7.02309Z\",\n fill: \"#D89E22\"\n});\n\nvar _ref27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0842 6.55273C9.84235 6.55273 9.646 6.74908 9.646 6.99096C9.646 7.23284 9.84235 7.42925 10.0842 7.42925C10.3261 7.42925 10.5225 7.23284 10.5225 6.99096C10.5225 6.74908 10.3261 6.55273 10.0842 6.55273Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2776 11.1032C11.034 10.9122 10.9914 10.5598 11.1824 10.3162C11.3735 10.0726 11.7258 10.03 11.9694 10.221C12.213 10.412 12.2556 10.7644 12.0646 11.008C11.8736 11.2516 11.5212 11.2942 11.2776 11.1032C11.2776 11.1032 11.2776 11.1032 11.2776 11.1032Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.93636 3.77895C1.69276 3.58794 1.65012 3.2356 1.84113 2.992C2.03214 2.7484 2.38447 2.70579 2.62807 2.8968C2.87167 3.08782 2.91432 3.44015 2.7233 3.68375C2.53226 3.92735 2.17996 3.96996 1.93636 3.77895Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.69426 12.2942C9.5267 12.0339 9.60186 11.687 9.86215 11.5195C10.1224 11.3519 10.4693 11.4271 10.6368 11.6873C10.8044 11.9476 10.7292 12.2945 10.469 12.462C10.2087 12.6296 9.86183 12.5544 9.69426 12.2942Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.26848 2.31271C3.10092 2.05243 3.17608 1.70558 3.43637 1.53801C3.69665 1.37045 4.0435 1.44562 4.21106 1.7059C4.37862 1.96618 4.30346 2.31303 4.04318 2.48059C3.7829 2.64816 3.43605 2.57299 3.26848 2.31271Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.50454 1.61225C9.39893 1.90324 9.07742 2.05351 8.78643 1.9479C8.49543 1.84229 8.34516 1.52078 8.45078 1.22978C8.55639 0.938789 8.87789 0.788522 9.16889 0.894135C9.45988 0.999747 9.61015 1.32125 9.50454 1.61225Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.45473 12.77C5.34912 13.061 5.02762 13.2112 4.73662 13.1056C4.44562 13 4.29536 12.6785 4.40097 12.3875C4.50658 12.0965 4.82809 11.9462 5.11908 12.0518C5.41008 12.1575 5.56035 12.479 5.45473 12.77Z\",\n fill: \"#FEBC1A\"\n});\n\nvar SvgSmallCoin = function SvgSmallCoin(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSmallCoin, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/smallCoin.fe829fd7.svg\";\nexport { ForwardRef as ReactComponent };","export const DEFAULT = \"/\";\nexport const HELLO = \"/hello\";\nexport const LOGIN = \"/login\";\nexport const FORGOT = \"/forgot\";\nexport const SIGNUP = \"/signup\";\nexport const APP = \"/app\";\nexport const UNSUB = \"/unsub\";\nexport const APPLICATION = \"/application\";\n\nexport const PROFILE = \"/app/profile\";\nexport const PROFILE_SETTINGS = \"/app/profile/settings\";\nexport const ORGANISATION_PROFILE = \"/app/profile/org\";\nexport const CHAT = \"/app/chat\";\nexport const JOBS = \"/app/jobs\";\nexport const JOB_DETAILS = \"/app/jobs/details\";\nexport const RESOURCE_DETAILS = \"/app/resource/details\";\nexport const MISSIONS = \"/app/missions\";\nexport const PRIVACY = \"/app/privacy\";\nexport const FAQ = \"/app/faq\";\nexport const APPLICATION_ASSISTANT = \"/app/applicationAssistant\";\n","import { API, Storage, label } from \"aws-amplify\";\nimport {FETCH_ALL_CVS, STORE_CV_DATA, STORE_OCC_LIST_OPTION, CREATE_JOB_CV, REMOVE_TEMPLATE, CLEAR_NEW_TEMPLATE_PROMPT, UPDATE_EXPERIENCE_PROMPTS} from \"./types\";\nimport _ from \"lodash\";\nimport config from \"../config/\";\nimport moment from \"moment\";\nimport {fetchCoins} from \"./reward_actions\";\n\nconst templateCV = {\n versionName: \"master\",\n personalInformation :{\n name: \"\",\n email:\"\",\n phoneNumber: \"\",\n location: \"\",\n linkedIn: \"\",\n personalWebsite: \"\"\n },\n personalStatement: {\n htmlStatement: \"\"\n },\n experienceSection: [],\n educationSection: [],\n languageSection: [],\n achievementsSection: [],\n projectsSection: [],\n hobbiesSection: [],\n referencesSection: [],\n}\n\nexport function getCVData(versionName = \"master\") {\n return async function (dispatch, getState) {\n const {\n user: {\n lastName = \"\",\n firstName = \"\",\n email = \"\",\n phoneNumber = \"\"\n },\n } = getState();\n try {\n let data = await API.post(config.API_NAME, `/user/applicationAssistant/get`, {}); // cvData will be a list of cv items\n let profileSnippets = await API.get(config.API_NAME, `/personalstatementsummaries`, {}); \n if (data && data.success && data.cvData && data.cvData.length > 0){\n data.cvData = data.cvData.map((item) => {\n if(item.sort.includes(\"master\")){\n if(!item.versionName){\n item.versionName = versionName\n }\n if(!item.personalInformation){\n item.personalInformation = templateCV.personalInformation\n }\n if(!item.personalStatement){\n item.personalStatement = templateCV.personalStatement\n }\n if(!item.experienceSection){\n item.experienceSection = templateCV.experienceSection\n }\n if(!item.educationSection){\n item.educationSection = templateCV.educationSection\n }\n if(!item.languageSection){\n item.languageSection = templateCV.languageSection\n }\n if(!item.achievementsSection){\n item.achievementsSection = templateCV.achievementsSection\n }\n if(!item.projectsSection){\n item.projectsSection = templateCV.projectsSection\n }\n if(!item.hobbiesSection){\n item.hobbiesSection = templateCV.hobbiesSection\n }\n if(!item.referencesSection){\n item.referencesSection = templateCV.referencesSection\n }\n }\n return item\n })\n\n if(!data.cvData.find((item) => item.versionName.includes(\"master\"))){\n let newMaster = _.cloneDeep(templateCV);\n newMaster.updatedAt = moment.utc().valueOf();\n data.cvData.push(newMaster)\n }\n\n await dispatch({ type: FETCH_ALL_CVS, data: data.cvData, profileSnippets: profileSnippets, promptsData: data.promptsData});\n }\n else{\n if(versionName === \"master\"){\n let newMaster = _.cloneDeep(templateCV);\n newMaster.updatedAt = moment.utc().valueOf();\n newMaster.personalInformation.name = firstName + \" \" + lastName\n newMaster.personalInformation.email = email\n newMaster.personalInformation.phoneNumber = phoneNumber ? phoneNumber : \"\"\n await dispatch({ type: FETCH_ALL_CVS, data: [newMaster], profileSnippets: profileSnippets, promptsData: undefined});\n }\n else{\n await dispatch({ type: FETCH_ALL_CVS, data: false, profileSnippets: profileSnippets, promptsData: undefined});\n }\n } \n } catch (e) {\n console.log(\"getCVData error ():\", e);\n }\n }\n}\n\nexport function setCVData(versionName, cvData) {\n return async function (dispatch, getState) {\n try {\n let data = await API.post(config.API_NAME, `/user/applicationAssistant/set`, {\n body: {\n versionName: versionName ? versionName : \"master\",\n personalInformation: cvData.personalInformation,\n personalStatement: cvData.personalStatement,\n experienceSection: cvData.experienceSection,\n educationSection: cvData.educationSection,\n languageSection: cvData.languageSection,\n achievementsSection: cvData.achievementsSection,\n projectsSection: cvData.projectsSection,\n hobbiesSection: cvData.hobbiesSection,\n referencesSection: cvData.referencesSection,\n jobData: cvData.jobData,\n prompts: cvData.prompts,\n exportUnlocked: cvData.exportUnlocked\n },\n });\n if (data && data.success && data.cvData){\n await dispatch({ type: STORE_CV_DATA, data: data.cvData});\n return true\n }\n } catch (e) {\n console.log(\"setCVData error ():\", e);\n }\n }\n}\n\nexport function changeTemplate(versionName) {\n return async function (dispatch, getState) {\n // console.log(\"changeTemplate\")\n const {\n applicationAssistant : {\n storedCVs\n }\n } = getState();\n dispatch({ type: STORE_CV_DATA, data: storedCVs[versionName]});\n }\n}\n\nexport function createTemplateForJob(jobData) {\n return async function (dispatch, getState) {\n const {\n applicationAssistant : {\n storedCVs,\n activeCV,\n }\n } = getState();\n\n if(!storedCVs && !activeCV){\n await dispatch(getCVData()) \n await dispatch(getOccsForSelection())\n }\n await dispatch({ type: CREATE_JOB_CV, job: jobData});\n\n }\n}\n\nexport function deleteTemplate(versionName){\n return async function (dispatch, getState) {\n\n let data = await API.post(config.API_NAME, `/user/applicationAssistant/delete`, {\n body: {\n versionName: versionName\n },\n });\n\n await dispatch({ type: REMOVE_TEMPLATE, versionName: versionName});\n }\n}\n\nexport const autoCompleteOccupation = (text) => {\n return async function (dispatch) {\n try {\n const data = await API.post(config.API_NAME, \"/nlu/occupation\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/fallbackoccupation\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return [];\n }\n}\n\nexport const autoCompleteV2 = (text) => {\n return async function (dispatch) {\n try {\n const data = await API.post(config.API_NAME, \"/nlu/occupationAutoComplete\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/occupationAutoCompleteFallback\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return {\n directMatches: [],\n closeMatches: []\n };\n }\n}\n\nexport const autoCompleteSkill = (text) => {\n return async function (dispatch) {\n try {\n const data = await API.post(config.API_NAME, \"/nlu/skill\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/fallbackskill\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return [];\n }\n}\n\nexport const autoCompleteV2Skill = (text) => {\n return async function (dispatch) {\n // console.log(\"skillAutoComplete(): \");\n try {\n const data = await API.post(config.API_NAME, \"/nlu/skillAutoComplete\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/skillAutoCompleteFallback\", {\n body: {\n text: text, \n dualType: false\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return {\n directMatches: [],\n closeMatches: []\n };\n }\n}\n\n\nexport const autoCompleteQualifications = (text) => {\n return async function (dispatch, getState) {\n // console.log(\"autoCompleteQualifications(): \");\n const {\n user : {\n providerDetails, \n organisation\n }\n } = getState();\n\n try {\n const data = await API.post(config.API_NAME, \"/nlu/qualificationsAutoComplete\", {\n body: {\n text: text, \n dualType: false,\n organisation: providerDetails && providerDetails.organisationQualificationsCheckbox ? false : organisation,\n data_type: 0\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/qualificationsAutoCompleteFallback\", {\n body: {\n text: text, \n dualType: false,\n organisation: providerDetails && providerDetails.organisationQualificationsCheckbox ? false : organisation,\n data_type: 0\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return {\n directMatches: [],\n closeMatches: []\n };\n }\n}\n\n\nexport const autoCompleteQualificationsLevels = (text) => {\n return async function (dispatch, getState) {\n // console.log(\"autoCompleteQualifications(): \");\n\n try {\n const data = await API.post(config.API_NAME, \"/nlu/qualificationsAutoComplete\", {\n body: {\n text: text, \n dualType: false,\n organisation: false,\n data_type: 1\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/qualificationsAutoCompleteFallback\", {\n body: {\n text: text, \n dualType: false,\n organisation: false,\n data_type: 1\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return {\n directMatches: [],\n closeMatches: []\n };\n }\n}\n\n\nexport const autoCompleteLocations = (text) => {\n return async function (dispatch, getState) {\n try {\n const data = await API.post(config.API_NAME, \"/nlu/locationAutoComplete\", {\n body: {\n text: text\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n console.log(e)\n }\n try {\n const data = await API.post(config.API_NAME, \"/nlu/locationAutoCompleteFallback\", {\n body: {\n text: text\n }\n })\n if (data && data.response){\n return data.response\n }\n } catch (e) {\n throw e;\n }\n return {\n directMatches: [],\n closeMatches: []\n };\n }\n}\n\nexport const getOccDetails = (isOcc, text) => {\n return async function (dispatch, getState) {\n const {\n user : {\n occupationSkills,\n preferredOccupations,\n previousOccupations\n }\n } = getState();\n if(isOcc){\n let response = await API.post(config.API_NAME, \"/data/occupation\", {\n body: {\n label: text\n }\n })\n try {\n if (response && response.data){\n let details = response.data\n details.skills = {\"Expert\":[], \"Proficient\":[],\"Novice\":[], \"Beginner\":[],\"Missing\":[]} \n let allSkills = {}\n try {\n \n for(const skill of [...response.data.essentialSkills, ...response.data.optionalSkills]){\n allSkills[skill] = true\n }\n let existingSkills = occupationSkills.find((item) => item.occupation == text)\n if ((preferredOccupations.includes(text) || previousOccupations.includes(text)) && existingSkills){\n for (const skill of existingSkills.skills){\n if(allSkills[skill.name]){\n if (skill.level === 4){\n details.skills[\"Expert\"].push(skill.name)\n delete allSkills[skill.name]\n }\n else if(skill.level === 3){\n details.skills[\"Proficient\"].push(skill.name)\n delete allSkills[skill.name]\n }\n else if(skill.level === 2){\n details.skills[\"Novice\"].push(skill.name)\n delete allSkills[skill.name]\n }\n else{\n details.skills[\"Beginner\"].push(skill.name)\n delete allSkills[skill.name]\n }\n }\n }\n }\n\n for (const [key, value] of Object.entries(allSkills)){\n details.skills[\"Missing\"].push(key)\n }\n details.skills=[{type:\"Expert\", skills:details.skills.Expert},{type:\"Proficient\", skills:details.skills.Proficient}, {type:\"Novice\", skills:details.skills.Novice}, {type:\"Beginner\", skills:details.skills.Beginner},{type:\"Missing\", skills:details.skills.Missing}]\n \n } catch (e) {\n console.log(e)\n }\n return details\n }\n } catch (e) {\n throw e;\n }\n }\n else{\n try {\n let details = {skills : {\"Expert\":[], \"Proficient\":[],\"Novice\":[], \"Beginner\":[]}}\n if(text){\n details.skills.Beginner = [...details.skills.Beginner, text]\n }\n else{\n for (const skill of occupationSkills){\n if (skill.occupation.includes(\"Manually Added\") || skill.occupation.includes(\"Resource Added Skills\")){\n for (const _skill of skill.skills){\n if (_skill.level === 4){\n details.skills[\"Expert\"].push(_skill.name)\n }\n else if(_skill.level === 3){\n details.skills[\"Proficient\"].push(_skill.name)\n }\n else if(_skill.level === 2){\n details.skills[\"Novice\"].push(_skill.name)\n }\n else{\n details.skills[\"Beginner\"].push(_skill.name)\n }\n }\n }\n } \n }\n\n details.skills=[{type:\"Expert\", skills:details.skills.Expert},{type:\"Proficient\", skills:details.skills.Proficient}, {type:\"Novice\", skills:details.skills.Novice}, {type:\"Beginner\", skills:details.skills.Beginner}]\n return details\n\n } catch (e) {\n throw e;\n }\n }\n }\n}\n\nexport function getOccsForSelection() {\n return async function (dispatch, getState) {\n const {\n user : {\n desiredExp,\n preferredOccupations,\n previousOccupations\n }\n } = getState();\n let occList = []\n\n for (const idx in desiredExp) {\n if(idx){\n occList.push(preferredOccupations[idx])\n }\n }\n occList.push(...previousOccupations)\n\n await dispatch({ type: STORE_OCC_LIST_OPTION, data: occList});\n }\n}\n\n\nexport function generatePrompts(promptType, promptText, sectionIndex) {\n return async function (dispatch, getState) {\n const {\n applicationAssistant : {\n activeCV,\n }\n } = getState();\n let newActiveCV = _.cloneDeep(activeCV);\n\n let prompt = \"\"\n if(promptType === \"job_description\"){\n prompt = activeCV.jobData.fullDescription\n }\n else{\n prompt = promptText\n }\n\n const coinsCheck = await API.post(config.API_NAME, \"/coinsCheck\",\n {\n body: {\n promptType: promptType,\n },\n }\n );\n if(coinsCheck){\n try {\n const {jobs} = await API.post(config.API_NAME, \"/jobs/query/chatgpt\", {\n body: {\n prompt: prompt,\n temperature: 0,\n reason: promptType, \n },\n });\n if(jobs){\n let cleanedPrompts = jobs.map((value) => value.replaceAll(\"\\n\", \"
\"));\n const spendCoins = await API.post(config.API_NAME, \"/spendCoins\",\n {\n body: {\n promptType: promptType,\n promptContent: cleanedPrompts\n },\n }\n );\n if(spendCoins){\n dispatch(fetchCoins())\n if(promptType === \"job_description\"){\n newActiveCV.jobData.prompts = cleanedPrompts\n await dispatch(setCVData(newActiveCV.versionName, newActiveCV));\n }\n else{\n return {array: cleanedPrompts, text: cleanedPrompts.map((value) => {return value.length > 2 ? '

' + value + '

': value}).join(\"\")}\n }\n }\n }\n } catch (e) {\n console.log(\"generatePrompts error ():\", e);\n }\n }\n }\n}\n\n\nexport function generateExperiencePrompts(promptType, promptText, preferredLabel) {\n return async function (dispatch, getState) {\n const {\n applicationAssistant : {\n activeCV,\n }\n } = getState();\n\n const coinsCheck = await API.post(config.API_NAME, \"/coinsCheck\",\n {\n body: {\n promptType: promptType,\n promptContent: promptType === \"experience_occupation\" ? {occupation: preferredLabel} : {skills: promptText} \n },\n }\n );\n\n if(coinsCheck){\n if(promptType === \"experience_occupation\"){\n try {\n const occPrompt = await API.post(\n config.API_NAME,\n \"/users/getGPTDescription\",\n {\n body: {\n occupation: preferredLabel,\n },\n }\n );\n if(occPrompt && occPrompt.length > 0){\n let cleanedDescription = occPrompt.split(\"\\n\").map((item) => {\n if(item.charAt(0) === \"-\"){\n return \"
  • \" + item.replace(\"- \", \"\") + \"
  • \"\n }\n return \"
  • \" + item + \"
  • \"\n }).join(\"\")\n cleanedDescription = \"Roles and Responsibilities:\"\n let promptContentOccupation = {occupation: {name: promptText, value: cleanedDescription}}\n const spendCoins = await API.post(config.API_NAME, \"/spendCoins\",\n {\n body: {\n promptType: promptType,\n promptContent: promptContentOccupation\n },\n }\n );\n if(spendCoins){\n dispatch(fetchCoins())\n await dispatch({ type: UPDATE_EXPERIENCE_PROMPTS, promptContent: promptContentOccupation});\n return {text: cleanedDescription}\n }\n }\n } catch (e) {\n console.log(e)\n }\n } \n else if(promptType === \"experience_skill\"){\n try {\n const skillDetails = await API.post(\n config.API_NAME,\n \"/users/getSkillsDetails\",\n {\n body: {\n skills: promptText,\n },\n }\n );\n if(skillDetails && skillDetails.length > 0){\n let promptContentSkills = {skills: skillDetails.map((item) => {return {name: item.name, value: item.description}})}\n let missingSkills = promptText.filter((item) => !skillDetails.find((_item) => item === _item.name))\n const spendCoins = await API.post(config.API_NAME, \"/spendCoins\",\n {\n body: {\n promptType: promptType,\n promptContent: promptContentSkills\n },\n }\n );\n if(spendCoins){\n dispatch(fetchCoins())\n await dispatch({ type: UPDATE_EXPERIENCE_PROMPTS, promptContent: promptContentSkills});\n return {text: promptContentSkills.skills.map((item) => {return '
  • ' + item.value + '
  • '}).join(\"\"), selectedSkills: skillDetails.map((item) => item.name), warningSkills: missingSkills && missingSkills.length > 0 ? missingSkills : false}\n }\n }\n else{\n return {warningSkills: promptText}\n }\n } catch (e) {\n console.log(e)\n }\n }\n }\n }\n}\n\n\nexport function generateStatementPrompts(promptType, promptList) {\n return async function (dispatch, getState) {\n const {\n applicationAssistant : {\n activeCV,\n }\n } = getState();\n\n const coinsCheck = await API.post(config.API_NAME, \"/coinsCheck\",\n {\n body: {\n promptType: promptType,\n promptContent: {personalStatements: promptList}\n },\n }\n );\n\n if(coinsCheck){\n try {\n const statementDetails = await API.post(\n config.API_NAME,\n \"/personalstatementtext\",\n {\n body: {\n dimensions: promptList,\n },\n }\n );\n if(statementDetails && statementDetails.length > 0){\n let promptContentStatements = {personalStatements: statementDetails.map((item) => {return {name: item.dimension, value: item}})}\n const spendCoins = await API.post(config.API_NAME, \"/spendCoins\",\n {\n body: {\n promptType: promptType,\n promptContent: promptContentStatements\n },\n }\n );\n if(spendCoins){\n dispatch(fetchCoins())\n await dispatch({ type: UPDATE_EXPERIENCE_PROMPTS, promptContent: promptContentStatements});\n return {text: promptContentStatements.personalStatements.map((item) => {return \"

    \" + item.value.text + \"

    \"}).join(\"\")}\n }\n }\n } catch (e) {\n console.log(e)\n }\n }\n }\n}\n\n\nexport function clearNewTemplatePrompt() {\n return async function (dispatch, getState) {\n dispatch({ type: CLEAR_NEW_TEMPLATE_PROMPT});\n }\n}\n\n\n\n\nexport function unlockCVExport() {\n return async function (dispatch, getState) {\n const {\n applicationAssistant : {\n activeCV,\n }\n } = getState();\n\n const coinsCheck = await API.post(config.API_NAME, \"/coinsCheck\",\n {\n body: {\n promptType: \"cvExport\",\n promptContent: false\n },\n }\n );\n\n if(coinsCheck){\n try {\n const spendCoins = await API.post(config.API_NAME, \"/spendCoinsUnlock\",\n {\n body: {\n activeCV: activeCV\n },\n })\n if(spendCoins){\n await dispatch(setCVData(activeCV.versionName, {...activeCV, exportUnlocked: true}))\n await dispatch(fetchCoins())\n return true\n }\n } catch (e) {\n console.log(e)\n }\n }\n }\n}\n\nexport function generatePreview(activeCV, cvStyle) {\n return async function (dispatch, getState) {\n try {\n const generatedHtml = await API.post(\n config.API_NAME,\n \"/createHtml\",\n {\n body: {...activeCV, cvStyle}\n }\n );\n if (generatedHtml && generatedHtml.rawHtml){\n return {success: true, data: generatedHtml.rawHtml}\n }\n }\n catch (e) {\n console.log(\"generatePdf():\", e);\n }\n }\n}\n\n\nexport function generatePDF(activeCV, rawHTML) {\n return async function (dispatch, getState) {\n const {\n user: {\n rawdata: {\n userID\n } = {},\n },\n } = getState();\n try {\n const genResponse = await API.post(\n config.API_NAME,\n \"/pdf-service/application-assistant-pdf\",\n {\n body: { id: userID, templateName: activeCV.versionName, html:rawHTML},\n },\n { timeout: 1200000 }\n );\n if (genResponse && genResponse.success){\n // console.log(\"genResponse.success\")\n const s3Url = await Storage.get(`applicationAssistant/${activeCV.versionName}.pdf`,\n {\n level: \"private\",\n });\n return {success: true, data: s3Url}\n }\n }\n catch (e) {\n console.log(\"generatePdf():\", e);\n }\n }\n}\n\nexport function downloadCV(cvLink) {\n return async function (dispatch, getState) {\n try {\n const blob = await fetch(cvLink, { method: \"get\" });\n return {success: true, data: await blob.blob()}\n }\n catch (e) {\n console.log(\"generatePdf():\", e);\n }\n }\n}\n\n\nexport function triggerCheckout(type) {\n return async function (dispatch, getState) {\n try {\n const endpointString = type === \"bundle\" ? \"/bundleCheckout\" : \"/subscriptionCheckout\"\n // const endpointString = type === \"bundle\" ? \"/bundleCheckout\" : \"/subscriptionCheckout\"\n const checkoutResponse = await API.get(config.API_NAME, endpointString);\n if (checkoutResponse && checkoutResponse.success && checkoutResponse.session){\n return {url : checkoutResponse.session.url}\n }\n }\n catch (e) {\n console.log(\"triggerCheckout():\", e);\n }\n}}\n\nexport function triggerCustomerPortal() {\n return async function (dispatch, getState) {\n try {\n const checkoutResponse = await API.get(config.API_NAME, \"/portalSession\");\n if (checkoutResponse && checkoutResponse.success && checkoutResponse.session){\n return {url : checkoutResponse.session.url}\n }\n }\n catch (e) {\n console.log(\"triggerCustomerPortal():\", e);\n }\n}}","import { API } from \"aws-amplify\";\nimport {\n SEND_CHAT_MESSAGE,\n RECEIVE_BOT_MESSAGE,\n RECEIVE_BOT_STATE,\n CHAT_WELL_DONE,\n RECEIVE_BOT_DONE,\n RESET_MESSAGES,\n // USER_PROFILE_EDIT_DONE,\n} from \"./types\";\nimport config from \"../config/\";\nimport { v4 as uuidv4 } from \"uuid\";\nimport { Logger } from \"aws-amplify\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport {fetchCoins} from \"./reward_actions\";\n//import { fetchUser } from \"./user_actions\";\n\nconst logger = new Logger(\"CHAT.ACTIONS\", \"INFO\");\n\nconst botDelay = 1000;\n\nexport function sendMessage(messages) {\n return async function (dispatch, getState) {\n const state = getState();\n\n var isInterventionBot = state.user.isInterventionOngoing || false;\n //console.log(messages);\n var msg = messages[0];\n\n if (!msg.hidden) {\n dispatch({\n type: SEND_CHAT_MESSAGE,\n messages: messages,\n disableInput: true,\n });\n }\n\n if (msg.isRetry) {\n if (state.chat.messages[1]) {\n msg.text = state.chat.messages[1].text;\n }\n }\n\n try { \n const r = await API.post(config.API_NAME, \"/standalone-chatbot\", {\n body: {\n id: msg.user._id,\n target_bot: isInterventionBot ? \"intervention\" : \"skillzminer_web\",\n utterance: msg.text,\n //isTest: this.props.isTest,\n },\n });\n //logger.info(r);\n dispatch(receiveMessageArray(r));\n if (r.state) {\n dispatch({ type: RECEIVE_BOT_STATE, payload: r.state });\n //trigger caseload increments from bot here\n if (r.state.caseloadEvent && r.state.caseloadEvent.eventType && r.state.caseloadEvent.timestamp){\n const ts = moment.unix(r.state.caseloadEvent.timestamp).utc()\n API.patch(config.API_NAME, `/caseload/increment`, {\n body: {\n contract: state.user.contract,\n provider: state.user.provider,\n organisation: state.user.organisation,\n keyworker: state.user.keyworkerID,\n eventType: r.state.caseloadEvent.eventType,\n startOfDay: ts.startOf(\"day\").unix(),\n startOfWeek: ts.startOf(\"week\").unix(),\n startOfMonth: ts.startOf(\"month\").unix()\n }\n });\n }\n }\n if (r.isDone === true) {\n dispatch({ type: RECEIVE_BOT_DONE });\n dispatch(fetchCoins());\n }\n if (r.clearProfileImage === true) {\n dispatch({ type: RESET_MESSAGES });\n //remove profile image\n /* Storage.remove(\"profile.png\", { level: \"private\" })\n .then((result) => {\n dispatch(fetchUser());\n })\n .catch((err) => {});*/\n }\n } catch (e) {\n logger.error(e);\n dispatch(\n receiveMessageArray({\n Bot_Response: [\"Sorry, it seems that an error happened... \"],\n Question_Flag: \"hasChoices\",\n hasChoices: \"True\",\n choices: [{ title: \"Try again\", value: \"retry\" }],\n state: {},\n })\n );\n }\n };\n}\n\nexport function receiveMessageArray(response) {\n return async function (dispatch) {\n var messages = response.Bot_Response;\n\n logger.info(messages);\n\n _.each(messages, (text, index) => {\n var disableInput = true;\n\n var video = null;\n\n //check for video\n let pattern = /((?:(?!<\\/a>).)*)<\\/a>/;\n let match = text.match(pattern);\n //console.log(match);\n\n if (\n match &&\n text.indexOf(\"video\") !== -1 &&\n text.indexOf(\"youtube\") !== -1\n ) {\n /*eslint-disable */\n let pattern = /]+href=\\\"(.*?)\\\"[^>]*>/;\n /*eslint-enable */\n let m = text.match(pattern);\n\n video = m[1];\n }\n\n var botMsg = {\n text: text,\n _id: uuidv4(),\n user: {\n _id: \"bot\",\n },\n system: false,\n video: video,\n };\n\n if (index + 1 === messages.length) {\n if (response.hasChoices || response.hasOptionalChoices || response.hasChoicesMultiple) {\n botMsg.typing = false;\n botMsg.ui_event = response.state.ui_event ? response.state.ui_event : [] ;\n botMsg.quickReplies = {\n type: \"radio\",\n keepIt: false,\n values: [],\n };\n\n disableInput = response.hasChoices || response.hasChoicesMultiple ? true : false;\n if (response.hasChoicesMultiple){\n botMsg.quickReplies.values.push({\n value: \"\",\n title: \"Confirm\",\n color: undefined\n });\n botMsg.quickReplies.choices = response.choices\n botMsg.ui_event = [\"multiSelect\"]\n }\n else{\n _.each(response.choices, (item, i) => {\n var val;\n var title;\n var c;\n \n if (item.value) {\n val = item.value;\n title = item.title;\n \n } else {\n val = item;\n title = item;\n }\n \n if(response.choicesColours){\n c = response.choicesColours[i];\n }\n \n botMsg.quickReplies.values.push({\n value: val,\n title: title,\n color: c\n });\n });\n }\n } else {\n disableInput = false;\n }\n }\n\n setTimeout(\n () =>\n dispatch({\n type: RECEIVE_BOT_MESSAGE,\n messages: [botMsg],\n disableInput: disableInput,\n }),\n botDelay * (index + 1)\n );\n });\n };\n}\n\nexport function clickWellDone() {\n return async function (dispatch) {\n //Cache.setItem(\"clickedHello\", true)\n dispatch({ type: CHAT_WELL_DONE });\n };\n}\n\nexport function resetMessages() {\n return async function (dispatch) {\n dispatch({ type: RESET_MESSAGES });\n };\n}\n","import { Typography, withStyles, TextField, Chip } from \"@material-ui/core\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport React, {useState, useEffect} from \"react\";\nimport ReactSelect from \"react-select\";\nimport { autoCompleteV2, autoCompleteV2Skill, autoCompleteQualifications, autoCompleteQualificationsLevels, autoCompleteLocations } from \"../../actions/applicationAssistant_action\"\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport ReactHtmlParser from 'react-html-parser';\nimport config from \"../../config\";\nimport _ from \"lodash\";\n\nconst styles = (theme) => ({\n nav:{\n width:230,\n marginTop:5,\n [theme.breakpoints.down(\"sm\")]: {\n width: 200\n },\n [theme.breakpoints.down(\"xs\")]: {\n width: 200\n },\n },\n application: {\n width:\"100%\",\n marginTop:5,\n },\n chat: {\n marginTop:10,\n backgroundColor: \"#f5f5f5\",\n borderColor: \"#fa6a14\",\n borderWidth: 0.5,\n }\n });\n\nconst OrgChip = ({}) => {\n return (\n \n // \n )\n}\n\nconst CustomAutoComplete = ({\n classes,\n onSelect,\n autoCompleteQuery,\n error,\n disabled,\n occListOptions,\n fontSize = \"small\",\n size = \"small\",\n placeholder,\n type,\n fullWidth = false\n }) => {\n const fontSizeNumber = fontSize === \"small\" ? \"0.8125rem\" : \"1rem\"\n const [filteredOptions, setFilteredOptions] = useState(type === \"occupation\" && occListOptions ? occListOptions.map((item) => {return {label: item, htmlLabel: item, group: \"Profile Occupations\"}}) : []); \n const [input, setInput] = useState(\"\");\n const [loading, setLoading] = useState(false);\n const [searchQueue, setSearchQueue] = useState(\"\");\n\n const onInputChange = async (searchText) => {\n setLoading(searchText)\n setSearchQueue(searchText)\n if(searchText === \"\"){\n setFilteredOptions(type === \"occupation\" && occListOptions ? occListOptions.map((item) => {return {label: item, htmlLabel: item, group: \"Profile Occupations\"}}) : [])\n }\n else{\n const response = await autoCompleteQuery(searchText);\n // console.log(response)\n if(response && (response.directMatches || response.closeMatches)){\n setFilteredOptions([...response.directMatches, ...response.closeMatches])\n }\n else{\n setFilteredOptions([]) \n }\n }\n setLoading(false)\n };\n\n useEffect(() => {\n async function autoCompleteHandeler() {\n if(!loading){\n if(input !== searchQueue){\n onInputChange(input);\n }\n }\n }\n autoCompleteHandeler()\n }, [input, loading, searchQueue]);\n \n return (\n setInput(searchText)}\n onChange={(e, v) => {\n if(v){\n onSelect(v.label);\n setInput(v.label); \n }\n }}\n inputValue={input}\n options={filteredOptions}\n getOptionLabel={(option) => option.label}\n groupBy={(option) => option.group}\n renderInput={(params) => {\n return (\n \n ) \n }}\n renderOption={(option) => (\n \n \n {ReactHtmlParser(option.htmlLabel)}\n \n {option.orgQual && }\n \n )}\n filterOptions={(options) => options}\n />\n );\n };\n\nconst EntitiesSearchComponent = (({\n classes, \n autoCompleteV2, \n autoCompleteV2Skill,\n autoCompleteQualifications,\n autoCompleteQualificationsLevels,\n autoCompleteLocations,\n onSelect, \n addOccupationFilter,\n disabled, \n occList, \n interalRolesOnly, \n internalMobilityRoles,\n stylePreset = \"nav\",\n size=\"small\",\n fontSize=\"small\",\n fullWidth,\n placeholder=\"\",\n type = \"occupation\",\n}) => {\n const queryTarget ={\"occupation\": autoCompleteV2, \"skills\":autoCompleteV2Skill, \"qualifications\": autoCompleteQualifications, \"qualificationLevels\": autoCompleteQualificationsLevels, \"locations\": autoCompleteLocations}\n\n if(interalRolesOnly && internalMobilityRoles){\n const options = internalMobilityRoles.map((item) => {return{value:item.ID, label: item.roleName}})\n return (\n <>\n {\n if(event.value){\n const role = internalMobilityRoles.find((item) => item.ID === event.value);\n addOccupationFilter(role.occupation, false)\n }\n }}\n options={options}\n menuPortalTarget={document.body}\n menuPosition={'fixed'} \n isDisabled={disabled}\n className={classes.nav}\n />\n \n )\n }\n else if(!interalRolesOnly){\n return (\n <>\n onSelect([value])}\n occListOptions={occList}\n error={false}\n disabled={disabled}\n autoCompleteQuery={queryTarget[type]}\n fullWidth={fullWidth}\n />\n \n )\n }\n else{\n return <>\n }\n})\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators({ autoCompleteV2, autoCompleteV2Skill, autoCompleteQualifications, autoCompleteQualificationsLevels, autoCompleteLocations }, dispatch),\n dispatch\n };\n}\n\nexport const EntitiesSearch = connect(\n mapStateToProps,\n mapDispatchToProps,\n)(withStyles(styles)(EntitiesSearchComponent));\n\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"rect\", {\n id: \"SVGID_1_\",\n width: 595.3,\n height: 595.3\n}));\n\nvar SvgChatavatar = function SvgChatavatar(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n viewBox: \"0 0 24 24\",\n width: 24,\n height: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"circle\", {\n style: {\n fill: \"rgb(255, 106, 20)\"\n },\n cx: 12,\n cy: 12,\n r: 12\n }), /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n style: {\n fill: \"rgba(0, 0, 0, 0)\"\n }\n }), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(0.034279, 0, 0, 0.03531, 2.914762, 1.101826)\",\n style: {}\n }, _ref2, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"SVGID_2_\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 595.3,\n height: 595.3,\n transform: \"matrix(1, 0, 0, 1, 0, 0)\",\n style: {\n overflow: \"visible\"\n }\n })), /*#__PURE__*/React.createElement(\"path\", {\n className: \"st0\",\n d: \"M160.5,410.8c-50.9,0-92.2,41.3-92.2,92.2c0,50.9,41.3,92.2,92.2,92.2c50.9,0,92.2-41.3,92.2-92.2 c0-13.2-2.8-25.7-7.8-37.1l139.3-117.9c14.5,9.5,31.9,15.1,50.5,15.1c50.9,0,92.2-41.3,92.2-92.2c0-50.9-41.3-92.2-92.2-92.2 c-18.6,0-36,5.5-50.5,15.1l-76.2-64.5c5-11.3,7.8-23.9,7.8-37.1c0-50.9-41.3-92.2-92.2-92.2c-50.9,0-92.2,41.3-92.2,92.2 c0,50.9,41.3,92.2,92.2,92.2c18.6,0,36-5.5,50.5-15.1l76.2,64.4c-5,11.4-7.8,23.9-7.8,37.1c0,13.2,2.8,25.8,7.8,37.1L211,425.9 C196.5,416.4,179.1,410.8,160.5,410.8\",\n style: {\n clipPath: \"url(#SVGID_2_)\",\n clipRule: \"evenodd\",\n fill: \"rgb(255, 255, 255)\",\n fillRule: \"evenodd\"\n }\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgChatavatar, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/chatavatar.99f60e75.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 35,\n height: 35,\n rx: 4,\n fill: \"#EEFBF4\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24.029 21.0484C24.8381 19.9972 26.0639 17.5911 26.5052 15.5354L25.6471 14.7178L22.9994 17.264C22.6071 17.6378 22.0923 17.848 21.5284 17.848C20.9645 17.848 20.4497 17.6378 20.0574 17.264C19.2484 16.4932 19.2484 15.2551 20.0574 14.4842L22.7297 11.9379L21.4058 10.6531C21.3077 10.5596 21.2342 10.4662 21.1852 10.3494C21.0626 10.3027 20.94 10.2326 20.8419 10.1158L19.9839 9.29819C19.6897 9.01786 19.5181 8.6441 19.469 8.27034C19.42 7.82649 19.5671 7.40601 19.8858 7.10232L20.7194 6.30807C20.94 6.12119 21.2342 5.98103 21.5529 5.93431C20.3761 5.42038 19.0768 5.09334 17.7529 5.02326C14.7374 4.90646 12.3349 5.21014 10.3981 6.37815C8.48583 7.54617 7.62777 9.36827 7.33358 10.9334C7.03938 12.4985 6.57358 12.7789 7.03938 13.7834C7.40712 14.601 7.08841 15.4186 6.42648 16.2595C5.76455 17.0772 4.931 18.0816 5.00455 18.6189C5.0781 19.1562 5.76455 19.273 6.00971 19.3665C6.25487 19.4599 6.89229 19.4599 6.32842 20.6513C6.18132 20.9783 5.86261 21.3988 6.74519 21.866C6.27938 22.1463 6.35293 22.2865 6.35293 22.45C6.35293 22.7771 7.01487 22.9406 6.81874 23.7348C6.62261 24.5291 6.57358 25.6737 7.38261 25.8139C8.92712 26.0942 9.83422 25.7905 10.8394 25.8139C11.4523 25.8139 12.0897 26.1643 12.2613 26.6782C12.5065 27.4258 12.6781 28.5471 12.5555 29.5048C12.4574 30.2523 15.3013 30.9999 18.0716 30.9999C21.2342 30.9999 24.029 29.972 23.8329 29.5048C22.9503 27.1922 22.6316 25.4869 22.7297 23.7348C22.7542 22.9873 23.171 22.1697 24.029 21.0484ZM25.7697 10.3494L26.0394 10.6064L25.7697 10.3494ZM23.6613 8.36378C23.6368 8.36378 23.6368 8.38714 23.6613 8.36378V8.36378Z\",\n fill: \"#53D28E\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.416 12.5918L20.7438 15.1381C20.3025 15.5586 20.3025 16.1893 20.7438 16.6098C20.9644 16.82 21.2341 16.9135 21.5038 16.9135C21.7735 16.9135 22.0676 16.82 22.2638 16.6098L24.9115 14.0635L23.416 12.5918ZM21.4547 16.2828C21.2341 16.2828 21.087 16.1192 21.087 15.9324C21.087 15.7455 21.2586 15.582 21.4547 15.582C21.6509 15.582 21.8225 15.7455 21.8225 15.9324C21.8225 16.1192 21.6509 16.2828 21.4547 16.2828ZM30.2315 11.0033C29.7902 11.4472 29.1773 11.6808 28.5889 11.7042L25.8922 9.13452C25.9167 8.55051 26.1618 7.98987 26.6276 7.56938C26.8238 7.3825 27.0444 7.21898 27.2896 7.12554C27.3631 7.10218 27.4122 7.05546 27.4857 7.0321C27.5592 7.00874 27.6328 6.98538 27.7309 6.96202C27.976 6.89194 28.2212 6.86858 28.4663 6.86858C28.7605 6.86858 29.0547 6.9153 29.3489 7.00874L28.0986 8.20011C27.8534 8.43371 27.8534 8.8542 28.0986 9.0878L28.687 9.64845C28.8096 9.76525 28.9812 9.83533 29.1528 9.83533C29.3244 9.83533 29.496 9.76525 29.6186 9.64845L30.8689 8.45707C31.1631 9.29804 30.967 10.3025 30.2315 11.0033ZM23.1954 8.03659L21.6754 9.48493C21.6509 9.50829 21.6264 9.50828 21.6018 9.50828C21.5773 9.50828 21.5283 9.48492 21.5038 9.46156L20.6457 8.64396C20.376 8.38699 20.327 7.98987 20.5476 7.77963L21.4302 6.98538C21.5283 6.89194 21.6509 6.84521 21.798 6.84521C21.9941 6.84521 22.1902 6.9153 22.3373 7.07882L23.1954 7.89643C23.2444 7.94315 23.2444 8.01323 23.1954 8.03659ZM29.6186 14.1336L28.0741 15.6053C28.0496 15.6287 28.0496 15.6287 28.0251 15.6287C28.0005 15.6287 27.9515 15.6053 27.927 15.582L27.7063 15.3717L26.6522 14.3672L26.3334 14.0635L25.647 13.4094L24.1025 11.9378L23.416 11.2837L22.3128 10.2091L22.0922 9.99885C22.0431 9.95213 22.0431 9.88205 22.0676 9.85869L23.5876 8.41035L23.6122 8.38699H23.6367H23.6612C23.6857 8.38699 23.6857 8.38699 23.7102 8.38699C23.7347 8.38699 23.7347 8.41035 23.7593 8.41035L23.9799 8.62059L24.936 9.53165L26.0638 10.6062L27.3386 11.821L28.1967 12.6386L29.398 13.7832L29.6186 13.9935C29.6431 14.0402 29.6431 14.0869 29.6186 14.1336ZM30.9915 16.8668C30.9915 16.8668 30.9915 16.8901 30.967 16.8901C30.9425 16.9135 30.918 16.9135 30.8934 16.9135C30.8689 16.9135 30.8689 16.9135 30.8444 16.9135L28.8341 16.1893L28.5644 16.0959C28.4909 16.0725 28.4418 15.9791 28.4909 15.909L29.9128 14.5541C29.9373 14.5307 29.9618 14.5307 29.9863 14.5307C30.0354 14.5307 30.1089 14.5541 30.1089 14.6242L30.207 14.8811L30.967 16.82C30.9915 16.82 30.9915 16.8434 30.9915 16.8668Z\",\n fill: \"#A0E7C1\"\n});\n\nvar SvgSkill = function SvgSkill(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 35,\n height: 35,\n viewBox: \"0 0 35 35\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSkill, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/skill.17d98e80.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.5,\n width: 35,\n height: 35,\n rx: 4,\n fill: \"#EAF4FF\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.1702 18.1633L25.2406 18.2333C24.7478 19.4237 24.1611 20.4739 23.7152 21.0808C22.8938 22.1777 22.4949 22.9946 22.4479 23.7414C22.3541 25.4919 22.6591 27.1957 23.504 29.5063C23.6682 29.9731 21.0164 31 17.9891 31C15.3138 31 12.615 30.2531 12.7089 29.5063C12.8262 28.5494 12.662 27.4291 12.4273 26.6822C12.263 26.1921 11.6529 25.842 11.0662 25.8187C10.104 25.7953 9.25916 26.0987 7.75724 25.8187C6.98281 25.6786 7.02975 24.535 7.21749 23.7414C7.40523 22.9479 6.7716 22.7845 6.79507 22.4578C6.79507 22.2711 6.72466 22.131 7.17055 21.8743C6.32572 21.4308 6.63079 21.0107 6.7716 20.6606C7.31135 19.4703 6.7012 19.4703 6.46652 19.377C6.23185 19.2836 5.57476 19.1669 5.50435 18.6301C5.43395 18.0933 6.23185 17.1131 6.86547 16.2495C7.4991 15.4093 7.80417 14.5924 7.45216 13.7755C7.00628 12.7719 7.45216 12.4918 7.73377 10.9281C8.01538 9.36437 8.83675 7.54389 10.6672 6.37692C12.4977 5.20995 14.821 4.90654 17.684 5.02324C19.3267 5.09326 20.946 5.63006 22.3071 6.47028C21.6031 6.657 20.9695 7.03043 20.4532 7.54389C19.6553 8.33743 19.2329 9.36437 19.2329 10.4847C19.2329 11.605 19.6788 12.6552 20.4532 13.4254L20.5705 13.5421L25.1702 18.1633Z\",\n fill: \"#2988FF\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.5435 12.8421L30.4262 12.9588L25.85 17.5333L25.6388 17.3232L21.2504 12.9821L21.1331 12.8654C19.8658 11.6051 19.8658 9.55123 21.1331 8.2909C21.4851 7.94081 21.9075 7.68408 22.3534 7.5207C22.4003 7.49736 22.4472 7.47402 22.4942 7.47402C22.7992 7.38066 23.1043 7.33398 23.4094 7.33398H23.4329C23.7849 7.33398 24.1604 7.404 24.5124 7.5207C24.7001 7.59072 24.9113 7.68408 25.0991 7.77743C25.1929 7.82411 25.2868 7.89413 25.3807 7.96415C25.5215 8.05751 25.6388 8.1742 25.7562 8.2909L25.8735 8.4076L25.9908 8.2909C26.6245 7.66074 27.4458 7.35732 28.2907 7.35732C29.112 7.35732 29.9569 7.68408 30.5905 8.2909C31.8108 9.52789 31.8108 11.5818 30.5435 12.8421Z\",\n fill: \"#89BEFF\"\n});\n\nvar SvgInterests = function SvgInterests(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 35,\n viewBox: \"0 0 36 35\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInterests, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/interests.df0c36b6.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.5,\n width: 35,\n height: 35,\n rx: 4,\n fill: \"#FFF5E6\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5594 24.071C22.4651 25.7419 22.7717 27.3683 23.621 29.574C23.7861 30.0196 21.1205 30.9999 18.0775 30.9999C15.3883 30.9999 12.6755 30.2869 12.7699 29.574C12.8878 28.6605 12.7227 27.5911 12.4868 26.8782C12.3217 26.4103 11.7084 26.0761 11.1186 26.0539C10.1515 26.0316 9.30225 26.3212 7.79254 26.0539C7.01409 25.9202 7.06127 24.8285 7.24998 24.071C7.4387 23.3135 6.80179 23.1575 6.80179 22.8456C6.80179 22.6674 6.73102 22.5337 7.17922 22.2886C6.33 21.8653 6.63666 21.4643 6.7782 21.1301C7.32075 19.9939 6.70743 19.9939 6.47154 19.9048C6.23564 19.8156 5.57514 19.7042 5.50438 19.1918C5.43361 18.6794 6.23564 17.7437 6.87255 16.9193C7.50947 16.1173 7.81613 15.3375 7.46229 14.5577C7.01409 13.5997 7.46229 13.3323 7.74536 11.8396C8.02843 10.3469 8.85405 8.60911 10.694 7.49515C12.2509 6.55941 14.1381 6.20294 16.4026 6.18066C16.4026 6.31434 16.4262 6.4703 16.497 6.60397L16.5206 6.64853L16.5678 6.69309L16.7565 6.91588L16.4262 6.96044L16.3083 6.98272L16.2139 7.02728C15.9073 7.16096 15.7185 7.45059 15.7185 7.74022V8.56456C15.7185 8.96558 16.0252 9.29977 16.4262 9.34433L16.7329 9.41117L16.5678 9.63396C16.4498 9.76764 16.379 9.94588 16.379 10.1241C16.379 10.3246 16.4734 10.5251 16.6149 10.6811L17.1811 11.2158C17.3462 11.3718 17.5585 11.4386 17.7708 11.4386C17.9123 11.4386 18.0303 11.4163 18.1482 11.3495L18.1954 11.3272L18.2426 11.3049L18.5021 11.1267L18.5493 11.394C18.5728 11.55 18.62 11.6837 18.7144 11.7951C18.4549 11.9733 18.2898 12.2407 18.2898 12.5303V13.9116C18.2898 14.3572 18.6436 14.7359 19.0682 14.7805L20.2477 15.0033C20.2949 15.1147 20.342 15.2038 20.3892 15.2929L19.7051 16.1841C19.5636 16.3401 19.4692 16.5406 19.4692 16.7411C19.4692 16.9639 19.5636 17.1867 19.7523 17.3649L20.8138 18.3675C21.0025 18.5457 21.2384 18.6348 21.4979 18.6348C21.663 18.6348 21.8046 18.5903 21.9461 18.5457L21.9933 18.5234L22.0405 18.5012L23.0548 17.8328C23.1492 17.8773 23.2435 17.8996 23.3379 17.9442L23.5502 19.0359C23.5974 19.4814 23.9748 19.8379 24.4702 19.8379H24.8476C24.4702 20.5731 24.0927 21.1747 23.7625 21.598C23.0076 22.6006 22.6066 23.3803 22.5594 24.071Z\",\n fill: \"#FF9800\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M31.3114 12.3076L29.6838 12.0626C29.5423 11.7284 29.4243 11.4387 29.2592 11.1491L30.2263 9.8569C30.3207 9.76778 30.2735 9.65639 30.2263 9.56727L29.1412 8.5647L29.1176 8.54242C29.0941 8.52014 29.0705 8.52014 29.0469 8.52014H29.0233H28.9997H28.9761C28.9761 8.52014 28.9525 8.52014 28.9289 8.52014C28.9053 8.52014 28.8818 8.52014 28.8582 8.54242L27.49 9.50043C27.1833 9.34447 26.8295 9.16624 26.4756 9.0994L26.2162 7.56213C26.169 7.42845 26.0746 7.40617 26.0039 7.40617H24.5177C24.3762 7.40617 24.3054 7.45073 24.3054 7.56213L24.0695 8.92117L24.0459 9.0994C23.9044 9.12168 23.7629 9.16624 23.6213 9.23308C23.5034 9.27764 23.3854 9.3222 23.2675 9.36675C23.2675 9.36675 23.2675 9.36675 23.2439 9.36675L22.9373 9.41131H22.9137L23.0788 9.63411C23.1967 9.76778 23.2675 9.94602 23.2675 10.1243C23.2675 10.3248 23.1731 10.5253 23.0316 10.6812L22.4655 11.2159C22.3003 11.3719 22.088 11.4387 21.8757 11.4387C21.7342 11.4387 21.6162 11.4165 21.4983 11.3496L21.4511 11.3273L21.4039 11.3051L21.2388 11.1937C21.0737 11.4833 20.9322 11.7506 20.8378 12.0403L19.2101 12.2853C19.1158 12.3299 19.045 12.419 19.045 12.4859V13.9117C19.045 14.0231 19.1394 14.1123 19.2101 14.1123L20.8378 14.4019C20.9322 14.7361 21.0973 15.0257 21.286 15.3599L20.3188 16.6075C20.2245 16.6967 20.2245 16.8081 20.3188 16.8972L21.3804 17.8997C21.4275 17.9443 21.4983 17.9666 21.5691 17.9666C21.6163 17.9666 21.6634 17.9666 21.687 17.9443L23.0552 17.0309C23.3619 17.1868 23.7157 17.3205 24.0224 17.4096L24.329 18.9469C24.329 19.0583 24.4234 19.1474 24.5413 19.1474H26.0274C26.1218 19.1474 26.2162 19.0583 26.2398 18.9914L26.5464 17.4096C26.9003 17.3205 27.2069 17.2091 27.5136 17.0309L28.8818 17.9443C28.9289 17.9666 28.9525 17.9666 28.9997 17.9666C29.0705 17.9666 29.1176 17.9443 29.1884 17.8997L30.2499 16.8972C30.3443 16.8081 30.3443 16.6967 30.2499 16.6075L29.2828 15.3599C29.4479 15.0703 29.5894 14.7361 29.7074 14.4019L31.335 14.1123C31.4294 14.1123 31.5002 14.0231 31.5002 13.9117V12.5081C31.5002 12.419 31.4058 12.3522 31.3114 12.3076ZM26.2633 15.9614C25.9567 16.0728 25.6264 16.1174 25.2726 16.1174C23.5977 16.1174 22.2532 14.8252 22.2532 13.2656C22.2532 11.7061 23.5742 10.4139 25.2018 10.3693C25.2254 10.3693 25.249 10.3693 25.2726 10.3693C26.9238 10.3693 28.292 11.6615 28.292 13.2656C28.292 14.491 27.4428 15.5604 26.2633 15.9614ZM26.8531 13.2656C26.8531 13.3102 26.8531 13.3325 26.8531 13.377C26.8531 13.3993 26.8531 13.3993 26.8531 13.4216V13.4439C26.8531 13.4662 26.8531 13.5107 26.8295 13.533C26.8295 13.5553 26.8295 13.5553 26.8295 13.5776V13.5998C26.8295 13.6444 26.8059 13.6889 26.7823 13.7335V13.7558C26.7823 13.7781 26.7587 13.8003 26.7587 13.8226C26.7587 13.8449 26.7351 13.8672 26.7351 13.8895C26.7115 13.934 26.6879 13.9786 26.6644 14.0231C26.6644 14.0231 26.6644 14.0231 26.6644 14.0454C26.6408 14.09 26.6172 14.1123 26.5936 14.1345C26.5936 14.1345 26.5936 14.1345 26.5936 14.1568C26.5936 14.1568 26.5936 14.1568 26.5936 14.1791C26.57 14.2014 26.57 14.2237 26.5464 14.2237C26.5228 14.2459 26.5228 14.2459 26.4992 14.2682C26.4992 14.2682 26.4992 14.2682 26.4756 14.2905C26.4521 14.3351 26.4049 14.3573 26.3813 14.3796C26.3577 14.4019 26.3105 14.4242 26.2869 14.4464L26.2633 14.4687C26.2398 14.491 26.2162 14.5133 26.1926 14.5133C26.1454 14.5356 26.1218 14.5578 26.0746 14.5801C26.051 14.6024 26.0274 14.6024 26.0039 14.6247C25.9803 14.6247 25.9567 14.647 25.9331 14.647C25.8859 14.6692 25.8623 14.6692 25.8151 14.6915C25.7916 14.6915 25.7444 14.7138 25.7208 14.7138C25.6972 14.7138 25.6736 14.7138 25.65 14.7361C25.5557 14.7584 25.4613 14.7584 25.3434 14.7584C24.4706 14.7584 23.7629 14.09 23.7629 13.2656C23.7629 12.4413 24.4706 11.7729 25.3434 11.7729C25.3905 11.7729 25.4377 11.7729 25.4613 11.7729C25.5085 11.7729 25.5557 11.7729 25.6028 11.7952C25.6264 11.7952 25.65 11.7952 25.6736 11.7952C25.7208 11.7952 25.7444 11.8175 25.7916 11.8175C25.8387 11.8175 25.8623 11.8398 25.9095 11.862C25.9331 11.862 25.9567 11.8843 25.9803 11.9066C26.0274 11.9289 26.051 11.9289 26.0746 11.9512C26.0982 11.9734 26.1218 11.9734 26.1454 11.9957C26.1454 11.9957 26.169 11.9957 26.169 12.018C26.1926 12.0403 26.2162 12.0403 26.2398 12.0626C26.2633 12.0848 26.2869 12.0848 26.3105 12.1071C26.3577 12.1294 26.3813 12.174 26.4049 12.1962C26.4285 12.2408 26.4756 12.2631 26.4992 12.3076C26.5228 12.3522 26.57 12.3745 26.5936 12.419C26.6172 12.4413 26.6172 12.4413 26.6172 12.4636C26.6408 12.4859 26.6408 12.4859 26.6408 12.5081C26.6644 12.5304 26.6879 12.575 26.6879 12.5973C26.7115 12.6195 26.7115 12.6641 26.7351 12.6864C26.7587 12.7309 26.7587 12.7755 26.7823 12.7978C26.7823 12.8423 26.8059 12.8646 26.8059 12.9092C26.8059 12.9315 26.8295 12.976 26.8295 12.9983V13.0206C26.8295 13.0428 26.8295 13.0651 26.8295 13.0874C26.8531 13.1765 26.8531 13.2211 26.8531 13.2656ZM23.1731 7.6958L22.2768 7.56213C22.206 7.38389 22.1352 7.22794 22.0409 7.07198L22.5598 6.38132C22.607 6.33676 22.5834 6.26992 22.5598 6.22536L21.9701 5.69066C21.9465 5.66838 21.9229 5.6461 21.8993 5.6461C21.8757 5.6461 21.8521 5.6461 21.8286 5.66838L21.0973 6.18081C20.9322 6.09169 20.7434 6.00257 20.5547 5.95801L20.3896 5.08912C20.366 5.02228 20.3188 5 20.2717 5H19.446C19.3753 5 19.3281 5.02228 19.3281 5.08912L19.1866 5.93573C18.9978 5.98029 18.8091 6.04713 18.644 6.13625L17.9127 5.6461C17.8891 5.6461 17.8656 5.62382 17.842 5.62382C17.8184 5.62382 17.7948 5.62382 17.7476 5.66838L17.1815 6.20309C17.1579 6.22536 17.1579 6.22536 17.1579 6.24764C17.1343 6.2922 17.1579 6.33676 17.1579 6.35904L17.6768 7.02742C17.5825 7.20566 17.4881 7.36161 17.4409 7.53985L16.5446 7.67352C16.4974 7.6958 16.4502 7.74036 16.4502 7.78492V8.5647C16.4502 8.63154 16.4974 8.67609 16.5446 8.67609L17.4409 8.83205C17.4881 9.01028 17.5825 9.16624 17.6768 9.34447L17.1579 10.0129C17.1107 10.0574 17.1107 10.1243 17.1579 10.1688L17.724 10.7035C17.724 10.7035 17.7476 10.7258 17.7712 10.7258C17.7948 10.7258 17.8184 10.7258 17.8184 10.7258C17.8184 10.7258 17.842 10.7258 17.8656 10.7258H17.8891L18.6204 10.2356C18.7855 10.3248 18.9742 10.3916 19.1394 10.4362L19.3045 11.2828C19.3045 11.3496 19.3517 11.3942 19.4224 11.3942H20.2481C20.2952 11.3942 20.3424 11.3496 20.366 11.3051L20.4132 11.0823L20.5311 10.4362C20.6019 10.4139 20.6727 10.3916 20.7434 10.3693C20.8614 10.3248 20.9557 10.2802 21.0737 10.2356L21.805 10.7258H21.8286C21.8521 10.7258 21.8521 10.7258 21.8757 10.7258H21.8993C21.9229 10.7258 21.9465 10.7035 21.9465 10.7035L22.5126 10.1688C22.5598 10.1243 22.5598 10.0574 22.5126 10.0129L21.9937 9.34447C22.0644 9.2108 22.1352 9.05484 22.206 8.89889C22.206 8.87661 22.2296 8.85433 22.2296 8.83205L23.126 8.67609C23.1496 8.67609 23.1967 8.65381 23.2203 8.60926C23.2203 8.58698 23.2439 8.5647 23.2439 8.54242V7.76264C23.2675 7.76264 23.2203 7.71808 23.1731 7.6958ZM21.4747 8.5647C21.3332 9.12168 20.885 9.56727 20.3188 9.72322C20.1773 9.76778 20.0122 9.79006 19.8706 9.79006C19.7763 9.79006 19.7055 9.79006 19.6112 9.76778C18.8327 9.65639 18.2194 9.01028 18.2194 8.23051C18.2194 7.36161 18.9507 6.64867 19.8706 6.64867C19.965 6.64867 20.0358 6.64867 20.1065 6.67095C20.2952 6.69323 20.484 6.76007 20.6491 6.84919C21.0501 7.07198 21.3568 7.42845 21.4747 7.89632C21.4983 8.00771 21.5219 8.11911 21.5219 8.25279C21.5219 8.31962 21.4983 8.4533 21.4747 8.5647ZM20.7199 8.20823C20.7199 8.25279 20.7199 8.27507 20.7199 8.31962C20.7199 8.3419 20.7199 8.36418 20.6963 8.38646C20.6963 8.40874 20.6963 8.43102 20.6727 8.4533C20.6491 8.49786 20.6255 8.5647 20.6019 8.60926C20.5783 8.63154 20.5783 8.65381 20.5547 8.67609C20.5311 8.72065 20.484 8.76521 20.4604 8.78749C20.4368 8.80977 20.366 8.85433 20.3424 8.87661C20.3188 8.89889 20.2952 8.89889 20.2717 8.92117C20.2245 8.94345 20.1537 8.96573 20.1065 8.988C20.0829 8.988 20.0594 9.01028 20.0358 9.01028C20.0122 9.01028 19.9886 9.01028 19.965 9.01028C19.9178 9.01028 19.8942 9.01028 19.8471 9.01028C19.3753 9.01028 18.9742 8.65381 18.9742 8.18595C18.9742 7.74036 19.3517 7.36161 19.8471 7.36161C20.3424 7.40617 20.7199 7.76264 20.7199 8.20823Z\",\n fill: \"#FFC773\"\n});\n\nvar SvgStyles = function SvgStyles(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 35,\n viewBox: \"0 0 36 35\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStyles, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/styles.af8a28f7.svg\";\nexport { ForwardRef as ReactComponent };","import { API , Cache} from \"aws-amplify\";\nimport config from \"../config/\";\nimport {\n SET_RESOURCES,\n SET_ACTIVE_RESOURCE,\n LOADING_RESOURCES,\n SET_SKILLS,\n SET_SKILLS_VIDEOS,\n SET_NO_VIDEO_MESSAGE,\n HIDE_VIDEO_MESSAGE,\n UPDATE_OCCUPATION_SKILL,\n SET_ONLINE_COURSES,\n LOADING_ONLINE_COURSES,\n SET_HELP_VIDEOS,\n SET_SKILLS_ASSESSMENTS,\n SET_SKILLS_ASSESSMENTS_ERRORS\n} from \"./types\";\n\nexport const viewedResource = (resource) => async (dispatch) => {\n try {\n // // NO Response implemented yet\n await API.post(config.API_NAME, \"/jobitems/resource/viewed\", {\n body: {\n resourceId: resource.id,\n title: resource.title,\n link: resource.link\n },\n });\n\n } catch (error) {\n console.log(error);\n // TODO\n }\n};\n\n\nexport const addResourceSkill = (skill, job) => async (dispatch, getState) => {\n try {\n // // NO Response implemented yet\n let occ = await API.post(config.API_NAME, \"/users/addResourceSkill\", {\n body: {\n skill: skill\n },\n });\n \n if (occ.data && occ.data.Attributes && occ.data.Attributes.occupationSkills){\n dispatch({ type: SET_SKILLS, skill:skill, occupationSkills: occ.data.Attributes.occupationSkills });\n }\n } catch (error) {\n console.log(error);\n // TODO\n }\n // TODO\n dispatch({type: UPDATE_OCCUPATION_SKILL, job: job, skillName: skill})\n\n Cache.removeItem(\"jobCategories\");\n Cache.removeItem(\"interestStyles\");\n Cache.removeItem(\"jobs_nearme\");\n\n}\nexport const setActiveVideo = (resource) => async (dispatch) => {\n dispatch({type: SET_ACTIVE_RESOURCE, \"resource\": resource})\n};\n\nexport const hideVideoMessage = (resource) => async (dispatch) => {\n dispatch({type: HIDE_VIDEO_MESSAGE})\n}\n\nexport const getSkillVideos = (skillName) => async (dispatch, getState) => {\n try{\n let {data} = await API.post(config.API_NAME, \"/data/skills/videos\", {\n body: {\n \"skill\": skillName.toLowerCase()\n },\n });\n \n \n if(data.video_suggestions && data.video_suggestions.length > 0){\n dispatch({type: SET_SKILLS_VIDEOS,\"videos\": data, \"skillName\": skillName})\n } else {\n dispatch({type: SET_NO_VIDEO_MESSAGE, \"videos\": [], \"skillName\": skillName})\n }\n }\n catch{\n dispatch({type: SET_NO_VIDEO_MESSAGE, \"videos\": [], \"skillName\": skillName})\n }\n}\n\n\n\n\n\nexport const getOnlineCourses = () => async (dispatch, getState) => {\n try {\n\n const {\n jobs: {\n rawJobCategories:{\n desired_occupations,\n interest_occupations,\n past_occupations,\n searched_occupations,\n skills_backpack_occupations,\n styles_occupations\n }\n } \n } = getState();\n \n let occupations = [];\n let categoryKey = {}\n searched_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Searched\"\n })\n desired_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Preferred\"\n });\n past_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Previous\"\n })\n skills_backpack_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Skills\"\n });\n interest_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Interest\"\n }) \n styles_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Styles\"\n });\n \n dispatch({type: LOADING_ONLINE_COURSES, loading: true});\n\n let {data} = await API.post(config.API_NAME, \"/data/occupations/mooc\", {\n body: {\n \"occupations\": occupations\n },\n });\n\n dispatch({type: SET_ONLINE_COURSES, data: data, orderDict:occupations, categoryKey: categoryKey});\n dispatch({type: LOADING_ONLINE_COURSES, loading: false});\n\n\n } catch (error) {\n console.log(error);\n // TODO\n }\n\n \n}\n\nexport const getVideos = () => async (dispatch, getState) => {\n try {\n \n const {\n jobs: {\n rawJobCategories:{\n desired_occupations,\n interest_occupations,\n past_occupations,\n searched_occupations,\n skills_backpack_occupations,\n styles_occupations\n }\n } \n } = getState();\n\n let occupations = [];\n let categoryKey = {}\n searched_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Searched\"\n })\n desired_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Preferred\"\n });\n past_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Previous\"\n })\n skills_backpack_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Skills\"\n });\n interest_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Interest\"\n }) \n styles_occupations.forEach((index) => {\n occupations.push(index.occupation);\n categoryKey[index.occupation] = \"Styles\"\n });\n\n dispatch({type: LOADING_RESOURCES, loading: true});\n\n let {data} = await API.post(config.API_NAME, \"/data/occupations/videos\", {\n body: {\n \"occupations\": occupations\n },\n });\n\n dispatch({type: SET_RESOURCES, data: data, orderDict:occupations, categoryKey: categoryKey});\n dispatch({type: LOADING_RESOURCES, loading: false});\n\n\n } catch (error) {\n console.log(error);\n // TODO\n }\n\n \n}\n\nconst unAuthenticatedVideos = {\n \"UnAuth\": {\n \"paths\": [\"/login\", \"/signup\", \"/forgot\"],\n \"videos\": [\n {\n \"id\": \"3pELYBz2wm1fzam5uwfkEG\",\n \"title\": \"Login\"\n },\n {\n \"id\": \"95i2ZqodvxAVQkmNpQo9AD\",\n \"title\": \"Sign up\"\n },\n {\n \"id\": \"u1rYcgab18ZTtTj6ZzJVrx\",\n \"title\": \"Forgot Password\"\n },\n {\n \"id\": \"xfCXC2pYpamcFdXL8qthvE\",\n \"title\": \"Invite\"\n }\n ]\n }\n}\n\nexport const getHelpVideos = (path) => async (dispatch, getState) => {\n const {\n auth:{authenticated = false}, \n user:{rawdata:{internalMobilityProvider}={}},\n resources: {authenticatedVideos}\n } = getState();\n if(authenticated){\n let videos = authenticatedVideos ? authenticatedVideos : []\n if(!authenticatedVideos){\n const data = await API.get(config.API_NAME, `/helpvideo`)\n if(data.success){\n videos = data.data\n dispatch({ type: SET_HELP_VIDEOS, data: data.data });\n }\n }\n const pathData = Object.values(videos).find((value) => value.paths.includes(path))\n if(pathData){\n return {...pathData, videos: pathData.videos.filter((item) => !item.role || (item.role && ((item.role === \"candidiate\" && !internalMobilityProvider) || (item.role === \"employee\" && internalMobilityProvider))))} \n }\n }\n else{\n return Object.values(unAuthenticatedVideos).find((value) => value.paths.includes(path))\n }\n \n}\n\nexport const getSkillAssessment = (skillName) => async (dispatch, getState) => {\n const { user:{ completedSkillAssessments={} }} = getState()\n try{\n if(!skillName){\n dispatch({type: SET_SKILLS_ASSESSMENTS, \"data\": false})\n return\n }\n let version = 1\n if(completedSkillAssessments && completedSkillAssessments[skillName]){\n version = completedSkillAssessments[skillName].length + 1\n }\n\n let {data} = await API.post(config.API_NAME, \"/data/skills/assessment\", {\n body: {\n \"skill\": skillName.toLowerCase(),\n \"assessment_version\": version\n },\n });\n \n if(data.questions && data.questions.length > 0){\n dispatch({type: SET_SKILLS_ASSESSMENTS,\"data\": data})\n } else {\n dispatch({type: SET_SKILLS_ASSESSMENTS, \"data\": false})\n }\n } catch (error) {\n dispatch({type: SET_SKILLS_ASSESSMENTS_ERRORS, \"data\": skillName})\n console.log(error);\n // TODO\n }\n}\n\nexport const submitSkillsAssessmentReport = (data) => async (dispatch, getState) => {\n try{\n await API.post(config.API_NAME, \"/data/skills/assessmentError\", {\n body: data,\n });\n } catch (error) {\n console.log(error);\n // TODO\n }\n}\n\n\n","import ReactGA from 'react-ga';\nimport config from \"../../config/\";\nimport { Cache } from \"aws-amplify\";\n\n\nfunction GA () {\n if (Cache.getItem(\"CookiePermissions\")){\n this.permissions = true;\n ReactGA.initialize(config.ga_uuid, {\n // debug: true\n });\n } else {\n this.permissions = false;\n }\n}\n\n\nGA.prototype.setUserFromCache = function(){\n let userId = Cache.getItem(\"UserID\");\n if (userId) this.setData({userId: userId});\n}\n\n\nGA.prototype.setData = function (data){\n if (this.permissions) ReactGA.set(data);\n}\n\nGA.prototype.trackPage = function(pageURL, title) {\n if (this.permissions) ReactGA.pageview(pageURL, \"\", title);\n}\n\nGA.prototype.trackEvent = function(event) {\n if (this.permissions) ReactGA.event(event);\n}\n\nexport {GA}\n","import { API } from \"aws-amplify\";\nimport config from \"../config\";\nimport {\n FETCH_INTERVENTIONS_MISSIONS,\n START_INTERVENTION,\n START_MISSION,\n} from \"./types\";\nimport { fetchUser } from \"./user_actions\";\n\nimport { recordMissionClick } from \"./analytics_actions\";\n\nexport const getMissionsAndInterventions = () => async (dispatch, getState) => {\n const {\n user: {\n rawdata: { interventions },\n },\n missions: { missions, interventions: fullInterventions },\n } = getState();\n let result = [];\n if (!missions || !fullInterventions) {\n result = await API.get(config.API_NAME, \"/missioninterventions\");\n } else {\n result = missions.concat(fullInterventions);\n }\n return dispatch({\n type: FETCH_INTERVENTIONS_MISSIONS,\n payload: result,\n missionsInProgress: Object.values(interventions || {}),\n interventionsInProgress: Object.values(interventions || {}),\n });\n};\n\n// Both Intervention and Mission\nexport const startMission = (id, type) => async (dispatch, getState) => {\n // let payload = null;\n const {\n missions: { missions, interventions },\n } = getState();\n const whereToLook = type === \"intervention\" ? interventions : missions;\n const payload = whereToLook.find(({ sort }) => sort === id);\n\n const { data, error } = await API.post(\n config.API_NAME,\n \"/missioninterventions\",\n {\n body: payload,\n }\n );\n if (data) {\n dispatch(fetchUser());\n dispatch({ type: START_MISSION, id, entityType: type });\n\n dispatch(recordMissionClick(\"start-mission\", payload.title, id));\n }\n if (error) {\n throw new Error(error);\n }\n};\n\nexport const startIntervention = (interventionId) => async (dispatch) => {\n\n dispatch(recordMissionClick(\"start-intervention\", interventionId, interventionId));\n\n return dispatch({ type: START_INTERVENTION, interventionId });\n};\n","import { FETCH_COINS, RESET_COINS, RESET_MAX_COINS, PURCHASE_COMPLETE, PURCHASE_COMPLETE_CLOSE, RESET_COIN_DEFAULT } from \"./types\";\n// import config from \"../config/\";\nimport { Logger, API } from \"aws-amplify\";\n// import _ from \"lodash\";\nimport config from \"../config/\";\n\nimport { onUpdateCoins } from \"../graphql/subscriptions\";\n;\n\nconst logger = new Logger(\"REWARD.ACTIONS\", \"INFO\");\n\n/* eslint-disable */\nvar coinSubscription;\n/* eslint-enable */\n\nexport function fetchCoins() {\n return async function (dispatch) {\n try {\n const coinData = await API.get(config.API_NAME, `/getCoins`)\n dispatch({ type: FETCH_COINS, data: coinData });\n \n } catch (e) {\n logger.error(\"fetchCoins():\", e);\n }\n };\n}\n\nexport function resetCoins() {\n return async function (dispatch) {\n dispatch({ type: RESET_COINS });\n };\n}\n\nexport function resetMaxCoins() {\n return async function (dispatch) {\n dispatch({ type: RESET_MAX_COINS });\n };\n}\n\nexport function resetCoinDefault() {\n return async function (dispatch) {\n dispatch({ type: RESET_COIN_DEFAULT });\n };\n}\n\nexport function checkOrders() {\n return async function (dispatch) {\n try {\n const newOrders = await API.get(config.API_NAME, `/checkOrders`);\n if(newOrders && newOrders.success){\n // console.log(\"new orders, fetching coins\")\n await dispatch({ type: PURCHASE_COMPLETE, orders: newOrders.invoices, payments: newOrders.history});\n if(newOrders.invoices && newOrders.invoices.length > 0){\n dispatch(fetchCoins()); \n }\n }\n } catch (e) {\n logger.error(\"checkOrders ():\", e);\n }\n };\n}\n\nexport function closePurchaseDialogue() {\n return async function (dispatch) {\n await dispatch({ type: PURCHASE_COMPLETE_CLOSE});\n };\n}","import { Auth, Cache, Logger, API } from \"aws-amplify\";\nimport config from \"../config\";\nimport {\n AUTH_USER,\n AUTH_MFA,\n AUTH_NEW_PASSWORD_REQUIRED,\n UNAUTH_USER,\n REGISTER_USER,\n REGISTER_USER_CONFIRM,\n CODE_RESEND_SUCCESS,\n REGISTER_USER_ERROR,\n FORGOT_PASSWORD,\n FORGOT_PASSWORD_CONFIRM,\n AUTH_ERROR,\n RESET_APP,\n AUTH_CONFIRM_SUCCESS,\n} from \"./types\";\nimport dexie from \"dexie\";\n\n// import { fetchUser } from \"./user_actions\";\n\nconst logger = new Logger(\"AUTH.ACTIONS\", \"INFO\");\n\nexport function authError(error) {\n if (\n error.code === \"InvalidParameterException\" &&\n error.message.indexOf(\"password\") !== -1\n ) {\n error.message = \"Please enter a valid password!\";\n }\n\n return {\n type: AUTH_ERROR,\n payload: error.message ? error.message : error,\n };\n}\n\n// Cognito - Auth.signIn()\nexport function login({ username, password }, history) {\n return function (dispatch) {\n logger.info(\"actions.login(): username:\", { username });\n let db = new dexie(\"Jobs\");\n db.delete();\n Cache.clear();\n // signIn (cognito)\n Auth.signIn(username, password)\n .then((data) => {\n Cache.removeItem(\"lastpath\");\n Cache.removeItem(\"previouspath\");\n // success -- dispatch AUTH_USER\n logger.info(\"login():Auth.signIn() data:\", data);\n\n // inspect response 'data' and check whether\n // 1. MFA confirmation is required, dispatch->AUTH_MFA\n // 2. New Password is required (change 'FORCE_CHANGE_PASSWORD'\n // to 'CONFIRMED'), dispatch-> AUTH_NEW_PASSWORD_REQUIRED with payload\n // 3. otherwise, authenticate user, dispatch -> AUTH_USER\n if (data.challengeName === \"NEW_PASSWORD_REQUIRED\") {\n dispatch({ type: AUTH_NEW_PASSWORD_REQUIRED, payload: data });\n } else if (\n data.challengeName === \"MFA_REQUIRED\" ||\n data.challengeName === \"SMS_MFA\"\n ) {\n dispatch({ type: AUTH_MFA, payload: data });\n } else {\n // dispatch AUTH_USER\n dispatch({ type: AUTH_USER, currentAuthUser: data });\n API.patch(config.API_NAME, `/user/updatedLastAccessedCount`, {}).catch(err => {\n logger.error(\"login():updatedLastAccessed err:\", err);\n });\n // we have authenticated, lets navigate to /app route\n history.push(\"/app\");\n }\n })\n .catch((err) => {\n logger.error(\"login():Auth.signIn() err:\", err);\n // error -- invoke authError which dispatches AUTH_ERROR\n if (err.code === \"UserNotConfirmedException\") {\n dispatch({\n type: REGISTER_USER_CONFIRM,\n payload: {\n username: username,\n },\n });\n\n history.push(\"/signup\");\n } else {\n dispatch(authError(err));\n }\n });\n };\n}\n\n// Cognito - Auth.currentAuthenticatedUser()\n// Cognito - Auth.userSession()\n// This is a pass-through function to indicate that user has already authenticated\n// and has a valid Amplify session.\n\nexport function validateUserSession(bypass = true) {\n return function (dispatch) {\n logger.info(\"validateUserSession()\");\n\n Auth.currentAuthenticatedUser({\n bypassCache: bypass,\n })\n .then((currentAuthUser) => {\n logger.info(\n \"validateUserSession():Auth.currentAuthenticatedUser() currentAuthUser:\",\n currentAuthUser\n );\n // grab the user session\n Auth.userSession(currentAuthUser)\n .then(async (session) => {\n logger.info(\n \"actions.validateUserSession():Auth.userSession() session:\",\n session\n );\n // finally invoke isValid() method on session to check if auth tokens are valid\n // if tokens have expired, lets call \"logout\"\n // otherwise, dispatch AUTH_USER success action and by-pass login screen\n\n if (session.isValid()) {\n // fire user is authenticated\n\n Auth.currentUserCredentials().then((credentials) => {\n dispatch({ type: AUTH_USER, currentAuthUser });\n //dispatch(fetchUser());\n logger.warn(\"ACCESSKEYID:\", credentials.accessKeyId);\n logger.warn(\"SESSIONTOKEN:\", credentials.sessionToken);\n logger.warn(\"SECRET ACCESS KEY:\", credentials.secretAccessKey);\n });\n API.patch(config.API_NAME, `/user/updatedLastAccessed`, {}).catch(err => {\n logger.error(\"login():updatedLastAccessed err:\", err);\n });\n \n //\n } else {\n logger.error(\"user session is not valid anymore\");\n // fire user is unauthenticated\n Cache.clear();\n dispatch({ type: UNAUTH_USER });\n window.location.reload();\n dispatch({ type: RESET_APP });\n }\n })\n .catch((err) => {\n logger.error(\"validateUserSession():Auth.userSession() err:\", err);\n // error occured during session validation, fire user is unauthenticated\n Cache.clear();\n dispatch({ type: UNAUTH_USER });\n dispatch({ type: RESET_APP });\n });\n })\n .catch((err) => {\n logger.error(\n \"validateUserSession():Auth.currentAuthenticatedUser() err:\",\n err\n );\n Cache.clear();\n // error occured while retrieving current auth user, fire user is unauthenticated\n dispatch({ type: UNAUTH_USER });\n dispatch({ type: RESET_APP });\n });\n };\n}\n\n// Cognito - Auth.completeNewPassword()\nexport function setNewPassword(cognitoUser, newPassword, history) {\n return function (dispatch) {\n logger.info(\"setNewPassword(): cognitoUSer, newPassword:\", {\n cognitoUser,\n newPassword,\n });\n\n // completeNewPassword (cognito)\n Auth.completeNewPassword(cognitoUser, newPassword)\n .then((data) => {\n logger.info(\"setNewPassword():Auth.completeNewPassword() data: \", data);\n\n // inspect response 'data' and check whether\n // 1. MFA confirmation is required, dispatch->AUTH_MFA\n // 2. otherwise, authenticate user, dispatch -> AUTH_USER\n if (data.challengeName === \"SMS_MFA\") {\n dispatch({ type: AUTH_MFA, payload: data });\n } else {\n // dispatch AUTH_USER\n Auth.currentAuthenticatedUser({\n bypassCache: true,\n })\n .then((currentAuthUser) => {\n Auth.userSession(currentAuthUser)\n .then((session) => {\n dispatch({ type: AUTH_USER, currentAuthUser });\n //for first time login new passwords\n API.patch(config.API_NAME, `/user/updatedLastAccessed`, {}).catch(err => {\n logger.error(\"login():updatedLastAccessed err:\", err);\n });\n history.push(\"/app\");\n })\n .catch((err) => {\n logger.error(\"usersession: \", err);\n });\n })\n .catch((err) => {\n logger.error(\"usersession: \", err);\n });\n\n // we have authenticated, lets navigate to /main route\n }\n })\n .catch((err) => {\n logger.error(\"setNewPassword():Auth.completeNewPassword() err:\", err);\n // error -- invoke authError which dispatches AUTH_ERROR\n dispatch(authError(err));\n });\n };\n}\n\n// Cognito - Auth.signOut()\nexport function logout(username = \"\", history, message) {\n return function (dispatch) {\n logger.info(\"logout(): username: \", username);\n Cache.removeItem(\"lastpath\");\n Cache.removeItem(\"previouspath\");\n // signOut (cognito)\n Auth.signOut()\n .then((data) => {\n logger.info(\"logout():Auth.signOut() data:\", data);\n\n dispatch({ type: UNAUTH_USER });\n dispatch({ type: RESET_APP });\n let db = new dexie(\"Jobs\");\n db.delete();\n Cache.clear();\n // we have authenticated, lets navigate to /main route\n history.push(\"/\");\n if (message === \"inactivity\"){\n window.location.assign(\"/login?message=inactivity\");\n } else {\n window.location.reload();\n }\n })\n .catch((err) => {\n logger.error(\"logout():Auth.signOut() err:\", err);\n // error -- invoke authError which dispatches AUTH_ERROR\n dispatch(authError(err));\n });\n };\n}\n\n// Cognito - Auth.confirmSignIn()\nexport function confirmLogin({ cognitoUser, code }, history) {\n return function (dispatch) {\n logger.info(\"confirmLogin(): cognitoUSer, code:\", {\n cognitoUser,\n code,\n });\n\n // confirmSignIn (cognito)\n Auth.confirmSignIn(cognitoUser, code)\n .then((data) => {\n logger.info(\"confirmLogin():Auth.confirmSignIn() data: \", data);\n\n // dispatch AUTH_USER\n dispatch({ type: AUTH_USER, cognitoUser });\n\n // we have authenticated, lets navigate to /main route\n history.push(\"/app\");\n })\n .catch((err) => {\n logger.error(\"confirmLogin():Auth.confirmSignIn() err:\", err);\n // error -- invoke authError which dispatches AUTH_ERROR\n dispatch(authError(err));\n });\n };\n}\n\n// Cognito - Auth.signUp()\nexport function register(\n { username, password, email, phone, given_name, family_name, captcha },\n history\n) {\n return function (dispatch) {\n logger.info(\"register(): username, password, email, phone: \", {\n username,\n\n email,\n phone,\n });\n\n /***\n * \n * \n * const mapObj = f => obj =>\n Object.keys(obj).reduce((acc, key) => ({ ...acc, [key]: f(obj[key]) }), {});\nconst toArrayOfStrings = value => [`${value}`];\nconst mapToArrayOfStrings = mapObj(toArrayOfStrings);\n * \n */\n const origin = Cache.getItem(\"origin\") || {};\n\n const {\n organisation = \"skillzminer\",\n contract = \"sm\",\n provider = \"skillzminer\",\n } = origin;\n\n var signupObject = {\n username,\n password,\n clientMetadata: {\n 'captcha': captcha\n },\n attributes: {\n email: email,\n phone_number: phone,\n given_name,\n family_name,\n name: given_name + \" \" + family_name,\n \"custom:organisation\": organisation, //org\n \"custom:contract\": contract, //one contract\n \"custom:origin\": provider, //this will be the provider\n // other custom attributes\n }, //optional\n };\n //console.log(signupObject);\n\n\n // signUp (cognito)\n Auth.signUp(signupObject, {captcha: captcha})\n .then((data) => {\n logger.info(\"register():Auth.signUp() data:\", data);\n\n // user confirm\n if (\n typeof data.userConfirmed != \"undefined\" &&\n data.userConfirmed === false\n ) {\n dispatch({ type: REGISTER_USER_CONFIRM, payload: data });\n //history.push(\"/signup\");\n } else {\n dispatch({ type: REGISTER_USER });\n\n // user registration successful, lets navigate to / route\n history.push(\"/app\");\n }\n })\n .catch((err) => {\n logger.error(\"register():Auth.signUp() err:\", err);\n\n // error -- invoke authError which dispatches REGISTER_USER_ERROR\n dispatch(authError(err));\n });\n };\n}\n\n// Cognito - Auth.confirmSignUp()\nexport function confirmRegistration({ username, code }, history) {\n return function (dispatch) {\n logger.info(\"confirmRegistration(): cognitoUSer, code:\", {\n username,\n code,\n });\n\n // confirmSignUp (cognito)\n Auth.confirmSignUp(username, code)\n .then((data) => {\n logger.info(\"confirmRegistration():Auth.confirmSignUp() data: \", data);\n\n // A successful registration response doesnt contain idToken.\n // So we must redirect to login screen\n\n // dispatch REGISTER_USER_CONFIRM\n //dispatch({ type: REGISTER_USER_CONFIRM });\n dispatch({ type: AUTH_CONFIRM_SUCCESS });\n // we have authenticated, lets navigate to /main route\n history.push(\"/login\");\n })\n .catch((err) => {\n logger.error(\"confirmRegistration():Auth.confirmSignUp() err:\", err);\n\n // error -- invoke authError which dispatches AUTH_ERROR\n //dispatch(authError(err));\n dispatch({\n type: REGISTER_USER_ERROR,\n payload: err.message,\n username,\n });\n });\n };\n}\n\n// Cognito - Auth.resendSignUp()\nexport function resendConfirmationCode(username, history) {\n return function (dispatch) {\n logger.info(\"resendConfirmationCode(): username: \", username);\n\n // resendSignUp (cognito)\n Auth.resendSignUp(username)\n .then((data) => {\n logger.info(\"resendConfirmationCode():Auth.resendSignUp() data:\", data);\n\n dispatch({ type: CODE_RESEND_SUCCESS });\n })\n .catch((err) => {\n logger.error(\n \"resendConfirmationCode():Auth.forgotPasswordSubmit() err:\",\n err\n );\n\n // error -- invoke authError which dispatches AUTH_ERROR\n dispatch(authError(err));\n });\n };\n}\n\n// Cognito - Auth.forgotPassword()\nexport function forgotPassword({ username }, history) {\n return function (dispatch) {\n logger.info(\"forgotPassword(): username: \", { username });\n\n // forgotPassword (cognito)\n Auth.forgotPassword(username)\n .then((data) => {\n logger.info(\"forgotPassword():Auth.forgotPassword() data:\", data);\n\n dispatch({ type: FORGOT_PASSWORD });\n })\n .catch((err) => {\n logger.error(\"forgotPassword():Auth.forgotPassword() err:\", err);\n\n // error -- invoke authError which dispatches AUTH_ERROR\n dispatch(authError(err));\n });\n };\n}\n\n// Cognito - Auth.forgotPasswordSubmit()\nexport function confirmForgotPassword(\n { username, code, newPassword },\n history\n) {\n return function (dispatch) {\n logger.info(\"confirmForgotPassword(): username, code, newPassword: \", {\n username,\n code,\n newPassword,\n });\n\n // forgotPasswordSubmit (cognito)\n Auth.forgotPasswordSubmit(username, code, newPassword)\n .then((data) => {\n logger.info(\n \"confirmForgotPassword():Auth.forgotPasswordSubmit() data:\",\n data\n );\n\n // TODO - User password changed successfully, do we need to login again?\n dispatch({ type: FORGOT_PASSWORD_CONFIRM });\n\n history.push(\"/login\");\n })\n .catch((err) => {\n logger.error(\n \"confirmForgotPassword():Auth.forgotPasswordSubmit() err:\",\n err\n );\n\n // error -- invoke authError which dispatches AUTH_ERROR\n dispatch(authError(err));\n });\n };\n}\n\nexport function unsubscribe(email) { //uses separate api gateway path\n return async function (dispatch) {\n logger.info(\"unsubscribe(): email: \", { email });\n await API.post(config.API_NAME, `/unsubscribe`, {\n body: { email: email }\n });\n };\n}\n\nexport function subscribe(email) { //uses regular api-gateway proxy\n return async function (dispatch) {\n logger.info(\"subscribe(): email: \", { email });\n await API.post(config.API_NAME, `/user/subscribe`, {\n body: { email: email }\n });\n };\n}\n\n\nexport function autoApply(userID, sort) {\n return async function (dispatch) {\n logger.info(\"updateJobTracking()\");\n\n const { jobitem } = await API.post(config.API_NAME, `/jobitems/get`, {\n body: { userID: userID, sort: sort}\n });\n\n if (jobitem){\n let { jobTitle, occupation, qual_name, rangeKey, vacancy_flag, job_url, jobId} = jobitem;\n let isQualification = false\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = jobitem.qual_awarding_org + \"#\" + occupation + \"#\" + jobitem.jobId;\n }\n let body = {\n rangeKey: rangeKey,\n jobitem: jobitem,\n isQualification,\n userID: userID,\n doVacancyApply: vacancy_flag ? true : false,\n jobId: jobId\n }\n await API.post(config.API_NAME, \"/jobitems/applied\", {\n body: body,\n });\n\n if (job_url && job_url !== \"https://dev-pwa.skillzminer.io/login\"){\n return job_url.replace(/^(?!https?:\\/\\/)/, \"https://\");\n } \n }\n }\n}\n\nexport function updateJobTracking(userID, sort, updateAction) { //uses regular api-gateway proxy\n return async function (dispatch) {\n logger.info(\"updateJobTracking()\");\n\n const { jobitem, jobitemType } = await API.post(config.API_NAME, `/jobitems/get`, {\n body: { userID: userID, sort: sort}\n });\n\n if (jobitem){\n let { jobTitle, occupation, qual_name, rangeKey } = jobitem;\n let isQualification = false\n\n if (qual_name) {\n isQualification = true;\n jobTitle = qual_name;\n rangeKey = jobitem.qual_awarding_org + \"#\" + occupation + \"#\" + jobitem.jobId;\n }\n\n let body = {\n rangeKey: rangeKey,\n jobitem: jobitem,\n isQualification,\n verified: true,\n recreate:false,\n userID: userID\n }\n\n switch(updateAction) {\n case \"didntapply\":\n if (jobitemType === \"applied\"){\n await API.del(config.API_NAME, \"/jobitems/applied\", {\n body: body\n });\n }\n else{\n await API.del(config.API_NAME, \"/jobitems/interviewed\", {\n body: body\n });\n }\n break;\n case \"haventappliedyet\":\n body.verified = false\n body.recreate = true\n body.applicationDelay = true\n await API.post(config.API_NAME, \"/jobitems/applied\", {\n body: body,\n });\n // need to make a new item for this\n break;\n case \"applied\":\n //need to add verified thing, also check if already existing \n await API.post(config.API_NAME, \"/jobitems/applied\", {\n body: body,\n });\n break;\n case \"interviewed\":\n await API.post(config.API_NAME, \"/jobitems/interviewed\", {\n body: body,\n });\n break;\n case \"started\":\n await API.post(config.API_NAME, \"/jobitems/started\", {\n body: body\n });\n break;\n case \"wasntsuccessful\":\n await API.post(config.API_NAME, \"/jobitems/unsuccessful\", {\n body: body\n });\n break;\n default:\n break;\n }\n }\n };\n}","import { makeStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme) => ({\n mainTitle: {\n fontSize: 18,\n fontWeight: 600,\n marginBottom: 20,\n color: \"#202A3E\",\n },\n subTitle: {\n fontSize: 14,\n fontWeight: 600,\n marginBottom: 17,\n color: \"#5A6375\",\n },\n body: {\n fontSize: 12,\n color: \"#5A6375\",\n marginBottom: 12,\n },\n}));\n\nconst Content = (props) => {\n const classes = useStyles(props);\n\n return (\n <>\n \n Skillsminer Limited Privacy Notice\n \n \n We are Skillsminer Limited. We are a company registered in Scotland with\n company number SC447870. We are a software company and have developed an\n AI system which identifies people’s talents and skills to determine what\n job opportunities are available to them or what training would be\n required for them to get their next job.\n \n \n We provide these services to individuals and we provide these services\n to organisations who are:\n \n
      \n
    • looking to place people in work;
    • \n
    • looking to identify training opportunities;
    • \n
    • wanting to learn more about their existing talent; or
    • \n
    • who are looking for the perfect candidate for a position.
    • \n
    \n \n In order to help individuals and organisations in these ways we ask\n people to give us information about themselves. This notice sets out how\n we use that information and what rights you as an individual user have\n in relation to it whether you have found us yourself or another\n organisation has directed you here.\n \n \n Contact details\n \n \n You can contact us in the following ways:\n \n
      \n
    • e-mail to: enquiries@skillsminer.ai
    • \n
    • \n write to us at our registered address: SkillzMiner Limited, Stirling House, 226 St Vincent Street, Glasgow, G2 5RQ, Scotland\n
    • \n
    \n \n The data we collect from you\n \n \n When you sign up to an account for our Platform we collect information\n from you so that you can create an account with us, including contact\n details. We will then ask you to provide us with information about your\n qualifications, experience, interests, personality and employment\n history which will allow us to create your profile.\n \n \n How we use data collected from users:\n \n \n You sign up to use our Platform so that we can provide you with a\n personal profile to help you find work or training. To provide that\n service it is necessary for us to use the information you have given us\n to create your profile. More information about how we do that is\n provided when you sign up. You will then be able to access that profile\n through our Platform, and the organisation that directed you to our\n Platform will be able to access that profile giving an insight into your\n occupational preferences, working styles and interests.\n \n \n Sharing information with third parties\n \n \n We use other companies to assist us to provide our service. Some of\n these are software providers and some help us to store our data\n securely. We do not allow these third-party service providers to use\n your personal data for their own purposes and only permit them to use\n your personal data for specified purposes, in accordance with our\n instructions. We have a contract with them setting out our instructions\n with provisions in relation to the security of your data.\n \n \n If you were directed to use our Platform by another organisation your\n profile will be shared with that organisation so that they can provide\n you with their services. Once that data is shared it will be processed\n in accordance with their privacy notice.\n \n \n We collect, use and share aggregated data, such as statistical or\n demographic data but this is anonymised when shared with organisations\n that we work with, meaning that there will be no information about you\n share din this way. For example we may combine your usage data with the\n usage data of other users to calculate the percentage of users accessing\n the Platform or a specific feature of the Platform.\n \n \n Information will be shared in the event that our business is sold, or\n its assets are sold, to any third party, or as part of any business\n restructuring or reorganisation, but we will take steps with the aim of\n ensuring that your privacy rights continue to be protected and you are\n informed as soon as possible;\n \n \n We will share your data with law enforcement agencies only if we are\n required to so by a court order or by the law.\n \n \n We may share information in anonymised form with data aggregators and\n service providers as part of an analysis of user metrics or performance;\n along with elements of your participation on our Platform.\n \n \n Security\n \n\n \n Our Platform is hosted in the UK in a server run by Amazon Web Services.\n Your information is stored there and encrypted. Direct access to our\n database is provided to third party organisations through a web-based\n interface. They can only the data of the individuals that they have\n directed to us.\n \n \n We have implemented technology and information security policies in our\n organisations to safeguard your privacy and to protect your data from\n unauthorised access and improper use.\n \n\n \n Data Retention\n \n \n If you have not used our Platform for six months, we will contact you\n and ask if you would like to continue to use our services. If you\n indicate that you no longer wish to use our services, your personal data\n will be deleted from our Platform.\n \n \n If we receive no response from you, we will retain your personal data\n for five years following your last use of our Platform, and then it will\n be deleted.\n \n \n Your Data Protection Rights\n \n \n Under data protection law, you have rights including:\n \n
      \n
    • \n Your right of access - to ask us for a copy of your\n personal information.\n
    • \n
    • \n Your right to rectification - to ask us to rectify\n information you think is inaccurate. You also have the right to ask\n us to complete information you think is incomplete.\n
    • \n
    • \n Your right to erasure - to ask us to erase your\n personal information in certain circumstances.\n
    • \n
    • \n Your right to restriction of processing - You have\n the right to ask us to restrict the processing of your information\n in certain circumstances.\n
    • \n
    • \n Your right to object to processing - to the\n processing of your personal data in certain circumstances, and an\n absolute right to object to receiving marketing messages from us.\n
    • \n
    • \n Your right to data portability - to ask for a copy\n of the personal data that you have provided to us in a structured,\n commonly used and machine-readable format.\n
    • \n
    \n \n WE ARE NOT RESPONSIBLE FOR WEBSITES WE LINK TO\n \n Where our site contains links to other sites and resources provided by third parties, these links are provided for your information only. Such links should not be interpreted as approval by us of those linked websites or information you may obtain from them.\n We have no control over the contents of those sites or resources.\n \n How to complain\n \n \n If you are concerned about the contents of this notice or if you have\n other concerns about the personal data that we have, then please contact\n us using the details above and we will do our best to address you\n concerns.\n \n \n If you remain concerned, you are always free to contact the Information\n Commissioner’s Office. Their contact details can be found here:\n www.ico.org.uk/concerns\n \n \n );\n};\n\nexport default Content;\n","import { API } from \"aws-amplify\";\nimport {\n FETCH_USER,\n USER_CLICK_HELLO,\n FETCH_USER_PROFILE_URL,\n OPEN_UPDATE_SKILLS,\n CLOSE_UPDATE_SKILLS,\n USER_CLICK_PROFILE_EDIT,\n USER_PROFILE_EDIT_DONE,\n RESET_JOBS,\n MARK_SKILLS_UPDATED,\n BLACKLIST_OCC,\n SET_BLACKLIST,\n ADD_NEW_SKILL,\n UPDATE_CHAT_SKILLS,\n SET_NOTIFICATION,\n SET_NOTIFICATION_AMOUNT,\n SET_USER_PERMISSIONS,\n SET_SKILLS,\n UPDATE_DEMOGRAPHICS,\n UPDATE_DEMOGRAPHICS_QUESTIONS,\n OPEN_DEMOGRAPHICS,\n FETCH_INTERNAL_MOBILITY_ROLES,\n HIDE_AA_HELP_TEXT,\n JOBS_FILTER,\n SET_COMPLETED_SKILLS_ASSESSMENTS,\n SET_PROJECTED_SKILS,\n SET_VALIDATION_REQUESTS,\n SET_SKILL_NOTIFICATION\n} from \"./types\";\nimport { logout, validateUserSession } from \"./auth_actions\";\nimport {fetchCoins} from \"./reward_actions\";\nimport { updateEndpoint, recordSkillUpdate } from \"./analytics_actions\";\nimport { fetchSkillsInfo, preLoadJobsSearch, toggleLoading, addOccupationFilter} from \"./job_actions\";\nimport { resetMessages, sendMessage } from \"./chat_actions\";\nimport _ from \"lodash\";\nimport config from \"../config/\";\nimport { Logger, Cache, Storage } from \"aws-amplify\";\nconst logger = new Logger(\"USER.ACTIONS\", \"INFO\");\n\n// Cognito - Auth.signIn()\nexport function fetchUser(onlyUser = false) {\n return async function (dispatch, getState) {\n\n try {\n let data = await API.get(config.API_NAME, `/users`).catch(() => {\n data = false;\n dispatch(logout());\n });\n\n if (data === false){\n return false;\n }\n //console.log(data);\n if (data.userID) {\n await Promise.all([dispatch({ type: FETCH_USER, user: data })]);\n dispatch({ type: SET_BLACKLIST, newBlackList:data.occupationBlacklist });\n if (data.assessmentCompleted){\n await Promise.all([dispatch(fetchSkillsInfo())]);\n }\n if (!onlyUser) {\n dispatch(fetchProfileURL());\n dispatch(updateEndpoint());\n dispatch(getSkillAssessmentCompleted());\n dispatch(getSkillValidationRequests());\n dispatch(getProjectedSkills());\n }\n\n } else {\n dispatch({ type: FETCH_USER, user: {} });\n }\n } catch (e) {\n logger.error(\"fetchUserDetails():\", e);\n dispatch(logout());\n //dispatch({ type: FETCH_USER, user: {} });\n }\n };\n}\n\nexport function fetchProfileURL() {\n return async function (dispatch) {\n var profileURL;\n try {\n profileURL = await Storage.get(\"profile.png\", { level: \"private\" });\n dispatch({ type: FETCH_USER_PROFILE_URL, profileURL });\n } catch (e) {\n dispatch({ type: FETCH_USER_PROFILE_URL, profileURL: false });\n console.log(e);\n }\n };\n}\n\nexport function clickHello() {\n return async function (dispatch) {\n Cache.setItem(\"clickedHello\", true);\n dispatch({ type: USER_CLICK_HELLO });\n };\n}\n\nexport function clickProfileEdit() {\n return async function (dispatch) {\n dispatch({ type: USER_CLICK_PROFILE_EDIT });\n };\n}\nexport function doneProfileEdit() {\n return async function (dispatch) {\n dispatch({ type: USER_PROFILE_EDIT_DONE });\n dispatch({ type: RESET_JOBS });\n dispatch(preLoadJobsSearch())\n };\n}\n\nexport function openUpdateSkills(key, skill) {\n return async function (dispatch) {\n dispatch({ type: OPEN_UPDATE_SKILLS, occkey: key, highlightSkill:skill });\n };\n}\nexport function closeUpdateSkills(skipReset) {\n return async function (dispatch, getState) {\n const {\n user : {\n skillWasEdited\n }\n } = getState();\n\n await dispatch(fetchUser(true));\n dispatch({ type: CLOSE_UPDATE_SKILLS });\n dispatch(fetchCoins())\n //only if changed\n if (!skipReset && skillWasEdited && skillWasEdited === true){\n dispatch({ type: RESET_JOBS });\n dispatch(preLoadJobsSearch())\n }\n \n };\n}\n\n\nexport function sendFeedback(description, id, _type) {\n return async function (dispatch) {\n await API.post(config.API_NAME, `/users/feedback`, {\n body: {\n description: description,\n type: _type,\n id: id\n }\n });\n }\n}\n\nexport function saveSkills(occupation, skills, optionalSkills, deletedSkills, updatedSkills) {\n return async function (dispatch) {\n // console.log(\"save skills\", occupation, skills);\n dispatch(recordSkillUpdate(occupation));\n try {\n let occ = await API.put(config.API_NAME, `/users/skills`, {\n body: {\n occupation: occupation,\n skills: skills,\n optionalSkills: optionalSkills ? optionalSkills : [],\n deletedSkills: deletedSkills ? deletedSkills : [],\n updatedSkills: updatedSkills ? updatedSkills : [] //list of updatedSkills for coins + experties check\n },\n });\n //console.log(data);\n if (occ.data && occ.data.Attributes && occ.data.Attributes.occupationSkills){\n dispatch({ type: SET_SKILLS, occupationSkills: occ.data.Attributes.occupationSkills });\n }\n\n } catch (e) {\n logger.error(\"saveSkills ():\", e);\n }\n \n\n\n dispatch({ type: MARK_SKILLS_UPDATED});\n // dispatch(fetchCoins())\n };\n}\n\nexport function addSkillsFromProfile(skills) {\n return async function (dispatch, getState) {\n try {\n const { user: { occupationSkills }} = getState()\n let newOccupationSkills = occupationSkills\n let skillObjIdx = null\n let newSkillList = skills.map((item) => {return {\"name\": item, \"level\": 1}})\n\n occupationSkills.forEach(function (item, index) {\n if (item.occupation === \"Manually Added: Skills\"){\n skillObjIdx = index\n }\n });\n \n if(skillObjIdx){\n newOccupationSkills[skillObjIdx].skills.push(...newSkillList)\n await dispatch(saveSkills(newOccupationSkills[skillObjIdx].occupation, newOccupationSkills[skillObjIdx].skills, newOccupationSkills[skillObjIdx].optionalSkills, newOccupationSkills[skillObjIdx].deletedSkills, skills))\n }\n else{\n skillObjIdx = newOccupationSkills.length\n newOccupationSkills.push({'occupation': \"Manually Added: Skills\", 'expertise': \"Beginner\", 'skills': newSkillList, 'optionalSkills': [], 'deletedSkills':[]})\n await API.put(config.API_NAME, `/users/addSkill`, {body: {...newOccupationSkills[skillObjIdx], isNewSkill: true}});\n dispatch({ type: MARK_SKILLS_UPDATED});\n }\n dispatch({ type: ADD_NEW_SKILL, newOccupationSkills, skillObjIdx });\n } catch (e) {\n logger.error(\"addSkillsFromProfile():\", e);\n }\n }\n}\n\nexport function fetchSkillDetails(skill, skillList=[], skillCategory) {\n return async function (dispatch, getState) {\n const { user: { occupationSkills }} = getState()\n let newOccupationSkills = occupationSkills\n let skillObjIdx = null\n let newSkillList = [{\"name\": skill, \"level\": 1}]\n\n try {\n if (skillList && skillList.length){\n skillList.forEach((root_item) => {\n if (root_item.name.includes(\"(end)\")){\n root_item.bottomLevelSkills.forEach((bottom_skill) => {\n newSkillList.push({\"name\": bottom_skill, \"level\": 1})\n })\n }\n else{\n newSkillList.push({\"name\": root_item.name, \"level\": 1})\n }\n })\n }\n newSkillList = _.uniqBy(newSkillList, 'name')\n occupationSkills.forEach(function (item, index) {\n if (item.occupation === \"Manually Added: \" + skillCategory){\n skillObjIdx = index\n }\n });\n\n if (skillObjIdx){\n newOccupationSkills[skillObjIdx].skills.push(...newSkillList)\n dispatch(saveSkills(newOccupationSkills[skillObjIdx].occupation, newOccupationSkills[skillObjIdx].skills, newOccupationSkills[skillObjIdx].optionalSkills, newOccupationSkills[skillObjIdx].deletedSkills, [skill]))\n }\n else{\n skillObjIdx = newOccupationSkills.length\n newOccupationSkills.push({'occupation': \"Manually Added: \" + skillCategory, 'expertise': \"Beginner\", 'skills': newSkillList, 'optionalSkills': [], 'deletedSkills':[]})\n API.put(config.API_NAME, `/users/addSkill`, {body: {...newOccupationSkills[skillObjIdx], isNewSkill: true}});\n }\n dispatch({ type: ADD_NEW_SKILL, newOccupationSkills, skillObjIdx });\n // dispatch(fetchCoins())\n await dispatch({ type: UPDATE_CHAT_SKILLS, newOccupationSkills, skillObjIdx });\n } catch (e) {\n logger.error(\"fetchSkillDetails():\", e);\n }\n }\n}\n\nexport const updateJobMatches = () => async (\n dispatch,\n getState\n) => {\n\n \n let _state = getState();\n \n let isCached = Cache.getItem(\"interestStyles\");\n\n if (isCached){\n return true;\n }\n\n let matchesStyles,matchesInterest,bestBackpack;\n if (_state.jobs && _state.jobs.rawJobCategories){\n matchesStyles = _state.jobs.rawJobCategories.styles_occupations;\n matchesInterest = _state.jobs.rawJobCategories.interest_occupations;\n bestBackpack = _state.jobs.rawJobCategories.skills_backpack_occupations;\n } else {\n return false;\n }\n\n if (matchesStyles && matchesInterest && bestBackpack){\n await API.put(config.API_NAME, `/users/styles`, {\n body: {\n jobStyle: matchesStyles,\n interestStyle: matchesInterest,\n skillPackBack: bestBackpack\n }\n });\n Cache.setItem(\"interestStyles\", true);\n\n }\n}\n\nexport const updateReverseMineIndexes = () => async (\n dispatch,\n getState\n) => {\n const { \n user: {\n provider,\n occupationSkills\n },\n jobs : {\n rawJobCategories\n }} = getState();\n if (rawJobCategories){\n let occupationSkillsFakeList = \"\"\n\n for (const skillType of occupationSkills) {\n for(const skillObject of skillType.skills){\n occupationSkillsFakeList = occupationSkillsFakeList + \"#\" + skillObject.name + \"#\"\n }\n }\n\n await API.put(config.API_NAME, `/users/updateRevMineIdxs`, {\n body: {\n provider: provider,\n mineable_skills: occupationSkillsFakeList\n }\n });\n }\n}\n\n\nexport const updateOccupationBlacklist = (occupation, isRemove=false) => async (\n dispatch,\n getState\n) => {\n dispatch(toggleLoading(true));\n if (occupation){\n await dispatch({ type: BLACKLIST_OCC, occupation:occupation, isRemove:isRemove });\n }\n else{\n await dispatch({ type: SET_BLACKLIST });\n Cache.removeItem(\"jobs\")\n }\n \n const { jobs : { occupationBlacklist } } = getState();\n try {\n await API.put(config.API_NAME, `/users/occupationBlacklist`, {\n body: {\n occupationBlacklist: occupationBlacklist\n },\n });\n } catch (e) {\n logger.error(\"updateOccupationBlacklist ():\", e);\n }\n if (occupation){\n dispatch(addOccupationFilter(occupation, isRemove ? false : true));\n }\n else{\n dispatch({ type: JOBS_FILTER, occupationCategoryFilterChange:true });\n }\n dispatch(toggleLoading(false));\n \n};\n\nexport function deleteAccount() {\n return async function (dispatch) {\n try {\n await API.del(config.API_NAME, `/account`);\n dispatch(validateUserSession()); //console.log(data);\n window.location.replace(\"https://www.skillsminer.ai\");\n } catch (e) {\n logger.error(\"deleteAccount ():\", e);\n }\n };\n}\n\nexport function enableNotification(enabled) {\n return async function (dispatch) {\n try {\n await API.post(config.API_NAME, `/account/notifications`, {\n body: {\n enabled: enabled,\n },\n });\n dispatch(fetchUser(true)); //console.log(data);\n } catch (e) {\n logger.error(\"enableNotification ():\", e);\n }\n };\n}\n\nexport function enableCookies(enabled) {\n return async function (dispatch) {\n try {\n await API.post(config.API_NAME, `/account/cookie`, {\n body: {\n enabled: enabled,\n },\n });\n dispatch({type: SET_USER_PERMISSIONS, enabled: enabled}); //console.log(data);\n } catch (e) {\n logger.error(\"enableNotification ():\", e);\n }\n };\n}\n\n\nexport function setNotification(goto) {\n return async function (dispatch){\n dispatch({type: SET_NOTIFICATION,\n goto: goto\n });\n }\n}\n\nexport function setNotificationAmount(amount) {\n return async function (dispatch){\n dispatch({type: SET_NOTIFICATION_AMOUNT,\n notificationAmount: amount\n });\n }\n}\n\nexport function submitDemographics(demoData) {\n return async function (dispatch, getState) {\n try {\n const { auth : { userID }, user: { showChat } } = getState();\n const { data } = await API.put(config.API_NAME, `/users/demographics`, {\n body: demoData,\n });\n if(data){\n await dispatch({type: UPDATE_DEMOGRAPHICS, demoData: data, showPage: false });\n if(showChat){\n await Promise.all([dispatch(resetMessages())])\n // console.log(\"submitDemographics\")\n setTimeout(\n async () =>\n await Promise.all([dispatch(sendMessage([{_id: 1, text: \"BEGIN_CHAT\", hidden: true, user: {_id: userID}}]))])\n ,1000\n );\n \n }\n }\n } catch (e) {\n logger.error(\"submitDemographics() error :\", e);\n }\n };\n}\n\nexport function showDemographics() {\n return async function (dispatch, getState) {\n const { user: { internalMobilityResponses, internalMobilityProvider } } = getState();\n dispatch({type: UPDATE_DEMOGRAPHICS, demoData: {}, showPage: true, IMdata:internalMobilityResponses});\n if(internalMobilityProvider){\n dispatch(getinternalMobilityDemographics());\n }\n };\n}\n\nexport function setHideAAHelpText(storeChoice) {\n return async function (dispatch) {\n if(storeChoice){\n try {\n await API.post(config.API_NAME, `/user/applicationAssistant/hideHelp`)\n } catch (e) {\n logger.error(\"setHideAAHelpText ():\", e);\n }\n }\n dispatch({type: HIDE_AA_HELP_TEXT });\n };\n}\n\nexport function getinternalMobilityDemographics() {\n return async function (dispatch, getState) {\n try {\n // console.log(\"getinternalMobilityDemographics\")\n const data = await API.get(config.API_NAME, `/users/internalMobilityDemographics`, {});\n if(data && data.success){\n await dispatch({type: UPDATE_DEMOGRAPHICS_QUESTIONS, data: data.data.questions, roles: data.roles, departments: data.departments, lineManagers: data.lineManagers, locations: data.locations});\n }\n } catch (e) {\n logger.error(\"getinternalMobilityDemographics() error :\", e);\n }\n };\n}\n\n\nexport function reOpenDemographics() {\n return async function (dispatch, getState) {\n try {\n await dispatch({type: OPEN_DEMOGRAPHICS});\n } catch (e) {\n logger.error(\"reOpenDemographics() error :\", e);\n }\n };\n}\n\n\nexport function getinternalMobilityRoles() {\n return async function (dispatch, getState) {\n try {\n const {\n user: { rawdata }\n } = getState();\n // console.log(\"getinternalMobilityDemographics\")\n const data = await API.get(config.API_NAME, `/users/internalMobilityRoles`, {});\n if(data && data.success){\n const whiteListedOccs = rawdata && rawdata.desiredOccupations ? rawdata.desiredOccupations : []\n const filteredRoles = data.data.filter((item) => item.disabled && !whiteListedOccs.includes(item) ? false : true)\n await dispatch({type: FETCH_INTERNAL_MOBILITY_ROLES, data: filteredRoles});\n return filteredRoles\n }\n } catch (e) {\n logger.error(\"getinternalMobilityDemographics() error :\", e);\n }\n };\n}\n\nexport function submitDemographicsInternalMobility({questions, department, role, lineManager}) {\n return async function (dispatch, getState) {\n try {\n // console.log(department, role, lineManager)\n const { auth : { userID }, user: { showChat } } = getState();\n const { data } = await API.put(config.API_NAME, `/users/internalMobilityDemographics`, {\n body: {\n questions: questions,\n department: department, \n role: role,\n lineManager: lineManager\n },\n });\n if(data){\n let showPage = false;\n let holdUser = false;\n\n if(data.internalMobilityRoleVerified === \"n\"){\n holdUser = true;\n showPage = true\n }\n await dispatch({\n type: UPDATE_DEMOGRAPHICS, \n demoData: {\n internalMobilityRole: data.internalMobilityRole,\n internalMobilityRoleVerified: data.internalMobilityRoleVerified,\n internalMobilityDepartment: data.internalMobilityDepartment,\n internalMobilityDepartmentVerified: data.internalMobilityDepartmentVerified,\n internalMobilityRoleDetails: data.internalMobilityRoleDetails,\n internalMobilityLineManager: data.internalMobilityLineManager,\n internalMobilityLineManagerVerified: data.internalMobilityLineManagerVerified,\n internalMobilityLineManagerDetails: data.internalMobilityLineManagerDetails,\n }, \n showPage: showPage, \n holdUser: holdUser,\n IMdata: data.internalMobilityResponses, \n });\n if(showChat){\n await Promise.all([dispatch(resetMessages())])\n // console.log(\"submitDemographics\")\n setTimeout(\n async () =>\n await Promise.all([dispatch(sendMessage([{_id: 1, text: \"BEGIN_CHAT\", hidden: true, user: {_id: userID}}]))])\n ,1000\n );\n \n }\n }\n } catch (e) {\n logger.error(\"submitDemographics() error :\", e);\n }\n };\n}\n\nexport function getSkillAssessmentCompleted() {\n return async function (dispatch, getState) {\n try {\n const data = await API.get(config.API_NAME, `/users/getSkillsAssessmentCompleted`);\n if(data.success && data.data){\n dispatch({type: SET_COMPLETED_SKILLS_ASSESSMENTS, data: data.data});\n }\n else{\n dispatch({type: SET_COMPLETED_SKILLS_ASSESSMENTS, data: {}});\n }\n } catch (e) {\n logger.error(\"getSkillAssessmentCompleted() error :\", e);\n }\n };\n}\n\nexport function setSkillsAssessmentCompleted(assessment_data) {\n return async function (dispatch, getState) {\n try {\n const data = await API.post(config.API_NAME, `/users/setSkillsAssessmentCompleted`, {\n body: {\n skill_name: assessment_data.skill_name,\n assessment_version: assessment_data.assessment_version,\n assessment_data: assessment_data.questions\n },\n });\n if(data.success && data.data){\n dispatch({type: SET_COMPLETED_SKILLS_ASSESSMENTS, data: data.data});\n dispatch(setSkillValidationRequests(assessment_data.skill_name));\n }\n else{\n dispatch({type: SET_COMPLETED_SKILLS_ASSESSMENTS, data: {}});\n }\n } catch (e) {\n logger.error(\"setSkillsAssessmentCompleted() error :\", e);\n }\n };\n}\n\n\nexport function getSkillValidationRequests() {\n return async function (dispatch, getState) {\n try {\n const data = await API.post(config.API_NAME, `/users/skillvalidations/get`, {body:{}});\n if(data && data.success){\n dispatch({type: SET_VALIDATION_REQUESTS, completed: data.completed, requests:data.requests});\n }\n else{\n dispatch({type: SET_VALIDATION_REQUESTS, completed: [], requests:[]});\n }\n } catch (e) {\n logger.error(\"getSkillValidationRequests() error :\", e);\n }\n };\n}\n\nexport function setSkillValidationRequests(skill) {\n return async function (dispatch, getState) {\n try {\n const data = await API.post(config.API_NAME, `/users/skillsvalidations/set`, {\n body:{\n skill: skill\n }\n });\n if(data.success){\n dispatch({type: SET_VALIDATION_REQUESTS, completed: data.completed, requests:data.requests});\n }\n else{\n dispatch({type: SET_VALIDATION_REQUESTS, completed: [], requests:[]});\n }\n } catch (e) {\n logger.error(\"setSkillValidationRequests() error :\", e);\n }\n };\n}\n\nexport function getProjectedSkills() {\n return async function (dispatch, getState) {\n try {\n const data = await API.post(config.API_NAME, `/users/projectedskills/get`, {body:{}});\n if(data && data.success){\n dispatch({type: SET_PROJECTED_SKILS, read: data.read, unread:data.unread});\n }\n else{\n dispatch({type: SET_PROJECTED_SKILS, read: [], unread:[]});\n }\n } catch (e) {\n logger.error(\"getProjectedSkills() error :\", e);\n }\n };\n}\n\nexport function setProjectedSkills(skill) {\n return async function (dispatch, getState) {\n const { user: { occupationSkills=[] } } = getState();\n try {\n let targetOcc = false\n for (const occSkill of occupationSkills) {\n if(occSkill.skills.find((item) => item.name === skill) || (occSkill.optionalSkills && occSkill.optionalSkills.find((item) => item.name === skill)) ||(occSkill.deletedSkills && occSkill.deletedSkills.find((item) => item.name === skill))){\n targetOcc = occSkill.occupation\n break\n }\n }\n if(targetOcc){\n dispatch({type: SET_SKILL_NOTIFICATION, targetOcc: targetOcc, targetSkill:skill});\n dispatch(openUpdateSkills(targetOcc, skill))\n }\n\n const data = await API.post(config.API_NAME, `/users/projectedskills/set`, {\n body:{\n skill: skill\n }\n });\n if(data.success){\n dispatch({type: SET_PROJECTED_SKILS, read: data.read, unread:data.unread});\n }\n else{\n dispatch({type: SET_PROJECTED_SKILS, read: [], unread:[]});\n }\n } catch (e) {\n logger.error(\"setProjectedSkills() error :\", e);\n }\n };\n}\n\nexport function setSkillNotfiction(skill) {\n return async function (dispatch, getState) {\n try {\n if(skill){\n const { user: { occupationSkills=[] } } = getState();\n let targetOcc = false\n for (const occSkill of occupationSkills) {\n if(occSkill.skills.find((item) => item.name === skill) || (occSkill.optionalSkills && occSkill.optionalSkills.find((item) => item.name === skill)) ||(occSkill.deletedSkills && occSkill.deletedSkills.find((item) => item.name === skill))){\n targetOcc = occSkill.occupation\n break\n }\n }\n dispatch({type: SET_SKILL_NOTIFICATION, targetOcc: targetOcc, targetSkill:skill});\n dispatch(openUpdateSkills(targetOcc, skill))\n }\n else{\n dispatch({type: SET_SKILL_NOTIFICATION});\n }\n } catch (e) {\n logger.error(\"setSkillNotfiction() error :\", e);\n }\n }\n}\n\nexport function mapIdentity() {\n return async function (dispatch, getState) {\n try {\n await API.put(config.API_NAME, `/users/identitiymap`);\n } catch (e) {\n logger.error(\"mapIdentity() error :\", e);\n }\n };\n}","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.9366 9.03833C32.9366 9.03833 39.4354 9.8006 50.6481 0C50.6481 0 53.0459 9.45576 45.321 10.2906L50.0214 11.9604C50.0214 11.9604 46.1521 20.6539 31.9829 13.7753L32.9366 9.03833Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.0633 9.03833C18.0633 9.03833 11.5645 9.8006 0.351786 0C0.351786 0 -2.04607 9.45576 5.67885 10.2906L0.978499 11.9604C0.978499 11.9604 4.84777 20.6539 19.0169 13.7753L18.0633 9.03833Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4755 22.112C30.6639 22.112 34.87 17.9232 34.87 12.756C34.87 7.58876 30.6639 3.3999 25.4755 3.3999C20.2871 3.3999 16.0811 7.58876 16.0811 12.756C16.0811 17.9232 20.2871 22.112 25.4755 22.112Z\",\n fill: \"#FF5255\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M34.8705 12.756C34.8705 13.6521 34.7445 14.5125 34.5105 15.337C33.3767 19.2443 29.7593 22.112 25.476 22.112C21.1927 22.112 17.5573 19.2443 16.4415 15.337C16.2075 14.5125 16.0815 13.6521 16.0815 12.756C16.0815 7.594 20.2929 3.3999 25.476 3.3999C30.6592 3.3999 34.8705 7.594 34.8705 12.756Z\",\n fill: \"#FF6A14\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4758 22.9185C20.9406 22.9185 16.9092 19.8894 15.6674 15.552C15.4155 14.6379 15.2715 13.7058 15.2715 12.7559C15.2715 7.14583 19.8427 2.59326 25.4758 2.59326C31.1089 2.59326 35.6802 7.14583 35.6802 12.7559C35.6802 13.7058 35.5542 14.6558 35.2842 15.552C34.0424 19.8894 30.0111 22.9185 25.4758 22.9185ZM25.4758 4.20638C20.7426 4.20638 16.8912 8.04201 16.8912 12.7559C16.8912 13.5624 16.9992 14.3511 17.2152 15.1218C18.259 18.7603 21.6604 21.3233 25.4758 21.3233C29.2912 21.3233 32.6926 18.7782 33.7365 15.1218C33.9524 14.3511 34.0604 13.5624 34.0604 12.7559C34.0604 8.04201 30.209 4.20638 25.4758 4.20638Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4755 57.4421C23.0819 55.9544 19.5364 53.7319 17.2328 52.0112C9.81803 46.5087 5.80469 41.6335 5.80469 31.686V17.6698C11.1858 17.383 18.8886 16.1463 25.4755 11.8984C32.0804 16.1463 39.7652 17.401 45.1463 17.6698V31.686C45.1463 41.6515 41.1329 46.5266 33.7181 52.0112C31.4145 53.714 27.8691 55.9365 25.4755 57.4421Z\",\n fill: \"white\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4755 15.8599C30.9646 18.9248 36.8856 20.2511 41.7268 20.7888V31.6684C41.7268 35.8267 40.953 39.017 39.2972 41.7414C37.8215 44.1611 35.5358 46.4195 31.6845 49.2693C29.9747 50.5419 27.4012 52.1908 25.4755 53.4096C23.5498 52.1908 20.9942 50.5419 19.2665 49.2693C15.4151 46.4015 13.1295 44.1611 11.6537 41.7414C9.998 39.035 9.22413 35.8267 9.22413 31.6684V20.7888C14.0653 20.2511 19.9864 18.9069 25.4755 15.8599ZM25.4755 11.8809C18.8706 16.1287 11.1858 17.3834 5.80469 17.6522V31.6684C5.80469 41.6339 9.81803 46.5091 17.2328 51.9937C19.5364 53.7143 23.0819 55.9368 25.4755 57.4245C27.8691 55.9368 31.4145 53.7143 33.7181 51.9937C41.1329 46.4912 45.1463 41.616 45.1463 31.6684V17.6522C39.7652 17.3655 32.0804 16.1287 25.4755 11.8809Z\",\n fill: \"#F5F6F7\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.4754 58.9657C25.1875 58.9657 24.9175 58.894 24.6656 58.7326C21.786 56.9403 18.5466 54.8791 16.3149 53.2301C8.68418 47.5663 4.2749 42.2251 4.2749 31.6682V17.652C4.2749 16.8454 4.9048 16.1643 5.73266 16.1285C10.8618 15.8596 18.3126 14.6767 24.6656 10.5901C25.1695 10.2675 25.8174 10.2675 26.3213 10.5901C32.6563 14.6767 40.1071 15.8596 45.2542 16.1285C46.0641 16.1643 46.712 16.8454 46.712 17.652V31.6682C46.712 42.2251 42.3027 47.5663 34.6719 53.2301C32.4403 54.8791 29.2008 56.9403 26.3213 58.7326C26.0334 58.876 25.7634 58.9657 25.4754 58.9657ZM7.3344 19.0859V31.6682C7.3344 41.0421 10.9698 45.4513 18.1506 50.7746C20.0763 52.2085 22.8659 54.0008 25.4754 55.6319C28.085 54.0008 30.8746 52.2085 32.8003 50.7746C39.9811 45.4513 43.6165 41.0421 43.6165 31.6682V19.0859C38.4513 18.6736 31.5944 17.3652 25.4754 13.673C19.3564 17.3473 12.4996 18.6736 7.3344 19.0859Z\",\n fill: \"#53D28E\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.0589 39.0588L21.9556 40.4876C22.0047 40.5664 22.0907 40.6226 22.1766 40.6339L23.9331 40.9714C24.191 41.0164 24.2893 41.3089 24.1173 41.489L22.9136 42.7153C22.8522 42.7828 22.8153 42.8728 22.8276 42.9628L23.0119 44.6054C23.0364 44.8417 22.7785 45.0217 22.5328 44.9205L20.887 44.2454C20.801 44.2117 20.7027 44.2117 20.6045 44.2454L18.9586 44.9205C18.7129 45.0217 18.455 44.8417 18.4796 44.6054L18.6638 42.9628C18.6761 42.8728 18.6392 42.7828 18.5778 42.7153L17.3741 41.489C17.2022 41.3089 17.3004 41.0164 17.5584 40.9714L19.3148 40.6339C19.413 40.6114 19.4867 40.5664 19.5359 40.4876L20.4325 39.0588C20.5922 38.845 20.9238 38.845 21.0589 39.0588Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M30.0959 39.0588L30.8804 40.4876C30.9234 40.5664 30.9986 40.6226 31.0739 40.6339L32.6107 40.9714C32.8364 41.0164 32.9224 41.3089 32.772 41.489L31.7187 42.7153C31.665 42.7828 31.6327 42.8728 31.6435 42.9628L31.8047 44.6054C31.8262 44.8417 31.6005 45.0217 31.3855 44.9205L29.9454 44.2454C29.8702 44.2117 29.7842 44.2117 29.6982 44.2454L28.2581 44.9205C28.0431 45.0217 27.8174 44.8417 27.8389 44.6054L28.0001 42.9628C28.0109 42.8728 27.9786 42.7828 27.9249 42.7153L26.8717 41.489C26.7212 41.3089 26.8072 41.0164 27.0329 40.9714L28.5697 40.6339C28.6557 40.6114 28.7202 40.5664 28.7632 40.4876L29.5478 39.0588C29.6982 38.845 29.9884 38.845 30.0959 39.0588Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M25.4431 39.7813L26.3778 41.3902C26.4239 41.4821 26.5162 41.5395 26.6085 41.5625L28.4317 41.9418C28.6971 41.9992 28.801 42.321 28.6164 42.5279L27.3701 43.9069C27.3009 43.9759 27.2663 44.0793 27.2778 44.1827L27.474 46.0214C27.4971 46.2972 27.2317 46.4926 26.9778 46.3777L25.2815 45.6192C25.1892 45.5733 25.0854 45.5733 24.9931 45.6192L23.2968 46.3777C23.0429 46.4926 22.766 46.2858 22.8006 46.0214L22.9968 44.1827C23.0083 44.0793 22.9737 43.9873 22.9045 43.9069L21.6582 42.5279C21.4736 42.321 21.5775 41.9992 21.8429 41.9418L23.6661 41.5625C23.7699 41.5395 23.8507 41.4821 23.8968 41.3902L24.8315 39.7813C24.9584 39.5514 25.3046 39.5514 25.4431 39.7813Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.1317 39.6089C25.2471 39.6089 25.374 39.6664 25.4432 39.7813L26.3779 41.3902C26.4241 41.4821 26.5164 41.5396 26.6087 41.5626L28.4319 41.9418C28.6973 41.9993 28.8011 42.321 28.6165 42.5279L27.3703 43.9069C27.301 43.9759 27.2664 44.0793 27.278 44.1828L27.4741 46.0215C27.4972 46.2398 27.3241 46.4122 27.128 46.4122C27.0818 46.4122 27.0356 46.4007 26.9779 46.3777L25.2817 45.6193C25.2355 45.5963 25.1894 45.5848 25.1317 45.5848C25.0855 45.5848 25.0278 45.5963 24.9817 45.6193L23.2854 46.3777C23.2392 46.4007 23.1931 46.4122 23.1354 46.4122C22.9392 46.4122 22.7661 46.2398 22.7892 46.0215L22.9854 44.1828C22.9969 44.0793 22.9623 43.9874 22.8931 43.9069L21.6468 42.5279C21.4622 42.321 21.5661 41.9993 21.8315 41.9418L23.6547 41.5626C23.7585 41.5396 23.8393 41.4821 23.8854 41.3902L24.8201 39.7813C24.8894 39.6664 25.0163 39.6089 25.1317 39.6089ZM25.1317 39.2642C24.8778 39.2642 24.647 39.3906 24.5201 39.6089L23.5854 41.2178L21.7622 41.597C21.5199 41.6545 21.3237 41.8269 21.243 42.0682C21.1622 42.3095 21.2199 42.5624 21.393 42.7462L22.6392 44.1253C22.6392 44.1253 22.6392 44.1253 22.6392 44.1368L22.443 45.9755C22.42 46.1709 22.4892 46.3662 22.6161 46.5156C22.7546 46.665 22.9392 46.7455 23.1354 46.7455C23.2392 46.7455 23.3316 46.7225 23.4239 46.688L25.1201 45.9295H25.1317L26.8279 46.688C26.9202 46.734 27.0126 46.7455 27.1164 46.7455C27.3126 46.7455 27.5087 46.665 27.6357 46.5156C27.7626 46.3662 27.8318 46.1709 27.8088 45.9755L27.6126 44.1368C27.6126 44.1368 27.6126 44.1368 27.6126 44.1253L28.8588 42.7462C29.0319 42.5624 29.0781 42.2981 29.0088 42.0682C28.9281 41.8269 28.7319 41.6545 28.4896 41.597L26.6664 41.2178L25.7317 39.6089C25.6163 39.3906 25.3855 39.2642 25.1317 39.2642Z\",\n fill: \"white\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M22.6079 22.6316C22.8627 22.6316 23.092 22.5538 23.2704 22.45L24.468 23.5138C24.417 23.6694 24.3661 23.8251 24.3661 24.0067C24.3661 24.1884 24.3916 24.37 24.468 24.5257L21.8689 26.8867C21.6905 26.7829 21.4612 26.7311 21.2319 26.7311C20.4929 26.7311 19.8813 27.3538 19.8813 28.1062C19.8813 28.8586 20.4929 29.4813 21.2319 29.4813C21.9708 29.4813 22.5824 28.8586 22.5824 28.1062C22.5824 27.9246 22.5569 27.7429 22.4804 27.5873L25.0796 25.2262C25.2579 25.33 25.4873 25.3819 25.7166 25.3819C26.4555 25.3819 27.0671 24.7592 27.0671 24.0067C27.0671 23.2543 26.4555 22.6316 25.7166 22.6316C25.4618 22.6316 25.2324 22.7094 25.0541 22.8132L23.8564 21.7494C23.9074 21.5938 23.9584 21.4381 23.9584 21.2565C23.9584 20.504 23.3468 19.8813 22.6079 19.8813C21.8689 19.8813 21.2573 20.504 21.2573 21.2565C21.2573 22.0349 21.8689 22.6316 22.6079 22.6316ZM28.4176 24.4478C28.4176 23.6954 29.0292 23.0727 29.7681 23.0727C30.5071 23.0727 31.1186 23.6954 31.1186 24.4478V34.904C31.1186 35.6564 30.5071 36.2791 29.7681 36.2791C29.0292 36.2791 28.4176 35.6564 28.4176 34.904V24.4478ZM25.7421 27.1721C25.0031 27.1721 24.3916 27.7948 24.3916 28.5473V34.9299C24.3916 35.6824 25.0031 36.3051 25.7421 36.3051C26.481 36.3051 27.0926 35.6824 27.0926 34.9299V28.5473C27.0671 27.7948 26.481 27.1721 25.7421 27.1721ZM21.2573 30.3635C20.5184 30.3635 19.9068 30.9862 19.9068 31.7386V34.9299C19.9068 35.6824 20.5184 36.3051 21.2573 36.3051C21.9963 36.3051 22.6079 35.6824 22.6079 34.9299V31.7386C22.6079 30.9862 21.9963 30.3635 21.2573 30.3635Z\",\n fill: \"#EDEFF2\"\n});\n\nvar SvgRewardShield = function SvgRewardShield(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 51,\n height: 59,\n viewBox: \"0 0 51 59\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRewardShield, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/rewardShield.4cffc8aa.svg\";\nexport { ForwardRef as ReactComponent };","// Actions related to authentication\nexport const AUTH_USER = \"AUTH_USER\";\nexport const AUTH_MFA = \"AUTH_MFA\";\nexport const AUTH_NEW_PASSWORD_REQUIRED = \"AUTH_NEW_PASSWORD_REQUIRED\";\nexport const UNAUTH_USER = \"UNAUTH_USER\";\nexport const REGISTER_USER = \"REGISTER_USER\";\nexport const REGISTER_USER_CONFIRM = \"REGISTER_USER_CONFIRM\";\nexport const REGISTER_MFA = \"REGISTER_MFA\";\nexport const REGISTER_USER_ERROR = \"REGISTER_USER_ERROR\";\nexport const FORGOT_PASSWORD = \"FORGOT_PASSWORD\";\nexport const FORGOT_PASSWORD_CONFIRM = \"FORGOT_PASSWORD_CONFIRM\";\nexport const AUTH_ERROR = \"AUTH_ERROR\";\nexport const AUTH_ERROR_CLEAR = \"AUTH_ERROR_CLEAR\";\nexport const CODE_RESEND_SUCCESS = \"CODE_RESEND_SUCCESS\";\nexport const AUTH_CONFIRM_SUCCESS = \"AUTH_CONFIRM_SUCCESS\";\nexport const ADD_TO_VIEWED_LIST = \"ADD_TO_VIEWED_LIST\";\n\nexport const RESET_APP = \"RESET_APP\";\n//USER RELATED\nexport const FETCH_USER = \"user/FETCH_USER\";\nexport const FETCH_USER_PROFILE_URL = \"user/FETCH_USER_PROFILE_URL\";\nexport const USER_CLICK_PROFILE_EDIT = \"user/USER_CLICK_PROFILE_EDIT\";\nexport const USER_PROFILE_EDIT_DONE = \"user/USER_PROFILE_EDIT_DONE\";\nexport const USER_CLICK_HELLO = \"user/CLICK_HELLO\";\nexport const OPEN_UPDATE_SKILLS = \"user/OPEN_UPDATE_SKILLS\";\nexport const CLOSE_UPDATE_SKILLS = \"user/CLOSE_UPDATE_SKILLS\";\nexport const MARK_SKILLS_UPDATED = \"user/MARK_SKILLS_UPDATED\";\nexport const ADD_NEW_SKILL = \"user/ADD_NEW_SKILL\";\nexport const SET_NOTIFICATION = \"user/SET_NOTIFICATION\";\nexport const SET_NOTIFICATION_AMOUNT = \"user/SET_NOTIFICATION_AMOUNT\";\nexport const SET_SKILLS = \"user/SET_SKILLS\";\nexport const SET_SKILLS_VIDEOS = \"user/SET_SKILLS_VIDEOS\";\nexport const SET_USER_PERMISSIONS = \"user/SET_USER_PERMISSIONS\";\nexport const UPDATE_DEMOGRAPHICS = \"user/UPDATE_DEMOGRAPHICS\";\nexport const UPDATE_DEMOGRAPHICS_QUESTIONS = \"user/UPDATE_DEMOGRAPHICS_QUESTIONS\";\nexport const OPEN_DEMOGRAPHICS = \"user/OPEN_DEMOGRAPHICS\";\nexport const FETCH_INTERNAL_MOBILITY_ROLES = \"user/FETCH_INTERNAL_MOBILITY_ROLES\";\nexport const SET_COMPLETED_SKILLS_ASSESSMENTS = \"user/SET_COMPLETED_SKILLS_ASSESSMENTS\";\nexport const SET_PROJECTED_SKILS = \"user/SET_PROJECTED_SKILS\";\nexport const SET_VALIDATION_REQUESTS = \"user/SET_VALIDATION_REQUESTS\";\nexport const SET_SKILL_NOTIFICATION = \"user/SET_SKILL_NOTIFICATION\";\n\n//JOBS\n\nexport const LOADED_CONTENT_DASHBOARD = \"jobs/LOADED_CONTENT_DASHBOARD\";\nexport const FETCH_OCCUPATION_JOBS = \"jobs/OCCUPATION_JOBS\";\nexport const FETCH_JOB_CATEGORIES = \"jobs/JOB_CATEGORIES\";\nexport const FETCH_STYLES_JOBS = \"jobs/STYLES_JOBS\";\nexport const FETCH_BACKPACK_JOBS = \"jobs/BACKPACK_JOBS\";\nexport const FETCH_DESIRED_JOBS = \"jobs/DESIRED_JOBS\";\nexport const FETCH_FAVOURITED_JOBS = \"jobs/FAVOURITED_JOBS\";\nexport const SET_FAVOURITE_JOB = \"jobs/SET_FAVOURITE_JOB\";\nexport const FETCH_INTERESTS_JOBS = \"jobs/INTERESTS_JOBS\";\nexport const SET_SELECTED_JOB = \"jobs/SET_SELECTED_JOB\";\nexport const FETCH_APPLIED_JOBS = \"jobs/APPLIED_JOBS\";\nexport const MARK_ITEM_READ = \"jobs/MARK_ITEM_READ\";\nexport const APPLY_FOR_A_JOB = \"jobs/APPLY_FOR_A_JOB\";\nexport const APPLY_FOR_A_JOB_UPDATE = \"jobs/APPLY_FOR_A_JOB_UPDATE\";\nexport const RESET_JOBS = \"jobs/RESET_JOBS\";\nexport const FETCH_SKILLS_LIST = \"jobs/FETCH_SKILLS_LIST\";\nexport const FETCH_QUALIFICATIONS = \"jobs/FETCH_QUALIFICATIONS\";\nexport const FETCH_ALL_JOBS = \"jobs/FETCH_ALL_JOBS\";\nexport const FETCH_ALL_JOBS_COMPLETE = \"jobs/FETCH_ALL_JOBS_COMPLETE\";\nexport const FETCH_INDIVIDUAL_JOBS = \"jobs/FETCH_INDIVIDUAL_JOBS\";\nexport const FETCH_NEARME_JOBS = \"jobs/FETCH_NEARME_JOBS\";\nexport const JOBS_LOAD = \"jobs/LOAD\";\nexport const ADD_FILTER = \"jobs/ADD_FILTER\";\nexport const OCC_FILTER = \"jobs/OCC_FILTER\";\nexport const JOBS_FILTER = \"jobs/JOBS_FILTER\";\nexport const LEVEL_FILTER = \"jobs/LEVEL_FILTER\";\nexport const FETCH_CENTRES = \"jobs/FETCH_CENTRES\";\nexport const TOGGLE_LOADING = \"jobs/TOGGLE_LOADING\";\nexport const SET_RESOURCES = \"jobs/SET_RESOURCES\";\nexport const SET_ONLINE_COURSES = \"jobs/SET_ONLINE_COURSES\";\nexport const SET_ACTIVE_RESOURCE = \"jobs/SET_ACTIVE_RESOURCE\";\nexport const LOADING_RESOURCES = \"jobs/LOADING_RESOURCES\";\nexport const LOADING_ONLINE_COURSES = \"jobs/LOADING_ONLINE_COURSES\";\nexport const UPDATE_OCCUPATION_SKILL = \"jobs/UPDATE_OCCUPATION_SKILL\";\nexport const UPDATE_FULL_DESCRIPTION = \"jobs/UPDATE_FULL_DESCRIPTION\";\nexport const OPTIONAL_SKILL_CHECK = \"jobs/OPTIONAL_SKILL_CHECK\";\nexport const UPDATE_JOB_CATEGORIES = \"jobs/UPDATE_JOB_CATEGORIES\";\nexport const UPDATE_LOAD_MORE_COUNT = \"jobs/UPDATE_LOAD_MORE_COUNT\";\nexport const BLACKLIST_OCC = \"jobs/BLACKLIST_OCC\";\nexport const SET_BLACKLIST = \"jobs/SET_BLACKLIST\";\nexport const SET_APPLICATIONS_NOTIFICATION = \"jobs/SET_APPLICATIONS_NOTIFICATION\";\n\n//resources\nexport const SET_NO_VIDEO_MESSAGE = \"resources/SET_NO_VIDEO_MESSAGE\";\nexport const HIDE_VIDEO_MESSAGE = \"resources/HIDE_VIDEO_MESSAGE\";\nexport const SET_HELP_VIDEOS = \"resources/SET_HELP_VIDEOS\";\nexport const SET_SKILLS_ASSESSMENTS = \"resources/SET_SKILLS_ASSESSMENTS\";\nexport const SET_SKILLS_ASSESSMENTS_ERRORS = \"resources/SET_SKILLS_ASSESSMENTS_ERRORS\";\n\n//CHAT\nexport const SEND_CHAT_MESSAGE = \"chat/SEND_MESSAGE\";\nexport const RECEIVE_BOT_MESSAGE = \"chat/RECEIVE_BOT_MESSAGE\";\nexport const RECEIVE_BOT_STATE = \"chat/RECEIVE_BOT_STATE\";\nexport const RECEIVE_BOT_DONE = \"chat/RECEIVE_BOT_DONE\";\nexport const CHAT_WELL_DONE = \"chat/WELL_DONE\";\nexport const RESET_MESSAGES = \"chat/RESET_MESSAGES\";\nexport const UPDATE_CHAT_SKILLS = \"chat/UPDATE_CHAT_SKILLS\";\n\n// MISSIONS / INTERVENTIONS\nexport const FETCH_MISSIONS = \"interventions/FETCH_MISSIONS\";\nexport const START_MISSION = \"interventions/START_MISSION\";\nexport const FETCH_INTERVENTIONS = \"interventions/FETCH_INTERVENTIONS\";\nexport const START_INTERVENTION = \"interventions/START_INTERVENTION\";\nexport const FETCH_INTERVENTIONS_MISSIONS =\n \"interventions/FETCH_INTERVENTIONS_MISSIONS\";\n\n//REWARDS\nexport const FETCH_COINS = \"rewards/FETCH_COINS\";\nexport const RESET_COINS = \"rewards/RESET_COINS\";\nexport const RESET_MAX_COINS = \"rewards/RESET_MAX_COINS\";\nexport const PURCHASE_COMPLETE = \"rewards/PURCHASE_COMPLETE\";\nexport const PURCHASE_COMPLETE_CLOSE = \"rewards/PURCHASE_COMPLETE_CLOSE\";\nexport const RESET_COIN_DEFAULT = \"rewards/RESET_COIN_DEFAULT\";\n\n\n//applicationAssistant\nexport const STORE_CV_DATA = \"applicationAssistant/STORE_CV_DATA\";\nexport const HIDE_AA_HELP_TEXT = \"user/HIDE_AA_HELP_TEXT\";\nexport const STORE_OCC_LIST_OPTION = \"applicationAssistant/STORE_OCC_LIST_OPTION\"\nexport const CREATE_JOB_CV = \"applicationAssistant/CREATE_JOB_CV\"\nexport const FETCH_ALL_CVS = \"applicationAssistant/FETCH_ALL_CVS\"\nexport const REMOVE_TEMPLATE = \"applicationAssistant/REMOVE_TEMPLATE\"\nexport const CLEAR_NEW_TEMPLATE_PROMPT = \"applicationAssistant/CLEAR_NEW_TEMPLATE_PROMPT\"\nexport const UPDATE_EXPERIENCE_PROMPTS = \"applicationAssistant/UPDATE_EXPERIENCE_PROMPTS\"","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"desc\", null, \"Created with Fabric.js 5.2.4\");\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"defs\", null);\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 540 540)\",\n id: \"394946ff-7c67-4be5-b84e-19f38cfd911a\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_36\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 109.95 1.15)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_37\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 137.25 -9.1)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_38\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 164.55 -35.55)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_39\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -279.4 -35.4)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_40\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -216.48 -35.9)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_41\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -145.4 -35.4)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_42\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -97.8 -35.75)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_43\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 207.1 -23.85)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_44\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 272.55 -35.85)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_45\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -26.75 -35.3)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_46\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -111.45 40.4)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_47\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 164.6 20.05)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_48\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 272.55 -35.85)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_49\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 109.95 1.15)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_50\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 137.25 -9.1)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_51\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 164.55 -35.55)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_52\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -279.4 -35.4)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_53\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -216.48 -35.9)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_54\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -145.4 -35.4)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_55\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -97.8 -35.75)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref25 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_56\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 207.1 -23.85)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref26 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_57\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 272.55 -35.85)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref27 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_58\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -26.75 -35.3)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref28 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_59\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 -111.45 40.4)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref29 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_60\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 164.6 20.05)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar _ref30 = /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"CLIPPATH_61\"\n}, /*#__PURE__*/React.createElement(\"rect\", {\n transform: \"matrix(1 0 0 1 272.55 -35.85)\",\n id: \"SVGID_2_\",\n x: -303.8,\n y: -72.15,\n rx: 0,\n ry: 0,\n width: 607.6,\n height: 144.3\n}));\n\nvar SvgSmLogo = function SvgSmLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 607,\n height: 144,\n viewBox: \"0 0 607 144\",\n xmlSpace: \"preserve\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 540 540)\",\n id: \"28360039-c5a4-4883-8a42-2748b50f857d\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(255,255,255)\",\n fillRule: \"nonzero\",\n opacity: 1,\n visibility: \"hidden\"\n },\n vectorEffect: \"non-scaling-stroke\",\n x: -540,\n y: -540,\n rx: 0,\n ry: 0,\n width: 1080,\n height: 1080\n })), _ref4, /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 423.69 547.85)\",\n clipPath: \"url(#CLIPPATH_36)\"\n }, _ref5, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-193.85, -71)\",\n d: \"M 193.8 2.1 L 193.8 2.1 C 198.20000000000002 2.1 201.8 5.7 201.8 10.1 L 201.8 139.9 L 185.9 139.9 L 185.9 10.1 C 185.8 5.7 189.4 2.1 193.8 2.1\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 374.12 566.41)\",\n clipPath: \"url(#CLIPPATH_37)\"\n }, _ref6, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-166.55, -81.25)\",\n d: \"M 166.5 22.6 L 166.5 22.6 C 170.9 22.6 174.5 26.200000000000003 174.5 30.6 L 174.5 139.9 L 158.6 139.9 L 158.6 30.5 C 158.5 26.1 162.1 22.6 166.5 22.6\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 324.55 614.32)\",\n clipPath: \"url(#CLIPPATH_38)\"\n }, _ref7, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-139.25, -107.7)\",\n d: \"M 139.2 75.5 L 139.2 75.5 C 143.6 75.5 147.2 79.1 147.2 83.5 L 147.2 139.9 L 131.29999999999998 139.9 L 131.29999999999998 83.4 C 131.3 79.1 134.9 75.5 139.2 75.5\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 1130.68 614.06)\",\n clipPath: \"url(#CLIPPATH_39)\"\n }, _ref8, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-583.2, -107.55)\",\n d: \"M 561.2 75.7 L 561.2 140.4 L 570 140.4 L 570 103.60000000000001 C 570 91.80000000000001 578.9 83.30000000000001 590 83.20000000000002 C 594.2 83.20000000000002 597.9 84.40000000000002 601.1 86.60000000000002 L 605.2 79.30000000000003 C 600.5 76.00000000000003 596.4000000000001 74.70000000000003 590.5 74.70000000000003 C 582.8 74.70000000000003 574.1 77.70000000000003 569.9 86.40000000000003 L 569.4 75.80000000000004 L 561.2 75.80000000000004 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 1016.49 614.96)\",\n clipPath: \"url(#CLIPPATH_40)\"\n }, _ref9, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-520.28, -108.05)\",\n d: \"M 496.5 104.2 C 498.2 90.2 507.8 82.30000000000001 520.7 82.30000000000001 C 533.7 82.30000000000001 544.3000000000001 90.00000000000001 544.5 104.20000000000002 L 496.5 104.20000000000002 z M 552.8 111.7 C 555.3 86.2 539.8 74.5 520.5999999999999 74.5 C 501.2999999999999 74.5 487.4999999999999 88.5 487.4999999999999 107.9 C 487.4999999999999 128.6 501.7999999999999 141.60000000000002 520.9999999999999 141.60000000000002 C 531.1999999999999 141.60000000000002 542.2999999999998 137.50000000000003 548.7999999999998 129.60000000000002 L 542.8999999999999 124.40000000000002 C 538.2999999999998 130.20000000000002 528.8999999999999 133.3 520.9999999999999 133.3 C 508.1999999999999 133.3 497.6999999999999 125.30000000000001 496.4999999999999 111.80000000000001 L 552.8 111.80000000000001 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 887.42 614.06)\",\n clipPath: \"url(#CLIPPATH_41)\"\n }, _ref10, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-449.2, -107.55)\",\n d: \"M 479.2 140.4 L 479.2 104 C 479.2 84.6 467.2 74.7 450.4 74.7 C 441.59999999999997 74.7 433.2 78.4 427.9 86.60000000000001 L 427.59999999999997 75.7 L 419.2 75.7 L 419.2 140.4 L 428 140.4 L 428 105.2 C 428 92.8 436.6 83.1 449.2 82.9 C 462.2 82.9 470.3 90.2 470.3 104.10000000000001 L 470.3 140.4 L 479.2 140.4 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 800.88 614.69)\",\n clipPath: \"url(#CLIPPATH_42)\"\n }, _ref11, /*#__PURE__*/React.createElement(\"rect\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n x: -4.4,\n y: -32.5,\n rx: 0,\n ry: 0,\n width: 8.8,\n height: 65\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 247.39 593.13)\",\n clipPath: \"url(#CLIPPATH_43)\"\n }, _ref12, /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n points: \"-30.2,-43.9 -30.2,43.9 -14.2,43.9 -14.2,14.7 11,43.9 30.2,43.9 30.2,42.7 0.2,9.8 26.5,-19.6 26.5,-20.5 7.4,-20.5 -14.2,5.3 -14.2,-43.9 \"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 128.55 614.88)\",\n clipPath: \"url(#CLIPPATH_44)\"\n }, _ref13, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-31.25, -108)\",\n d: \"M 56.9 82.2 C 49.5 75.7 41.9 73.7 31.799999999999997 73.7 C 20 73.8 4.6 79 4.6 93.9 C 4.6 108.5 19.1 113 31.299999999999997 113.9 C 40.4 114.4 44.099999999999994 116.9 44.099999999999994 121.30000000000001 C 44.099999999999994 126.00000000000001 38.49999999999999 128.5 32.49999999999999 128.4 C 25.299999999999994 128.3 16.39999999999999 125.80000000000001 10.299999999999994 119.4 L 2.499999999999994 130.8 C 11.899999999999995 140.60000000000002 22.099999999999994 142.3 32.3 142.3 C 50.699999999999996 142.3 60 132.5 60 121.10000000000001 C 60 104 44.6 101.20000000000002 32.4 100.5 C 24.2 100 20.4 97.6 20.4 93.4 C 20.4 89.30000000000001 24.599999999999998 87 32.2 87 C 38.300000000000004 87 43.6 88.4 48.1 92.7 L 56.9 82.2 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 672.08 613.87)\",\n clipPath: \"url(#CLIPPATH_45)\"\n }, _ref14, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-330.55, -107.45)\",\n d: \"M 335 140.4 L 335 103 C 335 91.6 342.7 82.8 354.1 82.8 C 365.5 82.8 372.70000000000005 91.2 372.70000000000005 102.69999999999999 L 372.70000000000005 140.39999999999998 L 381.50000000000006 140.39999999999998 L 381.50000000000006 102.69999999999997 C 381.50000000000006 85.69999999999997 370.80000000000007 74.49999999999997 354.30000000000007 74.49999999999997 C 344.70000000000005 74.49999999999997 335.30000000000007 79.19999999999997 331.00000000000006 89.39999999999998 C 327.20000000000005 78.49999999999997 317.50000000000006 74.49999999999997 308.20000000000005 74.49999999999997 C 300.30000000000007 74.49999999999997 292.40000000000003 77.59999999999997 288.20000000000005 85.79999999999997 L 287.80000000000007 75.69999999999997 L 279.6000000000001 75.69999999999997 L 279.6000000000001 140.39999999999998 L 288.4000000000001 140.39999999999998 L 288.4000000000001 102.99999999999997 C 288.4000000000001 91.59999999999997 296.0000000000001 82.79999999999997 307.4000000000001 82.79999999999997 C 318.80000000000007 82.79999999999997 326.4000000000001 91.59999999999997 326.4000000000001 102.99999999999997 L 326.4000000000001 140.39999999999998 L 335 140.39999999999998 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 825.75 476.41)\",\n clipPath: \"url(#CLIPPATH_46)\"\n }, _ref15, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(255,102,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-415.25, -31.75)\",\n d: \"M 401.6 43 C 396.5 43 392.40000000000003 47.1 392.40000000000003 52.2 C 392.40000000000003 57.300000000000004 396.50000000000006 61.400000000000006 401.6 61.400000000000006 C 406.70000000000005 61.400000000000006 410.8 57.300000000000004 410.8 52.2 C 410.8 50.900000000000006 410.5 49.6 410 48.5 L 423.9 36.8 C 425.29999999999995 37.699999999999996 427.09999999999997 38.3 428.9 38.3 C 434 38.3 438.09999999999997 34.199999999999996 438.09999999999997 29.099999999999998 C 438.09999999999997 24 433.99999999999994 19.9 428.9 19.9 C 427 19.9 425.29999999999995 20.4 423.9 21.4 L 416.29999999999995 14.999999999999998 C 416.79999999999995 13.899999999999999 417.09999999999997 12.599999999999998 417.09999999999997 11.299999999999997 C 417.09999999999997 6.1999999999999975 412.99999999999994 2.099999999999998 407.9 2.099999999999998 C 402.79999999999995 2.099999999999998 398.7 6.1999999999999975 398.7 11.299999999999997 C 398.7 16.4 402.8 20.499999999999996 407.9 20.499999999999996 C 409.79999999999995 20.499999999999996 411.5 19.899999999999995 412.9 18.999999999999996 L 420.5 25.4 C 420 26.5 419.7 27.799999999999997 419.7 29.099999999999998 C 419.7 30.4 420 31.7 420.5 32.8 L 406.6 44.5 C 405.2 43.5 403.4 43 401.6 43\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 324.46 513.27)\",\n clipPath: \"url(#CLIPPATH_47)\"\n }, _ref16, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(255,102,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-139.2, -52.1)\",\n d: \"M 148.4 52.1 C 148.4 57.2 144.3 61.3 139.20000000000002 61.3 C 134.10000000000002 61.3 130.00000000000003 57.199999999999996 130.00000000000003 52.099999999999994 C 130.00000000000003 46.99999999999999 134.10000000000002 42.89999999999999 139.20000000000002 42.89999999999999 C 144.3 42.89999999999999 148.4 47.1 148.4 52.1\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1.82 0 0 1.82 509.27 613.59)\",\n clipPath: \"url(#CLIPPATH_48)\"\n }, _ref17, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-31.25, -108)\",\n d: \"M 56.9 82.2 C 49.5 75.7 41.9 73.7 31.799999999999997 73.7 C 20 73.8 4.6 79 4.6 93.9 C 4.6 108.5 19.1 113 31.299999999999997 113.9 C 40.4 114.4 44.099999999999994 116.9 44.099999999999994 121.30000000000001 C 44.099999999999994 126.00000000000001 38.49999999999999 128.5 32.49999999999999 128.4 C 25.299999999999994 128.3 16.39999999999999 125.80000000000001 10.299999999999994 119.4 L 2.499999999999994 130.8 C 11.899999999999995 140.60000000000002 22.099999999999994 142.3 32.3 142.3 C 50.699999999999996 142.3 60 132.5 60 121.10000000000001 C 60 104 44.6 101.20000000000002 32.4 100.5 C 24.2 100 20.4 97.6 20.4 93.4 C 20.4 89.30000000000001 24.599999999999998 87 32.2 87 C 38.300000000000004 87 43.6 88.4 48.1 92.7 L 56.9 82.2 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(0 0 0 0 0 0)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n style: {}\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 193.5 70.8)\",\n clipPath: \"url(#CLIPPATH_49)\"\n }, _ref18, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-193.85, -71)\",\n d: \"M 193.8 2.1 L 193.8 2.1 C 198.20000000000002 2.1 201.8 5.7 201.8 10.1 L 201.8 139.9 L 185.9 139.9 L 185.9 10.1 C 185.8 5.7 189.4 2.1 193.8 2.1\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 166.2 81.05)\",\n clipPath: \"url(#CLIPPATH_50)\"\n }, _ref19, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-166.55, -81.25)\",\n d: \"M 166.5 22.6 L 166.5 22.6 C 170.9 22.6 174.5 26.200000000000003 174.5 30.6 L 174.5 139.9 L 158.6 139.9 L 158.6 30.5 C 158.5 26.1 162.1 22.6 166.5 22.6\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 138.9 107.5)\",\n clipPath: \"url(#CLIPPATH_51)\"\n }, _ref20, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-139.25, -107.7)\",\n d: \"M 139.2 75.5 L 139.2 75.5 C 143.6 75.5 147.2 79.1 147.2 83.5 L 147.2 139.9 L 131.29999999999998 139.9 L 131.29999999999998 83.4 C 131.3 79.1 134.9 75.5 139.2 75.5\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 582.85 107.35)\",\n clipPath: \"url(#CLIPPATH_52)\"\n }, _ref21, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-583.2, -107.55)\",\n d: \"M 561.2 75.7 L 561.2 140.4 L 570 140.4 L 570 103.60000000000001 C 570 91.80000000000001 578.9 83.30000000000001 590 83.20000000000002 C 594.2 83.20000000000002 597.9 84.40000000000002 601.1 86.60000000000002 L 605.2 79.30000000000003 C 600.5 76.00000000000003 596.4000000000001 74.70000000000003 590.5 74.70000000000003 C 582.8 74.70000000000003 574.1 77.70000000000003 569.9 86.40000000000003 L 569.4 75.80000000000004 L 561.2 75.80000000000004 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 519.93 107.85)\",\n clipPath: \"url(#CLIPPATH_53)\"\n }, _ref22, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-520.28, -108.05)\",\n d: \"M 496.5 104.2 C 498.2 90.2 507.8 82.30000000000001 520.7 82.30000000000001 C 533.7 82.30000000000001 544.3000000000001 90.00000000000001 544.5 104.20000000000002 L 496.5 104.20000000000002 z M 552.8 111.7 C 555.3 86.2 539.8 74.5 520.5999999999999 74.5 C 501.2999999999999 74.5 487.4999999999999 88.5 487.4999999999999 107.9 C 487.4999999999999 128.6 501.7999999999999 141.60000000000002 520.9999999999999 141.60000000000002 C 531.1999999999999 141.60000000000002 542.2999999999998 137.50000000000003 548.7999999999998 129.60000000000002 L 542.8999999999999 124.40000000000002 C 538.2999999999998 130.20000000000002 528.8999999999999 133.3 520.9999999999999 133.3 C 508.1999999999999 133.3 497.6999999999999 125.30000000000001 496.4999999999999 111.80000000000001 L 552.8 111.80000000000001 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 448.85 107.35)\",\n clipPath: \"url(#CLIPPATH_54)\"\n }, _ref23, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-449.2, -107.55)\",\n d: \"M 479.2 140.4 L 479.2 104 C 479.2 84.6 467.2 74.7 450.4 74.7 C 441.59999999999997 74.7 433.2 78.4 427.9 86.60000000000001 L 427.59999999999997 75.7 L 419.2 75.7 L 419.2 140.4 L 428 140.4 L 428 105.2 C 428 92.8 436.6 83.1 449.2 82.9 C 462.2 82.9 470.3 90.2 470.3 104.10000000000001 L 470.3 140.4 L 479.2 140.4 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 401.25 107.7)\",\n clipPath: \"url(#CLIPPATH_55)\"\n }, _ref24, /*#__PURE__*/React.createElement(\"rect\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n x: -4.4,\n y: -32.5,\n rx: 0,\n ry: 0,\n width: 8.8,\n height: 65\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 96.35 95.8)\",\n clipPath: \"url(#CLIPPATH_56)\"\n }, _ref25, /*#__PURE__*/React.createElement(\"polygon\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n points: \"-30.2,-43.9 -30.2,43.9 -14.2,43.9 -14.2,14.7 11,43.9 30.2,43.9 30.2,42.7 0.2,9.8 26.5,-19.6 26.5,-20.5 7.4,-20.5 -14.2,5.3 -14.2,-43.9 \"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 30.9 107.8)\",\n clipPath: \"url(#CLIPPATH_57)\"\n }, _ref26, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-31.25, -108)\",\n d: \"M 56.9 82.2 C 49.5 75.7 41.9 73.7 31.799999999999997 73.7 C 20 73.8 4.6 79 4.6 93.9 C 4.6 108.5 19.1 113 31.299999999999997 113.9 C 40.4 114.4 44.099999999999994 116.9 44.099999999999994 121.30000000000001 C 44.099999999999994 126.00000000000001 38.49999999999999 128.5 32.49999999999999 128.4 C 25.299999999999994 128.3 16.39999999999999 125.80000000000001 10.299999999999994 119.4 L 2.499999999999994 130.8 C 11.899999999999995 140.60000000000002 22.099999999999994 142.3 32.3 142.3 C 50.699999999999996 142.3 60 132.5 60 121.10000000000001 C 60 104 44.6 101.20000000000002 32.4 100.5 C 24.2 100 20.4 97.6 20.4 93.4 C 20.4 89.30000000000001 24.599999999999998 87 32.2 87 C 38.300000000000004 87 43.6 88.4 48.1 92.7 L 56.9 82.2 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 330.2 107.25)\",\n clipPath: \"url(#CLIPPATH_58)\"\n }, _ref27, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-330.55, -107.45)\",\n d: \"M 335 140.4 L 335 103 C 335 91.6 342.7 82.8 354.1 82.8 C 365.5 82.8 372.70000000000005 91.2 372.70000000000005 102.69999999999999 L 372.70000000000005 140.39999999999998 L 381.50000000000006 140.39999999999998 L 381.50000000000006 102.69999999999997 C 381.50000000000006 85.69999999999997 370.80000000000007 74.49999999999997 354.30000000000007 74.49999999999997 C 344.70000000000005 74.49999999999997 335.30000000000007 79.19999999999997 331.00000000000006 89.39999999999998 C 327.20000000000005 78.49999999999997 317.50000000000006 74.49999999999997 308.20000000000005 74.49999999999997 C 300.30000000000007 74.49999999999997 292.40000000000003 77.59999999999997 288.20000000000005 85.79999999999997 L 287.80000000000007 75.69999999999997 L 279.6000000000001 75.69999999999997 L 279.6000000000001 140.39999999999998 L 288.4000000000001 140.39999999999998 L 288.4000000000001 102.99999999999997 C 288.4000000000001 91.59999999999997 296.0000000000001 82.79999999999997 307.4000000000001 82.79999999999997 C 318.80000000000007 82.79999999999997 326.4000000000001 91.59999999999997 326.4000000000001 102.99999999999997 L 326.4000000000001 140.39999999999998 L 335 140.39999999999998 z\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 414.9 31.55)\",\n clipPath: \"url(#CLIPPATH_59)\"\n }, _ref28, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(255,102,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-415.25, -31.75)\",\n d: \"M 401.6 43 C 396.5 43 392.40000000000003 47.1 392.40000000000003 52.2 C 392.40000000000003 57.300000000000004 396.50000000000006 61.400000000000006 401.6 61.400000000000006 C 406.70000000000005 61.400000000000006 410.8 57.300000000000004 410.8 52.2 C 410.8 50.900000000000006 410.5 49.6 410 48.5 L 423.9 36.8 C 425.29999999999995 37.699999999999996 427.09999999999997 38.3 428.9 38.3 C 434 38.3 438.09999999999997 34.199999999999996 438.09999999999997 29.099999999999998 C 438.09999999999997 24 433.99999999999994 19.9 428.9 19.9 C 427 19.9 425.29999999999995 20.4 423.9 21.4 L 416.29999999999995 14.999999999999998 C 416.79999999999995 13.899999999999999 417.09999999999997 12.599999999999998 417.09999999999997 11.299999999999997 C 417.09999999999997 6.1999999999999975 412.99999999999994 2.099999999999998 407.9 2.099999999999998 C 402.79999999999995 2.099999999999998 398.7 6.1999999999999975 398.7 11.299999999999997 C 398.7 16.4 402.8 20.499999999999996 407.9 20.499999999999996 C 409.79999999999995 20.499999999999996 411.5 19.899999999999995 412.9 18.999999999999996 L 420.5 25.4 C 420 26.5 419.7 27.799999999999997 419.7 29.099999999999998 C 419.7 30.4 420 31.7 420.5 32.8 L 406.6 44.5 C 405.2 43.5 403.4 43 401.6 43\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 138.85 51.9)\",\n clipPath: \"url(#CLIPPATH_60)\"\n }, _ref29, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(255,102,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-139.2, -52.1)\",\n d: \"M 148.4 52.1 C 148.4 57.2 144.3 61.3 139.20000000000002 61.3 C 134.10000000000002 61.3 130.00000000000003 57.199999999999996 130.00000000000003 52.099999999999994 C 130.00000000000003 46.99999999999999 134.10000000000002 42.89999999999999 139.20000000000002 42.89999999999999 C 144.3 42.89999999999999 148.4 47.1 148.4 52.1\",\n strokeLinecap: \"round\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n transform: \"matrix(1 0 0 1 239.9 106.8)\",\n clipPath: \"url(#CLIPPATH_61)\"\n }, _ref30, /*#__PURE__*/React.createElement(\"path\", {\n style: {\n stroke: \"none\",\n strokeWidth: 1,\n strokeDasharray: \"none\",\n strokeLinecap: \"butt\",\n strokeDashoffset: 0,\n strokeLinejoin: \"miter\",\n strokeMiterlimit: 4,\n fill: \"rgb(0,0,0)\",\n fillRule: \"evenodd\",\n opacity: 1\n },\n vectorEffect: \"non-scaling-stroke\",\n transform: \" translate(-31.25, -108)\",\n d: \"M 56.9 82.2 C 49.5 75.7 41.9 73.7 31.799999999999997 73.7 C 20 73.8 4.6 79 4.6 93.9 C 4.6 108.5 19.1 113 31.299999999999997 113.9 C 40.4 114.4 44.099999999999994 116.9 44.099999999999994 121.30000000000001 C 44.099999999999994 126.00000000000001 38.49999999999999 128.5 32.49999999999999 128.4 C 25.299999999999994 128.3 16.39999999999999 125.80000000000001 10.299999999999994 119.4 L 2.499999999999994 130.8 C 11.899999999999995 140.60000000000002 22.099999999999994 142.3 32.3 142.3 C 50.699999999999996 142.3 60 132.5 60 121.10000000000001 C 60 104 44.6 101.20000000000002 32.4 100.5 C 24.2 100 20.4 97.6 20.4 93.4 C 20.4 89.30000000000001 24.599999999999998 87 32.2 87 C 38.300000000000004 87 43.6 88.4 48.1 92.7 L 56.9 82.2 z\",\n strokeLinecap: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSmLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/smLogo.561e3cb0.svg\";\nexport { ForwardRef as ReactComponent };","let config;\n\nif (process.env.REACT_APP_REGION === \"eu-west-1\") {\n //IRELAND REGION DEV\n config = {\n AWS_REGION: \"eu-west-1\",//\n AWS_COGNITO_IDENTITY_POOL_ID:\n \"eu-west-1:02522edb-5b78-4fb6-9ac3-bce9df1bad66\",//\n AWS_COGNITO_USER_POOL_ID: \"eu-west-1_TmjYcTgU4\",//\n AWS_COGNITO_CLIENT_ID: \"6uiposdvkftqrl43sftl49tr91\",//\n AWS_API_APIKEY: \"MmmUHcoWxP5tVd48qg7gO9BAB2fSHORW1FjLbE5g\",//\n API_ENDPOINT: \"https://0io4y3zh7d.execute-api.eu-west-1.amazonaws.com/test\",//\n API_NAME: \"APP-API\",\n STORAGE_BUCKET: \"pwa-storage-dev\",//\n DEFAULT_SESSIONCHECK_TIME: 300000, //ms = 5min\n AWS_PINPOINT_APPID: \"4e2945d24696406dac2c839e4ab9fb06\",//\n AWS_PINPOINT_REGION: \"eu-west-1\",//\n STORAGE_CLOUDFRONT_URL : \"https://d3s3u49ckgeceh.cloudfront.net\",\n aws_appsync_graphqlEndpoint:\n \"https://ctxip64gi5hzjctrmse6jhujpy.appsync-api.eu-west-1.amazonaws.com/graphql\",//\n aws_appsync_region: \"eu-west-1\",//\n aws_appsync_authenticationType: \"AMAZON_COGNITO_USER_POOLS\",//\n distanceName: \"km\",//\n ga_uuid: \"UA-194449745-1\",//\n tinymceKey:\"bsd0s4jajj9donw55xgu0ft2l9d7bhlhcshgibxnpmxzewee\"\n };\n\n} else {\n //LONDON DEV\n config = {\n AWS_REGION: \"eu-west-2\",\n AWS_COGNITO_IDENTITY_POOL_ID:\n \"eu-west-2:8a41a4c3-1443-4da8-ade3-5d1e8fecbe87\",\n AWS_COGNITO_USER_POOL_ID: \"eu-west-2_C3vIXDYpb\",\n AWS_COGNITO_CLIENT_ID: \"34bee6o73f762rn5e441vtgngn\",\n AWS_API_APIKEY: \"CYY9WKyPxK4Tgp4Yh5eJW45GXB0mxQyoVXfBnpef\",\n API_ENDPOINT: \"https://8n29trsog3.execute-api.eu-west-2.amazonaws.com/test\",\n API_NAME: \"APP-API\",\n STORAGE_BUCKET: \"pwa-storage-dev\",\n DEFAULT_SESSIONCHECK_TIME: 300000, //ms = 5min\n AWS_PINPOINT_APPID: \"4e2945d24696406dac2c839e4ab9fb06\",\n AWS_PINPOINT_REGION: \"eu-west-1\",\n aws_appsync_graphqlEndpoint:\n \"https://wrtqb6lnm5cf3mtyin7vyzymae.appsync-api.eu-west-2.amazonaws.com/graphql\",\n aws_appsync_region: \"eu-west-2\",\n aws_appsync_authenticationType: \"AMAZON_COGNITO_USER_POOLS\",\n distanceName: \"miles\",\n ga_uuid: \"UA-194449745-1\",\n STORAGE_CLOUDFRONT_URL : \"https://d3s3u49ckgeceh.cloudfront.net\",\n tinymceKey:\"bsd0s4jajj9donw55xgu0ft2l9d7bhlhcshgibxnpmxzewee\"\n };\n}\n\nexport default config;\n","let config;\n\nif (process.env.REACT_APP_REGION === \"eu-west-1\") {\n //IRELAND REGION\n config = {\n AWS_REGION: \"eu-west-1\",\n AWS_COGNITO_IDENTITY_POOL_ID:\n \"eu-west-1:8bccb92c-292d-4cbb-91cb-6d44298f4039\",\n AWS_COGNITO_USER_POOL_ID: \"eu-west-1_koTdi2ZaJ\",\n AWS_COGNITO_CLIENT_ID: \"124d3svghej0hc92jgjh5mlfji\",\n AWS_API_APIKEY: \"QXqWyKDZi87BsAAAmz0q63etiwgikrrs8wP3AOHg\",\n API_ENDPOINT: \"https://app-api-ie.skillzminer.io/pwa-v1\",\n API_NAME: \"APP-API\",\n STORAGE_BUCKET: \"pwa-storage-prod-ireland\",\n DEFAULT_SESSIONCHECK_TIME: 30 * 60000, //ms = 30min\n AWS_PINPOINT_APPID: \"349853e7629347f495f4244640d28f45\",\n AWS_PINPOINT_REGION: \"eu-west-1\",\n STORAGE_CLOUDFRONT_URL : \"https://db444pytybfjs.cloudfront.net\",\n aws_appsync_graphqlEndpoint:\n \"https://2nxefqcr5ffqta2fkqrgqxuxza.appsync-api.eu-west-1.amazonaws.com/graphql\",\n aws_appsync_region: \"eu-west-1\",\n aws_appsync_authenticationType: \"AMAZON_COGNITO_USER_POOLS\",\n distanceName: \"km\",\n ga_uuid: \"UA-194449745-2\",//\n tinymceKey:\"bsd0s4jajj9donw55xgu0ft2l9d7bhlhcshgibxnpmxzewee\"\n };\n} else {\n config = {\n AWS_REGION: \"eu-west-2\",\n AWS_COGNITO_IDENTITY_POOL_ID:\n \"eu-west-2:393263a8-b48a-4dac-b886-76e835afa1f6\",\n AWS_COGNITO_USER_POOL_ID: \"eu-west-2_OCQsJ92H1\",\n AWS_COGNITO_CLIENT_ID: \"29mjchir2hhrtgdqoa59g4eskk\",\n AWS_API_APIKEY: \"gZd0sZ5Nha6gaYEYZBoa43QrYUdHMFpeECCqOEb4\",\n API_ENDPOINT: \"https://app-api.skillzminer.io/pwa-v1\",\n API_NAME: \"APP-API\",\n STORAGE_BUCKET: \"pwa-storage-prod\",\n DEFAULT_SESSIONCHECK_TIME: 30 * 60000, //ms = 30min\n AWS_PINPOINT_APPID: \"0eaa96b6a4854e8f8f81f24d592b97de\",\n AWS_PINPOINT_REGION: \"eu-west-1\",\n STORAGE_CLOUDFRONT_URL : \"https://db444pytybfjs.cloudfront.net\",\n aws_appsync_graphqlEndpoint:\n \"https://63icgnmx7fgrzl3bplnatxna4a.appsync-api.eu-west-2.amazonaws.com/graphql\",\n aws_appsync_region: \"eu-west-2\",\n aws_appsync_authenticationType: \"AMAZON_COGNITO_USER_POOLS\",\n distanceName: \"miles\",\n ga_uuid: \"UA-194449745-2\",//\n tinymceKey:\"bsd0s4jajj9donw55xgu0ft2l9d7bhlhcshgibxnpmxzewee\"\n };\n}\n\nexport default config;\n","import config from \"./config_test\";\nimport prod from \"./config_prod\";\n\nexport default (process.env.REACT_APP_STAGE === \"prod\" ? prod : config);\n","// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\nexport function register(config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl, config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n if (registration.waiting) {\n if (config && config.onWaiting) {\n config.onWaiting(registration.waiting);\n }\n }\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl, config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' },\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","import React, { useState } from \"react\";\nimport * as serviceWorker from \"./serviceWorker\";\n\nconst ServiceWorkerContext = React.createContext();\n\nexport const ServiceWorkerProvider = ({ children }) => {\n const [waitingServiceWorker, setWaitingServiceWorker] = useState(null);\n const [isUpdateAvailable, setUpdateAvailable] = useState(false);\n\n React.useEffect(() => {\n serviceWorker.register({\n onUpdate: registration => {\n setWaitingServiceWorker(registration.waiting);\n setUpdateAvailable(true);\n },\n onWaiting: waiting => {\n setWaitingServiceWorker(waiting);\n setUpdateAvailable(true);\n }\n });\n }, []);\n\n React.useEffect(() => {\n // We setup an event listener to automatically reload the page\n // after the Service Worker has been updated, this will trigger\n // on all the open tabs of our application, so that we don't leave\n // any tab in an incosistent state\n\n if (waitingServiceWorker) {\n waitingServiceWorker.addEventListener(\"statechange\", event => {\n if (event.target.state === \"activated\") {\n window.location.reload();\n }\n });\n }\n }, [waitingServiceWorker]);\n\n const value = React.useMemo(\n () => ({\n isUpdateAvailable,\n updateAssets: () => {\n if (waitingServiceWorker) {\n // We send the SKIP_WAITING message to tell the Service Worker\n // to update its cache and flush the old one\n waitingServiceWorker.postMessage({ type: \"SKIP_WAITING\" });\n }\n }\n }),\n [isUpdateAvailable, waitingServiceWorker]\n );\n\n return (\n \n {children}\n \n );\n};\n\n// With this React Hook we'll be able to access `isUpdateAvailable` and `updateAssets`\nexport const useServiceWorker = () => {\n return React.useContext(ServiceWorkerContext);\n};\n","import {\n AUTH_USER,\n AUTH_MFA,\n AUTH_NEW_PASSWORD_REQUIRED,\n UNAUTH_USER,\n REGISTER_USER,\n REGISTER_USER_CONFIRM,\n REGISTER_MFA,\n REGISTER_USER_ERROR,\n FORGOT_PASSWORD,\n FORGOT_PASSWORD_CONFIRM,\n AUTH_ERROR,\n AUTH_ERROR_CLEAR,\n CODE_RESEND_SUCCESS,\n AUTH_CONFIRM_SUCCESS,\n} from \"../actions/types\";\n\nimport { Logger } from \"aws-amplify\";\nconst logger = new Logger(\"AUTH.REDUCER\", \"DEBUG\");\n\nexport default function (state = {}, action) {\n switch (action.type) {\n case AUTH_USER: {\n const returnProps = {\n ...state,\n error: \"\",\n authenticated: true,\n mfa: false,\n userID: action.currentAuthUser.username,\n currentAuthUser: action.currentAuthUser,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case AUTH_MFA: {\n const returnProps = {\n ...state,\n error: \"\",\n authenticated: false,\n mfa: true,\n changePassword: false,\n userID: action.currentAuthUser.username,\n currentAuthUser: action.payload,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case AUTH_NEW_PASSWORD_REQUIRED: {\n const returnProps = {\n ...state,\n error: \"\",\n authenticated: false,\n mfa: false,\n changePassword: true,\n userID: action.payload.username,\n currentAuthUser: action.payload,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case UNAUTH_USER: {\n const returnProps = {\n error: \"\",\n authenticated: false,\n currentAuthUser: {},\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case REGISTER_USER: {\n const returnProps = {\n ...state,\n error: \"\",\n authenticated: false,\n register: true,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case REGISTER_USER_CONFIRM: {\n const returnProps = {\n ...state,\n error: \"\",\n authenticated: false,\n register: true,\n mfa: false,\n resendCode: false,\n userSub: action.userSub,\n user: action.user,\n needConfirm: true,\n username: (action.payload && action.payload.username) ? action.payload.username : action.payload.user.username,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case REGISTER_MFA: {\n const returnProps = {\n ...state,\n error: \"\",\n mfa: true,\n resendCode: false,\n currentAuthUser: action.payload,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case REGISTER_USER_ERROR: {\n const returnProps = {\n ...state,\n error: action.payload,\n mfa: true,\n resendCode: true\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case AUTH_ERROR: {\n const returnProps = {\n ...state,\n error: action.payload,\n authenticated: false,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case FORGOT_PASSWORD: {\n const returnProps = {\n ...state,\n error: \"\",\n forgotPasswordCode: true,\n authenticated: false,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case FORGOT_PASSWORD_CONFIRM: {\n const returnProps = {\n ...state,\n error: \"\",\n forgotPasswordCode: false,\n authenticated: false,\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case AUTH_ERROR_CLEAR: {\n const returnProps = {\n ...state,\n error: \"\",\n authenticated: false,\n success: \"\",\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n\n case CODE_RESEND_SUCCESS: {\n const returnProps = {\n ...state,\n success: \"Confirmation code has been resent.\",\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case AUTH_CONFIRM_SUCCESS: {\n const returnProps = {\n ...state,\n needConfirm : false,\n register: false,\n success: \"Your email has been verified, please log in.\",\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n default:\n return state;\n }\n}\n","import { GiftedChat } from \"react-native-gifted-chat\";\nimport {\n CHAT_WELL_DONE,\n RECEIVE_BOT_DONE,\n RECEIVE_BOT_MESSAGE,\n RECEIVE_BOT_STATE,\n SEND_CHAT_MESSAGE,\n RESET_MESSAGES,\n UPDATE_CHAT_SKILLS\n} from \"../actions/types\";\n\nexport const chatReducer = (state = {}, action) => {\n switch (action.type) {\n case SEND_CHAT_MESSAGE:\n return {\n ...state,\n messages: GiftedChat.append(state.messages, action.messages),\n isTyping: true,\n disableInput: action.disableInput,\n };\n case RESET_MESSAGES:\n return {\n messages: [],\n isTyping: false,\n disableInput: true,\n showWellDone : state.showWellDone\n };\n case RECEIVE_BOT_MESSAGE:\n // console.log(\"message : \" + action.messages)\n return {\n ...state,\n isTyping: action.messages[0].typing || false,\n messages: GiftedChat.append(state.messages, action.messages),\n disableInput: action.disableInput || state.showWellDone,\n };\n case RECEIVE_BOT_DONE:\n return {\n ...state,\n showWellDone: true,\n disableInput: true,\n };\n\n case UPDATE_CHAT_SKILLS:\n let USERnewOccupationSkills = action.newOccupationSkills;\n const newOccIdx = action.skillObjIdx;\n let newOccupationSkills = state.occupationSkills;\n let newSkillsNumber = state.skillsNumber;\n \n if (USERnewOccupationSkills[newOccIdx].skills.length) {\n newSkillsNumber += USERnewOccupationSkills[newOccIdx].skills.length;\n USERnewOccupationSkills[newOccIdx].skills = USERnewOccupationSkills[newOccIdx].skills.map((item) => {\n return item.name.charAt(0).toUpperCase() + item.name.slice(1);\n })\n \n\n if (newOccIdx === newOccupationSkills.length){\n newOccupationSkills.push(USERnewOccupationSkills[newOccIdx])\n }\n else{\n newSkillsNumber -= newOccupationSkills[newOccIdx].skills.length;\n newOccupationSkills[newOccIdx] = USERnewOccupationSkills[newOccIdx]\n }\n }\n return {\n ...state,\n occupationSkills: newOccupationSkills,\n skillsNumber: newSkillsNumber\n };\n\n case RECEIVE_BOT_STATE:\n const {\n header = \"\",\n progress,\n focus,\n ui_event = [],\n assesmentResult = {},\n occupationsData = {},\n } = action.payload;\n\n const {\n interests: {\n salary = [],\n interestsOriginal: {\n creator = 0,\n investigator = 0,\n driver = 0,\n crafter = 0,\n doer = 0,\n facilitator = 0,\n } = {},\n locationRadius = [],\n locationOriginal = [],\n contract: contractype = [],\n jobTypes = []\n } = {},\n results: {\n COMM: { percentage: latestCOMM = null } = {},\n RTF: { percentage: latestRTF = null } = {},\n ADY: { percentage: latestADY = null } = {},\n SPC: { percentage: latestSPC = null } = {},\n RLS: { percentage: latestRLS = null } = {},\n DMA: { percentage: latestDMA = null } = {},\n CONF: { percentage: latestCONF = null } = {},\n CONT: { percentage: latestCONT = null } = {},\n PSA: { percentage: latestPSA = null } = {},\n },\n /*eslint-disable */\n resultOriginal: {\n COMM = 0,\n RTF = 0,\n ADY = 0,\n SPC = 0,\n RLS = 0,\n DMA = 0,\n CONF = 0,\n CONT = 0,\n PSA = 0,\n },\n } = assesmentResult;\n /*eslint-enable */\n \n const {\n desiredOccupationsOriginal = [],\n occupationsOriginal = [],\n occupationSkills = [],\n desiredExp = [],\n qualifications,\n candidate_status_history = [],\n allow_reverse_mine = true,\n internalMobilityRoleDetails,\n internalMobilityLocationDetails\n } = occupationsData;\n\n var skillsNumber = 0;\n\n var ocSkills = occupationSkills;\n\n if (ocSkills.length) {\n ocSkills.forEach((item) => {\n if (item.skills) {\n skillsNumber += item.skills.length;\n var arr = [];\n\n item.skills.forEach((elem) => {\n arr.push(elem.name.charAt(0).toUpperCase() + elem.name.slice(1));\n });\n item.skills = arr;\n }\n });\n }\n\n /*\n var latestCOMM = (Math.max(parseInt(COMM), 3) / 20) * 100;\n var latestRTF = (Math.max(parseInt(RTF), 3) / 20) * 100;\n var latestADY = (Math.max(parseInt(ADY), 3) / 20) * 100;\n var latestSPC = (Math.max(parseInt(SPC), 3) / 20) * 100;\n var latestRLS = (Math.max(parseInt(RLS), 3) / 20) * 100;\n var latestDMA = (Math.max(parseInt(DMA), 3) / 20) * 100;\n var latestCONF = (Math.max(parseInt(CONF), 3) / 20) * 100;\n var latestCONT = (Math.max(parseInt(CONT), 3) / 20) * 100;\n var latestPSA = (Math.max(parseInt(PSA), 3) / 20) * 100;\n*/\n const {\n results: {\n COMM: { percentage: initCOMM = null } = {},\n RTF: { percentage: initRTF = null } = {},\n ADY: { percentage: initADY = null } = {},\n SPC: { percentage: initSPC = null } = {},\n RLS: { percentage: initRLS = null } = {},\n DMA: { percentage: initDMA = null } = {},\n CONF: { percentage: initCONF = null } = {},\n CONT: { percentage: initCONT = null } = {},\n PSA: { percentage: initPSA = null } = {},\n } = {},\n } = assesmentResult || {};\n\n var k = false;\n /*if (assessmentVersion > 1) {\n k = true;\n }*/\n //styles graph\n\n const minstyle = 15;\n\n const stylesGraphData = [\n {\n name: \"Complexity\",\n Latest: Math.max(latestSPC, minstyle),\n Initial: k ? initSPC : Math.max(latestSPC, minstyle),\n },\n {\n name: \"Speed\",\n Latest: Math.max(latestDMA, minstyle),\n Initial: k ? initDMA : Math.max(latestDMA, minstyle),\n },\n {\n name: \"Accuracy\",\n Latest: Math.max(latestPSA, minstyle),\n Initial: k ? initPSA : Math.max(latestPSA, minstyle),\n },\n {\n name: \"Responsiveness\",\n Latest: Math.max(latestRTF, minstyle),\n Initial: k ? initRTF : Math.max(latestRTF, minstyle),\n },\n {\n name: \"Adaptability\",\n Latest: Math.max(latestADY, minstyle),\n Initial: k ? initADY : Math.max(latestADY, minstyle),\n },\n {\n name: \"Learning\",\n Latest: Math.max(latestRLS, minstyle),\n Initial: k ? initRLS : Math.max(latestRLS, minstyle),\n },\n {\n name: \"Confidence\",\n Latest: Math.max(latestCONF, minstyle),\n Initial: k ? initCONF : Math.max(latestCONF, minstyle),\n },\n {\n name: \"Control\",\n Latest: Math.max(latestCONT, minstyle),\n Initial: k ? initCONT : Math.max(latestCONT, minstyle),\n },\n {\n name: \"Commitment\",\n Latest: Math.max(latestCOMM, minstyle),\n Initial: k ? initCOMM : Math.max(latestCOMM, minstyle),\n },\n ];\n\n const [_salary] = salary;\n const [_contractype] = contractype;\n const [_travel] = locationRadius;\n const [_location] = locationOriginal;\n\n const isInterestActive = focus === \"interests\" || focus === \"styles\";\n\n const isProfileActive =\n focus === \"profile\" ||\n focus === \"skills\" ||\n focus === \"interests\" ||\n focus === \"styles\";\n\n const isStylesActive = focus === \"styles\";\n\n const isSkillsActive =\n focus === \"skills\" || focus === \"interests\" || focus === \"styles\";\n\n var def =\n parseInt(doer, 10) +\n parseInt(creator, 10) +\n parseInt(investigator, 10) +\n parseInt(driver, 10) +\n parseInt(crafter, 10) +\n parseInt(facilitator, 10);\n\n const interestsGraphData = [\n {\n id: \"Doer\",\n label: \"Doer\",\n value: !isInterestActive || def === 0 ? 1 : parseInt(doer, 10),\n },\n {\n id: \"Driver\",\n label: \"Driver\",\n value: parseInt(driver, 10),\n },\n {\n id: \"Investigator\",\n label: \"Investigator\",\n value: parseInt(investigator, 10),\n },\n {\n id: \"Facilitator\",\n label: \"Facilitator\",\n value: parseInt(facilitator),\n },\n {\n id: \"Crafter\",\n label: \"Crafter\",\n value: parseInt(crafter),\n },\n {\n id: \"Creator\",\n label: \"Creator\",\n value: parseInt(creator),\n },\n ];\n var prevOcc = [] \n for (const idx in desiredExp) {\n if (desiredExp[idx]){\n prevOcc.push(desiredOccupationsOriginal[idx])\n }\n }\n prevOcc.push(...occupationsOriginal);\n \n let candidateStatus = \"Status not entered\"\n if (candidate_status_history && candidate_status_history.length > 0){\n candidateStatus = candidate_status_history[candidate_status_history.length -1].status\n }\n\n return {\n ...state,\n progress,\n header,\n focus,\n ui_event,\n salary: _salary === \"0\" ? \"No Preference\" : _salary,\n travelToWork: _travel,\n contractType: _contractype,\n jobTypes: jobTypes && jobTypes.length > 0 ? jobTypes : [],\n location: _location,\n interestsGraphData,\n stylesGraphData,\n isInterestActive,\n isStylesActive,\n qualifications,\n skillsNumber,\n desiredExp,\n isSkillsActive,\n isProfileActive,\n preferredOccupations: desiredOccupationsOriginal,\n previousOccupations: prevOcc,\n occupationSkills: ocSkills,\n candidateStatus,\n allow_reverse_mine,\n internalMobilityRoleDetails,\n internalMobilityLocationDetails\n };\n case CHAT_WELL_DONE:\n return {\n ...state,\n showWellDone: false,\n };\n default:\n return state;\n }\n};\n","import { FETCH_COINS, RESET_COINS, RESET_MAX_COINS, PURCHASE_COMPLETE, PURCHASE_COMPLETE_CLOSE, RESET_COIN_DEFAULT } from \"../actions/types\";\nimport { Logger } from \"aws-amplify\";\nimport _ from 'lodash';\n/* eslint-disable */\nconst logger = new Logger(\"REWARD.REDUCER\", \"DEBUG\");\n/* eslint-enable */\n\nexport const rewardReducer = (state = {}, action) => {\n switch (action.type) {\n case FETCH_COINS: {\n let dailyLimitReachedNotification = false\n let showOrgDefault = false\n var currentLevel = 1;\n var toNextLevel = 0;\n var levelRange = 50;\n const levels = [\n 50,\n 100,\n 200,\n 400,\n 800,\n 1600,\n 3200,\n 6400,\n 12800,\n 25600,\n 51200,\n 102400,\n 204800,\n 409600,\n 819200,\n 1638400,\n 3276800,\n 6553600,\n 13107200,\n 26214400,\n ];\n\n let coins = 0;\n let totalEarnedCoins = 0;\n if (action.data) {\n coins = action.data.coins;\n totalEarnedCoins = Object.entries(action.data).map(([k,v]) => [\"coins\", \"userID\", \"sort\"].includes(k) ? 0 : v).reduce((partialSum, a) => partialSum + a, 0);\n if(action.data.showOrgDefault && action.data.orgDefault){\n showOrgDefault = action.data.orgDefault\n }\n }\n\n var newCoins = 0;\n var setcoins = 1;\n\n if (parseInt(coins) >= 0) {\n setcoins = coins;\n }\n\n if (state.coins >= 0) {\n newCoins = setcoins - state.coins;\n }\n\n for (var [i, l] of levels.entries()) {\n if (totalEarnedCoins <= l) {\n currentLevel = i + 1;\n toNextLevel = l - totalEarnedCoins;\n if (i - 1 >= 0) {\n levelRange = l - levels[i - 1];\n }\n\n break;\n }\n }\n if(action.data.dailyLimitReached && setcoins === state.coins){\n dailyLimitReachedNotification = true\n } \n\n const returnProps = {\n ...state,\n coins: setcoins,\n newCoins,\n level: currentLevel,\n toNextLevel,\n levelRange,\n dailyLimitReachedNotification,\n totalEarnedCoins,\n showOrgDefault\n };\n return returnProps;\n }\n\n case RESET_COINS: {\n const returnProps = {\n ...state,\n newCoins: 0,\n };\n return returnProps;\n }\n\n case RESET_COIN_DEFAULT: {\n const returnProps = {\n ...state,\n showOrgDefault : false,\n };\n return returnProps;\n }\n case RESET_MAX_COINS: {\n const returnProps = {\n ...state,\n dailyLimitReachedNotification : false,\n };\n return returnProps;\n }\n case PURCHASE_COMPLETE: {\n const returnProps = {\n ...state,\n payments: _.orderBy(action.payments.map((item) => {return {...item, timestamp: item.timestamp ? item.timestamp : 0}}), \"timestamp\", \"desc\"),\n stripeOrders: action.orders,\n purchaseComplete : (action.orders && action.orders.length > 0) ? true : false,\n };\n return returnProps;\n }\n case PURCHASE_COMPLETE_CLOSE: {\n const returnProps = {\n ...state,\n purchaseComplete : false,\n };\n return returnProps;\n }\n \n\n default:\n return state;\n }\n};\n","import {\n FETCH_USER,\n USER_CLICK_HELLO,\n FETCH_USER_PROFILE_URL,\n OPEN_UPDATE_SKILLS,\n CLOSE_UPDATE_SKILLS,\n USER_CLICK_PROFILE_EDIT,\n USER_PROFILE_EDIT_DONE,\n FETCH_SKILLS_LIST,\n ADD_NEW_SKILL,\n MARK_SKILLS_UPDATED,\n BLACKLIST_OCC,\n RESET_BLACKLIST,\n SET_NOTIFICATION,\n SET_NOTIFICATION_AMOUNT,\n SET_SKILLS,\n SET_USER_PERMISSIONS,\n UPDATE_DEMOGRAPHICS,\n ADD_TO_VIEWED_LIST,\n HIDE_AA_HELP_TEXT,\n UPDATE_DEMOGRAPHICS_QUESTIONS,\n OPEN_DEMOGRAPHICS,\n FETCH_INTERNAL_MOBILITY_ROLES,\n SET_COMPLETED_SKILLS_ASSESSMENTS,\n SET_PROJECTED_SKILS,\n SET_VALIDATION_REQUESTS,\n SET_SKILL_NOTIFICATION\n} from \"../actions/types\";\nimport _ from \"lodash\";\nimport { Logger, Cache } from \"aws-amplify\";\nconst logger = new Logger(\"USER.REDUCER\", \"DEBUG\");\n\nexport default function (state = {}, action) {\n switch (action.type) {\n case USER_CLICK_HELLO: {\n const returnProps = {\n ...state,\n clickedHello: true,\n showHello: false,\n };\n return returnProps;\n }\n case USER_CLICK_PROFILE_EDIT: {\n const returnProps = {\n ...state,\n isProfileBeingEdited: true,\n showChat: true,\n };\n return returnProps;\n }\n case USER_PROFILE_EDIT_DONE: {\n const returnProps = {\n ...state,\n showChat: false,\n isProfileBeingEdited: false,\n };\n return returnProps;\n }\n\n case OPEN_UPDATE_SKILLS: {\n\n let occupation = _.find(state.occupationSkills, (i) => {\n if (i.occupation === action.occkey) return i;\n });\n\n const returnProps = {\n ...state,\n skillEditOpen: true,\n skillEditing: action.occkey,\n skillBeingEdited: occupation,\n skillWasEdited: false,\n highlightSkill: action.highlightSkill\n };\n\n if(returnProps.skillBeingEdited && !returnProps.skillBeingEdited.deletedSkills){\n returnProps.skillBeingEdited.deletedSkills = []\n }\n return returnProps;\n }\n case CLOSE_UPDATE_SKILLS: {\n const returnProps = {\n ...state,\n skillEditOpen: false,\n skillEditing: null,\n skillBeingEdited: {},\n skillWasEdited: false,\n highlightSkill: false\n };\n return returnProps;\n }\n\n case MARK_SKILLS_UPDATED: {\n const returnProps = {\n ...state,\n skillWasEdited: true\n };\n return returnProps;\n }\n\n case FETCH_SKILLS_LIST: {\n const skills = action.skills;\n const skillTypes = action.skillTypes;\n const newOccupationSkills = state.occupationSkills;\n let newSkills_names = []\n \n function skillLoop(_skill_list, notOptional){\n _skill_list.forEach((s) => {\n if (notOptional){\n newSkills_names.push(s.name)\n }\n const f = skills[s.name.toLowerCase()];\n const t = skillTypes[s.name.toLowerCase()];\n s.description = f ? f : \"No description available\"; \n s.skill_type = t ? t : false; \n })\n return _skill_list\n }\n\n newOccupationSkills.forEach((mainSkill, i) => {\n mainSkill.skills = skillLoop(mainSkill.skills, true)\n mainSkill.optionalSkills = skillLoop(mainSkill.optionalSkills, false)\n });\n const returnProps = {\n ...state,\n occupationSkills: newOccupationSkills,\n skills_names: [...new Set(newSkills_names)]\n };\n return returnProps;\n }\n case SET_SKILLS: {\n\n let rawdata = state.rawdata;\n rawdata.occupationSkills = action.occupationSkills;\n return {\n ...state,\n rawdata: rawdata,\n occupationSkills: action.occupationSkills\n }\n }\n case ADD_NEW_SKILL: {\n const newOccupationSkills = _.cloneDeep(action.newOccupationSkills);\n const newOccIdx = action.skillObjIdx;\n const newSkillNames = state.skills_names;\n\n newOccupationSkills[newOccIdx].skills.forEach((s) => {\n newSkillNames.push(s.name.toLowerCase())\n })\n \n const returnProps = {\n ...state,\n occupationSkills: newOccupationSkills,\n skills_names: [...new Set(newSkillNames)]\n };\n return returnProps;\n }\n\n case FETCH_USER_PROFILE_URL: {\n const profileURL = action.profileURL;\n const returnProps = {\n ...state,\n profileImageURL: profileURL,\n };\n return returnProps;\n }\n\n case SET_USER_PERMISSIONS: {\n return {\n ...state,\n isCookiePermissionsEnabled: action.enabled\n }\n }\n\n case FETCH_USER: {\n const {\n lastName,\n firstName,\n fullName,\n contract,\n assessmentCompleted,\n reAssessmentDue,\n isInterventionOngoing,\n activeIntervention = {},\n interventions = {},\n occupationSkills = [],\n email,\n organisation,\n isJobNotificationEnabled,\n isEmailNotificationEnabled,\n isCookiePermissionsEnabled,\n location,\n locationOriginal,\n phoneNumber,\n desiredOccupationsOriginal = [],\n occupationsOriginal = [],\n orgDetails = {},\n provider,\n keyworkerID,\n desiredExp,\n assessmentVersion = 0,\n assessmentResult = {},\n latestAssessmentResult = {},\n phonePreferred,\n qualifications,\n customNavLogo,\n contractDetails = {}, \n skills_names = null,\n candidate_status_history = [],\n allow_reverse_mine,\n trainingOpportunities = undefined,\n jobOpportunities = undefined,\n providerDetails = undefined,\n dateOfBirth = undefined,\n gender = undefined,\n rightTooWork = undefined,\n hasNoticePeriod = undefined,\n s2Cell = \"\",\n updatedAt,\n viewedJobs = [],\n hideApplicationAssistantHelpText = false,\n internalMobilityProvider = false,\n internalMobilityResponses = undefined,\n internalMobilityRole,\n internalMobilityRoleVerified,\n internalMobilityDepartment,\n internalMobilityDepartmentVerified,\n internalMobilityRoleDetails,\n internalMobilityLineManager,\n internalMobilityLineManagerVerified,\n internalMobilityLineManagerDetails,\n internalMobilityLocation,\n internalMobilityLocationVerified,\n internalMobilityLocationDetails\n } = action.user;\n\n const {\n interests: {\n salary = [],\n interestsOriginal: {\n creator,\n investigator,\n driver,\n crafter,\n doer,\n facilitator,\n } = {},\n locationRadius = [],\n contract: contractype = [],\n jobTypes = []\n } = {},\n results: {\n COMM: { percentage: latestCOMM = null } = {},\n RTF: { percentage: latestRTF = null } = {},\n ADY: { percentage: latestADY = null } = {},\n SPC: { percentage: latestSPC = null } = {},\n RLS: { percentage: latestRLS = null } = {},\n DMA: { percentage: latestDMA = null } = {},\n CONF: { percentage: latestCONF = null } = {},\n CONT: { percentage: latestCONT = null } = {},\n PSA: { percentage: latestPSA = null } = {},\n } = {},\n } = latestAssessmentResult || {};\n const {\n results: {\n COMM: { percentage: initCOMM = null } = {},\n RTF: { percentage: initRTF = null } = {},\n ADY: { percentage: initADY = null } = {},\n SPC: { percentage: initSPC = null } = {},\n RLS: { percentage: initRLS = null } = {},\n DMA: { percentage: initDMA = null } = {},\n CONF: { percentage: initCONF = null } = {},\n CONT: { percentage: initCONT = null } = {},\n PSA: { percentage: initPSA = null } = {},\n } = {},\n } = assessmentResult || {};\n\n const [_salary] = salary;\n const [_contractype] = contractype;\n const [_travel] = locationRadius; \n\n var k = false;\n if (assessmentVersion > 1) {\n k = true;\n }\n //styles graph\n const profileStylesGraphData = [\n {\n name: \"Complexity\",\n Latest: latestSPC,\n Initial: k ? initSPC : latestSPC,\n },\n {\n name: \"Speed\",\n Latest: latestDMA,\n Initial: k ? initDMA : latestDMA,\n },\n {\n name: \"Accuracy\",\n Latest: latestPSA,\n Initial: k ? initPSA : latestPSA,\n },\n {\n name: \"Responsiveness\",\n Latest: latestRTF,\n Initial: k ? initRTF : latestRTF,\n },\n {\n name: \"Adaptability\",\n Latest: latestADY,\n Initial: k ? initADY : latestADY,\n },\n {\n name: \"Learning\",\n Latest: latestRLS,\n Initial: k ? initRLS : latestRLS,\n },\n {\n name: \"Confidence\",\n Latest: latestCONF,\n Initial: k ? initCONF : latestCONF,\n },\n {\n name: \"Control\",\n Latest: latestCONT,\n Initial: k ? initCONT : latestCONT,\n },\n {\n name: \"Commitment\",\n Latest: latestCOMM,\n Initial: k ? initCOMM : latestCOMM,\n }\n ];\n\n //interets\n const profileInterestsGraphData = [\n {\n id: \"Doer\",\n label: \"Doer\",\n value: doer,\n },\n {\n id: \"Driver\",\n label: \"Driver\",\n value: driver,\n },\n {\n id: \"Investigator\",\n label: \"Investigator\",\n value: investigator,\n },\n {\n id: \"Facilitator\",\n label: \"Facilitator\",\n value: facilitator,\n },\n {\n id: \"Crafter\",\n label: \"Crafter\",\n value: crafter,\n },\n {\n id: \"Creator\",\n label: \"Creator\",\n value: creator,\n },\n ];\n\n let candidateStatus = \"Status not entered\"\n if (candidate_status_history && candidate_status_history.length > 0){\n candidateStatus = candidate_status_history[candidate_status_history.length -1].status\n }\n let showHello = !state.clickedHello && !Cache.getItem(\"clickedHello\")\n let showDemographics = false\n let holdUser = false\n if(showHello && internalMobilityProvider && ((internalMobilityResponses === undefined || internalMobilityRole === undefined || internalMobilityDepartment === undefined || internalMobilityLineManager === undefined) || (internalMobilityRoleVerified === \"n\"))){\n showDemographics = true\n if(internalMobilityRoleVerified === \"n\"){\n holdUser = true\n }\n }\n else if(showHello && !internalMobilityProvider && trainingOpportunities === undefined && jobOpportunities === undefined){\n showDemographics = true\n }\n const returnProps = {\n ...state,\n rawdata: action.user,\n lastName,\n firstName,\n contract,\n assessmentCompleted,\n reAssessmentDue,\n isInterventionOngoing,\n email,\n assessmentVersion,\n organisation,\n location: locationOriginal ? locationOriginal : location,\n phoneNumber,\n customNavLogo,\n phonePreferred,\n qualifications,\n occupationSkills,\n orgDetails,\n provider,\n providerDetails,\n keyworkerID,\n activeIntervention,\n isJobNotificationEnabled,\n isEmailNotificationEnabled,\n isCookiePermissionsEnabled,\n interventions,\n fullName,\n travelToWork: _travel,\n salary: _salary === \"0\" ? \"No Preference\" : _salary,\n contractType: _contractype,\n jobTypes: jobTypes && jobTypes.length > 0 ? jobTypes : [],\n previousOccupations: occupationsOriginal,\n preferredOccupations: desiredOccupationsOriginal,\n desiredExp,\n profileStylesGraphData,\n profileInterestsGraphData,\n showChat:\n !assessmentCompleted ||\n !!reAssessmentDue ||\n !!isInterventionOngoing ||\n state.isProfileBeingEdited === true,\n showHello: showHello,\n showDemographics: showDemographics,\n firstLogin: (assessmentVersion && assessmentVersion >= 1) ? false : true,\n contractDetails,\n skills_names,\n candidateStatus,\n allow_reverse_mine,\n trainingOpportunities,\n jobOpportunities,\n dateOfBirth,\n gender,\n rightTooWork,\n hasNoticePeriod,\n s2Cell,\n updatedAt,\n viewedJobs,\n hideApplicationAssistantHelpText,\n internalMobilityProvider,\n internalMobilityResponses,\n internalMobilityRole,\n internalMobilityRoleVerified,\n internalMobilityDepartment,\n internalMobilityDepartmentVerified,\n internalMobilityRoleDetails,\n internalMobilityLineManager,\n internalMobilityLineManagerVerified,\n internalMobilityLineManagerDetails,\n internalMobilityLocation,\n internalMobilityLocationVerified,\n internalMobilityLocationDetails,\n holdUser\n };\n\n logger.debug(\"action: \", action);\n logger.debug(\"returning props: \", returnProps);\n return returnProps;\n }\n case SET_NOTIFICATION: {\n let goto = action.goto;\n return {\n ...state,\n goto: goto\n }\n }\n case SET_NOTIFICATION_AMOUNT: {\n let notificationAmount = action.notificationAmount;\n return {\n ...state,\n notificationAmount: notificationAmount\n }\n }\n case OPEN_DEMOGRAPHICS: {\n return {\n ...state,\n showDemographics: true,\n showDemographicsEdit: true\n }\n }\n case UPDATE_DEMOGRAPHICS: {\n let candidateStatus = \"Status not entered\"\n if (action.demoData.candidate_status_history && action.demoData.candidate_status_history.length > 0){\n candidateStatus = action.demoData.candidate_status_history[action.demoData.candidate_status_history.length -1].status\n }\n\n return {\n ...state,\n showDemographics: action.showPage,\n showDemographicsEdit: action.showPage, \n holdUser: action.holdUser,\n candidateStatus: candidateStatus,\n internalMobilityResponses: action.IMdata,\n ...action.demoData\n }\n }\n case UPDATE_DEMOGRAPHICS_QUESTIONS: {\n return {\n ...state,\n internalMobilityQuestions: action.data,\n internalMobilityRoles: action.roles,\n internalMobilityDepartments: action.departments,\n internalMobilityLineManagers:action.lineManagers,\n internalMobilityLocations:action.locations\n }\n }\n case FETCH_INTERNAL_MOBILITY_ROLES: {\n return {\n ...state,\n internalMobilityRoles: action.data,\n }\n }\n case ADD_TO_VIEWED_LIST: {\n return {\n ...state,\n viewedJobs: [...state.viewedJobs, action.jobId]\n }\n }\n case HIDE_AA_HELP_TEXT: {\n return {\n ...state,\n hideApplicationAssistantHelpText: true\n }\n }\n case SET_COMPLETED_SKILLS_ASSESSMENTS: {\n return {\n ...state,\n completedSkillAssessments: action.data\n }\n }\n case SET_VALIDATION_REQUESTS: {\n return {\n ...state,\n skillValidationRequests : {\n completed: action.completed,\n requests: action.requests\n }\n }\n }\n case SET_PROJECTED_SKILS: {\n return {\n ...state,\n projectedSkills : {\n read: action.read,\n unread: action.unread\n }\n }\n }\n case SET_SKILL_NOTIFICATION:{\n return {\n ...state,\n skillNotificationTransition: (action.targetOcc && action.targetSkill) ? {\n targetOcc:action.targetOcc,\n targetSkill:action.targetSkill,\n } : false\n }\n }\n default:\n return state;\n }\n}\n","import { combineReducers } from \"redux\";\nimport { RESET_APP } from \"../actions/types\";\nimport authReducer from \"./authReducer\";\nimport { chatReducer } from \"./chatReducer\";\nimport { jobReducer } from \"./jobReducer\";\nimport { missionReducer } from \"./missionReducer\";\nimport { rewardReducer } from \"./rewardReducer\";\nimport resourceReducer from \"./resourceReducer\";\nimport applicationAssistantReducer from \"./applicationAssistantReducer\";\nimport userReducer from \"./userReducer\";\n\nconst allReducers = combineReducers({\n auth: authReducer,\n user: userReducer,\n jobs: jobReducer,\n chat: chatReducer,\n rewards: rewardReducer,\n missions: missionReducer,\n resources: resourceReducer,\n applicationAssistant: applicationAssistantReducer\n});\n\nconst rootReducer = (state, action) => {\n if (action.type === RESET_APP) {\n state = {\n ...state,\n user: {},\n chat: {\n messages: [],\n },\n };\n }\n return allReducers(state, action);\n};\n\nexport default rootReducer;\n","/* eslint-disable */\nimport { filter } from \"core-js/fn/array\";\n/* eslint-enable */\nimport _ from 'lodash';\nimport moment from \"moment\";\n/* eslint-disable no-redeclare */\nimport { Cache } from \"aws-amplify\";\nimport {\n APPLY_FOR_A_JOB,\n APPLY_FOR_A_JOB_UPDATE,\n FETCH_APPLIED_JOBS,\n FETCH_FAVOURITED_JOBS,\n SET_FAVOURITE_JOB,\n SET_SELECTED_JOB,\n BLACKLIST_OCC,\n SET_BLACKLIST,\n RESET_JOBS,\n FETCH_JOB_CATEGORIES,\n FETCH_QUALIFICATIONS,\n FETCH_ALL_JOBS,\n FETCH_INDIVIDUAL_JOBS,\n FETCH_NEARME_JOBS,\n ADD_FILTER,\n OCC_FILTER,\n JOBS_FILTER,\n LEVEL_FILTER,\n FETCH_CENTRES,\n TOGGLE_LOADING,\n SET_RESOURCES,\n SET_ONLINE_COURSES,\n SET_ACTIVE_RESOURCE,\n LOADING_RESOURCES,\n UPDATE_OCCUPATION_SKILL,\n MARK_ITEM_READ,\n UPDATE_FULL_DESCRIPTION,\n OPTIONAL_SKILL_CHECK,\n LOADED_CONTENT_DASHBOARD,\n LOADING_ONLINE_COURSES,\n UPDATE_JOB_CATEGORIES,\n UPDATE_LOAD_MORE_COUNT,\n FETCH_ALL_JOBS_COMPLETE,\n SET_APPLICATIONS_NOTIFICATION\n} from \"../actions/types\";\n\n\nexport const jobReducer = (state = {}, action) => {\n switch (action.type) {\n case RESET_JOBS:\n Cache.removeItem(\"jobCategories\");\n Cache.removeItem(\"jobCategoriesV2\");\n Cache.removeItem(\"jobs_nearme\");\n Cache.removeItem(\"jobs_nearmeV2\");\n Cache.removeItem(\"jobs\");\n Cache.removeItem(\"jobsV2\");\n Cache.removeItem(\"quals\");\n Cache.removeItem(\"qualsV2\");\n Cache.removeItem(\"interestStyles\");\n\n return {\n occupationListFilter: [\n { name: \"Preferred\", value: true },\n { name: \"Previous\", value: true },\n { name: \"Skills\", value: true },\n { name: \"Styles\", value: true },\n { name: \"Interest\", value: true },\n { name: \"Searched\", value: true },\n ],\n };\n //return {};\n\n case TOGGLE_LOADING:\n return {\n ...state,\n loading : action.setToggle\n };\n\n case LOADING_RESOURCES: {\n return {\n ...state,\n resourceLoading: action.loading\n }\n }\n \n case LOADING_ONLINE_COURSES: {\n return {\n ...state,\n coursesLoading: action.loading\n }\n }\n\n case SET_APPLICATIONS_NOTIFICATION: {\n return {\n ...state,\n applicationNotification: true\n }\n } \n\n case FETCH_JOB_CATEGORIES:\n\n var jobCategories = [];\n\n var {\n desired_occupations = [],\n past_occupations = [],\n skills_backpack_occupations = [],\n styles_occupations = [],\n interest_occupations = [],\n searched_occupations = []\n } = action.jobs || state.rawJobCategories;\n \n \n var quals = [];\n let occupationArr = [];\n\n let both = [];\n for (const idx in action.desiredExp) {\n if (action.desiredExp[idx]){\n both.push(action.preferredOccupations[idx])\n }\n }\n\n for (let i = 0; i < desired_occupations.length; i++){\n let item = desired_occupations[i];\n if (!item) continue;\n if (item.main_occupation){\n if (item.qualification_name) {\n quals = [...quals, ...item.qualification_name];\n }\n }\n \n let title = \"Preferred\";\n if (both.includes(item.occupation)){\n title = \"Previous & Preferred\";\n }\n\n occupationArr.push({\n ...item,\n catType: \"desired\",\n catTitle: title,\n occKey: \"desired_occupations\",\n jobsCount: 0,\n });\n }\n\n\n \n for (let i = 0; i < past_occupations.length; i++){\n let item = past_occupations[i];\n if (!item) continue;\n if (item.main_occupation && item.qualification_name){\n quals = [...quals, ...item.qualification_name];\n }\n occupationArr.push({\n ...item,\n catType: \"past\",\n catTitle: \"Previous\",\n occKey: \"past_occupations\",\n jobsCount: 0,\n });\n }\n\n for (let i = 0; i < skills_backpack_occupations.length; i++){\n let item = skills_backpack_occupations[i];\n if (!item) continue;\n if (item.main_occupation && item.qualification_name){\n quals = [...quals, ...item.qualification_name];\n }\n occupationArr.push({\n ...item,\n catType: \"skills_backpack\",\n catTitle: \"Skills\",\n occKey: \"skills_backpack_occupations\",\n jobsCount: 0,\n });\n }\n\n for (let i = 0; i < styles_occupations.length; i++){\n let item = styles_occupations[i];\n if (!item) continue;\n if (item.qualification_name){\n quals = [...quals, ...item.qualification_name];\n }\n occupationArr.push({\n ...item,\n catType: \"styles\",\n catTitle: \"Styles\",\n occKey: \"styles_occupations\",\n jobsCount: 0,\n });\n }\n\n\n for (let i = 0; i < interest_occupations.length; i++){\n let item = interest_occupations[i];\n if (!item) continue;\n if (item.qualification_name){\n quals = [...quals, ...item.qualification_name];\n }\n occupationArr.push({\n ...item,\n catType: \"interest\",\n catTitle: \"Interest\",\n occKey: \"interest_occupations\",\n jobsCount: 0\n });\n }\n\n\n for (let i = 0; i < searched_occupations.length; i++){\n let item = searched_occupations[i];\n if (item.qualification_name){\n quals = [...quals, ...item.qualification_name];\n }\n occupationArr.push({\n ...item,\n catType: \"searched\",\n catTitle: \"Searched\",\n occKey: \"searched_occupations\",\n jobsCount: 0,\n });\n }\n\n jobCategories = [\n ...occupationArr\n ];\n return {\n ...state,\n jobCategories,\n rawJobCategories: action.jobs,\n allJobCategories: jobCategories,\n qualNames: [...new Set(quals)],\n };\n\n case UPDATE_JOB_CATEGORIES:\n return {\n ...state,\n rawJobCategories: action.jobCategories,\n };\n\n case FETCH_NEARME_JOBS:\n \n let jobsarr = [];\n action.jobs.forEach(element => {\n if (element.postedDate.toString().length === 10){\n element.postedDate = element.postedDate * 1000;\n }\n jobsarr.push(element);\n });\n\n jobsarr = _.orderBy(jobsarr, \"radius\", \"asc\");\n\n return {\n ...state,\n jobsNearMe: jobsarr.slice(),\n };\n\n case FETCH_ALL_JOBS:\n\n // var j = state.jobCategories || [];\n\n let occupationListFilter = state.occupationListFilter\n let idList = []\n var _allJobCategories = state.allJobCategories || []\n\n // rather doing a find each time we need to look up an occupation, create a key dict where we can just lookup the key occupationName\n let occupations = {};\n _.each(_allJobCategories, (o) => { if (!occupations[o.occupation]) occupations[o.occupation] = o;});\n // rather than doing o net scores each item we should do it each occupation item instead. \n _.each(occupations, (o) => {\n if (o && o.ONET_styles){ \n _.each(o.ONET_styles, (style, key) => {\n switch(key){\n case \"Commitment\":\n o.COMM = style;\n break;\n case \"Adaptability\":\n o.ADY = style;\n break;\n case \"Confidence\":\n o.CONF = style;\n break;\n case \"Control\":\n o.CONT = style;\n break;\n case \"Accuracy\":\n o.PSA = style;\n break;\n case \"Responsiveness to feedback\":\n o.RTF = style;\n break;\n case \"Complexity\":\n o.SPC = style;\n break;\n default:\n break;\n }\n });\n }\n if (o && o.ONET_interests){\n _.each(o.ONET_interests, (interest, key) => {\n o[key.toLowerCase()] = interest;\n });\n }\n })\n Object.keys(action.jobs).forEach((key) => {\n action.jobs[key] = action.jobs[key].map((item) => {\n item.jobId = \"\" + item.jobId\n if (idList.includes(item.jobId)){ // duplicate\n return false\n }\n else{\n idList.push(item.jobId)\n }\n //TODO BELONG_TO\n var f = _.cloneDeep(occupations[item.occupation]);\n\n // if (key === \"past_occupations\"){\n // f = occupations[item.matched_occupation];\n // }\n if (!f) { \n return false; \n } \n else { \n var findCat = false\n if (key === \"desired_occupations\"){\n findCat = occupations[f.parent_occupation];\n item.original_occupation = item.occupation;\n item.occupation = findCat.occupation;\n item.main_occupation = true;\n \n } else {\n findCat = occupations[item.occupation];\n }\n findCat.jobsCount++; \n\n // cache isn't being overwriten by new occupation scores...\n // so we need to ensure the values are deleted first.\n \n if(item.score_bp){\n delete f.score_bp;\n }\n else{\n delete item.score_bp;\n }\n\n if(item.score_interest){\n delete f.score_interest;\n }\n else{\n delete item.score_interest;\n }\n\n if(item.score_styles){\n delete f.score_styles;\n }\n else{\n delete item.score_styles;\n }\n\n if(item.missing_skills || item.missing_skills){\n delete f.missing_skills;\n delete f.similar_skills;\n }\n else{\n delete item.missing_skills;\n delete item.missing_skills;\n }\n\n var catType = \"desired\";\n var catTitle = \"Preferred\";\n\n if (key === \"past_occupations\") {\n catType = \"past\";\n catTitle = \"Previous\";\n }\n if (key === \"skills_backpack_occupations\") {\n catType = \"skills_backpack\";\n catTitle = \"Skills\";\n }\n if (key === \"styles_occupations\") {\n catType = \"styles\";\n catTitle = \"Styles\";\n }\n\n if (key === \"interest_occupations\") {\n catType = \"interest\";\n catTitle = \"Interest\";\n }\n if (key === \"searched_occupations\") {\n catType = \"searched\";\n catTitle = \"Searched\";\n }\n const lower_contract = item.job_contract.toLowerCase()\n let obj = {\n ...f,\n ...item,\n catType,\n catTitle,\n postedDate: item.postedDate ? item.postedDate.toString().length > 10 ? item.postedDate : item.postedDate * 1000 : \"Unknown\",\n employerName:\n item.employerName === \"\" || item.employerName === \"not_specified\"\n ? \"Employer Unknown\"\n : item.employerName,\n provider_image: item.is_apprenticeship ? \"apprenticeships\" : item.provider_image,\n job_contract: lower_contract.includes(\"full\") ? \"Full Time\" : lower_contract.includes(\"part\") ? \"Part Time\" : item.job_contract\n }\n return obj;\n }\n }).filter(Boolean);\n })\n\n\n var {\n desired_occupations = [],\n past_occupations = [],\n skills_backpack_occupations = [],\n styles_occupations = [],\n interest_occupations = [],\n searched_occupations = [],\n } = action.jobs;\n\n let allJobs = [\n ...desired_occupations,\n ...past_occupations,\n ...skills_backpack_occupations,\n ...styles_occupations,\n ...interest_occupations,\n ...searched_occupations\n ];\n\n allJobs = _.orderBy(allJobs, [({ vacancy_flag }) => vacancy_flag === true, \"score_bp\"], [\"desc\", \"desc\"]);\n \n let jc = [];\n //convert from asso array to flat array.\n _.each(occupations, (i) => {\n jc.push(i);\n });\n\n for (const cat of jc) {\n // if(cat.jobsCount && cat.jobsCount > 0){\n occupationListFilter = occupationListFilter.map((filterCat) => {\n if(filterCat.catType === cat.catType && !(filterCat.subList.find((subOcc) => subOcc.name === cat.occupation))){\n filterCat.subList = [...filterCat.subList, { name: cat.occupation, value: false }]\n }\n\n return filterCat\n })\n // }\n }\n\n return {\n ...state,\n allJobCategories: jc,\n allJobs: allJobs,\n idList: idList,\n occupationListFilter: occupationListFilter\n };\n\n case FETCH_INDIVIDUAL_JOBS:\n\n let _occupationListFilter = state.occupationListFilter\n let idFilterList = state.idList || []\n var ajc = state.allJobCategories || []\n var allJobsList = state.allJobs || []\n const key = action.jobsKey\n\n // rather doing a find each time we need to look up an occupation, create a key dict where we can just lookup the key occupationName\n let _occupations = {};\n _.each(ajc, (o) => { if (!_occupations[o.occupation]) _occupations[o.occupation] = o});\n // rather than doing o net scores each item we should do it each occupation item instead. \n _.each(_occupations, (o) => {\n if (o && o.ONET_styles){ \n _.each(o.ONET_styles, (style, key) => {\n switch(key){\n case \"Commitment\":\n o.COMM = style;\n break;\n case \"Adaptability\":\n o.ADY = style;\n break;\n case \"Confidence\":\n o.CONF = style;\n break;\n case \"Control\":\n o.CONT = style;\n break;\n case \"Accuracy\":\n o.PSA = style;\n break;\n case \"Responsiveness to feedback\":\n o.RTF = style;\n break;\n case \"Complexity\":\n o.SPC = style;\n break;\n default:\n break;\n }\n });\n }\n if (o && o.ONET_interests){\n _.each(o.ONET_interests, (interest, key) => {\n o[key.toLowerCase()] = interest;\n });\n }\n })\n \n let newJobsList = action.jobs[key].map((item) => {\n item.jobId = \"\" + item.jobId\n if (idFilterList.includes(item.jobId)){ // duplicate\n //console.log(\"duplicate\")\n // console.log(item)\n return false\n }\n else{\n idFilterList.push(item.jobId)\n }\n //TODO BELONG_TO\n var f = _.cloneDeep(_occupations[item.occupation]);\n\n // if (key === \"past_occupations\"){\n // f = _occupations[item.matched_occupation];\n // }\n if (!f) { \n // console.log(\"no f\")\n // console.log(item)\n return false; } \n \n else { \n var findCat = false\n if (key === \"desired_occupations\"){\n findCat = _occupations[f.parent_occupation];\n item.original_occupation = item.occupation;\n item.occupation = findCat.occupation;\n item.main_occupation = true;\n } else {\n findCat = _occupations[item.occupation];\n }\n findCat.jobsCount++; \n\n // cache isn't being overwriten by new occupation scores...\n // so we need to ensure the values are deleted first.\n\n if(item.score_bp){\n delete f.score_bp;\n }\n else{\n delete item.score_bp;\n }\n\n if(item.score_interest){\n delete f.score_interest;\n }\n else{\n delete item.score_interest;\n }\n\n if(item.score_styles){\n delete f.score_styles;\n }\n else{\n delete item.score_styles;\n }\n\n if(item.missing_skills || item.missing_skills){\n delete f.missing_skills;\n delete f.similar_skills;\n }\n else{\n delete item.missing_skills;\n delete item.missing_skills;\n }\n \n\n var catType = \"desired\";\n var catTitle = \"Preferred\";\n\n if (key === \"past_occupations\") {\n catType = \"past\";\n catTitle = \"Previous\";\n }\n if (key === \"skills_backpack_occupations\") {\n catType = \"skills_backpack\";\n catTitle = \"Skills\";\n }\n if (key === \"styles_occupations\") {\n catType = \"styles\";\n catTitle = \"Styles\";\n }\n\n if (key === \"interest_occupations\") {\n catType = \"interest\";\n catTitle = \"Interest\";\n }\n if (key === \"searched_occupations\") {\n catType = \"searched\";\n catTitle = \"Searched\";\n }\n\n const lower_contract = item.job_contract.toLowerCase()\n let obj = {\n ...f,\n ...item,\n catType,\n catTitle,\n postedDate: item.postedDate ? item.postedDate.toString().length > 10 ? item.postedDate : item.postedDate * 1000 : \"Unknown\",\n employerName:\n item.employerName === \"\" || item.employerName === \"not_specified\"\n ? \"Employer Unknown\"\n : item.employerName,\n job_contract: lower_contract.includes(\"full\") ? \"Full Time\" : lower_contract.includes(\"part\") ? \"Part Time\" : item.job_contract\n }\n \n return obj;\n }\n }).filter(Boolean);\n\n if(action.loadMore){\n allJobsList = allJobsList.concat(_.orderBy(newJobsList, [({ vacancy_flag }) => vacancy_flag === true, \"score_bp\"], [\"desc\", \"desc\"]))\n }\n else{\n allJobsList = _.orderBy(allJobsList.concat(newJobsList), [({ vacancy_flag }) => vacancy_flag === true, \"score_bp\"], [\"desc\", \"desc\"])\n }\n \n\n let newJobCategories = [];\n //convert from asso array to flat array.\n _.each(_occupations, (i) => {\n newJobCategories.push(i);\n });\n for (const cat of newJobCategories) {\n // if(cat.jobsCount && cat.jobsCount > 0){\n _occupationListFilter = _occupationListFilter.map((filterCat) => {\n if(filterCat.catType === cat.catType && !(filterCat.subList.find((subOcc) => subOcc.name === cat.occupation))){\n filterCat.subList = [...filterCat.subList, { name: cat.occupation, value: false }]\n }\n return filterCat\n })\n // }\n }\n\n return {\n ...state,\n allJobCategories: newJobCategories,\n allJobs: allJobsList,\n idList: idFilterList,\n loading: allJobsList.length > 0 ? false : state.loading,\n occupationListFilter: _occupationListFilter\n };\n\n case FETCH_ALL_JOBS_COMPLETE:\n return{\n ...state,\n fetchingJobs: action.data\n }\n case UPDATE_LOAD_MORE_COUNT:\n if (action.status){\n const oldCount = action.jobCount || []\n let newJobs = state.allJobs || []\n const diff = newJobs.length - oldCount.length\n return {\n ...state,\n loadMoreStatus: {\n snackbar: action.status,\n snackbarText: action.text ? action.text : \"Loaded \" + diff + \" New Jobs. \"\n }\n };\n }\n else{\n return {\n ...state,\n loadMoreStatus: {\n snackbar: false,\n snackbarText: false\n }\n };\n }\n\n\n case FETCH_QUALIFICATIONS:\n const { jobs = [] } = action;\n var categories = state.allJobCategories || [];\n const newQualLevelSelect = state.qualLevelSelect\n\n var ja = jobs.map((item) => {\n var found = categories.find((cat) => {\n return cat.qualification_name.includes(item.id);\n });\n if (found && found.ONET_styles){\n _.each(found.ONET_styles, (style, key) => {\n switch(key){\n case \"Commitment\":\n found.COMM = style;\n break;\n case \"Adaptability\":\n found.ADY = style;\n break;\n case \"Confidence\":\n found.CONF = style;\n break;\n case \"Control\":\n found.CONT = style;\n break;\n case \"Accuracy\":\n found.PSA = style;\n break;\n case \"Responsiveness to feedback\":\n found.RTF = style;\n break;\n case \"Complexity\":\n found.SPC = style;\n break;\n default:\n break;\n }\n });\n }\n if (found && found.ONET_interests){\n _.each(found.ONET_interests, (interest, key) => {\n found[key.toLowerCase()] = interest;\n });\n }\n\n return { \n ...item, \n ...found,\n jobId: item.qual_id, \n isQual: true, \n qual_link: item.qual_link && item.qual_link.length > 5 ? item.qual_link : \"\",\n qual_glh_max: (typeof item.qual_glh_max === 'string' || item.qual_glh_max instanceof String) ? Math.floor(item.qual_glh_max) : item.qual_glh_max,\n qual_sector: item.qual_sector ? item.qual_sector : \"Unknown Sector\",\n qual_level: item.qual_level ? item.qual_level : \"Unknown Level\",\n qual_centre_flag : item.type_qual === \"SLC\" ? true : item.qual_centre_flag,\n }; \n });\n\n\n var levels = newQualLevelSelect.map((item) => {return item.name}) || [];\n for(const element of ja){\n if(!levels.includes(element.qual_level)){\n newQualLevelSelect.push({name:element.qual_level, value:true})\n levels.push(element.qual_level)\n }\n }\n return {\n ...state,\n loadingQualifications: action.loading,\n allQualifications: ja,\n levelFilters: levels,\n qualLevelSelect: newQualLevelSelect\n };\n case ADD_FILTER:\n // const { occupation = \"\", isRemove = false, userOccs } = action;\n // var { occupationFilter = [], } = state;\n\n // const ao = state.jobCategories || [];\n // const aj = state.allJobs || [];\n // const aq = state.allQualifications || [];\n // const ar = state.allResourcesPerOccupationFlat || [];\n // const ac = state.allCoursesPerOccupationFlat || [];\n // var filteredJobs = state.allJobs || [];\n // var filteredQuals = state.allQualifications || [];\n // let filteredResources = state.allResourcesPerOccupationFlat || [];\n // let filteredCourse = state.allCoursesPerOccupationFlat || [];\n\n // //not needed in new filter\n // var x = state.occupationListFilter.map((item) => {\n // if (item.value) {\n // return item.name;\n // } else {\n // return null;\n // }\n // });\n\n // //PRE FILTER PER OCCUPATION CATEGORIES LIKE PREFERRED OR SKILLS\n // filteredJobs = filteredJobs.filter((item) => x.includes(item.catTitle));\n\n // var qnames = [];\n // state.jobCategories.forEach((item) => {\n // qnames = [...qnames, ...item.qualification_name];\n // });\n\n // filteredQuals = aq.filter(({ id }) => qnames.includes(id));\n\n // if (occupation) {\n // if (!isRemove) {\n // occupationFilter.push(occupation);\n // } else {\n // occupationFilter = occupationFilter.filter(\n // (item) => item !== occupation\n // );\n // }\n // }\n // occupationFilter = [...new Set(occupationFilter)];\n // //filtering jobs and quals\n\n // if (occupationFilter.length) {\n // filteredJobs = aj.filter(({ occupation, matched_occupation}) => {\n // return occupationFilter.includes(occupation) || occupationFilter.includes(matched_occupation);\n // })\n \n\n // const filteredOccs = ao.filter((item) =>\n // occupationFilter.includes(item.occupation)\n // );\n\n \n // filteredResources = ar.filter((item) =>\n // occupationFilter.includes(item.occupation)\n // );\n\n\n // filteredCourse = ac.filter((item) => \n // occupationFilter.includes(item.occupation)\n // );\n\n // var qnames = [];\n // filteredOccs.forEach((item) => {\n // qnames = [...qnames, ...item.qualification_name];\n // });\n // qnames = [...new Set(qnames)];\n // filteredQuals = aq.filter(({ id }) => qnames.includes(id));\n // }\n\n // var levelObject = {};\n // filteredQuals.forEach((element) => {\n // levelObject[element.qual_level] = true;\n // });\n // var levels = Object.keys(levelObject);\n // const filterAlts = []\n // if(userOccs){\n // // console.log(userOccs)\n // for (const occ of occupationFilter) {\n // if(userOccs.occupations.includes(occ.toLowerCase())){\n // filterAlts.push(userOccs.occupationsOriginal[userOccs.occupations.findIndex((item) => occ.toLowerCase() === item)])\n // }\n // if(userOccs.desiredOccupations.includes(occ.toLowerCase())){\n // filterAlts.push(userOccs.desiredOccupationsOriginal[userOccs.desiredOccupations.findIndex((item) => occ.toLowerCase() === item)])\n // }\n // }\n // }\n // let occupationFilterWithAlts = [...occupationFilter, ...filterAlts]\n // // console.log(occupationFilterWithAlts)\n // // console.log(filteredJobs)\n // return {\n // ...state,\n // occupationFilter,\n // occupationFilterWithAlts: occupationFilterWithAlts,\n // recommendedJobs: filteredJobs,\n // qualifications: filteredQuals,\n // resourcesPerOccupationFlat: filteredResources,\n // coursesPerOccupationFlat: filteredCourse,\n // levelFilters: levels,\n // };\n return {\n ...state\n }\n case SET_SELECTED_JOB:\n return { ...state, selectedJobId: action.jobId };\n case SET_FAVOURITE_JOB: {\n const { favourited, job } = action.payload;\n if (favourited) {\n return {\n ...state,\n favourited: [] // Need a flag to sort\n .concat(state.favourited)\n .concat(job)\n .sort((a, b) => b.savedTimestamp - a.savedTimestamp),\n };\n } else {\n return {\n ...state,\n favourited: [] // Need a flag to sort\n .concat(state.favourited)\n .filter((favouritedJob) => favouritedJob.jobId !== job.jobId)\n .sort((a, b) => b.savedTimestamp - a.savedTimestamp),\n };\n }\n }\n case FETCH_FAVOURITED_JOBS: {\n let invited = action.invited.map((item) => {\n item.isInvited = true\n return item\n })\n let favourited = action.favourited.concat(invited)\n return {\n ...state,\n favourited: favourited.sort(\n (a, b) => b.savedTimestamp - a.savedTimestamp\n ),\n };\n }\n\n case MARK_ITEM_READ: {\n let itemSort = action.itemSort\n if (itemSort.includes(\"invited\") || itemSort.includes(\"saved\")){\n let favourited = state.favourited.map((item) => {\n if (itemSort === item.itemSort){\n item.read = true\n }\n return item\n })\n return {\n ...state,\n favourited: favourited\n };\n }\n else{\n let appliedJobs = state.appliedJobs.map((item) => {\n if (itemSort === item.itemSort){\n item.read = true\n }\n return item\n })\n return {\n ...state,\n appliedJobs: appliedJobs\n };\n }\n }\n\n case APPLY_FOR_A_JOB: {\n\n\n let found = false;\n _.each(state.appliedJobs, (applied) => {\n if (applied.jobId === action.job.jobId){\n found = true;\n }\n });\n if (!found){\n\n let appliedJobs = [] // Need a flag to sort\n .concat(state.appliedJobs, action.job)\n\n if (!action.updatePosition){\n appliedJobs = appliedJobs.sort((a, b) => b.savedTimestamp - a.savedTimestamp);\n }\n \n return {\n ...state,\n appliedJobs: appliedJobs\n };\n } else {\n return {\n ...state\n }\n }\n }\n case APPLY_FOR_A_JOB_UPDATE: {\n let appliedJobs = _.map(state.appliedJobs, (_job) => {\n if (_job.jobId === action.job.jobId){\n if (action.deleteJob){\n return false\n }\n else{\n return action.job;\n }\n } else {\n return _job;\n }\n }).filter(Boolean);\n\n return {\n ...state,\n appliedJobs: appliedJobs.sort((a, b) => b.savedTimestamp - a.savedTimestamp),\n };\n }\n case FETCH_CENTRES: {\n if (action.jobs) {\n return {\n ...state,\n centres: action.jobs,\n centreLoading: action.loading,\n };\n }\n\n return {\n ...state,\n centreLoading: action.loading,\n };\n }\n case SET_ACTIVE_RESOURCE: {\n return {\n ...state,\n activeResource: action.resource\n }\n }\n case SET_RESOURCES: {\n let occ = {};\n _.each(action.data, (index, key) => {\n if (index){\n const cat = action.categoryKey[index.occupation]\n occ[index.occupation] = Array.isArray(index.video_suggestions) ? index.video_suggestions.map((item) => {return {...item,category: cat}}) : [];\n }\n });\n\n let occFlat = [];\n _.each(occ, (index, key) => {\n index = _.map(index, (ii) => {\n ii.occupation = key;\n return ii;\n })\n occFlat = [...index, ...occFlat];\n });\n let allResourcesFlat = [...occFlat];\n let allResources = {...occ};\n\n occFlat = occFlat.sort((a, b) => action.orderDict.indexOf(a.occupation) - action.orderDict.indexOf(b.occupation));\n allResourcesFlat = allResourcesFlat.sort((a, b) => action.orderDict.indexOf(a.occupation) - action.orderDict.indexOf(b.occupation));\n return {\n ...state,\n resourcesPerOccupation: occ,\n resourcesPerOccupationFlat: occFlat,\n allResourcesPerOccupation: allResources,\n allResourcesPerOccupationFlat: allResourcesFlat\n }\n }\n\n case SET_ONLINE_COURSES: {\n let occ = {};\n _.each(action.data, (index, key) => {\n if (index){\n const cat = action.categoryKey[index.occupation]\n occ[index.occupation] = index.course_list ? index.course_list.map((item) => {return {...item,category: cat}}) : [] \n }\n });\n\n\n let occFlat = [];\n _.each(occ, (index, key) => {\n index = _.map(index, (ii) => {\n ii.occupation = key;\n ii.tier_one_category = index.tier_one_category;\n\n return ii;\n })\n occFlat = [...index, ...occFlat];\n });\n\n let allCoursesFlat = [...occFlat];\n let allCourses = {...occ};\n\n occFlat = occFlat.sort((a, b) => action.orderDict.indexOf(a.occupation) - action.orderDict.indexOf(b.occupation));\n allCoursesFlat = allCoursesFlat.sort((a, b) => action.orderDict.indexOf(a.occupation) - action.orderDict.indexOf(b.occupation));\n\n return {\n ...state,\n coursesPerOccupation: occ,\n coursesPerOccupationFlat: occFlat,\n allCoursesPerOccupation: allCourses,\n allCoursesPerOccupationFlat: allCoursesFlat\n }\n }\n\n\n case FETCH_APPLIED_JOBS: {\n return {\n ...state,\n appliedJobs: action.jobs.sort(\n (a, b) => b.savedTimestamp - a.savedTimestamp\n ),\n };\n }\n\n case LEVEL_FILTER: {\n // console.log(\"LEVEL_FILTER\")\n var levelFilters = state.levelFilters;\n var qualifications = state.qualifications;\n\n levelFilters = levelFilters.filter((item) => item !== action.level);\n\n qualifications = qualifications.filter(({ qual_level }) =>\n qual_level ? levelFilters.includes(qual_level) : true\n );\n\n return {\n ...state,\n qualifications,\n levelFilters,\n };\n }\n case UPDATE_OCCUPATION_SKILL: {\n \n\n _.each(state.recommendedJobs, (job) => {\n if (job.occupation === action.job.occupation){\n job.similar_skills = action.job.similar_skills;\n job.missing_skills = action.job.missing_skills;\n }\n })\n\n _.each(state.qualifications, (job) => {\n if (job.occupation === action.job.occupation){\n job.similar_skills = action.job.similar_skills;\n job.missing_skills = action.job.missing_skills;\n }\n });\n\n _.each(state.favourited, (job) => {\n if (job.occupation === action.job.occupation){\n job.similar_skills = action.job.similar_skills;\n job.missing_skills = action.job.missing_skills;\n }\n })\n\n _.each(state.appliedJobs, (job) => {\n if (job.occupation === action.job.occupation){\n job.similar_skills = action.job.similar_skills;\n job.missing_skills = action.job.missing_skills;\n }\n })\n\n _.each(state.jobsNearMe, (job) => {\n if (job.occupation === action.job.occupation){\n job.similar_skills = action.job.similar_skills;\n job.missing_skills = action.job.missing_skills;\n }\n })\n\n // state.allJobCategories[indexFound].missing_skills = action.job.missing_skills;\n\n return {\n ...state\n }\n }\n\n case UPDATE_FULL_DESCRIPTION: {\n let desc = action.description;\n let id = action.id;\n let newAllJobs = state.allJobs\n let newRecommendedJobs = state.recommendedJobs\n return {\n ...state,\n recommendedJobs: newRecommendedJobs.map((item) => {\n if(item.jobId === id){\n return {...item, jobDescriptionFull: desc}\n }\n else{\n return item\n }\n }),\n allJobs: newAllJobs.map((item) => {\n if(item.jobId === id){\n return {...item, jobDescriptionFull: desc}\n }\n else{\n return item\n }\n }),\n }\n }\n case OPTIONAL_SKILL_CHECK: {\n let values = action.values;\n \n return {\n ...state,\n optional_skill_check: values\n }\n }\n\n case LOADED_CONTENT_DASHBOARD: {\n\n return {\n ...state,\n loadedContentDashboard: true\n }\n }\n case BLACKLIST_OCC:\n const _occupation = action.occupation\n const _isRemove = action.isRemove\n let newOccupationBlacklist = state.occupationBlacklist;\n let allJobCategories = state.allJobCategories;\n\n if (!newOccupationBlacklist){\n newOccupationBlacklist = []\n }\n if(_isRemove){\n newOccupationBlacklist = newOccupationBlacklist.filter((item) => item != _occupation)\n }\n else{\n newOccupationBlacklist.push(_occupation)\n allJobCategories = allJobCategories.filter((item) => !(item.catType === \"searched\" && item.parent_occupation === _occupation))\n }\n return {\n ...state,\n occupationBlacklist: newOccupationBlacklist,\n allJobCategories: allJobCategories\n };\n case SET_BLACKLIST:\n const newBlackList = action.newBlackList || []\n return {\n ...state,\n occupationBlacklist: newBlackList ? newBlackList : []\n };\n case JOBS_FILTER: {\n const { \n useRecommended,\n occupationCategoryFilterChange,\n occupation = \"\", \n isRemove = false, \n userOccs, \n occupationFilterChange= false, \n occupationFilterReset=false \n } = action;\n\n //this is category\n let occupationListFilter = action.occupationListFilter ? action.occupationListFilter : state.occupationListFilter \n \n let sortBy = action.sortBy ? action.sortBy : state.sortBy \n \n let distanceSelect = action.distanceSelect ? action.distanceSelect : state.distanceSelect\n let contractFilters = action.contractFilters ? action.contractFilters : state.contractFilters\n let datePosted = action.datePosted ? action.datePosted : state.datePosted\n let stringSearch = action.stringSearch !== undefined ? action.stringSearch.toLowerCase() : state.stringSearch.toLowerCase()\n let qualLevelSelect = action.qualLevelSelect ? action.qualLevelSelect : state.qualLevelSelect\n let salarySelect = action.salary ? action.salary : state.salary\n\n let jobCategories = state.allJobCategories;\n let occupationBlacklist = state.occupationBlacklist || [];\n let allJobs = state.allJobs || [];\n let recommendedJobs = useRecommended ? state.recommendedJobs || [] : allJobs\n let appliedJobs = useRecommended ? state.appliedJobsFiltered || [] : state.appliedJobs || [] \n let favourited = useRecommended ? state.favouritedFiltered || [] : state.favourited || []\n var qualifications = useRecommended ? state.qualifications : state.allQualifications || [];\n let { occupationFilter = [], occupationFilterWithAlts = {low: [],alt: [],newAlt: [],meta: []}, allResourcesPerOccupationFlat = [], allCoursesPerOccupationFlat = []} = state;\n\n // console.log(occupation)\n\n if(occupationFilterChange){\n if(occupationFilterReset){\n occupationFilter = []\n occupationFilterWithAlts = {\n low: [],\n alt: [],\n newAlt: [],\n meta: []\n }\n occupationListFilter = occupationListFilter.map((item) => {\n return {\n ...item, \n subList: item.subList ? item.subList.map((_item) => {return {..._item, value:false}}) : false\n }\n })\n }\n if (occupation) {\n if (!isRemove && !occupationBlacklist.includes(occupation)) {\n occupationFilter.push(occupation);\n occupationListFilter = occupationListFilter.map((item) => {\n return {...item, subList: item.subList ? item.subList.map((_item) => {\n return _item.name === occupation ? {..._item, value:true} : _item\n }) : false}\n })\n } else {\n occupationFilter = occupationFilter.filter(\n (item) => item !== occupation\n );\n occupationListFilter = occupationListFilter.map((item) => {\n return {...item, subList: item.subList ? item.subList.map((_item) => {\n return _item.name === occupation ? {..._item, value:false} : _item\n }): false}\n })\n }\n occupationFilter = [...new Set(occupationFilter)];\n if(userOccs){\n for (const occ of occupationFilter) {\n occupationFilterWithAlts.low.push(occ)\n for (const jobCat of jobCategories) {\n if(jobCat.occupation === occ.toLowerCase()){\n if(jobCat.alt_labels){\n occupationFilterWithAlts.alt = [...occupationFilterWithAlts.alt, ...jobCat.alt_labels]\n }\n if(jobCat.new_alt_labels){\n occupationFilterWithAlts.newAlt = [...occupationFilterWithAlts.newAlt, ...jobCat.new_alt_labels]\n }\n if(jobCat.meta_labels){\n occupationFilterWithAlts.meta = [...occupationFilterWithAlts.meta, ...jobCat.meta_labels]\n }\n }\n } \n }\n }\n }\n //if we have occ filter try use relevance, else skills\n if(occupationFilter.length){\n sortBy = sortBy.map((item) => item.name === \"Relevance\" ? {...item, value:true} : {...item, value:false})\n }\n else{\n sortBy = sortBy.map((item) => item.name === \"Skills\" ? {...item, value:true} : {...item, value:false})\n } \n }\n\n let sortByItem = sortBy.find((item) => item.value)\n let occupationCategoryFilterList = occupationListFilter ? occupationListFilter.filter((item) => item.value).map((item) => item.name) : []\n\n if (occupationCategoryFilterList.includes(\"Previous\") || occupationCategoryFilterList.includes(\"Preferred\")){\n occupationCategoryFilterList.push(\"Previous & Preferred\")\n }\n jobCategories = jobCategories.filter((item) => occupationCategoryFilterList.includes(item.catTitle) && !occupationBlacklist.includes(item.occupation));\n \n //For changes in occ cat && for sorting quals\n if(occupationCategoryFilterList && (occupationCategoryFilterChange || occupationFilterChange)){\n\n if(occupationFilter.length){\n allResourcesPerOccupationFlat = allResourcesPerOccupationFlat.filter((item) =>\n occupationFilter.includes(item.occupation) && !occupationBlacklist.includes(item.occupation)\n );\n allCoursesPerOccupationFlat = allCoursesPerOccupationFlat.filter((item) => \n occupationFilter.includes(item.occupation) && !occupationBlacklist.includes(item.occupation)\n );\n }\n else{\n allResourcesPerOccupationFlat = allResourcesPerOccupationFlat.filter((item) =>\n occupationCategoryFilterList.includes(item.category) && !occupationBlacklist.includes(item.occupation)\n )\n allCoursesPerOccupationFlat = allCoursesPerOccupationFlat.filter((item) => \n occupationCategoryFilterList.includes(item.category) && !occupationBlacklist.includes(item.occupation)\n );\n }\n }\n //Filtering from all jobs\n if(!useRecommended){\n const currentDistance = distanceSelect.find((item) => item.value)\n const maxDistance = currentDistance ? parseInt(currentDistance.name.replace(/[^0-9]/g, \"\")) : false\n const contractList = contractFilters ? contractFilters.filter((item) => item.value).map((item) => item.name) : false\n const activeDatePosted = datePosted ? datePosted.find((item) => item.value) : false\n const maxDate = activeDatePosted && activeDatePosted.filterValue > 0 ? moment().subtract(activeDatePosted.filterValue, \"days\").startOf(\"day\").format(\"x\") : false\n const salary = salarySelect.find((item) => item.value);\n recommendedJobs = recommendedJobs.filter((job) => {\n if(occupationCategoryFilterList && !occupationCategoryFilterList.includes(job.catTitle)){\n return false\n }\n if(occupationFilter.length && !(occupationFilter.includes(job.occupation) || occupationFilter.includes(job.matched_occupation))){\n return false\n }\n if(occupationBlacklist.includes(job.occupation)){\n return false\n }\n if(maxDistance && !(job.distance_in_miles < maxDistance)){\n return false\n }\n if(contractList){\n if (job.is_apprenticeship && !contractList.includes(\"Apprenticeships\")){\n return false\n }\n else if(job.original_location === \"remote\" && !contractList.includes(\"Remote Jobs\")){\n return false\n }\n else if (job.job_contract && job.job_contract !==\"unknown\" && !contractList.includes(job.job_contract + \" Jobs\")){\n return false\n }\n }\n if(maxDate && job.postedDate && !(job.postedDate > maxDate)){\n return false\n }\n if(stringSearch && !((job.jobTitle && job.jobTitle.toLowerCase().includes(stringSearch)) || (job.qual_name && job.qual_name.toLowerCase().includes(stringSearch)) || (job.original_location && job.original_location.toLowerCase().includes(stringSearch)) || (job.provider && job.provider.toLowerCase().includes(stringSearch)) || (job.employerName && job.employerName.toLowerCase().includes(stringSearch)))){\n return false\n }\n if(salary && salary.filterValue && (job.annual_salary_max || job.annual_salary_min)){\n if(job.annual_salary_min){\n if(job.salary_type && ![\"unknown\", \"yearly\", \"annually\", \"annual\"].includes(job.salary_type)){\n if([\"hourly\", \"daily\"].includes(job.salary_type)){\n if((job.annual_salary_min * 36.4 * 52) < salary.filterValue){\n return false\n }\n }\n }\n else if(job.annual_salary_min < salary.filterValue){\n return false\n }\n }\n else{\n if(job.salary_type && ![\"unknown\", \"yearly\", \"annually\", \"annual\"].includes(job.salary_type)){\n if([\"hourly\", \"daily\"].includes(job.salary_type)){\n if((job.annual_salary_max * 36.4 * 52) < salary.filterValue){\n return false\n }\n }\n }\n else if(job.annual_salary_max < salary.filterValue){\n return false\n }\n }\n }\n\n\n return job\n })\n\n appliedJobs = appliedJobs.filter((job) => {\n if(stringSearch && !((job.jobTitle && job.jobTitle.toLowerCase().includes(stringSearch)) || (job.qual_name && job.qual_name.toLowerCase().includes(stringSearch)) || (job.original_location && job.original_location.toLowerCase().includes(stringSearch)))){\n return false\n }\n return job\n })\n\n favourited = favourited.filter((job) => {\n if(stringSearch && !((job.jobTitle && job.jobTitle.toLowerCase().includes(stringSearch)) || (job.qual_name && job.qual_name.toLowerCase().includes(stringSearch)) || (job.original_location && job.original_location.toLowerCase().includes(stringSearch)))){\n return false\n }\n return job\n })\n\n const qualLevelList = qualLevelSelect ? qualLevelSelect.filter((item) => item.value).map((item) => item.name) : false\n //filtered job cats from occupationCategoryFilterList\n let filteredJobCategories = occupationFilter.length ? jobCategories.filter((item) => occupationFilter.includes(item.occupation)) : jobCategories;\n\n //qual filtering and level populating \n var qnames = [];\n filteredJobCategories.forEach((item) => {\n qnames = [...qnames, ...item.qualification_name];\n });\n qnames = [...new Set(qnames)];\n // console.log(qualifications.length)\n qualifications = qualifications.filter(({ id, qual_name, qual_level }) => {\n if(!qnames.includes(id)){\n return false\n }\n if(stringSearch && !((qual_name && qual_name.toLowerCase().includes(stringSearch)))){\n return false\n }\n if(qualLevelList && !(qual_level ? qualLevelList.includes(qual_level) : true)){\n return false\n }\n return true\n });\n }\n if(sortByItem){\n if(sortByItem.name === \"Relevance\"){\n function ranker(jobsList) {\n return jobsList.map((item) => {\n const lowerJob = item.qual_name ? item.qual_name.toLowerCase() : item.jobTitle.toLowerCase()\n let rank = 6;\n if(occupationFilterWithAlts.low.includes(lowerJob)){\n rank = 0;\n }\n else if(occupationFilterWithAlts.low.find((filterItem) => lowerJob.includes(filterItem))){\n rank = 1;\n }\n else if(occupationFilterWithAlts.alt.includes(lowerJob)){\n rank = 2;\n }\n else if(occupationFilterWithAlts.alt.find((filterItem) => lowerJob.includes(filterItem))){\n rank = 3;\n }\n else if(occupationFilterWithAlts.newAlt.find((filterItem) => lowerJob.includes(filterItem))){\n rank = 4;\n }\n else if(occupationFilterWithAlts.meta.find((filterItem) => lowerJob.includes(filterItem))){\n rank = 5;\n }\n return {...item, rank: rank}\n })\n }\n recommendedJobs = _.orderBy(ranker(recommendedJobs), [\"rank\"], [\"asc\"]);\n appliedJobs = _.orderBy(ranker(appliedJobs), [\"rank\"], [\"asc\"]);\n favourited = _.orderBy(ranker(favourited), [\"rank\"], [\"asc\"]);\n qualifications = _.orderBy(ranker(qualifications), [\"rank\"], [\"asc\"]);\n }\n else if(sortByItem.name === \"Skills\"){\n recommendedJobs = _.orderBy(recommendedJobs, \"score_bp\", \"desc\")\n appliedJobs = _.orderBy(appliedJobs, \"score_bp\", \"desc\")\n favourited = _.orderBy(favourited, \"score_bp\", \"desc\")\n qualifications = _.orderBy(qualifications, \"score_bp\", \"desc\")\n }\n else if(sortByItem.name === \"Style\"){\n recommendedJobs = _.orderBy(recommendedJobs, \"score_styles\", \"desc\")\n appliedJobs = _.orderBy(appliedJobs, \"score_styles\", \"desc\")\n favourited = _.orderBy(favourited, \"score_styles\", \"desc\")\n qualifications = _.orderBy(qualifications, \"score_styles\", \"desc\")\n }\n else if(sortByItem.name === \"Interests\"){\n recommendedJobs = _.orderBy(recommendedJobs, \"score_interest\", \"desc\")\n appliedJobs = _.orderBy(appliedJobs, \"score_interest\", \"desc\")\n favourited = _.orderBy(favourited, \"score_interest\", \"desc\")\n qualifications = _.orderBy(qualifications, \"score_interest\", \"desc\")\n }\n }\n recommendedJobs = _.orderBy(recommendedJobs, \"vacancy_flag\", [\"asc\"]);\n\n if(occupationCategoryFilterChange || occupationFilterChange){\n return {\n ...state,\n resourcesPerOccupationFlat: allResourcesPerOccupationFlat,\n coursesPerOccupationFlat: allCoursesPerOccupationFlat,\n occupationListFilter: occupationListFilter,\n occupationFilter,\n occupationFilterWithAlts: occupationFilterWithAlts,\n allJobCategories: jobCategories,\n recommendedJobs,\n qualifications,\n sortBy: sortBy,\n distanceSelect: distanceSelect,\n contractFilters: contractFilters,\n datePosted: datePosted,\n stringSearch: stringSearch,\n appliedJobsFiltered: appliedJobs,\n favouritedFiltered: favourited,\n qualLevelSelect,\n salary: salarySelect\n }; \n }\n else{\n return {\n ...state,\n recommendedJobs,\n sortBy: sortBy,\n distanceSelect: distanceSelect,\n contractFilters: contractFilters,\n datePosted: datePosted,\n stringSearch: stringSearch,\n appliedJobsFiltered: appliedJobs,\n favouritedFiltered: favourited,\n qualifications\n };\n }\n }\n case OCC_FILTER: {\n // console.log(\"OCC_FILTER\")\n var jobCategories = state.allJobCategories;\n var recommendedJobs = state.allJobs || [];\n var qualifications = state.allQualifications || [];\n\n var filters = action.filter;\n var x = action.filter.map((item) => {\n if (item.value) {\n return item.name;\n } else {\n return null;\n }\n });\n\n let previousAndPreferred = false;\n _.each(x, (i) => {\n if (i === \"Previous\" && !previousAndPreferred){\n x.push(\"Previous & Preferred\");\n previousAndPreferred = true;\n }\n if (i === \"Preferred\" && !previousAndPreferred){\n x.push(\"Previous & Preferred\");\n previousAndPreferred = true;\n }\n });\n\n\n if (!x.find((element) => element !== null)) {\n x = filters.map((item) => {\n return item.name;\n });\n\n filters = action.filter.map((item) => {\n item.value = true;\n return item;\n });\n }\n\n jobCategories = jobCategories.filter((item) => x.includes(item.catTitle));\n recommendedJobs = recommendedJobs.filter((item) =>\n x.includes(item.catTitle)\n );\n\n var qnames = [];\n jobCategories.forEach((item) => {\n qnames = [...qnames, ...item.qualification_name];\n });\n\n qualifications = qualifications.filter(({ id }) => qnames.includes(id));\n\n var levelObject = {};\n qualifications.forEach((element) => {\n levelObject[element.qual_level] = true;\n });\n var levels = Object.keys(levelObject);\n\n return {\n ...state,\n occupationListFilter: filters,\n occupationFilter: [],\n jobCategories,\n recommendedJobs,\n qualifications,\n levelFilters: levels,\n };\n }\n\n default:\n return {\n ...state,\n occupationListFilter: state.occupationListFilter ? state.occupationListFilter : [\n { name: \"Preferred\", catType: \"desired\", value: true, subList: [] },\n { name: \"Previous\", catType: \"past\", value: true, subList: [] },\n { name: \"Skills\", catType: \"skills_backpack\", value: true, subList: [] },\n { name: \"Styles\", catType: \"styles\", value: true, subList: [] },\n { name: \"Interest\", catType: \"interest\", value: true, subList: [] },\n { name: \"Searched\", catType: \"searched\", value: true, subList: [] },\n ],\n sortBy: [\n { name: \"Relevance\", value: true},\n { name: \"Skills\", value: false },\n { name: \"Style\", value: false },\n { name: \"Interests\", value: false }\n ],\n distanceSelect: [\n { name: \"Up to 10 miles\", value: false },\n { name: \"Up to 30 miles\", value: false },\n { name: \"Up to 50 miles\", value: false },\n { name: \"No limit\", value: true }\n ],\n contractFilters: [\n { name: \"Full Time Jobs\", value: true},\n { name: \"Part Time Jobs\",value: true},\n { name: \"Apprenticeships\", value: true },\n // {name: \"Remote Jobs\", value: true}\n ],\n salary : [\n { name: \"All Salaries\", value: true, filterValue: 0},\n { name: \"£20k +\", value: false, filterValue: 20000},\n { name: \"£30k +\", value: false, filterValue: 30000},\n { name: \"£40k +\", value: false, filterValue: 40000},\n { name: \"£50k +\", value: false, filterValue: 50000},\n { name: \"£60k +\", value: false, filterValue: 60000},\n { name: \"£70k +\", value: false, filterValue: 70000},\n ],\n datePosted: [\n { name: \"Last 24 hours\", value: false, filterValue:1 },\n { name: \"Last 7 days\", value: false, filterValue:7 },\n { name: \"Last 14 days\", value: false, filterValue:14 },\n { name: \"All time\", value: true, filterValue:0 }\n ],\n stringSearch: \"\",\n qualLevelSelect: state.qualLevelSelect ? state.qualLevelSelect : [\n { name: \"Level 1/2\", value: true},\n { name: \"Level 1\", value: true},\n { name: \"Level 2\", value: true},\n { name: \"Level 3\", value: true},\n { name: \"Level 4\", value: true},\n { name: \"Level 5\", value: true},\n ],\n };\n }\n};\n","import {\n FETCH_INTERVENTIONS,\n FETCH_INTERVENTIONS_MISSIONS,\n FETCH_MISSIONS,\n START_INTERVENTION,\n START_MISSION,\n} from \"../actions/types\";\n\nexport const missionReducer = (state = {}, action) => {\n switch (action.type) {\n // TODO REMOVAL START\n case FETCH_MISSIONS:\n return {\n ...state,\n missions: action.missions.sort((a, b) => {\n if (a.has_started && !b.has_started) {\n return 1;\n }\n if (a.has_started && b.has_started) {\n return 0;\n }\n return -1;\n }),\n };\n case FETCH_INTERVENTIONS: {\n const {\n interventions,\n scores: { initialScore, finalScore },\n } = action;\n return {\n ...state,\n interventions: interventions\n .map((intervention) => ({\n ...intervention,\n initialScore: initialScore || \"Not Started\",\n finalScore: finalScore || \"Not Started\",\n }))\n .sort((a, b) => {\n if (a.has_started && !b.has_started) {\n return 1;\n }\n if (a.has_started && b.has_started) {\n return 0;\n }\n return -1;\n }),\n };\n }\n\n case START_INTERVENTION: {\n const intervention = state.interventions.find(\n ({ sort }) => sort === action.interventionId\n );\n intervention.has_started = true;\n return {\n ...state,\n interventions: state.interventions.sort((a, b) => {\n if (a.has_started && !b.has_started) {\n return 1;\n }\n if (a.has_started && b.has_started) {\n return 0;\n }\n return -1;\n }),\n };\n }\n // TODO REMOVAL END\n case START_MISSION: {\n const { entityType, id } = action;\n const { missions, interventions } = state;\n const whereToLook =\n entityType === \"intervention\" ? interventions : missions;\n const payload = whereToLook.find(({ sort }) => sort === id);\n payload.has_started = true;\n return {\n ...state,\n missions: state.missions.sort((a, b) => {\n if (a.has_started && !b.has_started) {\n return 1;\n }\n if (a.has_started && b.has_started) {\n return 0;\n }\n return -1;\n }),\n };\n }\n\n case FETCH_INTERVENTIONS_MISSIONS: {\n const { payload, missionsInProgress, interventionsInProgress } = action;\n const missions = payload\n .filter(({ userID }) => userID === \"missions\")\n .filter(({ type }) => type === 1);\n const interventions = payload\n .filter(({ userID }) => userID === \"intervention\")\n .concat(payload.filter(({ type }) => type === 3));\n\n return {\n ...state,\n missions: missions\n .map((mission) => ({\n ...mission,\n has_completed:\n missionsInProgress.findIndex(\n ({ sort }) => sort === mission.sort\n ) >= 0\n ? true\n : false,\n }))\n .sort((a, b) => {\n if (a.has_completed && !b.has_completed) {\n return 1;\n }\n if (a.has_completed && b.has_completed) {\n return 0;\n }\n return -1;\n }),\n interventions: interventions\n .map((intervention) => {\n const initialScore = (\n interventionsInProgress.find(\n ({ sort }) => sort === intervention.sort\n ) || {}\n ).initialScore;\n const finalScore = (\n interventionsInProgress.find(\n ({ sort }) => sort === intervention.sort\n ) || {}\n ).finalScore;\n let has_completed = false;\n if (intervention.type === 3) {\n has_completed =\n (\n interventionsInProgress.find(\n ({ sort }) => sort === intervention.sort\n ) || {}\n ).status === \"Complete\";\n } else {\n has_completed =\n Number(initialScore) >= 0 && Number(finalScore) >= 0;\n }\n return {\n ...intervention,\n initialScore: initialScore,\n finalScore: finalScore,\n has_completed,\n has_started:\n interventionsInProgress.findIndex(\n ({ sort }) => sort === intervention.sort\n ) >= 0\n ? true\n : false,\n };\n })\n .sort((a, b) => {\n if (a.has_started && !b.has_started) {\n return 1;\n }\n if (a.has_started && b.has_started) {\n return 0;\n }\n return -1;\n }),\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n SET_SKILLS_VIDEOS,\n SET_NO_VIDEO_MESSAGE,\n HIDE_VIDEO_MESSAGE,\n SET_HELP_VIDEOS,\n SET_SKILLS_ASSESSMENTS,\n SET_SKILLS_ASSESSMENTS_ERRORS\n} from \"../actions/types\";\n\nexport default function (state = {}, action) {\n switch (action.type) {\n case SET_SKILLS_VIDEOS: {\n if (state.skill_videos){\n state.skill_videos[action.skillName] = action.videos;\n return {\n ...state,\n skill_videos: state.skill_videos\n }\n } else {\n let video = action.videos;\n let obj = {};\n obj[action.skillName] = video;\n \n return {\n ...state,\n skill_videos: obj\n }\n }\n }\n case SET_NO_VIDEO_MESSAGE: {\n let message = `No resources has been found for ${action.skillName}`;\n return {\n ...state,\n skill_notification: message\n }\n }\n case HIDE_VIDEO_MESSAGE: {\n return {\n ...state,\n skill_notification: false\n }\n }\n case SET_HELP_VIDEOS:{\n return {\n ...state,\n authenticatedVideos: action.data\n }\n }\n case SET_SKILLS_ASSESSMENTS: {\n return {\n ...state,\n skillAssessment: action.data\n }\n }\n case SET_SKILLS_ASSESSMENTS_ERRORS: {\n return {\n ...state,\n skillAssessmentErrors: state.skillAssessmentErrors ? [...state.skillAssessmentErrors, ...action.data] : [action.data]\n }\n }\n default: return state;\n }\n}","import {\n FETCH_ALL_CVS,\n STORE_CV_DATA,\n STORE_OCC_LIST_OPTION,\n CREATE_JOB_CV,\n REMOVE_TEMPLATE,\n CLEAR_NEW_TEMPLATE_PROMPT,\n UPDATE_EXPERIENCE_PROMPTS\n} from \"../actions/types\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\n\nexport default function (state = {}, action) {\n switch (action.type) {\n case FETCH_ALL_CVS: {\n if (action.data){\n let storedCVs = {}\n action.data.forEach(item => {\n storedCVs[item.versionName] = item\n });\n return {\n ...state,\n storedCVs: storedCVs,\n activeCV: storedCVs['master'],\n profileSnippets: action.profileSnippets ? action.profileSnippets : state.profileSnippets ? state.profileSnippets : [],\n promptsData: action.promptsData || {skills:{}, occupations:{}, personalStatements:{}}\n }\n }\n }\n case STORE_CV_DATA: {\n if (action.data){\n return {\n ...state,\n storedCVs: state.storedCVs ? {...state.storedCVs, [action.data.versionName] : action.data} : {[action.data.versionName] : action.data},\n activeCV: action.data\n }\n }\n }\n case REMOVE_TEMPLATE:{\n let storedCVs = state.storedCVs\n delete storedCVs[action.versionName]\n return {\n ...state,\n storedCVs: storedCVs,\n activeCV: storedCVs['master']\n }\n }\n case STORE_OCC_LIST_OPTION: {\n if (action.data){\n return {\n ...state,\n occListOptions: action.data\n }\n }\n }\n case CREATE_JOB_CV: {\n let newCV = _.cloneDeep(state.storedCVs.master);\n let newTemplateType = \"new\"\n newCV.versionName = action.job.jobTitle + \" - \" + action.job.employerName\n newCV.jobData = action.job\n newCV.updatedAt = moment.utc().valueOf();\n newCV.exportUnlocked = false\n let foundTemplate = false\n if(state.storedCVs){\n Object.keys(state.storedCVs).forEach(function(key) {\n //console.log(key, state.storedCVs[key]);\n if(state.storedCVs[key] && state.storedCVs[key].jobData && action.job.jobId === state.storedCVs[key].jobData.jobId){\n foundTemplate = state.storedCVs[key]\n }\n });\n }\n if(foundTemplate){\n return {\n ...state,\n activeCV: foundTemplate,\n newTemplatePrompt: {versionName: foundTemplate.versionName, type: \"existing\"}\n }\n }\n else if(state.storedCVs[action.job.jobTitle + \" - \" + action.job.employerName]){\n let newVersionIndex = 2\n while (state.storedCVs[newCV.versionName + \" - Version \" + newVersionIndex]) {\n newVersionIndex = newVersionIndex + 1 \n } \n newCV.versionName = newCV.versionName + \" - Version \" + newVersionIndex\n newTemplateType = \"version\"\n }\n\n return {\n ...state,\n storedCVs: state.storedCVs ? {...state.storedCVs, [newCV.versionName] : newCV} : {[newCV.versionName] : newCV},\n activeCV: newCV,\n newTemplatePrompt: {versionName: newCV.versionName, type: newTemplateType}\n }\n }\n case CLEAR_NEW_TEMPLATE_PROMPT:{\n return {\n ...state,\n newTemplatePrompt:false\n }\n }\n case UPDATE_EXPERIENCE_PROMPTS:{\n let newPromptData = state.promptsData\n if(action.promptContent.occupation){\n newPromptData.occupations[action.promptContent.occupation.name] = action.promptContent.occupation.value\n }\n if(action.promptContent.skills){\n for (let item of action.promptContent.skills) {\n newPromptData.skills[item.name] = item.value\n }\n }\n if(action.promptContent.personalStatements){\n for (let item of action.promptContent.personalStatements) {\n newPromptData.personalStatements[item.name] = item.value\n }\n }\n return {\n ...state,\n promptsData: newPromptData\n }\n }\n default: return state;\n }\n}","import { createStore, applyMiddleware } from \"redux\";\nimport thunk from \"redux-thunk\";\nimport rootReducer from \"./reducers/rootReducer\";\nimport { composeWithDevTools } from \"redux-devtools-extension\";\n\nconst initialState = {\n chat: {\n messages: [],\n },\n};\nconst composeEnhancers = composeWithDevTools({\n // Specify name here, actionsBlacklist, actionsCreators and other options if needed\n});\n\nexport default function configureStore() {\n return createStore(\n rootReducer,\n initialState,\n composeEnhancers(\n applyMiddleware(thunk)\n // other store enhancers if any\n )\n );\n}\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M141.63 14.6055H77.7563C81.1266 11.6362 85.54 9.87075 90.2744 9.87075C90.5954 9.87075 90.9163 9.87075 91.2373 9.87075C94.4471 4.0125 100.706 0 107.928 0C114.348 0 119.965 3.12975 123.415 8.025C124.539 7.78425 125.742 7.704 126.946 7.704C132.884 7.78425 138.18 10.4325 141.63 14.6055Z\",\n fill: \"white\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M244.744 28.9702H164.901C168.272 23.754 174.21 20.3032 180.87 20.3032C183.277 20.3032 185.604 20.7847 187.691 21.5872C191.623 15.5685 198.363 11.6362 206.066 11.6362C212.967 11.6362 219.146 14.8462 223.158 19.8217C224.683 19.4205 226.368 19.1797 228.053 19.1797C235.275 19.1797 241.534 23.112 244.744 28.9702Z\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M319.21 20.3032H265.286C267.453 16.371 271.706 13.7227 276.52 13.7227C279.489 13.7227 282.298 14.766 284.464 16.4512C287.754 10.7535 293.933 6.90149 300.995 6.90149C309.581 6.90149 316.803 12.519 319.21 20.3032Z\",\n fill: \"white\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329 135.462V199.181L307.013 212.743L289.36 223.577L198.042 232.565L144.76 241.633L89.7929 235.454L54.9671 224.379L12.7588 209.613L0 202.712V92.3678L17.3327 113.714L27.1224 101.035L40.6837 114.116L88.5893 63.7185L102.953 75.1943L136.094 36.6743L152.142 53.1255L165.222 32.5815L177.901 46.9463L195.956 46.545L206.949 28.9703L212.325 20.3033L227.491 26.4825L232.707 19.7415L246.75 1.44452L264.002 42.051L275.879 43.656L282.86 76.4783L290.724 86.8305L295.538 93.2505L301.236 85.065L303.322 82.176L321.377 96.1395L329 135.462Z\",\n fill: \"#FFA970\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.3327 113.714L8.66634 127.678L0 123.344V92.3677L17.3327 113.714Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M112.582 140.839L121.008 147.018L118.199 154.963L86.1818 157.611L88.1077 148.864L79.6821 142.524H68.9294L46.8623 120.616L46.6216 120.134L62.1889 106.251V119.653L80.1635 108.819L89.3916 122.221L100.866 109.461L114.107 108.819L102.391 133.937L124.699 127.678L112.582 140.839Z\",\n fill: \"#F79555\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.5894 63.7185L83.6143 83.2193L91.3979 83.781L90.9165 90.843L102.953 75.1943L88.5894 63.7185Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M136.094 36.6743L136.174 37.3965L136.976 66.6075L148.371 77.2808L137.779 95.1765L165.463 69.4163L176.777 73.3485V90.843L158.642 108.899L174.37 102.399L171.08 125.511L147.488 142.845L194.19 127.437L178.463 140.678L195.394 139.796L201.573 147.018L210.64 152.395L228.615 143.728L230.862 148.061L237.041 141.481L257.021 138.993L264.805 121.499L261.916 119.171L248.435 123.826L217.943 92.2875L203.98 92.448L180.629 68.6138L165.864 68.2928L136.094 36.6743Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.222 32.5815L165.864 68.2927L180.629 68.6137L192.746 65.8852L190.9 55.6935L195.956 46.545L177.901 46.9462L165.222 32.5815Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M212.325 20.3032L214.572 40.5262L227.491 26.4825L212.325 20.3032Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M246.75 1.44452L231.985 49.8353L245.626 46.3043L231.022 63.237L244.744 64.2803L253.009 87.7935L227.491 102.158L262.879 94.5345L249.96 106.251L270.502 109.381L271.946 106.091L295.538 93.2505L282.86 76.4783L275.878 43.656L264.002 42.051L246.75 1.44452Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.8568 175.828L28.6471 183.853L10.512 178.957L8.5861 178.476L0 176.149V149.907L4.5739 141.641L6.41951 152.475L16.45 144.289L18.2956 158.734L24.4744 160.5L20.7832 175.828H31.8568Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.108 148.864L86.1822 157.611L82.3305 159.377L73.2629 163.71L65.8805 160.5L54.9673 163.71H50.4736L49.27 157.772L39.2395 160.019V147.018H30.7336L36.7519 126.635L24.7153 135.061L30.4127 122.542L27.1226 101.035L46.8626 120.616L68.9297 142.524H79.6824L88.108 148.864Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329 135.462V183.612L317.365 184.334L313.272 176.309L309.421 168.686L285.668 169.889L277.163 170.371L281.656 168.044L313.112 152.395L307.013 124.869H290.403L302.199 112.109L284.946 118.85L308.618 97.0223L303.322 82.176L321.377 96.1395L329 135.462Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M271.946 106.09L267.453 127.437L277.162 142.042L263.762 158.494L247.793 162.185L227.491 165.556L220.51 159.457L218.905 156.648L230.862 148.061L237.04 141.481L257.021 138.993L264.805 121.498L271.946 106.09Z\",\n fill: \"#F79555\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.7588 209.613L54.9671 163.71L71.5776 169.087L93.2434 156.327L102.953 165.155L134.248 144.29L165.222 172.939L183.277 168.686L196.196 187.304L220.51 159.457L235.275 163.55L250.842 152.395L307.013 212.743L289.36 223.577L144.76 241.633L89.7929 235.454L12.7588 209.613Z\",\n fill: \"#FFA970\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.647 214.99L42.1279 205.119L46.6216 210.014V203.113L68.5282 186.902L69.9726 196.291L78.5587 196.131L64.3555 205.36L66.2814 212.903L47.5845 221.329L28.647 214.99Z\",\n fill: \"#F79555\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.9672 163.71L53.603 178.075L71.5777 169.087L54.9672 163.71Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M93.2436 156.327L87.145 176.47L93.8053 182.408V195.329L106.404 181.124L103.114 172.778L111.539 170.933L102.953 165.155L93.2436 156.327Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.248 144.29V174.223L140.186 180.964L135.131 199.823L153.105 185.859L160.889 187.946L165.222 172.939L134.248 144.29Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M183.277 168.686L178.703 181.606L186.968 192.921L171.963 212.903L182.635 204.959L173.648 224.78L185.685 221.33L188.814 213.545L196.197 187.304L183.277 168.686Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M220.51 159.457L226.288 172.056L229.738 170.933L217.862 184.415L222.757 182.007L214.412 195.329L220.911 202.471L234.874 178.075L235.275 163.55L220.51 159.457Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M250.842 152.395L256.379 177.032L264.805 178.877V186.662L269.94 188.106L256.78 199.823L274.434 190.193L281.174 196.693L290.403 194.847L250.842 152.395Z\",\n fill: \"#FFDAC1\"\n});\n\nvar _ref25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M143.315 212.021L146.044 224.78L159.926 216.916L152.864 215.953L164.5 208.891L159.926 200.625L143.315 212.021Z\",\n fill: \"#F79555\"\n});\n\nvar _ref26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.539 190.193L120.526 188.347L126.063 195.329V204.076L121.489 209.533L115.471 204.798L111.539 190.193Z\",\n fill: \"#F79555\"\n});\n\nvar _ref27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M327.074 176.951C325.63 175.828 323.784 175.106 321.778 175.106C319.21 175.106 316.964 176.229 315.359 177.995C314.717 177.353 313.995 176.791 313.353 176.309C309.982 173.822 305.81 172.377 301.236 172.377C296.582 172.377 292.329 173.902 288.878 176.47C288.878 173.822 287.594 171.494 285.749 169.889C284.625 168.926 283.261 168.284 281.737 168.044C281.255 167.963 280.854 167.963 280.372 167.963C279.49 167.963 278.607 168.124 277.805 168.365C277.403 161.864 272.589 156.568 266.33 155.444C265.527 155.284 264.725 155.204 263.842 155.204C261.515 155.204 259.348 155.765 257.423 156.728C256.941 153.358 254.052 150.87 250.602 150.87C247.151 150.87 244.263 153.438 243.781 156.728C242.256 154.401 239.608 152.876 236.639 152.876C233.109 152.876 230.059 155.043 228.776 158.093C227.251 156.809 225.325 156.086 223.239 156.086C221.955 156.086 220.751 156.327 219.708 156.809C219.547 156.889 219.387 156.969 219.307 157.049C219.066 157.13 218.906 157.29 218.745 157.37C217.782 155.926 216.578 154.642 215.134 153.679C215.375 153.358 215.616 153.117 215.776 152.796C216.418 151.833 216.899 150.629 217.06 149.426C217.14 149.024 217.14 148.623 217.14 148.142C217.14 143.407 213.288 139.555 208.554 139.555C204.783 139.555 201.573 142.043 200.449 145.413C200.209 146.216 200.048 147.018 200.048 147.821C198.684 147.339 197.24 147.018 195.715 147.018C189.215 147.018 183.919 151.913 183.197 158.173C181.432 157.21 179.345 156.648 177.179 156.648C175.253 156.648 173.327 157.13 171.722 157.932C168.673 154.08 163.858 151.512 158.562 151.512C155.593 151.512 152.785 152.315 150.297 153.679C147.007 148.543 141.47 145.012 135.051 144.53L165.543 172.859L183.598 168.525L188.092 175.025L196.437 187.143L206.066 176.149L220.831 159.216L235.596 163.309L251.164 152.154L258.145 159.698L281.576 184.896C281.897 184.896 282.218 184.816 282.539 184.736C282.378 185.057 282.298 185.297 282.218 185.618C281.416 187.865 280.934 190.273 280.934 192.761C280.934 194.045 281.014 195.248 281.255 196.452C281.255 196.613 281.335 196.773 281.335 196.934C280.453 197.335 279.65 197.977 279.008 198.619C276.681 196.773 273.712 195.73 270.502 195.73C265.126 195.73 260.472 198.779 258.145 203.193H258.065C254.454 203.193 251.404 205.36 250.12 208.49C249.719 209.533 249.478 210.576 249.478 211.78C249.478 212.502 249.559 213.224 249.719 213.866C246.75 214.669 244.343 216.755 243.059 219.564C242.497 218.762 241.855 218.039 241.053 217.478C240.732 217.157 240.411 216.916 240.09 216.675C237.763 214.99 234.954 213.947 231.825 213.947C226.288 213.947 221.473 217.157 219.227 221.891C218.424 218.039 214.974 215.15 210.881 215.15C206.949 215.15 203.579 217.879 202.616 221.49C200.289 216.996 195.635 213.947 190.258 213.947C189.777 213.947 189.296 213.947 188.814 214.027C185.123 214.428 181.833 216.274 179.586 218.922C178.543 220.206 177.66 221.651 177.098 223.175C176.537 222.614 175.895 222.132 175.173 221.731C174.852 221.57 174.531 221.41 174.21 221.249C173.167 220.848 172.123 220.607 170.92 220.607C166.185 220.607 162.334 224.459 162.334 229.194C162.334 229.435 162.334 229.676 162.334 229.916C159.766 226.706 155.834 224.7 151.501 224.7C148.451 224.7 145.643 225.663 143.396 227.348C140.186 223.256 135.612 220.286 130.316 219.163C128.792 218.842 127.267 218.681 125.662 218.681C125.261 218.681 124.86 218.681 124.378 218.681C125.823 217.157 126.786 215.07 126.786 212.743C126.786 210.335 125.742 208.088 124.137 206.483C123.415 205.761 122.533 205.199 121.489 204.798C121.73 203.835 121.891 202.792 121.891 201.749C121.891 196.051 117.557 191.316 111.94 190.835C111.619 190.835 111.218 190.754 110.897 190.754C105.681 190.754 101.268 194.446 100.145 199.341C100.064 199.341 99.9841 199.341 99.9038 199.341C95.1694 199.341 91.1572 202.31 89.6326 206.564C87.6265 205.681 85.4599 205.199 83.1328 205.199C79.7626 205.199 76.6331 206.243 74.0653 208.008C70.8555 210.175 68.5285 213.465 67.5655 217.237C66.7631 215.792 65.6397 214.589 64.1953 213.786C62.9916 213.144 61.5472 212.743 60.0226 212.743C56.6524 212.743 53.7636 214.669 52.3192 217.478C50.1526 214.669 46.7823 212.823 43.0109 212.823C42.7702 212.823 42.5294 212.823 42.2887 212.823C40.6036 212.903 39.0789 213.385 37.6345 214.107C37.6345 213.947 37.6345 213.866 37.6345 213.706C37.6345 212.021 37.3938 210.416 36.9124 208.891C35.9494 205.681 34.1038 202.872 31.6163 200.786C29.6904 199.181 24.8758 197.255 24.8758 197.255L30.4126 190.514L55.208 163.55L71.8185 168.846L92.2004 156.889L93.4843 156.167L94.1263 156.728L103.114 164.914L118.44 154.722L134.007 144.37C133.767 144.37 133.526 144.37 133.366 144.37C128.39 144.37 123.897 146.135 120.446 149.105C119.885 149.586 119.323 150.148 118.761 150.71C117.557 151.994 116.514 153.438 115.712 155.043C115.391 155.685 115.07 156.327 114.749 157.049C114.428 156.407 114.107 155.765 113.706 155.204C112.984 154 112.021 152.957 110.977 151.994C108.329 149.586 104.799 148.142 100.947 148.142C94.688 148.142 89.3919 151.913 87.0648 157.29C86.9846 157.451 86.9043 157.611 86.8241 157.852C86.5833 157.691 86.3426 157.531 86.1019 157.451C84.497 156.568 82.7316 156.086 80.8058 156.086C76.4726 156.086 72.7011 158.654 70.8555 162.266C69.4914 159.296 66.5224 157.29 63.0719 157.29C59.6214 157.29 56.5721 159.377 55.208 162.346C54.245 162.025 53.2821 161.784 52.2389 161.784C51.5167 161.784 50.8748 161.864 50.2328 162.025C46.4614 162.908 43.6528 166.358 43.6528 170.371C43.6528 170.852 43.7331 171.414 43.8133 171.896C42.2887 171.093 40.5233 170.692 38.6777 170.692C34.7458 170.692 31.2953 172.618 29.2089 175.587C28.1658 177.032 27.4436 178.717 27.2028 180.563C25.0363 177.834 21.7463 176.069 18.055 176.069C15.2465 176.069 12.6787 177.032 10.6726 178.717C10.4319 178.958 10.1109 179.198 9.87016 179.439C9.46894 179.038 9.14796 178.637 8.74674 178.235C6.41967 175.908 3.45064 174.303 0.160645 173.581V225.503H24.4745C25.277 226.947 26.3202 228.151 27.5238 229.274C29.7706 231.361 32.5792 232.886 35.7087 233.608C36.9124 233.929 38.1963 234.009 39.5604 234.009C40.8443 234.009 42.1282 233.849 43.4121 233.608C47.0231 238.824 53.0414 242.275 59.9424 242.275C64.9977 242.275 69.6519 240.429 73.1826 237.299C75.2689 241.312 78.7194 244.442 82.8921 246.207C80.4046 247.892 78.3182 250.059 76.7133 252.547C73.2628 250.3 69.0902 249.016 64.6767 249.016C55.6894 249.016 47.9058 254.312 44.2948 261.936H151.501C160.809 261.936 168.994 257.201 173.728 249.979C175.734 251.022 177.981 251.664 180.388 251.664C185.364 251.664 189.777 249.016 192.265 245.084C197.24 248.615 203.338 250.701 209.918 250.701C217.622 250.701 224.683 247.812 230.059 243.077C231.664 245.003 234.072 246.207 236.72 246.207C240.25 246.207 243.219 244.121 244.584 241.071C248.275 244.923 253.491 247.25 259.268 247.25C260.632 247.25 261.996 247.09 263.28 246.849C264.324 247.09 265.447 247.25 266.57 247.25C273.953 247.25 280.051 241.472 280.533 234.17C282.138 234.731 283.983 235.052 285.749 235.052C292.65 235.052 298.507 230.639 300.674 224.459C303.884 226.466 307.655 227.669 311.667 227.669C319.05 227.669 325.55 223.817 329.161 217.959V175.186C328.358 175.988 327.636 176.47 327.074 176.951ZM200.851 153.839C201.091 153.679 201.252 153.518 201.493 153.358C201.493 153.358 201.493 153.438 201.573 153.438C201.332 153.518 201.091 153.679 200.851 153.839ZM238.726 229.676V229.595C238.726 229.595 238.726 229.595 238.726 229.676Z\",\n fill: \"white\"\n});\n\nvar _ref28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M297.545 84.423C294.896 84.423 292.569 85.3058 290.644 86.8305C290.162 87.2318 289.681 87.633 289.279 88.1145C288.076 87.7133 286.872 87.4725 285.508 87.4725C279.891 87.4725 275.237 91.6455 274.515 97.1025C274.113 97.0223 273.712 97.0223 273.311 97.0223C268.175 97.0223 264.083 101.115 264.083 106.251C264.083 106.973 264.163 107.615 264.324 108.338C264.163 108.338 264.003 108.338 263.762 108.338C259.75 108.578 256.139 110.264 253.41 112.832C250.522 108.578 245.627 105.85 240.09 105.85C238.565 105.85 237.121 106.091 235.757 106.412C235.757 106.171 235.757 106.01 235.757 105.85C235.757 103.763 234.714 101.998 233.109 100.874C232.467 100.473 231.825 100.152 231.103 99.9915C230.701 99.9113 230.3 99.831 229.819 99.831H229.738C229.096 91.485 222.115 84.9045 213.609 84.9045C212.486 84.9045 211.443 84.9848 210.4 85.2255C210.4 85.1453 210.4 84.9848 210.4 84.9045C210.4 81.6143 207.752 78.966 204.462 78.966C203.338 78.966 202.215 79.287 201.332 79.8488C200.851 71.3423 193.789 64.6013 185.203 64.6013C182.876 64.6013 180.629 65.0828 178.623 66.0458C177.58 64.9223 176.055 64.2 174.37 64.2C172.846 64.2 171.481 64.7618 170.438 65.6445C167.63 60.9098 162.414 57.6998 156.556 57.6998C156.315 57.6998 156.155 57.6998 155.914 57.6998L165.784 68.2125L168.753 68.2928L171.802 68.373L174.852 68.4533L180.148 68.5335H180.549L199.246 87.633C199.326 87.8738 199.487 88.0343 199.647 88.275C200.209 89.0775 200.851 89.7195 201.733 90.1208L201.814 90.201L203.98 92.448L217.943 92.2875L226.448 101.115L227.492 102.158L229.658 104.405L232.868 107.696L234.714 109.541L248.516 123.826L248.756 123.746L256.46 121.097L261.996 119.171L264.885 121.499L268.336 113.955L270.502 109.301L271.947 106.091L275.879 103.924L281.095 101.115L286.792 97.9853L295.378 93.3308L295.538 93.2505L301.316 85.065C300.112 84.6638 298.909 84.423 297.545 84.423Z\",\n fill: \"white\"\n});\n\nvar SvgMountains = function SvgMountains(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 330,\n height: 262,\n viewBox: \"0 0 330 262\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMountains, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/mountains.ce583602.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Button from \"@material-ui/core/Button\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport Typography from \"@material-ui/core/Typography\";\nimport SnackbarContent from \"@material-ui/core/SnackbarContent\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport CancelIcon from \"@material-ui/icons/Cancel\";\nimport Grid from \"@material-ui/core/Grid\";\nimport { Link } from \"react-router-dom\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport {\n forgotPassword as forgotPasswordAction,\n confirmForgotPassword as confirmForgotPasswordAction,\n} from \"../../actions/auth_actions\";\n\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as Mountains } from \"./Icons/mountains.svg\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n //marginTop: theme.spacing(1)\n },\n formhold: {\n marginLeft: theme.spacing(4),\n marginRight: 27,\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(1),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2),\n },\n },\n grid: {\n minHeight: \"100vh\",\n },\n main: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n minWidth: 720,\n maxWidth: 720,\n [theme.breakpoints.down(740)]: {\n maxWidth: 600,\n minWidth: 600,\n },\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: 100,\n },\n },\n logingrid: {\n minHeight: 480,\n },\n button: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(2),\n marginBottom: 14,\n },\n },\n textField: {\n marginTop: 0,\n marginBottom: 0,\n\n fontSize: 14,\n },\n progress: {},\n progressCont: {\n height: 3,\n [theme.breakpoints.down(\"md\")]: {\n height: 2,\n },\n [theme.breakpoints.up(\"md\")]: {\n height: 3,\n },\n },\n marginLabel: {\n margin: 20,\n marginBottom: 0,\n marginTop: 10,\n },\n snack: {\n marginTop: 10,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n buttonProgress: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n position: \"relative\",\n },\n logo: {\n width: \"100%\",\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n logoContainer:{\n display: \"flex\",\n justifyContent: \"center\"\n },\n mountainsgrid: {\n backgroundColor: \"#FDEFE7\",\n //height: \"100%\"\n borderTopRightRadius: 8,\n borderBottomRightRadius: 8,\n overflow: \"hidden\",\n display: \"flex\",\n },\n mountains: {\n width: \"105%\",\n marginLeft: -1,\n alignSelf: \"flex-end\",\n marginBottom: -15,\n [theme.breakpoints.down(\"xs\")]: {\n width: \"160%\",\n height: \"160%\",\n marginBottom: -20,\n alignSelf: \"flex-start\",\n },\n },\n title: {\n fontSize: 32,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 25,\n },\n\n [theme.breakpoints.down(\"xs\")]: {},\n },\n titlesubheading:{\n textAlign: \"center\",\n color: \"#5A6375\",\n fontSize: 26,\n marginBottom: theme.spacing(2),\n },\n subtitle: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 3,\n marginBottom: theme.spacing(2),\n },\n formtitle: {\n color: \"#202A3E\",\n fontSize: 14,\n marginBottom: 4,\n marginTop: 18,\n },\n forgotpw: {\n color: \"#FF6A14\",\n fontSize: 12,\n textAlign: \"right\",\n marginTop: 16,\n },\n tfroot: {\n fontSize: 14,\n backgroundColor: \"#F5F6F7\",\n },\n tfoutline: {\n border: \"none\",\n },\n signup: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 14,\n textAlign: \"center\",\n },\n privacy: {\n color: \"#5A6375\",\n fontSize: 12,\n textAlign: \"left\",\n marginTop: 16,\n },\n mobilePadding:{\n marginBottom: theme.spacing(2),\n },\n});\n\nclass Forget extends Component {\n state = {\n email: \"\",\n code: \"\",\n password: \"\",\n passwordcon: \"\",\n open: false,\n vertical: \"top\",\n horizontal: \"center\",\n error: \"\",\n loading: false,\n forgotPasswordCode: \"\"\n };\n\n constructor(props) {\n super(props);\n this.reset = this.reset.bind(this);\n }\n\n handleClose = () => {\n this.setState({ open: false });\n };\n\n componentDidMount() {}\n componentDidUpdate(prevProps) {\n if (\n this.props.errorMessage !== prevProps.errorMessage &&\n this.props.errorMessage !== \"\"\n ) {\n this.setState({\n open: true,\n error: this.props.errorMessage,\n loading: false,\n });\n }\n }\n handleChange = (prop) => (event) => {\n this.setState({ [prop]: event.target.value });\n };\n\n reset(e) {\n e.preventDefault();\n const { forgotPasswordCode, history } = this.props;\n\n let username = this.state.email.trim();\n let code = this.state.code.trim();\n let newPassword = this.state.password;\n if (\n typeof forgotPasswordCode == \"undefined\" ||\n forgotPasswordCode === false\n ) {\n this.props.forgotPasswordAction({ username }, history);\n } else {\n if (this.state.password === this.state.passwordcon) {\n this.props.confirmForgotPasswordAction(\n { username, code, newPassword },\n history\n );\n } else {\n alert(\"Passwords should match!\");\n }\n }\n }\n\n render() {\n const { horizontal, vertical, open, error, loading, email, password } = this.state;\n const { classes, forgotPasswordCode } = this.props;\n\n const isRightLength = password && password.length >= 8 ? true : false;\n const hasSpecial = /[/\\W|_/g]/.test(password);\n const hasNumber = password.match(/\\d/);\n const hasUpperCase = password.match(/[A-Z]/);\n\n\n return (\n
    \n
    \n {loading && }\n
    \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n {!forgotPasswordCode && (\n
    \n \n Forgotten your password?\n \n \n Enter your email address below and we’ll send you details of how to get back into Skillsminer.\n \n
    \n \n Email:\n \n \n \n Reset\n \n {\" \"}\n \n Back\n \n
    \n )}\n {forgotPasswordCode && (\n
    \n \n New Password\n \n \n Please enter the verification code we sent to{\" \"}\n {email}\n \n
    \n \n Verification Code\n \n \n \n New password\n \n {this.state.password.length > 0 && (\n \n \n \n \n {hasUpperCase ? : }\n 1 uppercase character\n \n \n \n \n {hasNumber ? : }\n 1 number\n \n \n \n \n {hasSpecial ? : }\n 1 symbol\n \n \n \n \n {isRightLength ? : }\n 8 characters minimums\n \n \n \n \n )}\n \n \n Confirm password\n \n \n\n \n Send\n \n \n
    \n )}\n
    \n
    \n \n \n \n\n \n {error}}\n />\n \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n authenticated: state.auth.authenticated,\n forgotPasswordCode: state.auth.forgotPasswordCode,\n errorMessage: state.auth.error,\n ...state,\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n { forgotPasswordAction, confirmForgotPasswordAction },\n dispatch\n ),\n dispatch,\n };\n}\n\nForget = connect(mapStateToProps, mapDispatchToProps)(Forget);\n\nexport default withStyles(styles)(Forget);\n","import Button from \"@material-ui/core/Button\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport Link from \"@material-ui/core/Link\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport SnackbarContent from \"@material-ui/core/SnackbarContent\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport CancelIcon from \"@material-ui/icons/Cancel\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Divider from \"@material-ui/core/Divider\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport green from \"@material-ui/core/colors/green\";\nimport { Cache } from \"aws-amplify\";\n\nimport {\n confirmLogin as confirmLoginAction,\n login as loginAction,\n setNewPassword as setPasswordAction,\n} from \"../../actions/auth_actions\";\nimport { AUTH_ERROR_CLEAR } from \"../../actions/types\";\nimport * as ROUTES from \"../../constants/routes\";\n\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as Mountains } from \"./Icons/mountains.svg\";\nimport config from \"../../config\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n //marginTop: theme.spacing(1)\n },\n formhold: {\n marginLeft: theme.spacing(4),\n marginRight: 27,\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(1),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2),\n },\n },\n grid: {\n minHeight: \"100vh\",\n },\n main: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n minWidth: 720,\n maxWidth: 720,\n [theme.breakpoints.down(740)]: {\n maxWidth: 600,\n minWidth: 600,\n },\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: 100,\n },\n },\n logingrid: {\n minHeight: 450,\n },\n button: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(1),\n marginBottom: 14,\n },\n },\n textField: {\n marginTop: 0,\n marginBottom: 0,\n\n fontSize: 14,\n },\n progress: {},\n progressCont: {\n height: 3,\n [theme.breakpoints.down(\"md\")]: {\n height: 2,\n },\n [theme.breakpoints.up(\"md\")]: {\n height: 3,\n },\n },\n marginLabel: {\n margin: 20,\n marginBottom: 0,\n marginTop: 10,\n },\n snack: {\n marginTop: 10,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n success: {\n backgroundColor: green[600],\n },\n version: {\n fontSize: 9,\n color: \"#bbb\",\n textAlign: \"right\",\n marginTop: 3,\n marginRight: theme.spacing(2),\n marginBottom: 5,\n },\n buttonProgress: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n position: \"relative\",\n },\n logo: {\n width: \"100%\",\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n mountainsgrid: {\n backgroundColor: \"#FDEFE7\",\n //height: \"100%\"\n borderTopRightRadius: 8,\n borderBottomRightRadius: 8,\n overflow: \"hidden\",\n display: \"flex\",\n },\n mountains: {\n width: \"105%\",\n marginLeft: -1,\n alignSelf: \"flex-end\",\n marginBottom: -15,\n [theme.breakpoints.down(\"xs\")]: {\n width: \"160%\",\n height: \"160%\",\n marginBottom: -20,\n alignSelf: \"flex-start\",\n },\n },\n title: {\n fontSize: 32,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 25,\n },\n\n [theme.breakpoints.down(\"xs\")]: {},\n },\n titlesubheading:{\n textAlign: \"center\",\n color: \"#5A6375\",\n fontSize: 26,\n marginBottom: theme.spacing(2),\n },\n subtitle: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 3,\n marginBottom: theme.spacing(2),\n },\n formtitle: {\n color: \"#202A3E\",\n fontSize: 14,\n marginBottom: 4,\n marginTop: 18,\n },\n forgotpw: {\n color: \"#FF6A14\",\n fontSize: 12,\n textAlign: \"right\",\n marginTop: 16,\n },\n tfroot: {\n fontSize: 14,\n backgroundColor: \"#F5F6F7\",\n },\n tfoutline: {\n border: \"none\",\n },\n signup: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 14,\n textAlign: \"center\",\n },\n poweredBylogo:{\n height: 40, \n width: 165,\n marginBottom: theme.spacing(2),\n },\n orgLogo:{\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n logoContainer:{\n display: \"flex\",\n justifyContent: \"center\"\n },\n privacy: {\n color: \"#5A6375\",\n fontSize: 12,\n textAlign: \"left\",\n marginTop: 16,\n },\n});\n\nclass Login extends Component {\n state = {\n email: \"\",\n password: \"\",\n npassword: \"\",\n presumedOrg: undefined,\n showPassword: false,\n open: false,\n vertical: \"top\",\n horizontal: \"center\",\n error: \"\",\n loading: false,\n version:\n (process.env.REACT_APP_REGION === \"eu-west-2\" ? \"uk.\" : \"ireland.\") +\n process.env.REACT_APP_STAGE +\n \"@\" +\n process.env.REACT_APP_VERSION +\n (process.env.REACT_APP_BUILD\n ? \".\" + parseInt(process.env.REACT_APP_BUILD, 10)\n : \"\"),\n manualURL: \"\",\n };\n\n constructor(props) {\n super(props);\n this.login = this.login.bind(this);\n this.changePass = this.changePass.bind(this);\n }\n handleClose = () => {\n \n this.setState({ open: false });\n this.props.dispatch({ type: AUTH_ERROR_CLEAR });\n };\n handleForceClose = () => {\n this.setState({ open: false, forceClose: true });\n }\n async componentDidMount() {\n //Auth.currentCredentials();\n //global.AWS.config.credentials = await Auth.currentCredentials();\n if (!this.state.presumedOrg){\n const tryCache = Cache.getItem(\"origin\")\n // console.log(tryCache)\n if (tryCache && tryCache.organisation){\n this.setState({ presumedOrg: tryCache.organisation });\n }\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.errorMessage !== prevProps.errorMessage &&\n this.props.errorMessage !== \"\" &&\n this.props.errorMessage\n ) {\n //temporary fix bypassing Auth.completeNewPassword device key error\n if (this.props.errorMessage && this.props.errorMessage ===\"Invalid device key given.\"){\n window.location.reload();\n }\n else{\n this.setState({\n open: true,\n error: this.props.errorMessage,\n loading: false,\n });\n } \n }\n if (this.props.changePassword !== prevProps.changePassword) {\n this.setState({\n loading: false,\n });\n }\n if (this.props.needConfirm !== prevProps.needConfirm) {\n this.setState({\n loading: false,\n });\n }\n }\n\n handleChange = (prop) => (event) => {\n this.setState({ [prop]: event.target.value });\n };\n\n handleClickShowPassword = () => {\n this.setState((state) => ({ showPassword: !state.showPassword }));\n };\n\n login(e) {\n e.preventDefault();\n\n let username = this.state.email.trim().toLowerCase();\n let password = this.state.password.trim();\n\n this.setState({\n loading: true,\n error: \"\",\n open: false,\n });\n\n this.props.loginAction({ username, password }, this.props.history);\n }\n\n changePass(e) {\n e.preventDefault();\n\n this.setState({\n loading: true,\n error: \"\",\n open: false,\n });\n\n this.props.setPasswordAction(\n this.props.currentAuthUser,\n this.state.npassword,\n this.props.history\n );\n }\n\n render() {\n let { open, error} = this.state;\n const { horizontal, vertical, loading, version, forceClose} = this.state;\n const { classes, changePassword, success } = this.props;\n let queryDict = {};\n window.location.search.substr(1).split(\"&\").forEach(function(item) {queryDict[item.split(\"=\")[0]] = item.split(\"=\")[1]})\n let duration = 3000;\n\n if (queryDict.message === \"inactivity\" && !error && !loading && !forceClose){\n duration = false;\n open = true;\n error = \"Sorry you have been logged out due to inactivity of 60 minutes, please sign in again.\";\n }\n \n let {password,email,presumedOrg} = this.state;\n\n if (queryDict.email && queryDict.pass && !this.state.queryParamsLoaded){\n password = decodeURIComponent(queryDict.pass);\n email = queryDict.email;\n this.setState({\n password: password,\n email: email,\n queryParamsLoaded: true\n });\n }\n\n if (!presumedOrg && queryDict.org){\n presumedOrg = queryDict.org;\n this.setState({\n presumedOrg: presumedOrg\n });\n } \n\n const isRightLength = this.state.npassword && this.state.npassword.length >= 8 ? true : false;\n const hasSpecial = /[/\\W|_/g]/.test(this.state.npassword);\n const hasNumber = this.state.npassword.match(/\\d/);\n const hasUpperCase = this.state.npassword.match(/[A-Z]/);\n\n return (\n
    \n
    \n {loading && }\n
    \n\n \n \n \n \n {presumedOrg && presumedOrg !== \"skillzminer\" ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n {!changePassword && (\n
    \n \n Sign in\n \n
    \n \n Email:\n \n \n \n Password:\n \n \n \n {this.state.showPassword ? (\n \n ) : (\n \n )}\n \n \n ),\n }}\n required\n />\n \n \n Forgotten your password?\n \n \n
    \n \n Sign in\n \n {loading && (\n \n )}\n
    \n \n \n\n {!this.state.queryParamsLoaded &&\n <>\n \n Don't have an account?{\" \"}\n \n Sign Up\n \n \n \n \n Visit\n \n {\" \"} our Youtube Channel\n \n \n }\n {this.state.queryParamsLoaded &&\n Your temporary login details have been entered, please push sign in to set your permanent credentials.\n }\n
    \n )}\n\n {changePassword && (\n
    \n
    \n \n Final Step\n \n \n Please set a new password\n \n \n Password\n \n {this.state.npassword.length > 0 && (\n \n \n \n \n {hasUpperCase ? : }\n 1 uppercase character\n \n \n \n \n {hasNumber ? : }\n 1 number\n \n \n \n \n {hasSpecial ? : }\n 1 symbol\n \n \n \n \n {isRightLength ? : }\n 8 characters minimums\n \n \n \n \n )}\n \n \n {this.state.showPassword ? (\n \n ) : (\n \n )}\n \n \n ),\n }}\n required\n />\n \n Change password\n \n {\" \"}\n
    \n )}\n {presumedOrg && presumedOrg !== \"skillzminer\" && (\n \n \n \n Powered By\n \n \n \n \n \n
    \n )}\n
    {version}
    \n
    \n \n \n \n \n\n \n {error}}\n />\n \n \n {success}}\n />\n \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n errorMessage: state.auth.error,\n mfaRequired: state.auth.mfa,\n changePassword: state.auth.changePassword,\n currentAuthUser: state.auth.currentAuthUser,\n success: state.auth.success,\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n {\n loginAction,\n confirmLoginAction,\n setPasswordAction,\n },\n dispatch\n ),\n dispatch,\n };\n}\n\nLogin = connect(mapStateToProps, mapDispatchToProps)(Login);\n\nexport default withStyles(styles)(Login);\n","import LinearProgress from \"@material-ui/core/LinearProgress\";\nimport Link from \"@material-ui/core/Link\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Divider from \"@material-ui/core/Divider\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport green from \"@material-ui/core/colors/green\";\n\nimport { unsubscribe } from \"../../actions/auth_actions\";\nimport * as ROUTES from \"../../constants/routes\";\n\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as Mountains } from \"./Icons/mountains.svg\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n //marginTop: theme.spacing(1)\n },\n formhold: {\n marginLeft: theme.spacing(4),\n marginRight: 27,\n marginTop: theme.spacing(4),\n marginBottom: 20,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2),\n },\n },\n grid: {\n minHeight: \"100vh\",\n },\n main: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n minWidth: 720,\n maxWidth: 720,\n [theme.breakpoints.down(740)]: {\n maxWidth: 600,\n minWidth: 600,\n },\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: 100,\n },\n },\n logingrid: {\n minHeight: 200,\n },\n button: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(1),\n marginBottom: 14,\n },\n },\n textField: {\n marginTop: 0,\n marginBottom: 0,\n\n fontSize: 14,\n },\n progress: {},\n progressCont: {\n height: 3,\n [theme.breakpoints.down(\"md\")]: {\n height: 2,\n },\n [theme.breakpoints.up(\"md\")]: {\n height: 3,\n },\n },\n marginLabel: {\n margin: 20,\n marginBottom: 0,\n marginTop: 10,\n },\n snack: {\n marginTop: 10,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n success: {\n backgroundColor: green[600],\n },\n version: {\n fontSize: 9,\n color: \"#bbb\",\n textAlign: \"right\",\n marginTop: 3,\n marginRight: theme.spacing(2),\n marginBottom: 5,\n },\n buttonProgress: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n position: \"relative\",\n },\n logo: {\n width: \"100%\",\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n logoContainer:{\n display: \"flex\",\n justifyContent: \"center\"\n },\n mountainsgrid: {\n backgroundColor: \"#FDEFE7\",\n //height: \"100%\"\n borderTopRightRadius: 8,\n borderBottomRightRadius: 8,\n overflow: \"hidden\",\n display: \"flex\",\n },\n mountains: {\n width: \"105%\",\n marginLeft: -1,\n alignSelf: \"flex-end\",\n marginBottom: -15,\n [theme.breakpoints.down(\"xs\")]: {\n width: \"160%\",\n height: \"160%\",\n marginBottom: -20,\n alignSelf: \"flex-start\",\n },\n },\n title: {\n paddingBottom: 10,\n fontSize: 32,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 25,\n },\n\n [theme.breakpoints.down(\"xs\")]: {},\n },\n titlesubheading:{\n textAlign: \"center\",\n color: \"#5A6375\",\n fontSize: 26,\n marginBottom: theme.spacing(2),\n },\n subtitle: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 3,\n marginBottom: theme.spacing(2),\n },\n formtitle: {\n color: \"#202A3E\",\n fontSize: 14,\n marginBottom: 4,\n marginTop: 18,\n },\n forgotpw: {\n color: \"#FF6A14\",\n fontSize: 12,\n textAlign: \"right\",\n marginTop: 16,\n },\n tfroot: {\n fontSize: 14,\n backgroundColor: \"#F5F6F7\",\n },\n tfoutline: {\n border: \"none\",\n },\n signup: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 14,\n textAlign: \"center\",\n },\n});\n\nclass Unsub extends Component {\n state = {\n urlString: window.location.search,\n completeQuery: \"\",\n awaitingResponse: false,\n version:\n (process.env.REACT_APP_REGION === \"eu-west-2\" ? \"uk.\" : \"ireland.\") +\n process.env.REACT_APP_STAGE +\n \"@\" +\n process.env.REACT_APP_VERSION +\n (process.env.REACT_APP_BUILD\n ? \".\" + parseInt(process.env.REACT_APP_BUILD, 10)\n : \"\")\n };\n\n async componentDidMount() {\n if (!this.state.completeQuery && !this.state.awaitingResponse){\n this.setState({awaitingResponse: true});\n let queryDict = {}\n this.state.urlString.substr(1).split(\"&\").forEach(function(item) {queryDict[item.split(\"=\")[0]] = item.split(\"=\")[1]})\n if (queryDict && queryDict.email){\n await this.props.unsubscribe(queryDict.email) \n this.setState({completeQuery: true}); \n this.setState({awaitingResponse: false}); \n }\n else{\n this.props.history.push(\"/login\");\n }\n \n \n }\n }\n\n render() {\n let { completeQuery, awaitingResponse, version } = this.state;\n const { classes } = this.props;\n\n return (\n
    \n
    \n {(awaitingResponse) && }\n
    \n\n \n \n \n \n {completeQuery && (\n \n \n \n \n \n \n \n \n \n
    \n \n You have now been unsubscribed\n \n \n You might still receive emails such as invites and responses to job applications.\n \n \n To unsubscribe from those emails as well, or to re-subscribe to these job notification emails please visit the setting page of the app. \n \n \n\n \n Click to go {\" \"}\n \n Login In\n \n \n\n
    \n
    {version}
    \n
    \n
    \n \n \n )}\n \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n errorMessage: state.auth.error,\n mfaRequired: state.auth.mfa,\n changePassword: state.auth.changePassword,\n currentAuthUser: state.auth.currentAuthUser,\n success: state.auth.success,\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n {\n unsubscribe,\n },\n dispatch\n ),\n dispatch,\n };\n}\n\nUnsub = connect(mapStateToProps, mapDispatchToProps)(Unsub);\n\nexport default withStyles(styles)(Unsub);\n","import LinearProgress from \"@material-ui/core/LinearProgress\";\nimport Link from \"@material-ui/core/Link\";\nimport Paper from \"@material-ui/core/Paper\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Divider from \"@material-ui/core/Divider\";\nimport React, { Component } from \"react\";\nimport { connect } from \"react-redux\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport green from \"@material-ui/core/colors/green\";\n\nimport { updateJobTracking, autoApply } from \"../../actions/auth_actions\";\nimport * as ROUTES from \"../../constants/routes\";\n\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as Mountains } from \"./Icons/mountains.svg\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n //marginTop: theme.spacing(1)\n },\n formhold: {\n marginLeft: theme.spacing(4),\n marginRight: 27,\n marginTop: theme.spacing(4),\n marginBottom: 20,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2),\n },\n },\n grid: {\n minHeight: \"100vh\",\n },\n main: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n minWidth: 720,\n maxWidth: 720,\n [theme.breakpoints.down(740)]: {\n maxWidth: 600,\n minWidth: 600,\n },\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: \"100vh\",\n minWidth: 100,\n },\n },\n logingrid: {\n minHeight: 200,\n },\n button: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(1),\n marginBottom: 14,\n },\n },\n textField: {\n marginTop: 0,\n marginBottom: 0,\n\n fontSize: 14,\n },\n progress: {},\n progressCont: {\n height: 3,\n [theme.breakpoints.down(\"md\")]: {\n height: 2,\n },\n [theme.breakpoints.up(\"md\")]: {\n height: 3,\n },\n },\n marginLabel: {\n margin: 20,\n marginBottom: 0,\n marginTop: 10,\n },\n snack: {\n marginTop: 10,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n success: {\n backgroundColor: green[600],\n },\n version: {\n fontSize: 9,\n color: \"#bbb\",\n textAlign: \"right\",\n marginTop: 3,\n marginRight: theme.spacing(2),\n marginBottom: 5,\n },\n buttonProgress: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n position: \"relative\",\n },\n logo: {\n width: \"100%\",\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n logoContainer:{\n display: \"flex\",\n justifyContent: \"center\"\n },\n mountainsgrid: {\n backgroundColor: \"#FDEFE7\",\n //height: \"100%\"\n borderTopRightRadius: 8,\n borderBottomRightRadius: 8,\n overflow: \"hidden\",\n display: \"flex\",\n },\n mountains: {\n width: \"105%\",\n marginLeft: -1,\n alignSelf: \"flex-end\",\n marginBottom: -15,\n [theme.breakpoints.down(\"xs\")]: {\n width: \"160%\",\n height: \"160%\",\n marginBottom: -20,\n alignSelf: \"flex-start\",\n },\n },\n title: {\n paddingBottom: 10,\n fontSize: 32,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 25,\n },\n\n [theme.breakpoints.down(\"xs\")]: {},\n },\n titlesubheading:{\n textAlign: \"center\",\n color: \"#5A6375\",\n fontSize: 26,\n marginBottom: theme.spacing(2),\n },\n subtitle: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 3,\n marginBottom: theme.spacing(2),\n },\n formtitle: {\n color: \"#202A3E\",\n fontSize: 14,\n marginBottom: 4,\n marginTop: 18,\n },\n forgotpw: {\n color: \"#FF6A14\",\n fontSize: 12,\n textAlign: \"right\",\n marginTop: 16,\n },\n tfroot: {\n fontSize: 14,\n backgroundColor: \"#F5F6F7\",\n },\n tfoutline: {\n border: \"none\",\n },\n signup: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 14,\n textAlign: \"center\",\n },\n});\n\nclass ApplicationTracking extends Component {\n state = {\n urlString: window.location.search,\n completeQuery: \"\",\n awaitingResponse: false,\n version:\n (process.env.REACT_APP_REGION === \"eu-west-2\" ? \"uk.\" : \"ireland.\") +\n process.env.REACT_APP_STAGE +\n \"@\" +\n process.env.REACT_APP_VERSION +\n (process.env.REACT_APP_BUILD\n ? \".\" + parseInt(process.env.REACT_APP_BUILD, 10)\n : \"\"),\n reDirectURL: false\n };\n\n async componentDidMount() {\n if (!this.state.completeQuery && !this.state.awaitingResponse){\n this.setState({awaitingResponse: true});\n let queryDict = {}\n this.state.urlString.substr(1).split(\"&\").forEach(function(item) {queryDict[item.split(\"=\")[0]] = item.split(\"=\")[1]})\n if (queryDict && queryDict.userID && queryDict.sort && queryDict.updateAction){\n if (queryDict.updateAction == \"forced\"){\n const reDirectURL = await this.props.autoApply(queryDict.userID,decodeURIComponent(queryDict.sort));\n if (reDirectURL){\n window.open(reDirectURL, '_blank');\n this.setState({reDirectURL: reDirectURL}); \n }\n }\n else{\n await this.props.updateJobTracking(queryDict.userID,decodeURIComponent(queryDict.sort),queryDict.updateAction) \n }\n this.setState({completeQuery: true}); \n this.setState({awaitingResponse: false}); \n }\n else{\n this.props.history.push(\"/login\");\n }\n \n \n }\n }\n\n render() {\n let { completeQuery, awaitingResponse, version, reDirectURL } = this.state;\n const { classes } = this.props;\n\n return (\n
    \n
    \n {(awaitingResponse) && }\n
    \n\n \n \n \n \n {completeQuery && (\n \n \n \n \n \n \n \n \n \n
    \n \n Thanks for letting us know!\n \n \n I've updated the status of the application. Where applicable we have informed the recruiting manager. \n \n {reDirectURL && (\n <>\n \n If a new window doesn't open automatically, please click on the apply to complete the application process in an external window: {\" \"}\n \n Apply\n \n \n \n )} \n \n To unsubscribe from those emails as well, or to re-subscribe please visit the setting page of the app. \n \n \n\n \n Click to go {\" \"}\n \n Login In\n \n \n\n
    \n
    {version}
    \n
    \n
    \n \n \n )}\n \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n errorMessage: state.auth.error,\n mfaRequired: state.auth.mfa,\n changePassword: state.auth.changePassword,\n currentAuthUser: state.auth.currentAuthUser,\n success: state.auth.success,\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n {\n updateJobTracking,\n autoApply\n },\n dispatch\n ),\n dispatch,\n };\n}\n\nApplicationTracking = connect(mapStateToProps, mapDispatchToProps)(ApplicationTracking);\n\nexport default withStyles(styles)(ApplicationTracking);\n","import Button from \"@material-ui/core/Button\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport Link from \"@material-ui/core/Link\";\nimport Paper from \"@material-ui/core/Paper\";\nimport green from \"@material-ui/core/colors/green\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\nimport SnackbarContent from \"@material-ui/core/SnackbarContent\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport TextField from \"@material-ui/core/TextField\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport CancelIcon from \"@material-ui/icons/Cancel\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Divider from \"@material-ui/core/Divider\";\nimport React, { Component } from \"react\";\nimport queryString from \"query-string\";\nimport { connect } from \"react-redux\";\nimport { Link as RouterLink } from \"react-router-dom\";\nimport { bindActionCreators } from \"redux\";\nimport PhoneInput from \"react-phone-number-input\";\nimport flags from \"react-phone-number-input/flags\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport Content from \"../Privacy/Content\";\nimport useMediaQuery from \"@material-ui/core/useMediaQuery\";\nimport { useTheme } from \"@material-ui/core/styles\";\nimport { Cache } from \"aws-amplify\";\nimport \"react-phone-number-input/style.css\";\nimport {\n register,\n resendConfirmationCode,\n confirmRegistration,\n} from \"../../actions/auth_actions\";\nimport { AUTH_ERROR_CLEAR } from \"../../actions/types\";\nimport * as ROUTES from \"../../constants/routes\";\n\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as Mountains } from \"./Icons/mountains.svg\";\nimport ReCAPTCHA from \"react-google-recaptcha\";\nimport config from \"../../config\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n //marginTop: theme.spacing(1)\n },\n formhold: {\n marginLeft: theme.spacing(4),\n marginRight: 27,\n marginTop: theme.spacing(4),\n marginBottom: theme.spacing(1),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2),\n },\n },\n grid: {\n minHeight: \"100vh\",\n },\n main: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n minWidth: 720,\n maxWidth: 720,\n [theme.breakpoints.down(740)]: {\n maxWidth: 600,\n minWidth: 600,\n },\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: \"100vh\",\n minWidth: 100,\n },\n },\n logingrid: {\n minHeight: 450,\n },\n button: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(1),\n marginBottom: 14,\n },\n },\n textField: {\n marginTop: 0,\n marginBottom: 0,\n\n fontSize: 14,\n },\n progress: {},\n progressCont: {\n height: 3,\n [theme.breakpoints.down(\"md\")]: {\n height: 2,\n },\n [theme.breakpoints.up(\"md\")]: {\n height: 3,\n },\n },\n marginLabel: {\n margin: 20,\n marginBottom: 0,\n marginTop: 10,\n },\n snack: {\n marginTop: 10,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n success: {\n backgroundColor: green[600],\n },\n version: {\n fontSize: 9,\n color: \"#bbb\",\n textAlign: \"right\",\n marginTop: 3,\n marginRight: theme.spacing(2),\n marginBottom: 5,\n },\n buttonProgress: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n position: \"relative\",\n },\n logo: {\n width: \"100%\",\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n mountainsgrid: {\n backgroundColor: \"#FDEFE7\",\n //height: \"100%\"\n borderTopRightRadius: 8,\n borderBottomRightRadius: 8,\n overflow: \"hidden\",\n display: \"flex\",\n },\n mountains: {\n width: \"105%\",\n marginLeft: -1,\n alignSelf: \"flex-end\",\n marginBottom: -15,\n [theme.breakpoints.down(\"xs\")]: {\n width: \"160%\",\n height: \"160%\",\n marginBottom: -80,\n alignSelf: \"flex-start\",\n },\n },\n title: {\n fontSize: 32,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 25,\n },\n\n [theme.breakpoints.down(\"xs\")]: {},\n },\n titlesubheading:{\n textAlign: \"center\",\n color: \"#5A6375\",\n fontSize: 26,\n marginBottom: theme.spacing(2),\n },\n subtitle: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 3,\n marginBottom: theme.spacing(2),\n },\n formtitle: {\n color: \"#202A3E\",\n fontSize: 14,\n marginBottom: 4,\n marginTop: 18,\n },\n privacy: {\n color: \"#5A6375\",\n fontSize: 12,\n textAlign: \"left\",\n marginTop: 16,\n },\n tfroot: {\n fontSize: 14,\n backgroundColor: \"#F5F6F7\",\n },\n tfoutline: {\n border: \"none\",\n },\n signup: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 14,\n textAlign: \"center\",\n },\n poweredBylogo:{\n height: 40, \n width: 165,\n marginBottom: theme.spacing(2),\n },\n orgLogo:{\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth:\"80%\",\n marginTop:\"15px\"\n },\n [theme.breakpoints.up(\"sm\")]: {\n maxHeight: 160,\n maxWidth:\"100%\",\n }\n },\n logoContainer:{\n display: \"flex\",\n justifyContent: \"center\"\n },\n mobilePadding:{\n marginBottom: theme.spacing(2),\n },\n});\n\nclass Signup extends Component {\n state = {\n email: \"\",\n password: \"\",\n cpassword: \"\",\n showPassword: false,\n open: false,\n vertical: \"top\",\n horizontal: \"center\",\n firstname: \"\",\n lastname: \"\",\n error: \"\",\n loading: false,\n mobile: \"\",\n code: \"\",\n openPrivacy: false,\n org: false\n };\n\n constructor(props) {\n super(props);\n this.register = this.register.bind(this);\n this.confirmCode = this.confirmCode.bind(this);\n this.resend = this.resend.bind(this);\n this.recaptchaRef = React.createRef();\n }\n\n handleClose = () => {\n this.setState({ open: false });\n this.props.dispatch({ type: AUTH_ERROR_CLEAR });\n };\n\n async componentDidMount() {\n //Auth.currentCredentials();\n //global.AWS.config.credentials = await Auth.currentCredentials();\n\n let url = this.props.location.search;\n let params = queryString.parse(url);\n\n if (params.origin) {\n //console.log(params.origin);\n\n try {\n const k = params.origin.split(\":\");\n const org = k[0];\n const provider = k[1];\n const contract = k[2];\n\n if (org && provider && contract) {\n //found all, save it to cache\n Cache.setItem(\"origin\", {\n organisation: org,\n provider: provider,\n contract: contract,\n });\n //window.location = url.split(\"?\")[0];\n window.history.pushState({}, document.title, window.location.pathname);\n this.setState({\n org: org,\n });\n }\n } catch (e) {\n //console.log(\"origin not correct - ignore\");\n }\n }\n }\n\n componentDidUpdate(prevProps) {\n if (\n this.props.errorMessage !== prevProps.errorMessage &&\n this.props.errorMessage !== \"\" &&\n this.props.errorMessage\n ) {\n this.setState({\n open: true,\n error: this.props.errorMessage,\n loading: false,\n });\n }\n if (this.props.needConfirm !== prevProps.needConfirm) {\n this.setState({\n loading: false,\n });\n }\n }\n\n handleChange = (prop) => (event) => {\n var v = event.target.value;\n if (prop === \"firstname\" || prop === \"lastname\") {\n v = v.trimStart();\n //console.log(v);\n }\n this.setState({ [prop]: v });\n };\n handleChangeMobile = (value) => {\n //console.log(value);\n this.setState({\n mobile: value,\n });\n };\n\n handleCloseDialog = () => {\n //console.log(value);\n this.setState({\n openPrivacy: false,\n });\n };\n handleOpenDialog = () => {\n //console.log(value);\n this.setState({\n openPrivacy: true,\n });\n };\n\n handleClickShowPassword = () => {\n this.setState((state) => ({ showPassword: !state.showPassword }));\n };\n\n register(e) {\n e.preventDefault();\n\n let username = this.state.email.trim().toLowerCase();\n let password = this.state.password;\n let passwordconf = this.state.cpassword;\n\n let phone = (this.state.mobile) ? this.state.mobile.trim() : \"\";\n\n let given_name = this.state.firstname.trim();\n let family_name = this.state.lastname.trim();\n let recaptchaValue = this.recaptchaRef.current.getValue();\n\n this.setState({\n loading: true,\n error: \"\",\n open: false,\n });\n\n if (password === passwordconf) {\n if (recaptchaValue) {\n this.props.register(\n {\n username: username,\n password: password,\n email: username,\n phone: phone,\n given_name,\n family_name,\n captcha: recaptchaValue\n },\n this.props.history\n );\n } else {\n this.setState({\n loading: false,\n open: true,\n error: \"Please use the captcha.\",\n });\n }\n } else {\n this.setState({\n loading: false,\n open: true,\n error: \"Passwords should match\",\n });\n }\n }\n\n confirmCode(e) {\n e.preventDefault();\n\n this.props.confirmRegistration(\n { username: this.props.auth.username, code: this.state.code },\n this.props.history\n );\n }\n\n resend(e) {\n this.props.resendConfirmationCode(\n this.props.auth.username,\n this.props.history\n );\n }\n\n render() {\n const {\n horizontal,\n vertical,\n open,\n error,\n loading,\n version,\n openPrivacy,\n org,\n } = this.state;\n\n \n\n const { classes, needConfirm = false, success } = this.props;\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n \n const isRightLength = this.state.password && this.state.password.length >= 8 ? true : false;\n const hasSpecial = /[/\\W|_/g]/.test(this.state.password);\n const hasNumber = this.state.password.match(/\\d/);\n const hasUpperCase = this.state.password.match(/[A-Z]/);\n\n return (\n
    \n
    \n {loading && }\n
    \n\n \n \n \n \n {org && org !== \"skillzminer\" ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n {!needConfirm && (\n
    \n \n Sign up\n \n \n If you have been sent an invitation to join our platform by a 3rd party, please use the link provided in that email.\n \n {!org && (\n \n If you discovered Skillsminer via a QR code or link and haven't signed up yet, please re-scan the QR code or re-click the link\n \n )}\n
    \n \n First name\n \n \n\n \n Last name\n \n \n\n \n Email\n \n \n\n \n Mobile number\n \n \n\n \n Password\n \n {this.state.password.length > 0 && (\n \n \n \n \n {hasUpperCase ? : }\n 1 uppercase character\n \n \n \n \n {hasNumber ? : }\n 1 number\n \n \n \n \n {hasSpecial ? : }\n 1 symbol\n \n \n \n \n {isRightLength ? : }\n 8 characters minimums\n \n \n \n \n )}\n \n \n {this.state.showPassword ? (\n \n ) : (\n \n )}\n \n \n ),\n }}\n required\n />\n \n Confirm password\n \n \n \n {this.state.showPassword ? (\n \n ) : (\n \n )}\n \n \n ),\n }}\n required\n />\n \n \n By signing up, I acknowledge the{\" \"}\n \n Privacy Policy\n \n {\" \"} and {\" \"}\n \n Terms of use\n \n .\n \n\n
    \n \n Sign up\n \n {loading && (\n \n )}\n
    \n \n \n \n Already have a Skillsminer account?{\" \"}\n \n Sign In\n \n \n \n \n Visit\n \n {\" \"} our Youtube Channel\n \n
    \n )}\n\n {needConfirm && (\n
    \n \n Verify your email\n \n \n Thanks for signing up for Skillsminer. You’re just a couple of steps away from unearthing your potential and discovering a world of jobs you never knew you could do. Please verify your email address by entering the confirmation code we sent to {\" \"}\n {this.props.auth.username}\n \n \n \n Confirmation code\n \n \n\n \n Verify\n \n {\" \"}\n \n If you haven't received your confirmation code, please check your spam folder. If it hasn't arrived or has expired, you can request a new code using the button below.\n \n \n Resend Code\n \n
    \n )}\n {org && org !== \"skillzminer\" && (\n \n \n \n Powered By\n \n \n \n \n \n
    \n )}\n
    {version}
    \n
    \n \n \n \n \n\n \n {error}}\n />\n \n\n \n {success}}\n />\n \n\n \n Privacy Policy\n \n \n \n \n \n \n \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return {\n errorMessage: state.auth.error,\n mfaRequired: state.auth.mfa,\n changePassword: state.auth.changePassword,\n currentAuthUser: state.auth.currentAuthUser,\n ...state,\n needConfirm: state.auth.needConfirm,\n success: state.auth.success,\n };\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n {\n register,\n resendConfirmationCode,\n confirmRegistration,\n },\n dispatch\n ),\n dispatch,\n };\n}\n\nSignup = connect(mapStateToProps, mapDispatchToProps)(Signup);\n\nexport default withStyles(styles)(Signup);\n","import { useEffect, useRef } from \"react\";\nimport { withRouter } from \"react-router-dom\";\n\nexport const RestoreScroll = withRouter(({ location }) => {\n const prevLocation = useRef();\n\n useEffect(() => {\n if (prevLocation.current !== location.pathname) {\n window.scrollTo(0, 0);\n prevLocation.current = location.pathname;\n }\n }, [location]);\n return null;\n});\n","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport { Link } from \"react-router-dom\";\nimport Button from \"@material-ui/core/Button\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport { LOGIN } from \"../../constants/routes\";\n//\n\nconst styles = theme => ({\n root: {\n height: \"100vh\"\n },\n image: {\n backgroundImage:\n \"url(https://images.unsplash.com/photo-1504917595217-d4dc5ebe6122?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=1950&q=80)\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n backgroundPosition: \"center\"\n },\n paper: {\n margin: theme.spacing(8, 4),\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\"\n },\n large: {\n width: theme.spacing(10),\n height: theme.spacing(10)\n }\n});\n\nclass Landing extends Component {\n render() {\n const { classes } = this.props;\n return (\n
    \n \n \n \n
    \n \n \n
    \n
    \n
    \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators({}, dispatch),\n dispatch\n };\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(Landing)));\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.6207 2.06898H8.96553C8.96553 2.06898 7.65795 0 6.89655 0H3.44827C2.68687 0 2.06897 0.617255 2.06897 1.3793V17.2414C2.06897 18.0028 2.68687 18.6207 3.44827 18.6207H18.6207C19.3821 18.6207 20 18.0028 20 17.2414V3.44828C20 2.68688 19.3821 2.06898 18.6207 2.06898Z\",\n fill: \"#B4B8BF\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.06897 4.13788H20V9.65514H2.06897V4.13788Z\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.3793 5.51727H20.6897C21.4511 5.51727 22.069 6.13453 22.069 6.89657L20.6897 18.6207C20.6897 19.3821 20.0718 20 19.3104 20H2.7586C1.9972 20 1.3793 19.3821 1.3793 18.6207L0 6.89657C0 6.13446 0.617898 5.51727 1.3793 5.51727Z\",\n fill: \"#EDEFF2\"\n});\n\nvar SvgNavJobs = function SvgNavJobs(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 20,\n viewBox: \"0 0 23 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavJobs, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/nav_jobs.e39a7d16.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.6207 2.06898H8.96556C8.96556 2.06898 7.65798 0 6.89658 0H3.4483C2.6869 0 2.069 0.617255 2.069 1.3793V17.2414C2.069 18.0028 2.6869 18.6207 3.4483 18.6207H18.6207C19.3821 18.6207 20 18.0028 20 17.2414V3.44828C20 2.68688 19.3821 2.06898 18.6207 2.06898Z\",\n fill: \"#FF6A14\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.069 4.13788H20V9.65514H2.069V4.13788Z\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.3793 5.51727H20.6897C21.4511 5.51727 22.069 6.13453 22.069 6.89657L20.6897 18.6207C20.6897 19.3821 20.0718 20 19.3104 20H2.7586C1.9972 20 1.3793 19.3821 1.3793 18.6207L0 6.89657C0 6.13446 0.617898 5.51727 1.3793 5.51727Z\",\n fill: \"#FF6A14\"\n});\n\nvar SvgNavJobsSelected = function SvgNavJobsSelected(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 20,\n viewBox: \"0 0 23 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavJobsSelected, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/nav_jobs_selected.efcc6737.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.0238 15.68L4.04003 17.3075C3.86493 17.403 3.70757 17.5204 3.56116 17.6483C5.30078 19.1151 7.54644 20 10 20C12.4355 20 14.6668 19.1283 16.4015 17.6815C16.2415 17.5464 16.068 17.4249 15.8755 17.3291L12.6804 15.7317C12.2676 15.5253 12.0068 15.1034 12.0068 14.6419V13.3883C12.0966 13.286 12.1993 13.1547 12.3091 12.9996C12.7446 12.3845 13.074 11.7079 13.3023 10.9981C13.7121 10.8717 14.014 10.4932 14.014 10.0434V8.70527C14.014 8.41093 13.8831 8.14791 13.6797 7.96376V6.02942C13.6797 6.02942 14.077 3.01923 10.0004 3.01923C5.9238 3.01923 6.32116 6.02942 6.32116 6.02942V7.96376C6.11739 8.14791 5.98682 8.41093 5.98682 8.70527V10.0434C5.98682 10.3958 6.1721 10.706 6.44946 10.8853C6.7838 12.3407 7.65927 13.3883 7.65927 13.3883V14.6109C7.6589 15.0562 7.41512 15.4664 7.0238 15.68Z\",\n fill: \"#EDEFF2\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1709 0.00148912C4.64904 -0.0928506 0.0958298 4.30715 0.0014901 9.82905C-0.0520949 12.96 1.34338 15.774 3.56527 17.6453C3.71055 17.5185 3.8664 17.4023 4.03961 17.3079L7.02338 15.6804C7.41471 15.4668 7.65848 15.0566 7.65848 14.6106V13.3879C7.65848 13.3879 6.78263 12.3404 6.44867 10.8849C6.17169 10.7057 5.98602 10.3958 5.98602 10.043V8.7049C5.98602 8.41055 6.11697 8.14754 6.32036 7.96338V6.02904C6.32036 6.02904 5.92301 3.01885 9.99961 3.01885C14.0762 3.01885 13.6789 6.02904 13.6789 6.02904V7.96338C13.8826 8.14754 14.0132 8.41055 14.0132 8.7049V10.043C14.0132 10.4928 13.7113 10.8713 13.3015 10.9977C13.0732 11.7075 12.7438 12.3841 12.3083 12.9992C12.1985 13.1543 12.0958 13.2857 12.006 13.3879V14.6415C12.006 15.103 12.2668 15.5253 12.6796 15.7313L15.8747 17.3287C16.0664 17.4245 16.2396 17.5457 16.3992 17.6804C18.554 15.8834 19.946 13.1966 19.9977 10.1709C20.0928 4.64904 15.6932 0.0958288 10.1709 0.00148912Z\",\n fill: \"#B4B8BF\"\n});\n\nvar SvgNavProfile = function SvgNavProfile(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavProfile, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/nav_profile.41f7e4ba.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.0238 15.68L4.04003 17.3075C3.86493 17.403 3.70757 17.5204 3.56116 17.6483C5.30078 19.1151 7.54644 20 10 20C12.4355 20 14.6668 19.1283 16.4015 17.6815C16.2415 17.5464 16.068 17.4249 15.8755 17.3291L12.6804 15.7317C12.2676 15.5253 12.0068 15.1034 12.0068 14.6419V13.3883C12.0966 13.286 12.1993 13.1547 12.3091 12.9996C12.7446 12.3845 13.074 11.7079 13.3023 10.9981C13.7121 10.8717 14.014 10.4932 14.014 10.0434V8.70527C14.014 8.41093 13.8831 8.14791 13.6797 7.96376V6.02942C13.6797 6.02942 14.077 3.01923 10.0004 3.01923C5.9238 3.01923 6.32116 6.02942 6.32116 6.02942V7.96376C6.11739 8.14791 5.98682 8.41093 5.98682 8.70527V10.0434C5.98682 10.3958 6.1721 10.706 6.44946 10.8853C6.7838 12.3407 7.65927 13.3883 7.65927 13.3883V14.6109C7.6589 15.0562 7.41512 15.4664 7.0238 15.68Z\",\n fill: \"#FBE0D0\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1709 0.00148912C4.64904 -0.0928506 0.0958298 4.30715 0.0014901 9.82905C-0.0520949 12.96 1.34338 15.774 3.56527 17.6453C3.71055 17.5185 3.8664 17.4023 4.03961 17.3079L7.02338 15.6804C7.41471 15.4668 7.65848 15.0566 7.65848 14.6106V13.3879C7.65848 13.3879 6.78263 12.3404 6.44867 10.8849C6.17169 10.7057 5.98602 10.3958 5.98602 10.043V8.7049C5.98602 8.41055 6.11697 8.14754 6.32036 7.96338V6.02904C6.32036 6.02904 5.92301 3.01885 9.99961 3.01885C14.0762 3.01885 13.6789 6.02904 13.6789 6.02904V7.96338C13.8826 8.14754 14.0132 8.41055 14.0132 8.7049V10.043C14.0132 10.4928 13.7113 10.8713 13.3015 10.9977C13.0732 11.7075 12.7438 12.3841 12.3083 12.9992C12.1985 13.1543 12.0958 13.2857 12.006 13.3879V14.6415C12.006 15.103 12.2668 15.5253 12.6796 15.7313L15.8747 17.3287C16.0664 17.4245 16.2396 17.5457 16.3992 17.6804C18.554 15.8834 19.946 13.1966 19.9977 10.1709C20.0928 4.64904 15.6932 0.0958288 10.1709 0.00148912Z\",\n fill: \"#FF6A14\"\n});\n\nvar SvgNavProfileSelected = function SvgNavProfileSelected(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavProfileSelected, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/nav_profile_selected.4712f897.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.68213 9.84482H8.31682V16.8265H10.8557V9.84482H11.4904V7.94073H7.68213V9.84482Z\",\n fill: \"#EDEFF2\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8374 7.94073H14.0292V9.84482H14.6639V16.8265H17.2027V9.84482H17.8374V7.94073Z\",\n fill: \"#EDEFF2\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.33521 9.84482H1.9699V16.8265H4.50873V9.84482H5.14343V7.94073H1.33521V9.84482Z\",\n fill: \"#EDEFF2\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1547 17.4612V15.5571H1.01782V17.4612H0.224487V20H18.9481V17.4612H18.1547Z\",\n fill: \"#B4B8BF\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8.06476L9.5863 0L19.1726 8.06476H0Z\",\n fill: \"#B4B8BF\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5863 7.94073V16.8265H10.8557V9.84482H11.4904V7.94073H9.5863Z\",\n fill: \"#EDEFF2\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5863 0V8.06476H19.1726L9.5863 0Z\",\n fill: \"#B4B8BF\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1547 17.4612V15.5571H9.5863V20H18.9481V17.4612H18.1547Z\",\n fill: \"#B4B8BF\"\n});\n\nvar SvgNavMissions = function SvgNavMissions(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavMissions, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/nav_missions.4aae0591.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.68213 9.84482H8.31682V16.8265H10.8557V9.84482H11.4904V7.94073H7.68213V9.84482Z\",\n fill: \"#FBE0D0\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8374 7.94073H14.0292V9.84482H14.6639V16.8265H17.2027V9.84482H17.8374V7.94073Z\",\n fill: \"#FBE0D0\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.33521 9.84482H1.9699V16.8265H4.50873V9.84482H5.14343V7.94073H1.33521V9.84482Z\",\n fill: \"#FBE0D0\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1547 17.4612V15.5571H1.01782V17.4612H0.224487V20H18.9481V17.4612H18.1547Z\",\n fill: \"#FF6A14\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0 8.06476L9.5863 0L19.1726 8.06476H0Z\",\n fill: \"#FF6A14\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5863 7.94073V16.8265H10.8557V9.84482H11.4904V7.94073H9.5863Z\",\n fill: \"#FBE0D0\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.5863 0V8.06476H19.1726L9.5863 0Z\",\n fill: \"#FF6A14\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1547 17.4612V15.5571H9.5863V20H18.9481V17.4612H18.1547Z\",\n fill: \"#FF6A14\"\n});\n\nvar SvgNavMissionsSelected = function SvgNavMissionsSelected(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNavMissionsSelected, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/nav_missions_selected.e8e5c6a2.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Typography, Grid } from \"@material-ui/core\";\nimport FiberManualRecordIcon from '@material-ui/icons/FiberManualRecord';\nimport DoneIcon from '@material-ui/icons/Done';\nimport { Cache } from \"aws-amplify\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport {\n getAppliedJobs,\n setJobItemRead,\n setSelectedJob\n} from \"../../actions/job_actions\";\nimport {\n setNotification,\n setNotificationAmount,\n setProjectedSkills,\n setSkillNotfiction\n} from \"../../actions/user_actions\";\nimport _ from 'lodash';\nimport moment from 'moment';\nimport { withRouter } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme) => ({\n alertModal: {\n width: 320,\n height: 300,\n backgroundColor: \"#ffffff\",\n position: \"fixed\",\n zIndex: 1000,\n right: 10,\n top: 75,\n boxShadow: \"3px 3px 7px 0px\",\n overflowY: \"auto\"\n },\n padding25: {\n padding: 25,\n paddingBottom: 0,\n margin: 0\n },\n hrColor: {\n backgroundColor: \"#EDEFF2\",\n height: 1,\n width: \"100%\",\n marginTop: 5\n },\n fontSizeSmall: {\n fontSize: 10\n },\n fontSizeMedium: {\n fontSize: 16\n },\n smallFontGrey: {\n color: \"#959596\",\n textAlign: \"right\",\n fontSize: 10\n },\n description: {\n marginTop: 10\n },\n containerRow: {\n padding: 25,\n paddingBottom: 0,\n margin: 0,\n cursor: \"pointer\"\n }\n}));\n\nfunction NotificationsCenter(props){\n \n let classes = useStyles();\n let jobList = [];\n let [fetchJobs, setFetchJobs] = React.useState(false);\n let [amount, setAmount] = React.useState(0);\n let display = props.display;\n let setDisplay = props.setDisplay;\n const { user:{ skillValidationRequests={}, projectedSkills={}}, jobs: {appliedJobs=[], favourited=[]}} = props;\n const {completed=[], requests=[]} = skillValidationRequests;\n const {read=[], unread=[]}= projectedSkills;\n\n if (!fetchJobs){\n setFetchJobs(true);\n props.getAppliedJobs();\n }\n\n if((appliedJobs && appliedJobs.length > 0) || (favourited && favourited.length > 0)){\n jobList = appliedJobs.concat(favourited.filter(item => item.isInvited))\n jobList = JSON.stringify(jobList);\n jobList = JSON.parse(jobList);\n // console.log(\"jobList\")\n // console.log(jobList)\n jobList = _.filter(jobList, (item) => {\n if (!item.qual_name){\n if (item.isInvited && !item.read){\n item.notificationDate = moment(item.savedTimestamp).fromNow();\n item.notificationTitle = \"Job Application Invite\";\n item.color = \"#93D69E\";\n item.notificationClick = () => {\n Cache.setItem(\"sm_current_tab\", 4);\n props.history.push(\"/app/jobs\");\n // console.log(\"apply click 0\")\n setTimeout(() => {\n props.setNotification(\"saved\");\n }, 100);\n props.setSelectedJob(item.jobId, item.jobTitle, item.occupation, item.tier_one_category);\n // props.history.push(\"/app/jobs/details\");\n };\n item.icon = ;\n item.notificationDesc = `You have been invited to apply for: ${item.jobTitle}. Click here to view your saved job list and apply.`\n return item;\n }\n else if (typeof item.interview === \"undefined\" && !item.unsuccessful && !item.read){\n item.notificationDate = moment(item.savedTimestamp).fromNow();\n item.notificationTitle = \"Job Status\";\n item.color = \"#93D69E\";\n item.notificationClick = () => {\n Cache.setItem(\"sm_current_tab\", 5);\n props.history.push(\"app/jobs\");\n // console.log(\"apply click\")\n setTimeout(() => {\n props.setNotification(\"applied\");\n }, 100);\n props.setSelectedJob(item.jobId, item.jobTitle, item.occupation, item.tier_one_category);\n // props.history.push(\"/app/jobs/details\");\n };\n item.icon = ;\n item.notificationDesc = `${item.jobTitle}. Click here to go to your applied list and change your status.`\n return item;\n } else if (typeof item.started === \"undefined\" && !item.unsuccessful && !item.read){\n\n item.notificationDate = moment(item.savedTimestamp).fromNow();\n item.notificationTitle = \"Job Status\";\n item.notificationClick = () => {\n Cache.setItem(\"sm_current_tab\", 5);\n props.history.push(\"app/jobs\");\n // console.log(\"apply click 2\")\n setTimeout(() => {\n props.setNotification(\"applied\");\n }, 100);\n props.setSelectedJob(item.jobId, item.jobTitle, item.occupation, item.tier_one_category);\n // props.history.push(\"/app/jobs/details\");\n }\n item.color = \"#93D69E\";\n item.icon = ;\n item.notificationDesc = `${item.jobTitle}. Click here to go to your applied list and change your status.`\n return item;\n } else {\n return false;\n }\n } else {\n if (typeof item.interview === \"undefined\" && !item.unsuccessful && !item.read){\n item.notificationDate = moment(item.savedTimestamp).fromNow();\n item.notificationTitle = \"Training Status 1\";\n item.color = \"#6A99FC\";\n item.icon = ;\n item.notificationClick = () => {\n Cache.setItem(\"sm_current_tab\", 5);\n props.history.push(\"app/jobs\");\n setTimeout(() => {\n props.setNotification(\"applied\");\n }, 100);\n props.setSelectedJob(item.qual_id, item.qual_name, item.occupation, item.tier_one_category, true);\n // props.history.push(\"/app/jobs/details\");\n \n };\n item.notificationDesc = `${item.qual_name}. Click here to go to your applied list and change your status.`\n return item;\n } else if (typeof item.started === \"undefined\" && !item.unsuccessful && !item.read){\n\n item.notificationDate = moment(item.savedTimestamp).fromNow();\n item.notificationTitle = \"Training Status\";\n item.color = \"#6A99FC\";\n item.icon = ;\n item.notificationClick = () => {\n Cache.setItem(\"sm_current_tab\", 5);\n props.history.push(\"app/jobs\");\n setTimeout(() => {\n props.setNotification(\"applied\");\n }, 100);\n props.setSelectedJob(item.qual_id, item.qual_name, item.occupation, item.tier_one_category, true);\n // props.history.push(\"/app/jobs/details\");\n \n }\n item.notificationDesc = `${item.qual_name}. Click here to go to your applied list and change your status.`\n return item;\n } else {\n return false;\n }\n }\n });\n }\n \n\n if(requests && requests.length > 0){\n jobList = [...jobList, ...requests.map((item) => {\n return {\n ...item,\n isValidation: true,\n savedTimestamp: item.requestedAt,\n notificationDate: moment(item.requestedAt).fromNow(),\n notificationTitle: \"Skill Validation Request\",\n color: \"#93D69E\",\n notificationClick: () => {\n props.history.push(\"profile\");\n },\n icon: ,\n notificationDesc: \"Skill: \" + item.skill + \". Click here validate the skill.\"\n }\n })]\n }\n if(unread && unread.length > 0){\n jobList = [...jobList, ...unread.map((item) => {\n return {\n ...item,\n isProjection: true,\n savedTimestamp: item.projectedAt,\n notificationDate: moment(item.projectedAt).fromNow(),\n notificationTitle: \"Skill Evaluated\",\n color: \"#93D69E\",\n notificationClick: () => {\n props.history.push(\"profile\");\n },\n icon: ,\n notificationDesc: \"'\" + item.skill + \"' has been evaluated by \" + item.projectedByName + \". Click to view. \"\n }\n })]\n }\n jobList = _.orderBy(jobList, \"savedTimestamp\", \"desc\");\n\n\n if (amount !== jobList.length){\n props.setNotificationAmount(jobList.length);\n setAmount(jobList.length);\n }\n\n if (jobList.length === 0){\n let item = {};\n // item.notificationDate = moment(item.savedTimestamp).fromNow();\n item.notificationTitle = \"No actions pending\";\n item.color = \"#6A99FC\";\n item.notificationClick = () => {}\n item.notificationDesc = `All caught up, way to go!`\n item.icon = ;\n jobList.push(item);\n\n }\n\n return
    {\n setDisplay(false);\n }} style={{top: 0, zIndex: 100000, position: \"fixed\", width: \"100%\", height: \"100%\", display: (display) ? \"block\": \"none\" }}>\n
    \n \n Notifications\n \n
    \n {jobList.map((object, i) => {\n return {\n e.stopPropagation();\n object.notificationClick();\n if(object.isValidation){\n props.setSkillNotfiction(object.skill)\n }\n else if(object.isProjection){\n props.setProjectedSkills(object.skill)\n }\n else{\n props.setJobItemRead(object)\n }\n setDisplay(false);\n }} key={`${i}-notifcation`} container className={`${classes.containerRow}`}>\n \n {object.icon}\n \n \n   {object.notificationTitle}\n \n \n {object.notificationDate}\n \n \n {object.notificationDesc}\n \n
    \n
    \n })}\n
    \n
    \n}\n\nfunction mapStateToProps(state) {\n return state;\n }\n \n function mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators({ getAppliedJobs, setNotification, setNotificationAmount, setJobItemRead, setSelectedJob, setProjectedSkills, setSkillNotfiction}, dispatch),\n dispatch,\n };\n }\n \n export default connect(\n mapStateToProps,\n mapDispatchToProps\n )(withRouter(NotificationsCenter));\n ","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Divider from \"@material-ui/core/Divider\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport Avatar from \"@material-ui/core/Avatar\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport Menu from \"@material-ui/core/Menu\";\nimport MoreVert from \"@material-ui/icons/MoreVert\";\nimport ExpandIcon from \"@material-ui/icons/ExpandMore\";\nimport Button from \"@material-ui/core/Button\";\nimport PropTypes from \"prop-types\";\nimport useScrollTrigger from \"@material-ui/core/useScrollTrigger\";\nimport { Link } from \"react-router-dom\";\nimport * as ROUTES from \"../../constants/routes\";\nimport { logout } from \"../../actions/auth_actions\";\nimport { withRouter } from \"react-router-dom\";\nimport { Hidden, Typography, Badge } from \"@material-ui/core\";\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as SmallCoin } from \"../Common/Icons/smallCoin.svg\";\n\nimport { ReactComponent as JobsIcon } from \"../Common/Icons/nav_jobs.svg\";\nimport { ReactComponent as JobsSelectedIcon } from \"../Common/Icons/nav_jobs_selected.svg\";\n\nimport { ReactComponent as ProfileIcon } from \"../Common/Icons/nav_profile.svg\";\nimport { ReactComponent as ProfileSelectedIcon } from \"../Common/Icons/nav_profile_selected.svg\";\n\nimport { ReactComponent as MissionsIcon } from \"../Common/Icons/nav_missions.svg\";\nimport { ReactComponent as MissionsSelectedIcon } from \"../Common/Icons/nav_missions_selected.svg\";\nimport DescriptionTwoToneIcon from '@material-ui/icons/DescriptionTwoTone';\nimport NotificationsIcon from '@material-ui/icons/Notifications';\nimport SearchIcon from '@material-ui/icons/Search';\nimport CloseIcon from '@material-ui/icons/Close';\nimport NotificationsCenter from \"./NotificationsCenter\";\nimport {\n setNotificationAmount\n} from \"../../actions/user_actions\";\nimport {\n autoCompleteOccupation,\n triggerCustomerPortal\n} from \"../../actions/applicationAssistant_action\";\n\nimport {\n manualOccSearch,\n addOccupationFilter,\n} from \"../../actions/job_actions\";\n\n\nimport { EntitiesSearch } from \"./EntitiesSearch\";\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n logo: {\n maxWidth: 130,\n maxHeight: 30,\n marginTop: 2,\n marginRight: 20,\n flexGrow: 1,\n [theme.breakpoints.down(\"sm\")]: {\n maxHeight: 30,\n maxWidth: 86,\n marginRight: 10,\n },\n [theme.breakpoints.down(\"xs\")]: {\n maxHeight: 28,\n maxWidth: 58,\n marginRight: 2,\n },\n },\n logocont: {\n flexGrow: 1,\n },\n menuitem: {\n minWidth: 150,\n },\n appbar: {\n maxHeight:64,\n minHeight:64,\n backgroundColor: \"white\",\n //boxShadow : \"0px 0px 0px 1px #DDE0E5\"\n //color: theme.palette.getContrastText(backgroundColorDefault)\n },\n button: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n marginRight: 5,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 10,\n },\n [theme.breakpoints.down(\"sm\")]: {\n paddingLeft: theme.spacing(1),\n paddingRight: theme.spacing(1),\n marginRight: 3,\n },\n },\n buttonlabel: {\n fontWeight: \"normal\",\n },\n toolbar: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n\n [theme.breakpoints.down(\"sm\")]: {\n paddingLeft: 5,\n paddingRight: 5,\n },\n [theme.breakpoints.up(1250 + theme.spacing(3))]: {\n width: 1250,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n overflow: \"hidden\",\n },\n avatarbutton: {\n marginRight: 5,\n },\n name: {\n display: \"inline\",\n fontSize: 14,\n color: \"#5A6375\",\n fontWeight: \"normal\",\n cursor: \"pointer\",\n },\n expand: {\n width: 20,\n height: 30,\n color: \"#B4B8BF\",\n marginLeft: 3,\n marginBottom: -10,\n },\n colorGrey: {\n color: \"#b4b8bf\"\n },\n profileMenu:{\n display: \"flex\",\n alignItems: \"center\",\n width:\"auto\",\n [theme.breakpoints.down(\"sm\")]: {\n width:30\n },\n }\n});\n\nfunction ElevationScroll(props) {\n const { children, window } = props;\n // Note that you normally won't need to set the window ref as useScrollTrigger\n // will default to window.\n // This is only being set here because the demo is in an iframe.\n const trigger = useScrollTrigger({\n disableHysteresis: true,\n threshold: 0,\n target: window ? window() : undefined,\n });\n\n return React.cloneElement(children, {\n elevation: trigger ? 2 : 10,\n });\n}\n\nElevationScroll.propTypes = {\n children: PropTypes.element.isRequired,\n /**\n * Injected by the documentation to work in an iframe.\n * You won't need it on your project.\n */\n window: PropTypes.func,\n};\n\nclass Navigation extends Component {\n state = {\n open: false,\n anchorEl: null,\n };\n\n handleMenu = (event) => {\n this.setState({\n anchorEl: event.currentTarget,\n open: true,\n });\n };\n handleClose = () => {\n this.setState({\n anchorEl: null,\n open: false,\n });\n };\n\n getVariant(route) {\n if (this.props.location.pathname.indexOf(route) === 0) {\n return \"primary\";\n } else {\n return \"default\";\n }\n }\n\n componentDidMount() {}\n\n render() {\n const {\n classes,\n user: {\n fullName = \"\",\n firstName = \"\",\n //lastName = \"\",\n //email = \"\",\n showChat = true,\n profileImageURL = \"\",\n customNavLogo = false,\n contractDetails = {},\n notificationAmount = 0,\n orgDetails = {},\n desiredExp = [],\n preferredOccupations = [],\n previousOccupations = [],\n internalMobilityProvider,\n internalMobilityRoles\n },\n jobs: {\n fetchingJobs = false\n },\n rewards : {\n coins = 0\n },\n triggerCustomerPortal\n } = this.props;\n\n let user = this.props.user;\n let viewPermissions = {};\n if (user.providerDetails && user.providerDetails.viewPermissions) {\n viewPermissions = user.providerDetails.viewPermissions;\n }\n\n let occList = []\n\n for (const idx in desiredExp) {\n if(idx){\n occList.push(preferredOccupations[idx])\n }\n }\n occList.push(...previousOccupations)\n \n\n const careerpathwayTitle = () => {\n if (user && user.providerDetails.viewPermissions){\n if ((!user.providerDetails.viewPermissions.jobsCheckbox || !viewPermissions.promotedJobsCheckbox) && !user.providerDetails.viewPermissions.trainingCheckbox){\n return \"Career Pathway\";\n } else if ((user.providerDetails.viewPermissions.jobsCheckbox || viewPermissions.promotedJobsCheckbox) && !user.providerDetails.viewPermissions.trainingCheckbox){\n return \"Training\";\n } else {\n return \"Jobs\";\n }\n } else {\n return \"Career Pathway\";\n }\n }\n\n const { anchorEl } = this.state;\n const open = Boolean(anchorEl);\n let [hideNotification, setHideNotifcation] = React.useState(false);\n let [searchBar, setSearchBar] = React.useState(false);\n const { hideMissions = false, jobsType = 0 } = contractDetails;\n let orgName = (orgDetails.name) ? orgDetails.name : false;\n let orgInfo = (orgDetails.infoText) ? orgDetails.infoText : false;\n\n let hideMissonCheck;\n if (!viewPermissions.missionCheckbox && !viewPermissions.interventionCheckbox){\n hideMissonCheck = true\n } else if (!viewPermissions.missionCheckbox || !viewPermissions.interventionCheckbox){\n hideMissonCheck = true\n } else {\n hideMissonCheck = false;\n }\n\n let hideAACheck;\n if (!viewPermissions.cvBuilderCheckbox){\n hideAACheck = true\n }\n\n const bigMenu = () => {\n return (\n <>\n \n \n ) : (\n \n )\n }\n >\n {careerpathwayTitle()}\n \n \n {hideMissonCheck && (\n \n \n ) : (\n \n )\n }\n >\n Missions\n \n \n )}\n \n \n ) : (\n \n )\n }\n >\n Profile\n \n \n {hideAACheck && (\n \n \n {\n this.getVariant(ROUTES.APPLICATION_ASSISTANT) === \"primary\" ? (\n \n ) : (\n \n )\n }\n \n }\n >\n Application Assistant\n \n \n )}\n \n )\n }\n\n const smallMenu =() => {\n return (\n <>\n \n \n {this.getVariant(ROUTES.JOBS) === \"primary\" ? (\n \n ) : (\n \n )}\n \n \n {hideMissonCheck && (\n \n \n {this.getVariant(ROUTES.MISSIONS) === \"primary\" ? (\n \n ) : (\n \n )}\n \n \n )}\n \n \n {this.getVariant(ROUTES.PROFILE) === \"primary\" ? (\n \n ) : (\n \n )}\n \n \n {hideAACheck && (\n \n \n {\n this.getVariant(ROUTES.APPLICATION_ASSISTANT) === \"primary\" ? (\n \n ) : (\n \n )}\n \n \n )}\n \n )\n }\n\n const smallSettings = () => {\n return (\n <>\n \n {\n let h = (hideNotification) ? false : true;\n setHideNotifcation(h);\n }}\n size=\"small\"\n color={this.getVariant(ROUTES.PROFILE)}\n >\n \n \n \n \n )\n }\n return (\n \n \n \n \n \n
    \n \n \n {!customNavLogo && }\n {customNavLogo && (\n \n )}\n \n \n \n \n \n {searchBar ? smallMenu() : bigMenu()}\n \n \n {bigMenu()}\n \n\n \n \n \n {return await this.props.autoCompleteOccupation(value)}}\n onSelect={this.props.manualOccSearch}\n addOccupationFilter={this.props.addOccupationFilter}\n occList={occList}\n interalRolesOnly={internalMobilityProvider ? true : false}\n internalMobilityRoles={internalMobilityRoles}\n \n />\n \n \n {searchBar && (\n {return await this.props.autoCompleteOccupation(value)}}\n onSelect={this.props.manualOccSearch}\n addOccupationFilter={this.props.addOccupationFilter}\n occList={occList}\n interalRolesOnly={internalMobilityProvider ? true : false}\n internalMobilityRoles={internalMobilityRoles}\n />\n )}\n \n \n setSearchBar(!searchBar)}>\n {searchBar ? () : ()}\n \n \n \n \n \n\n\n\n \n \n \n {smallMenu()}\n \n \n {!searchBar && smallMenu()}\n \n \n \n {searchBar && (\n {return await this.props.autoCompleteOccupation(value)}}\n onSelect={this.props.manualOccSearch}\n addOccupationFilter={this.props.addOccupationFilter}\n occList={occList}\n interalRolesOnly={internalMobilityProvider ? true : false}\n internalMobilityRoles={internalMobilityRoles}\n />\n )}\n setSearchBar(!searchBar)}>\n {searchBar ? () : ()}\n \n \n \n \n {smallSettings()}\n \n \n {!searchBar && smallSettings()}\n \n \n \n \n \n \n
    \n
    \n \n \n \n \n \n\n {fullName !== \"\" && (\n <>\n \n \n {\n let h = (hideNotification) ? false : true;\n setHideNotifcation(h);\n }}\n style={{color: (!hideNotification) ? \"#b4b8bf\" : \"#E16A23\"}}\n color={this.getVariant(ROUTES.PROFILE)}\n > \n \n \n \n {firstName.charAt(0)}\n \n \n {\" \"}\n \n \n {fullName}\n \n \n \n \n )}\n\n \n {/* \n Chat\n \n */}\n\n {fullName}\n \n {\"Coins: \" + coins}\n \n \n \n {\n const portal = await triggerCustomerPortal()\n if(portal && portal.url){\n window.location.replace(portal.url)\n }\n }}\n className={classes.menuitem}\n >\n Manage Billing\n \n \n \n Settings\n \n \n\n {(orgName && orgInfo) && \n \n {orgName}\n \n }\n {(orgName && orgInfo) && \n \n }\n \n \n Privacy Policy\n \n \n \n \n FAQs\n \n \n {\n this.handleClose();\n this.props.logout(null, this.props.history);\n }}\n className={classes.menuitem}\n >\n Logout\n \n \n
    \n
    \n \n
    \n
    \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators({ logout, setNotificationAmount, autoCompleteOccupation, manualOccSearch, triggerCustomerPortal, addOccupationFilter }, dispatch),\n dispatch,\n };\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(Navigation)));\n","import React, { Component, useState, useEffect } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Button from \"@material-ui/core/Button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport Switch from '@material-ui/core/Switch';\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\nimport { ReactComponent as Mountains } from \"../Auth/Icons/mountains.svg\";\nimport TextField from \"@material-ui/core/TextField\";\nimport { submitDemographics, getinternalMobilityDemographics, submitDemographicsInternalMobility, reOpenDemographics } from \"../../actions/user_actions\";\nimport {MenuItem, Select, OutlinedInput, Divider} from '@material-ui/core';\nimport green from \"@material-ui/core/colors/green\";\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport FormControl from '@material-ui/core/FormControl';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport ReactSelect from \"react-select\";\nimport HelpIcon from '@material-ui/icons/Help';\nimport IconButton from '@material-ui/core/IconButton';\nimport moment from \"moment\";\nimport config from \"../../config\";\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n zIndex: 12000,\n position: \"absolute\",\n backgroundColor: \"#F8F9FA\",\n width: \"100%\",\n height: \"100%\",\n overflow: 'scroll' \n },\n backdrop: {\n zIndex: 8000,\n },\n form: {\n width: \"100%\", // Fix IE 11 issue.\n //marginTop: theme.spacing(1)\n },\n formhold: {\n marginLeft: theme.spacing(4),\n marginRight: 27,\n marginTop: theme.spacing(4),\n marginBottom: 20,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2),\n },\n },\n grid: {\n minHeight: \"100vh\",\n },\n main: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n minWidth: 720,\n maxWidth: 720,\n [theme.breakpoints.down(740)]: {\n maxWidth: 600,\n minWidth: 600,\n },\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: \"100vh\",\n minWidth: 100,\n },\n },\n logingrid: {\n minHeight: 450,\n },\n button: {\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(1),\n marginBottom: 14,\n },\n },\n textField: {\n marginTop: 0,\n marginBottom: 0,\n fontSize: 14,\n },\n progress: {},\n progressCont: {\n height: 3,\n [theme.breakpoints.down(\"md\")]: {\n height: 2,\n },\n [theme.breakpoints.up(\"md\")]: {\n height: 3,\n },\n },\n marginLabel: {\n margin: 20,\n marginBottom: 0,\n marginTop: 10,\n },\n snack: {\n marginTop: 10,\n },\n error: {\n backgroundColor: theme.palette.error.dark,\n },\n success: {\n backgroundColor: green[600],\n },\n version: {\n fontSize: 9,\n color: \"#bbb\",\n textAlign: \"right\",\n marginTop: 3,\n marginRight: theme.spacing(2),\n marginBottom: 5,\n },\n buttonProgress: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n marginTop: -12,\n marginLeft: -12,\n },\n wrapper: {\n position: \"relative\",\n },\n logo: {\n width: 167,\n height: 40,\n marginBottom: 27,\n marginTop: 20,\n },\n mountainsgrid: {\n backgroundColor: \"#FDEFE7\",\n //height: \"100%\"\n borderTopRightRadius: 8,\n borderBottomRightRadius: 8,\n overflow: \"hidden\",\n display: \"flex\",\n },\n mountains: {\n width: \"105%\",\n marginLeft: -1,\n alignSelf: \"flex-end\",\n marginBottom: -15,\n [theme.breakpoints.down(\"xs\")]: {\n width: \"160%\",\n height: \"160%\",\n marginBottom: -80,\n alignSelf: \"flex-start\",\n },\n },\n title: {\n fontSize: 32,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 25,\n },\n\n [theme.breakpoints.down(\"xs\")]: {},\n },\n titlesubheading:{\n textAlign: \"center\",\n color: \"#5A6375\",\n fontSize: 26,\n marginBottom: theme.spacing(2),\n },\n subtitle: {\n color: \"#202A3E\",\n fontSize: 14,\n marginTop: 3,\n marginBottom: theme.spacing(2),\n },\n formtitle: {\n color: \"#202A3E\",\n fontSize: 16,\n marginBottom: 4,\n marginTop: 18,\n },\n privacy: {\n color: \"#5A6375\",\n fontSize: 12,\n textAlign: \"left\",\n marginTop: 16,\n },\n tfroot: {\n fontSize: 14,\n backgroundColor: \"#F5F6F7\",\n },\n tfoutline: {\n border: \"none\",\n },\n signup: {\n color: \"#5A6375\",\n fontSize: 14,\n marginTop: 14,\n textAlign: \"center\",\n },\n formControl: {\n margin: theme.spacing(1),\n minWidth: 120,\n },\n selectEmpty: {\n marginTop: theme.spacing(2),\n },\n poweredBylogo:{\n height: 40, \n width: 165 \n },\n orgLogo:{\n maxHeight: 160,\n },\n textFieldSmall: {\n height:30,\n fontSize:12,\n backgroundColor:\"white\"\n },\n filterItem: {\n display: 'flex',\n justifyContent: 'center',\n fontSize: '14px',\n opacity: '.7',\n fontWeight: '500',\n flexDirection: 'column',\n textAlign: 'center',\n alignItems: 'center',\n whiteSpace: 'nowrap'\n }\n});\n\nconst LineManagerSelector = ({availableLineManagers=[], newLineManager, classes, onChange, isVerified}) => {\n const [currentLineManager, setCurrentLineManager] = useState(false)\n const [createNew, setCreateNew] = useState(false)\n const [createNewPlaceHolder, setCreateNewPlaceHolder] = useState(false)\n const options = availableLineManagers.filter((item) => item.userID === currentLineManager || !item.softDisabled).map((item) => {return{value:item.userID, label: item.name + \" (\" + item.email + \")\"}})\n const currentLineManagerObject = newLineManager ? options.find((item) => item.value === newLineManager) : false\n\n useEffect(() => {\n async function checkIfCreatingNew() {\n if(availableLineManagers && newLineManager){\n if(isVerified === \"n\"){\n setCreateNew(true)\n setCreateNewPlaceHolder(newLineManager)\n }\n setCurrentLineManager(newLineManager)\n }\n }\n checkIfCreatingNew()\n }, [availableLineManagers]);\n \n return(\n \n \n \n \n \n \n {createNew ? \"Enter Line Manager name or email:\" : \"Please Select:\"}\n \n \n \n \n {\n onChange(false)\n setCreateNew(!createNew)\n }}\n /> \n Create New \n \n \n \n \n {createNew ? (\n <>\n \n {\n onChange(event.target.value)\n }}\n variant=\"outlined\"\n fullWidth\n />\n \n \n \n Newly created Line Managers will be manually invited by HR Managers\n \n \n \n ) : (\n <>\n \n {\n onChange(event.value)\n }}\n options={options}\n />\n \n \n \n If your current Line Manager does not appear in the selection, click \"Create New\" to manually enter their name and/or email.\n \n \n \n )}\n \n {/* */}\n \n )\n}\n\nconst DepartmentSelector = ({availableDepartments=[], newDepartment, classes, onChange, isVerified}) => {\n const [currentDepartment, setCurrentDepartment] = useState(false)\n const [createNew, setCreateNew] = useState(false)\n const [createNewPlaceHolder, setCreateNewPlaceHolder] = useState(false)\n const options = availableDepartments.filter((item) => item.ID === currentDepartment || !item.disabled).map((item) => {return{value:item.ID, label: item.departmentName}})\n const currentDepartmentObject = newDepartment ? options.find((item) => item.value === newDepartment) : false\n\n useEffect(() => {\n async function checkIfCreatingNew() {\n if(availableDepartments && newDepartment){\n if(isVerified === \"n\"){\n setCreateNew(true)\n setCreateNewPlaceHolder(newDepartment)\n }\n setCurrentDepartment(newDepartment)\n }\n }\n checkIfCreatingNew()\n }, [availableDepartments]);\n\n return(\n \n \n \n \n \n \n {createNew ? \"Enter Department Name:\" : \"Please Select:\"}\n \n \n \n \n {\n onChange(false)\n setCreateNew(!createNew)\n }}\n /> \n Create New \n \n \n \n \n {createNew ? (\n <>\n \n {\n onChange(event.target.value)\n }}\n variant=\"outlined\"\n fullWidth\n />\n \n \n \n Newly created departments require verification by HR Managers\n \n \n \n ) : (\n <>\n \n {\n onChange(event.value)\n }}\n options={options}\n />\n \n \n \n If your department does not appear in the selection, click \"Create New\" to manually enter the department name\n \n \n \n )}\n \n {/* */}\n \n )\n}\n\nconst RoleSelector = ({availableRoles=[], newRole, classes, onChange}) => {\n const [currentRole, setCurrentRole] = useState(false)\n const [createNew, setCreateNew] = useState(false)\n const options = availableRoles.filter((item) => item.ID === newRole || !item.disabled).map((item) => {return{value:item.ID, label: item.roleName}})\n const currentRoleObject = newRole ? options.find((item) => item.value === newRole) : false\n\n useEffect(() => {\n async function checkIfCreatingNew() {\n if(availableRoles && newRole){\n setCurrentRole(newRole)\n }\n }\n checkIfCreatingNew()\n }, [availableRoles]);\n\n return(\n \n \n \n \n \n \n {createNew ? \"Enter Role Name:\" : \"Please Select:\"}\n \n \n \n \n {\n onChange(false)\n setCreateNew(!createNew)\n }}\n /> \n Create New \n \n \n \n \n {createNew ? (\n <>\n \n {\n onChange(event.target.value)\n }}\n variant=\"outlined\"\n fullWidth\n />\n \n \n \n Newly created roles require verification by HR Managers. Until verified you cannot progress to the next stage. Please ensure your current role isn't already listed\n \n \n \n ) : (\n <>\n \n {\n onChange(event.value)}\n }\n options={options}\n />\n \n \n \n If your role does not appear in the selection, click \"Create New\" to manually enter the role title\n \n \n \n )}\n \n \n )\n}\n\nconst FreeTextQuestion = ({question, classes, onChange}) => {\n return(\n \n \n \n {question.question}\n \n \n \n {onChange(event.target.value)}}\n variant=\"outlined\"\n />\n \n \n )\n}\n\nconst SingleChoiceQuestion = ({question, classes, onChange}) => {\n return(\n \n \n \n {question.question}\n \n \n \n \n {question.choices.map((choice) =>\n \n onChange(choice)}\n >\n {choice}\n \n \n )}\n\n \n \n \n )\n}\n\nconst MultiChoiceQuestion = ({question, classes, onChange}) => {\n return(\n \n \n \n {question.question}\n \n \n \n \n {question.choices.map((choice) =>\n \n onChange(choice)}\n >\n {choice}\n \n \n )}\n\n \n \n \n )\n}\n\nclass Demographics extends Component {\n\n async componentDidMount() {\n if(this.props.user.internalMobilityProvider && !this.props.user.internalMobilityQuestions){\n await this.props.getinternalMobilityDemographics();\n }\n }\n\n render() {\n const {\n classes,\n user: { \n showDemographics,\n showDemographicsEdit, \n showHello,\n allow_reverse_mine = true,\n candidateStatus = null,\n trainingOpportunities = true,\n jobOpportunities = true,\n dateOfBirth = null,\n gender,\n rightTooWork,\n hasNoticePeriod,\n providerDetails,\n organisation,\n internalMobilityProvider,\n internalMobilityQuestions,\n internalMobilityRoles,\n internalMobilityRole,\n internalMobilityDepartments,\n internalMobilityDepartment,\n internalMobilityDepartmentVerified,\n internalMobilityLineManagers,\n internalMobilityLineManager,\n internalMobilityLineManagerVerified,\n internalMobilityResponses,\n holdUser,\n orgDetails: {\n name = \"\"\n }\n },\n reOpenDemographics\n } = this.props;\n \n\n const [lookingForWork, setLookingForWork] = React.useState(allow_reverse_mine);\n const [situation, setSituation] = React.useState(candidateStatus);\n const lookingOptions = [{value:\"Unemployed\", label:\"Unemployed\"}, {value:\"Employed but open to new opportunities\", label:\"Employed but open to new opportunities\"}, {value:\"Student\", label:\"Student\"}, {value:\"Looking to re-enter the labour market\", label:\"Looking to re-enter the labour market\"}]\n const notLookingOptions = [{value:\"Employed and satisfied\", label:\"Employed and satisfied\"},{value:\"Student\", label:\"Student\"},{value:\"Looking after family / home\", label:\"Looking after family / home\"},{value:\"Sick\", label:\"Sick\"}, {value:\"Retired\", label:\"Retired\"}, {value:\"Other\", label:\"Other\"}]\n const genderOptions = [{value:\"male\", label:\"Male\"}, {value:\"female\", label:\"Female\"}, {value:\"non binary\", label:\"Non-binary\"}, {value:\"transgender\", label:\"Transgender\"}, {value:\"prefer not to say\", label:\"Prefer not to say\"}, {value:\"other\", label:\"Other\"}]\n const [newTrainingOpportunities, setTrainingOpportunities] = React.useState(trainingOpportunities);\n const [newJobOpportunities, setJobOpportunities] = React.useState(jobOpportunities);\n const [newFutureJobs, setFutureJobs] = React.useState(jobOpportunities);\n const [newDateOfBirth, setDateOfBirth] = React.useState(dateOfBirth ? moment.unix(dateOfBirth / 1000).format(\"YYYY-MM-DD\") : null);\n const [newGender, setGender] = React.useState(gender);\n const [newRightTooWork, setRightTooWork] = React.useState(rightTooWork);\n const [newHasNoticePeriod, setHasNoticePeriod] = React.useState(hasNoticePeriod);\n const [showHelp1, setShowHelp1] = React.useState(false);\n const [showHelp2, setShowHelp2] = React.useState(false);\n\n const [updatedInternalMobilityQuestions, setUpdatedInternalMobilityQuestions] = React.useState(internalMobilityResponses ? internalMobilityResponses.questions : false);\n const [updateCheck, setUpdateCheck] = React.useState(false);\n const [selectedRole, setSelectedRole] = useState(internalMobilityRole ? internalMobilityRole : \"\")\n const [selectedDepartment, setSelectedDepartment] = useState(internalMobilityDepartment ? internalMobilityDepartment : \"\")\n const [selectedLineManager, setSelectedLineManager] = useState(internalMobilityLineManager ? internalMobilityLineManager : \"\")\n\n useEffect(() => {\n async function checkIMQs() {\n if(internalMobilityProvider && internalMobilityQuestions){\n if(!updatedInternalMobilityQuestions){\n setUpdatedInternalMobilityQuestions(internalMobilityQuestions)\n }\n else if(updatedInternalMobilityQuestions && !updateCheck){\n setUpdateCheck(true);\n let newQuestions = []\n\n internalMobilityQuestions.forEach((question) => {\n if(question && question.id){\n if(!updatedInternalMobilityQuestions.find((item) => item.id && item.id === question.id)){\n newQuestions.push(question);\n }\n }\n })\n if(newQuestions.length > 0){\n setUpdatedInternalMobilityQuestions([...updatedInternalMobilityQuestions, ...newQuestions]);\n reOpenDemographics();\n }\n }\n }\n }\n checkIMQs()\n }, [internalMobilityProvider, internalMobilityQuestions, internalMobilityResponses]);\n\n let viewPermissions = (providerDetails.viewPermissions) ? providerDetails.viewPermissions : {};\n if(holdUser){\n return (\n \n
    \n \n \n \n {organisation !== \"skillzminer\" ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n
    \n \n Thank you for submitting your details\n \n \n You will receive an email when your role has been assigned\n \n
    \n
    \n
    \n \n {organisation !== \"skillzminer\" && (\n \n \n \n Powered By\n \n \n \n \n \n \n )}\n \n \n
    \n \n\n )\n }\n else if (showDemographics && (!internalMobilityProvider && !viewPermissions.additionalPersonalInfoCheckbox) || (internalMobilityProvider && ((internalMobilityQuestions && internalMobilityQuestions.length > 0) || internalMobilityDepartments || internalMobilityRoles || internalMobilityLineManagers))){\n function updateIMQs(index, newValue, muiltiple){\n // console.log(index)\n setUpdatedInternalMobilityQuestions((prevState) =>\n prevState.map((_value, _index) => {\n if(index === _index){\n if(muiltiple){\n if(!_value.answer){\n _value.answer = []\n }\n if(_value.answer.includes(newValue)){\n _value.answer = _value.answer.filter((arrvalues) => arrvalues !== newValue)\n }\n else{\n _value.answer = [..._value.answer, newValue]\n }\n }\n else{\n _value.answer = newValue\n }\n }\n return _value\n })\n )\n }\n\n // console.log(updatedInternalMobilityQuestions)\n const submitDisabled = updatedInternalMobilityQuestions ? updatedInternalMobilityQuestions.find((item) => !item.answer || item.answer === \"\" || item.answer.length === 0) || [\"\", false].includes(selectedRole) || [\"\", false].includes(selectedDepartment) || [\"\", false].includes(selectedLineManager) : false\n\n return (\n \n
    \n \n \n \n {organisation !== \"skillzminer\" ? (\n \n ) : (\n \n )}\n \n \n \n \n \n \n \n \n \n
    \n { internalMobilityProvider ? (\n <>\n \n {name + \" Employee Questions\"}\n \n \n {showDemographicsEdit ? \"Please update the following information if your current situation has changed.\" : \"Before we begin, please complete the following form. You are able to update this information later via the settings page.\"}\n \n \n ) : ( showHello ? (\n <>\n \n One more thing\n \n \n Before we begin, please complete the following form. You are able to update this information later via the settings page. \n \n \n ):(\n <>\n \n Update information\n \n \n Please update the following information if your current situation has changed.\n \n \n )\n )\n }\n
    \n {internalMobilityProvider ? (\n <>\n \n {!showDemographicsEdit && (\n <>\n setSelectedRole(value)} newRole={selectedRole}/>\n \n )}\n setSelectedDepartment(value)} newDepartment={selectedDepartment} isVerified={internalMobilityDepartmentVerified}/>\n setSelectedLineManager(value)} newLineManager={selectedLineManager} isVerified={internalMobilityLineManagerVerified}/>\n {updatedInternalMobilityQuestions && updatedInternalMobilityQuestions.map((question, index) => {\n if(question.questionType === \"freetext\"){\n return ( updateIMQs(index, value)}/>)\n }\n if(question.questionType === \"hasChoices\"){\n return ( updateIMQs(index, value)}/>)\n }\n if(question.questionType === \"multipleChoices\"){\n return ( updateIMQs(index, value, true)}/>)\n }\n }\n )\n }\n
    \n await this.props.submitDemographicsInternalMobility({\n questions: updatedInternalMobilityQuestions, \n department: selectedDepartment, \n role: selectedRole, \n lineManager: selectedLineManager\n })}\n >\n Submit\n \n
    \n \n\n ) : \n (\n <>\n \n \n \n Not looking for work\n \n \n \n {\n setLookingForWork(!lookingForWork)\n setSituation(false)\n setTrainingOpportunities(true)\n setJobOpportunities(true)\n setFutureJobs(true)\n }}\n color=\"primary\"\n name=\"checkedB\"\n inputProps={{ 'aria-label': 'primary checkbox' }}\n />\n \n \n \n Looking for work\n \n \n \n \n \n \n What is your current situation?\n \n \n \n setShowHelp1(!showHelp1)}>\n \n \n \n \n \n {showHelp1 && (\n \n These responses are optional but it will help employers and recruiters better understand your situation. \n \n )}\n \n {\n setSituation(event.label)}}\n options={lookingForWork ? lookingOptions : notLookingOptions}\n />\n \n I'm open to:\n \n \n \n {setTrainingOpportunities(!newTrainingOpportunities)}} name=\"training\" />}\n label=\"Training opportunities\"\n />\n {lookingForWork ? (\n {setJobOpportunities(!newJobOpportunities)}} name=\"jobs\" />}\n label=\"All job opportunities\"\n />\n ):(\n {setFutureJobs(!newFutureJobs)}} name=\"futureJobs\" />}\n label=\"Eventually looking for work again\"\n />\n )\n }\n \n \n \n \n \n Additional information\n \n \n \n setShowHelp2(!showHelp2)}>\n \n \n \n \n \n {showHelp2 && (\n \n We don’t discriminate based on age and gender so employers and recruiters will never see this information. We collect it so that if a training programme or opportunity arises that is limited by these criteria you will be highlighted. However, these are optional fields so if you don’t feel comfortable inputting this data simply ignore them. \n \n )}\n \n \n \n \n \n Date of Birth\n \n \n \n {setDateOfBirth(event.target.value)}}\n />\n \n \n \n \n \n Gender\n \n \n \n {\n setGender(event.label)}}\n options={genderOptions}\n />\n \n \n \n \n Do you have the right to work in the UK?\n \n {setRightTooWork(event.target.value)}} style={{ marginLeft: 15 }}>\n {\n [\"Yes\", \"No\"].map(item => (\n <>\n } label={item} />\n \n ))\n }\n \n {situation && situation.includes(\"Employed\") && (\n <>\n \n Do you have a notice period?\n \n {setHasNoticePeriod(event.target.value)}} style={{ marginLeft: 15 }}>\n {\n [\"Yes\", \"No\"].map(item => (\n <>\n } label={item} />\n \n ))\n }\n \n \n )}\n
    \n {\n await this.props.submitDemographics({\n lookingForWork: lookingForWork,\n situation: situation,\n trainingOpportunities: newTrainingOpportunities,\n jobOpportunities: lookingForWork ? newJobOpportunities : newFutureJobs,\n dateOfBirth : moment(newDateOfBirth).valueOf(),\n gender: newGender,\n rightTooWork : newRightTooWork,\n hasNoticePeriod: newHasNoticePeriod\n })\n }\n }\n >\n Submit\n \n
    \n \n )}\n \n
    \n
    \n
    \n \n {organisation !== \"skillzminer\" && (\n \n \n \n Powered By\n \n \n \n \n \n \n )}\n \n \n
    \n \n );\n }\n return (<>)\n }\n}\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators({ submitDemographics,getinternalMobilityDemographics, submitDemographicsInternalMobility, reOpenDemographics }, dispatch),\n dispatch,\n };\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(Demographics)));\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 97.1033,\n cy: 101.615,\n rx: 64.8967,\n ry: 64.0428,\n fill: \"#FDEFE7\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5615 106.545L36.2433 119.705L30.7317 128.77L16.2812 113.029L22.5615 106.545Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.562 106.545L22.5003 89.841C22.4981 89.43 22.3557 89.032 22.0965 88.7129C21.8373 88.3938 21.477 88.1728 21.0751 88.0865C20.6257 87.9909 20.1569 88.0704 19.7642 88.3087C19.3714 88.547 19.0844 88.9262 18.9618 89.3689L17.7056 93.9254L6.95528 82.2758C6.74516 82.0482 6.48374 81.8741 6.19275 81.7679C5.90176 81.6618 5.58963 81.6267 5.28233 81.6655C4.97503 81.7043 4.68145 81.816 4.42602 81.9912C4.17059 82.1664 3.96071 82.4001 3.81383 82.6728L0.233739 89.3273C0.0880795 89.5954 0.00817354 89.8942 0.000594554 90.1993C-0.00698443 90.5043 0.0579889 90.8068 0.190154 91.0818C2.04793 94.9435 9.71377 110.191 16.2811 113.029L22.562 106.545Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.3556 93.9409C12.9896 94.9913 11.8792 96.3375 11.1079 97.8784C10.3366 99.4194 9.92443 101.115 9.90234 102.838\",\n stroke: \"#D39D7E\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.1539 79.0089C84.1539 79.0089 87.7756 87.2133 70.4305 128.814C70.4305 128.814 60.9183 146.13 56.7963 146.664C50.0426 147.535 31.1254 137.408 16.7568 116.669L27.6366 108.597L48.9272 120.884L61.4126 88.662C61.4126 88.662 68.7236 67.1694 84.1539 79.0089Z\",\n fill: \"white\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.9302 120.884C48.9302 120.884 53.1333 122.91 53.6061 130.507\",\n stroke: \"#396CAA\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.86 65.0334L130.284 77.6335C131.268 78.0699 132.085 78.8117 132.615 79.7489C133.144 80.6861 133.358 81.769 133.224 82.8373L126.1 156.947C126.1 156.947 97.472 165.429 71.7937 160.178L66.5168 83.9023C66.3887 82.8014 66.5148 81.6858 66.8854 80.6412C67.2559 79.5967 67.8611 78.651 68.6543 77.8769L86.8571 65.1119L101.86 65.0334Z\",\n fill: \"white\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.794 84.8513C71.794 84.8513 68.3326 100.025 70.4305 128.814\",\n stroke: \"#396CAA\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.561 137.415L119.541 136.989L122.085 147.285L100.736 146.439L100.561 137.415Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.561 137.414L88.6688 125.684C88.3761 125.395 87.9934 125.215 87.5843 125.174C87.1751 125.133 86.7643 125.233 86.42 125.458C86.0356 125.709 85.7617 126.098 85.654 126.544C85.5464 126.991 85.6131 127.462 85.8405 127.861L88.1879 131.963L77.8594 133.241C77.5499 133.229 77.2421 133.292 76.9616 133.424C76.6812 133.555 76.4362 133.752 76.2471 133.997C76.058 134.243 75.9303 134.53 75.8745 134.834C75.8188 135.139 75.8366 135.453 75.9266 135.749L78.1237 142.979C78.2108 143.271 78.3662 143.539 78.5771 143.759C78.7879 143.98 79.0481 144.147 79.3363 144.247C83.3865 145.656 94.0912 149.098 100.731 146.44L100.561 137.414Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M131.377 78.3022C131.377 78.3022 139.54 81.8682 154.265 122.749C154.265 122.749 159.826 138.479 157.103 141.493C152.644 146.432 130.639 154 106.113 148.312L105.817 134.907L132.937 130.792L120.821 99.7344C120.821 99.7344 111.98 79.6698 131.377 78.3022Z\",\n fill: \"white\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M145.253 133.47C140.149 128.143 132.937 130.792 132.937 130.792L120.82 99.7358C120.82 99.7358 112.789 84.8789 125.193 79.6892\",\n stroke: \"#396CAA\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M125.193 151.036C125.193 151.036 109.893 151.965 105.817 151.036V134.909L132.937 130.793\",\n stroke: \"#396CAA\",\n strokeMiterlimit: 10,\n strokeLinecap: \"round\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.5862 37.3144C83.6752 39.0099 83.0908 40.6719 81.9603 41.9387C80.8299 43.2054 79.2448 43.9744 77.5501 44.0782C76.7115 44.1012 75.8766 43.9582 75.0934 43.6574C74.3103 43.3567 73.5942 42.9041 72.9866 42.3257C72.3789 41.7473 71.8915 41.0546 71.5525 40.2872C71.2134 39.5198 71.0294 38.693 71.011 37.8543C70.921 36.1586 71.505 34.496 72.6357 33.2291C73.7664 31.9622 75.3521 31.1937 77.0471 31.0911C77.8857 31.0681 78.7205 31.2111 79.5036 31.5118C80.2868 31.8125 81.0028 32.265 81.6104 32.8433C82.2181 33.4216 82.7055 34.1144 83.0445 34.8817C83.3836 35.6489 83.5677 36.4757 83.5862 37.3144Z\",\n fill: \"#D39D7E\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.5231 52.7212L86.0885 64.5097C85.9255 69.9597 89.0911 72.9603 94.2889 73.0515C98.7268 73.1286 105.069 70.0925 105.008 65.2837V45.5865L86.5231 52.7212Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.1992 63.0409C86.1992 63.0409 101.558 62.67 105.878 48.5456C107.24 44.0963 86.5366 51.1297 86.5366 51.1297L86.1992 63.0409Z\",\n fill: \"#D39D7E\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.055 57.373C82.192 57.1429 75.0828 49.7272 75.0332 42.2465L75.0131 26.5982C74.9514 17.2228 82.1042 9.47317 91.1764 9.08417C100.466 8.68512 109.921 16.0659 110.291 25.6553L110.157 37.8509C110.049 48.8292 101.679 56.9163 91.055 57.373Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.5609 37.6992L83.9097 40.9185L86.0988 41.0647\",\n stroke: \"#202A3E\",\n strokeWidth: 0.8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.0267 28.6498C94.0267 28.6498 90.405 28.2367 90.3252 29.7632C90.3252 29.7632 90.2977 30.7953 93.4586 31.0911C96.6195 31.3869 97.4518 31.1723 97.767 30.2098C98.0823 29.2474 95.7295 28.7075 94.0267 28.6498Z\",\n fill: \"#202A3E\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.3828 28.3091C79.3828 28.3091 82.3895 28.077 82.592 29.5163C82.592 29.5163 82.7074 30.4908 80.0776 30.6337C77.4479 30.7765 76.6049 30.4076 76.3782 29.6176C76.1247 28.7236 77.9583 28.291 79.3828 28.3091Z\",\n fill: \"#202A3E\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.3377 34.7268C81.3293 35.0264 81.2328 35.3168 81.0603 35.5618C80.8878 35.8068 80.647 35.9956 80.3679 36.1046C80.0888 36.2136 79.7837 36.2379 79.4909 36.1746C79.198 36.1113 78.9302 35.9631 78.7211 35.7485C78.5119 35.5339 78.3706 35.2625 78.3148 34.9681C78.259 34.6737 78.2911 34.3694 78.4072 34.0931C78.5232 33.8169 78.7181 33.5809 78.9675 33.4148C79.2168 33.2486 79.5096 33.1596 79.8093 33.1588C80.2197 33.1645 80.6112 33.3327 80.8978 33.6267C81.1843 33.9207 81.3426 34.3163 81.3377 34.7268Z\",\n fill: \"#202A3E\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.702 34.6537C94.6936 34.9533 94.5971 35.2437 94.4246 35.4887C94.2521 35.7337 94.0113 35.9225 93.7322 36.0315C93.453 36.1405 93.148 36.1648 92.8551 36.1015C92.5622 36.0382 92.2945 35.89 92.0854 35.6754C91.8762 35.4608 91.7349 35.1894 91.679 34.895C91.6232 34.6006 91.6554 34.2963 91.7714 34.02C91.8875 33.7438 92.0824 33.5078 92.3317 33.3417C92.5811 33.1755 92.8739 33.0865 93.1735 33.0857C93.5836 33.0926 93.9744 33.2613 94.2607 33.555C94.547 33.8487 94.7056 34.2436 94.702 34.6537Z\",\n fill: \"#202A3E\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.1118 44.3141C83.1118 44.3141 86.0152 46.3724 90.6516 44.8976\",\n stroke: \"#202A3E\",\n strokeWidth: 0.8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.0427 40.9132C76.7247 40.9301 76.4061 40.9281 76.0883 40.9072C73.9432 40.7695 71.9362 39.801 70.4936 38.2074C69.051 36.6139 68.2864 34.5208 68.3621 32.3725C68.4378 30.2243 69.3478 28.1902 70.8991 26.7021C72.4503 25.2141 74.5204 24.3893 76.6699 24.4029C78.8194 24.4165 80.879 25.2674 82.4112 26.775C83.9435 28.2825 84.8278 30.328 84.8763 32.477C84.9248 34.626 84.1338 36.7093 82.6711 38.2844C81.2085 39.8596 79.1894 40.8026 77.0427 40.9132ZM76.207 25.098C74.2424 25.2024 72.3958 26.0685 71.0594 27.5124C69.7231 28.9563 69.0021 30.8642 69.0498 32.8311C69.0975 34.7979 69.91 36.6687 71.3147 38.0462C72.7195 39.4236 74.6059 40.1993 76.5733 40.2084C78.5407 40.2174 80.4341 39.4593 81.8515 38.0948C83.2689 36.7304 84.0986 34.8672 84.1645 32.9008C84.2303 30.9345 83.527 29.02 82.204 27.5638C80.881 26.1076 79.0425 25.2245 77.0789 25.102C76.7893 25.084 76.4988 25.0827 76.2091 25.098H76.207Z\",\n fill: \"white\"\n});\n\nvar _ref26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M95.2361 42.052C93.2836 42.1564 91.3573 41.5659 89.7988 40.3853C88.2403 39.2046 87.1504 37.5102 86.7222 35.6024C86.2941 33.6946 86.5556 31.6969 87.4602 29.9635C88.3647 28.2302 89.854 26.8732 91.6639 26.1334C93.4737 25.3935 95.4871 25.3185 97.3469 25.9218C99.2067 26.5251 100.793 27.7676 101.824 29.4289C102.855 31.0903 103.264 33.0631 102.979 34.9974C102.694 36.9317 101.733 38.7025 100.266 39.9957C98.8704 41.2305 97.0971 41.9554 95.2361 42.052ZM94.3816 26.2388C92.6721 26.3318 91.0447 27.0021 89.7655 28.1399C88.4863 29.2778 87.631 30.816 87.3394 32.503C87.0477 34.19 87.337 35.926 88.1599 37.4273C88.9829 38.9286 90.2908 40.1063 91.8699 40.7679C93.4489 41.4294 95.2057 41.5357 96.853 41.0694C98.5003 40.6031 99.9407 39.5917 100.939 38.2006C101.937 36.8095 102.433 35.121 102.347 33.4111C102.261 31.7012 101.597 30.0712 100.465 28.7874C99.8098 28.04 99.0132 27.43 98.121 26.9925C97.2288 26.5551 96.2587 26.2989 95.2669 26.2388C94.972 26.2219 94.6765 26.2219 94.3816 26.2388Z\",\n fill: \"white\"\n});\n\nvar _ref27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M106.533 35.1808L102.657 34.6389L102.728 33.932L106.604 34.4739L106.533 35.1808Z\",\n fill: \"white\"\n});\n\nvar _ref28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M84.5325 32.7905L84.4878 33.4994L86.8653 33.6492L86.91 32.9404L84.5325 32.7905Z\",\n fill: \"white\"\n});\n\nvar _ref29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M79.8649 0.954902C83.3262 -0.346884 92.0585 -1.54539 93.6104 6.19826C102.255 5.94206 115.955 6.74218 116.983 14.2752C118.493 25.3414 110.198 35.8496 110.198 35.8496L107.953 36.8637C107.953 36.8637 102.525 33.7021 104.577 20.6433C104.577 20.6433 84.4436 24.5131 75.3425 19.0256C66.2414 13.5382 69.4754 4.85825 79.8649 0.954902Z\",\n fill: \"#202A3E\"\n});\n\nvar _ref30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M118.313 37.7671C118.402 39.4468 117.823 41.0937 116.703 42.3484C115.583 43.6032 114.012 44.3641 112.333 44.4652C111.503 44.4879 110.676 44.3463 109.901 44.0485C109.125 43.7508 108.416 43.3027 107.814 42.7301C107.213 42.1575 106.73 41.4716 106.394 40.7118C106.058 39.952 105.876 39.1334 105.858 38.303C105.768 36.6233 106.347 34.9764 107.467 33.7216C108.587 32.4668 110.158 31.7059 111.837 31.6049C112.668 31.5822 113.494 31.7238 114.27 32.0215C115.045 32.3193 115.754 32.7673 116.356 33.34C116.958 33.9126 117.44 34.5985 117.776 35.3583C118.112 36.118 118.294 36.9366 118.313 37.7671Z\",\n fill: \"#FCCBA1\"\n});\n\nvar _ref31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.017 39.6703C110.017 39.6703 109.837 35.0084 114.183 35.5564\",\n stroke: \"#202A3E\",\n strokeWidth: 0.8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n});\n\nvar _ref32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.8556 65.1146L82.1937 68.3835C82.1937 68.3835 79.3521 76.27 92.6503 77.1889C105.948 78.1077 109.875 68.5874 109.875 68.5874L100.426 63.7096L86.8556 65.1146Z\",\n fill: \"#FCCBA1\"\n});\n\nvar SvgHello = function SvgHello(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 162,\n height: 166,\n viewBox: \"0 0 162 166\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHello, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/hello.7b8ec428.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Button from \"@material-ui/core/Button\";\nimport Paper from \"@material-ui/core/Paper\";\nimport classnames from \"classnames\";\nimport { Spring, config} from \"react-spring/renderprops\";\n\nimport { ReactComponent as HelloIcon } from \"./Icons/hello.svg\";\nimport { ReactComponent as SkillsIcon } from \"../Common/Icons/skill.svg\";\nimport { ReactComponent as InterestsIcon } from \"../Common/Icons/interests.svg\";\nimport { ReactComponent as StylesIcon } from \"../Common/Icons/styles.svg\";\nimport { ReactComponent as SmallCoin } from \"../Common/Icons/smallCoin.svg\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport RemoveIcon from \"@material-ui/icons/Remove\";\n\nimport { clickHello } from \"../../actions/user_actions\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n zIndex: 12000,\n position: \"absolute\",\n backgroundColor: \"#F8F9FA\",\n width: \"100%\",\n height: \"100%\",\n overflow: 'scroll'\n },\n grid: {\n height: \"100%\",\n },\n gridin: {\n textAlign: \"center\",\n width:\"80%\"\n },\n icon: {\n width: 162,\n height: 166,\n },\n icondiv: {\n width: 162,\n height: 166,\n margin: 'auto'\n },\n title: {\n fontSize: 28,\n fontWeight: 600,\n color: \"#202A3E\",\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n body: {\n //maxWidth: \"70%\",\n marginLeft: theme.spacing(8),\n marginRight: theme.spacing(8),\n textAlign: \"center\",\n fontSize: 18,\n color: \"#5A6375\",\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n fontSize: 14,\n },\n },\n cardholder: {\n maxWidth: 880,\n margin: \"auto\",\n marginBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n card: {\n height: \"100%\",\n padding: 15,\n textAlign: \"left\",\n },\n bodycard: {\n fontSize: 18,\n color: \"#5A6375\",\n textAlign: \"left\",\n marginTop: 5,\n },\n button: {\n paddingLeft: 30,\n paddingRight: 30,\n },\n cardtitle: {\n fontWeight: 600,\n fontSize: 20,\n },\n skills: {\n color: \"#53D28E\",\n },\n interests: {\n color: \"#2988FF\",\n },\n styles: {\n color: \"#FF9800\",\n },\n backdrop: {\n zIndex: 8000,\n },\n coinIcon: {\n marginInline: \"5px\",\n marginBottom: -1,\n },\nmathIcon :{ \n marginBottom: \"-3px\",\n}\n});\n\nclass Hello extends Component {\n render() {\n const {\n classes,\n user: { firstName = \"\", showHello = false, firstLogin, internalMobilityProvider, orgDetails = {}}, rewards: { coins },\n } = this.props;\n const { name = \"\"} = orgDetails;\n return (\n \n
    \n \n \n \n {(props) => (\n
    \n \n
    \n )}\n \n\n \n \n {firstLogin ? (\n \"Hello \" + firstName\n ):(\n \"Welcome back \" + firstName\n )}\n \n {firstLogin ? (\n internalMobilityProvider ? ( \n \n Welcome aboard! Thanks for signing up, it's fantastic to have you here!\n
    \n Engage with our virtual assistant, and over the next few minutes, we'll explore what sets you apart. \n
    \n {\"This exploration will enable us to identify the perfect opportunities for you, granting \"+ name + \" insight into your skills, knowledge, abilities, competencies, and potential.\"}\n
    \n
    \n ) :(\n \n You’ve taken a step towards a better career. Now it’s our turn to do our bit. \n
    \n We’ll unearth your potential in just four minutes by understanding what makes you tick. We’ll match you to jobs that you never knew you could do. \n
    \n Just chat to our virtual assistant and let us do the job searching for you. It’s simple, and you’ll learn a lot about yourself along the way – including your skills, interests and styles.\n
    \n Once you’ve answered our questions - we remember all the details so you won’t need to do it again\n
    \n )\n ):(\n internalMobilityProvider ? (\n \n Ensure your profile remains current to ensure accurate matching with the right opportunities.\n
    \n {\"Keeping your information up to date also allows \"+ name +\" to stay informed about your progress and development.\"}\n
    \n We're thrilled to have you back!\n
    \n ) : (\n \n Whether you want to find jobs based on experience or find something new based on your skills, styles or interests.\n
    \n We’ve been mining the internet to find you the best matched jobs.\n
    \n
    \n )\n )}\n \n
    \n \n \n \n \n \n \n \n \n \n Skills\n \n \n \n\n \n {firstLogin ? (\n \"We’ll assess what you can do based on what you’ve done in previous jobs\"\n ) : (\n \"We’ve found the best jobs for you based on your skills, knowledge and abilities\"\n )}\n \n \n \n \n \n \n \n \n \n \n \n Interests\n \n \n \n\n \n {firstLogin ? (\n \"We’ll analyse what you like doing – in and out of work\"\n ) : (\n \"We’re bringing opportunities to you centred on your interests - we all perform better doing jobs we enjoy\"\n )}\n \n \n \n \n \n \n \n \n \n \n \n Styles\n \n \n \n\n \n {firstLogin ? (\n \"We’ll figure out your strengths and how you like to work\"\n ) : (\n \"All occupations require a unique combination of resilience, brainpower and agility; we’ve found you jobs based on your unique profile\"\n )}\n \n \n \n \n
    \n
    \n {!firstLogin && coins && (\n \n You have {coins} \n \n coins\n \n )}\n {!firstLogin && (\n \n You can use your coins to buy Application Assistant content '\n \n \n ', and don’t worry if you run out because you can earn more '\n \n \n ' or buy more.\n \n )}\n {!internalMobilityProvider && (\n \n {firstLogin && \"Let's get started. \"}\n \n )}\n {\n this.props.clickHello();\n }}\n >\n Lets go!\n \n
    \n
    \n \n
    \n \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators({ clickHello }, dispatch),\n dispatch,\n };\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(Hello)));\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.25,\n d: \"M78.5 168C120.75 168 155 170.91 155 174.5C155 178.09 120.75 181 78.5 181C36.2502 181 2 178.09 2 174.5C2 170.91 36.2502 168 78.5 168Z\",\n fill: \"black\",\n fillOpacity: 0.3\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.5 0C34.2557 0 0 34.2557 0 76.5C0 118.744 34.2557 153 76.5 153C118.744 153 153 118.744 153 76.5C153 34.2557 118.744 0 76.5 0Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.4998 0.9552C118.227 0.9552 152.044 34.7717 152.044 76.4989C152.044 118.226 118.227 152.043 76.4998 152.043C34.7726 152.043 0.956055 118.226 0.956055 76.4989C0.956055 34.7717 34.7726 0.9552 76.4998 0.9552Z\",\n fill: \"#FCD116\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M85.4908 12.0463C85.3139 15.4248 82.4318 18.02 79.0534 17.8431C75.6749 17.6662 73.0797 14.7841 73.2566 11.4057C73.4335 8.02724 76.3156 5.43197 79.6941 5.60887C83.0722 5.78578 85.6674 8.66791 85.4908 12.0463Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.7096 141.596C78.5327 144.975 75.6505 147.57 72.2721 147.393C68.8937 147.216 66.2984 144.334 66.4753 140.956C66.6522 137.577 69.5344 134.982 72.9128 135.159C76.2912 135.336 78.8865 138.218 78.7096 141.596Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140.918 81.803C137.535 81.846 134.758 79.1385 134.715 75.7556C134.672 72.3727 137.38 69.5958 140.763 69.5528C144.146 69.5097 146.923 72.2172 146.966 75.6001C147.008 78.9826 144.301 81.7599 140.918 81.803Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.2029 83.4465C7.82 83.4895 5.04305 80.7821 5.00002 77.3992C4.95699 74.0163 7.66445 71.2393 11.0473 71.1963C14.4302 71.1533 17.2072 73.8607 17.2502 77.2436C17.2929 80.6265 14.5855 83.4035 11.2029 83.4465Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M135.597 102.789C132.386 101.721 130.65 98.2528 131.718 95.0427C132.785 91.8325 136.253 90.096 139.464 91.1638C142.674 92.2316 144.41 95.6996 143.342 98.9098C142.275 102.12 138.807 103.856 135.597 102.789Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5028 61.8412C9.29263 60.7734 7.55608 57.3054 8.62389 54.0953C9.69171 50.8852 13.1597 49.1486 16.3698 50.2164C19.58 51.2842 21.3165 54.7522 20.2487 57.9624C19.1806 61.1725 15.7129 62.9091 12.5028 61.8412Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M132.447 42.1909C129.826 44.3291 125.967 43.937 123.829 41.3153C121.691 38.6936 122.083 34.8351 124.705 32.697C127.326 30.5588 131.185 30.9508 133.323 33.5726C135.461 36.1943 135.069 40.0528 132.447 42.1909Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.2319 120.305C25.6102 122.443 21.7518 122.051 19.6136 119.429C17.4754 116.808 17.8675 112.949 20.4892 110.811C23.1109 108.673 26.9694 109.065 29.1076 111.687C31.2457 114.308 30.8537 118.167 28.2319 120.305Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M139.009 59.992C135.831 61.1532 132.314 59.5183 131.153 56.341C129.992 53.1634 131.627 49.6463 134.804 48.4851C137.982 47.3239 141.499 48.9588 142.66 52.1361C143.821 55.3137 142.187 58.8308 139.009 59.992Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.1628 104.517C13.9852 105.679 10.4681 104.044 9.30688 100.866C8.14567 97.6888 9.78054 94.1717 12.9578 93.0105C16.1355 91.8493 19.6525 93.4842 20.8138 96.6615C21.975 99.8391 20.3401 103.356 17.1628 104.517Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.3057 140.827C85.4582 137.552 87.4258 134.21 90.701 133.362C93.9761 132.515 97.3182 134.482 98.1661 137.757C99.0137 141.033 97.046 144.375 93.7709 145.223C90.4957 146.07 87.1536 144.102 86.3057 140.827Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.7999 15.2421C52.9523 11.9669 54.92 8.62481 58.1951 7.77694C61.4703 6.92938 64.8124 8.89702 65.6603 12.1722C66.5081 15.4473 64.5402 18.7894 61.265 19.6373C57.9899 20.4852 54.6478 18.5172 53.7999 15.2421Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.8968 124.473C33.9415 121.778 37.7841 121.251 40.4791 123.296C43.1741 125.341 43.7014 129.183 41.6566 131.878C39.6118 134.573 35.7693 135.1 33.0742 133.056C30.3792 131.011 29.852 127.168 31.8968 124.473Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.31 21.1267C112.355 18.4317 116.197 17.9045 118.892 19.9493C121.587 21.994 122.115 25.8366 120.07 28.5316C118.025 31.2266 114.183 31.7538 111.488 29.709C108.792 27.6643 108.265 23.8221 110.31 21.1267Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.4542 22.5909C46.7081 22.5909 22.5918 46.7069 22.5918 76.453C22.5918 106.199 46.7084 130.315 76.4542 130.315C106.2 130.315 130.317 106.199 130.317 76.453C130.317 46.7069 106.2 22.5909 76.4542 22.5909Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.455 22.8203C106.078 22.8203 130.09 46.8317 130.09 76.4545C130.09 106.077 106.078 130.089 76.455 130.089C46.8322 130.089 22.8208 106.077 22.8208 76.4545C22.8208 46.8317 46.8322 22.8203 76.455 22.8203Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M76.4539 20.7206C45.6828 20.7206 20.7183 45.6844 20.7183 76.4556C20.7183 107.227 45.6831 132.191 76.4539 132.191C107.225 132.191 132.19 107.227 132.19 76.4556C132.19 45.6844 107.225 20.7206 76.4539 20.7206ZM76.4539 22.5419C106.241 22.5419 130.368 46.6687 130.368 76.4556C130.368 106.242 106.241 130.37 76.4539 130.37C46.6674 130.37 22.5396 106.242 22.5396 76.4556C22.5399 46.6687 46.6674 22.5419 76.4539 22.5419Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.3486 41.9V42.2124V51.4262C63.6513 54.2917 59.6982 61.5443 60.9305 68.8841C62.2443 76.7094 69.1746 82.5107 77.0614 82.19L77.0098 82.1875C78.7887 82.4096 80.2773 83.7688 80.6311 85.8754C81.0375 88.2966 79.6302 90.4533 77.5552 91.042C75.4677 91.6339 73.4054 90.6264 72.5553 88.3451L72.4463 88.0518L61.6636 92.0694L61.7732 92.362C63.3246 96.5261 66.5067 99.7066 70.3482 101.378V111.005H81.8545V101.71C88.9776 99.0662 93.2536 91.5651 91.9786 83.9712C90.6679 76.164 83.7663 70.3765 75.9021 70.6678C74.1213 70.4473 72.6318 69.0872 72.2776 66.9786C71.8712 64.5574 73.2791 62.4014 75.3542 61.8127C77.4414 61.2204 79.5034 62.2289 80.3535 64.5102L80.4631 64.8035L91.2452 60.786L91.1362 60.4933C89.4908 56.0767 86.0107 52.7672 81.8545 51.1909V41.9H70.3486Z\",\n fill: \"#FFB61C\"\n});\n\nvar _ref23 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M65.8659 56.6263C66.8113 56.6263 67.6978 56.3741 68.4618 55.9333L73.1502 59.9519C72.9252 60.5337 72.8019 61.1661 72.8019 61.8272C72.8019 62.5331 72.9425 63.2062 73.1972 63.8199L63.1498 72.8626C62.4111 72.4599 61.564 72.231 60.6634 72.231C57.7904 72.231 55.4614 74.56 55.4614 77.433C55.4614 80.306 57.7904 82.635 60.6634 82.635C63.5364 82.635 65.8654 80.306 65.8654 77.433C65.8654 76.727 65.7248 76.0539 65.47 75.4401L75.5173 66.3976C76.256 66.8004 77.1032 67.0292 78.0039 67.0292C80.8768 67.0292 83.2059 64.7002 83.2059 61.8272C83.2059 58.9543 80.8768 56.6252 78.0039 56.6252C77.0581 56.6252 76.1712 56.8776 75.4071 57.3188L70.7193 53.3006C70.9445 52.7186 71.0679 52.0858 71.0679 51.4243C71.0679 48.5513 68.7389 46.2223 65.8659 46.2223C62.993 46.2223 60.6639 48.5513 60.6639 51.4243C60.6639 54.2973 62.993 56.6263 65.8659 56.6263ZM88.4072 63.5641C88.4072 60.6911 90.7363 58.3621 93.6092 58.3621C96.4822 58.3621 98.8112 60.6911 98.8112 63.5641V103.446C98.8112 106.319 96.4822 108.648 93.6092 108.648C90.7363 108.648 88.4072 106.319 88.4072 103.446V63.5641ZM78.0039 73.9679C75.1309 73.9679 72.8019 76.2969 72.8019 79.1699V103.446C72.8019 106.319 75.1309 108.648 78.0039 108.648C80.8768 108.648 83.2059 106.319 83.2059 103.446V79.1699C83.2059 76.2969 80.8768 73.9679 78.0039 73.9679ZM60.6634 86.1025C57.7904 86.1025 55.4614 88.4315 55.4614 91.3045V103.442C55.4614 106.315 57.7904 108.644 60.6634 108.644C63.5364 108.644 65.8654 106.315 65.8654 103.442V91.3045C65.8654 88.4315 63.5364 86.1025 60.6634 86.1025Z\",\n fill: \"#D89E22\"\n});\n\nvar _ref24 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M65.2296 55.7298C66.1751 55.7298 67.0617 55.4776 67.8257 55.0367L72.5139 59.0552C72.2889 59.637 72.1655 60.2695 72.1655 60.9308C72.1655 61.6368 72.3062 62.3099 72.561 62.9237L62.5138 71.9662C61.775 71.5634 60.9278 71.3345 60.0272 71.3345C57.1542 71.3345 54.8252 73.6636 54.8252 76.5365C54.8252 79.4095 57.1542 81.7385 60.0272 81.7385C62.9002 81.7385 65.2292 79.4095 65.2292 76.5365C65.2292 75.8306 65.0886 75.1576 64.8339 74.5438L74.8812 65.5012C75.6199 65.9039 76.467 66.1328 77.3675 66.1328C80.2405 66.1328 82.5695 63.8038 82.5695 60.9308C82.5695 58.0578 80.2405 55.7288 77.3675 55.7288C76.4218 55.7288 75.5351 55.9811 74.771 56.4221L70.083 52.4039C70.3082 51.8219 70.4316 51.1893 70.4316 50.5278C70.4316 47.6548 68.1026 45.3258 65.2296 45.3258C62.3566 45.3258 60.0276 47.6548 60.0276 50.5278C60.0276 53.4008 62.3566 55.7298 65.2296 55.7298ZM87.771 62.6676C87.771 59.7946 90.1 57.4656 92.973 57.4656C95.846 57.4656 98.175 59.7947 98.175 62.6676V102.55C98.175 105.423 95.846 107.752 92.973 107.752C90.1 107.752 87.771 105.423 87.771 102.55V62.6676ZM77.3675 73.0714C74.4945 73.0714 72.1655 75.4004 72.1655 78.2734V102.549C72.1655 105.422 74.4945 107.751 77.3675 107.751C80.2405 107.751 82.5695 105.422 82.5695 102.549V78.2734C82.5695 75.4004 80.2405 73.0714 77.3675 73.0714ZM60.0272 85.206C57.1542 85.206 54.8252 87.535 54.8252 90.408V102.546C54.8252 105.419 57.1542 107.748 60.0272 107.748C62.9002 107.748 65.2292 105.419 65.2292 102.546V90.408C65.2292 87.535 62.9002 85.206 60.0272 85.206Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref25 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.5846 76.7524C47.5846 79.3113 45.5101 81.3857 42.9512 81.3857C40.3923 81.3857 38.3179 79.3113 38.3179 76.7524C38.3179 74.1934 40.3923 72.119 42.9512 72.119C45.5101 72.119 47.5846 74.1934 47.5846 76.7524Z\",\n fill: \"#D89E22\"\n});\n\nvar _ref26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M42.5592 71.6147C39.9158 71.6147 37.77 73.7606 37.77 76.404C37.77 79.0473 39.9158 81.1938 42.5592 81.1938C45.2026 81.1938 47.3485 79.0473 47.3485 76.404C47.3485 73.7606 45.2026 71.6147 42.5592 71.6147Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.23 76.7524C115.23 79.3113 113.156 81.3857 110.597 81.3857C108.038 81.3857 105.963 79.3113 105.963 76.7524C105.963 74.1934 108.038 72.119 110.597 72.119C113.156 72.119 115.23 74.1934 115.23 76.7524Z\",\n fill: \"#D89E22\"\n});\n\nvar _ref28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.203 71.6147C107.56 71.6147 105.414 73.7606 105.414 76.404C105.414 79.0473 107.56 81.1938 110.203 81.1938C112.847 81.1938 114.993 79.0473 114.993 76.404C114.993 73.7606 112.847 71.6147 110.203 71.6147Z\",\n fill: \"#F39C12\"\n});\n\nvar _ref29 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.247 121.344C120.585 119.257 120.119 115.406 122.206 112.744C124.294 110.082 128.144 109.616 130.807 111.704C133.469 113.791 133.934 117.642 131.847 120.304C129.76 122.966 125.909 123.432 123.247 121.344C123.246 121.344 123.246 121.344 123.247 121.344Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref30 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.1625 41.2959C18.5003 39.2084 18.0343 35.3579 20.1218 32.6957C22.2093 30.0335 26.0598 29.5678 28.722 31.6553C31.3842 33.7428 31.8502 37.5933 29.7627 40.2555C27.6749 42.9177 23.8247 43.3834 21.1625 41.2959Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref31 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.944 134.355C104.112 131.51 104.934 127.72 107.778 125.889C110.623 124.057 114.413 124.879 116.245 127.723C118.076 130.568 117.254 134.358 114.41 136.19C111.565 138.021 107.775 137.199 105.944 134.355Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref32 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.7223 25.2773C33.8911 22.4328 34.7125 18.6422 37.5571 16.8109C40.4016 14.9797 44.1922 15.8012 46.0234 18.6457C47.8546 21.4902 47.0332 25.2808 44.1886 27.112C41.3441 28.9432 37.5535 28.1218 35.7223 25.2773Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref33 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.872 17.6196C102.717 20.7998 99.2039 22.442 96.0237 21.2878C92.8435 20.1336 91.2013 16.62 92.3555 13.4398C93.5097 10.2597 97.0233 8.61747 100.203 9.77167C103.384 10.9259 105.026 14.4395 103.872 17.6196Z\",\n fill: \"#FEBC1A\"\n});\n\nvar _ref34 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M59.6124 139.56C58.4582 142.74 54.9446 144.383 51.7644 143.228C48.5843 142.074 46.9421 138.561 48.0963 135.38C49.2504 132.2 52.764 130.558 55.9442 131.712C59.1244 132.867 60.7666 136.38 59.6124 139.56Z\",\n fill: \"#FEBC1A\"\n});\n\nvar SvgCoin = function SvgCoin(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, [\"svgRef\", \"title\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 155,\n height: 181,\n viewBox: \"0 0 155 181\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12, _ref13, _ref14, _ref15, _ref16, _ref17, _ref18, _ref19, _ref20, _ref21, _ref22, _ref23, _ref24, _ref25, _ref26, _ref27, _ref28, _ref29, _ref30, _ref31, _ref32, _ref33, _ref34);\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCoin, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/coin.c70fc895.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Component } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\nimport { withRouter } from \"react-router-dom\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Button from \"@material-ui/core/Button\";\nimport { Spring, config } from \"react-spring/renderprops\";\n\nimport * as ROUTES from \"../../constants/routes\";\n\nimport { ReactComponent as Coin } from \"./Icons/coin.svg\";\n\nimport { clickWellDone } from \"../../actions/chat_actions\";\nimport { fetchUser, doneProfileEdit } from \"../../actions/user_actions\";\nimport { getMissionsAndInterventions } from \"../../actions/mission_actions\";\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n zIndex: 12000,\n position: \"absolute\",\n backgroundColor: \"#53D28E\",\n width: \"100%\",\n height: \"100%\",\n overflow: 'scroll' \n },\n grid: {\n height: \"100%\",\n },\n gridin: {\n textAlign: \"center\",\n },\n icon: {\n width: \"100%\",\n height: \"100%\",\n },\n icondiv: {\n width: 155,\n height: 181,\n marginLeft: \"auto\",\n marginRight: \"auto\",\n },\n title: {\n fontSize: 30,\n fontWeight: \"bold\",\n color: \"#ffffff\",\n marginTop: theme.spacing(2),\n marginBottom: 15,\n },\n subtitle: {\n fontSize: 22,\n fontWeight: \"bold\",\n color: \"#ffffff\",\n marginTop: theme.spacing(2),\n marginBottom: 8,\n },\n body: {\n //maxWidth: \"70%\",\n marginLeft: theme.spacing(8),\n marginRight: theme.spacing(8),\n textAlign: \"center\",\n fontSize: 20,\n color: \"#ffffff\",\n\n marginBottom: 36,\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: theme.spacing(2),\n marginRight: theme.spacing(2),\n fontSize: 16,\n },\n },\n cardholder: {\n maxWidth: 880,\n margin: \"auto\",\n marginBottom: theme.spacing(2),\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n },\n card: {\n height: \"100%\",\n padding: 15,\n textAlign: \"left\",\n },\n bodycard: {\n fontSize: 12,\n color: \"#5A6375\",\n textAlign: \"left\",\n marginTop: 5,\n },\n button: {\n paddingLeft: 30,\n paddingRight: 30,\n },\n cardtitle: {\n fontWeight: 600,\n fontSize: 14,\n },\n skills: {\n color: \"#53D28E\",\n },\n interests: {\n color: \"#2988FF\",\n },\n styles: {\n color: \"#FF9800\",\n },\n backdrop: {\n zIndex: 8000,\n },\n});\n\nclass WellDone extends Component {\n state = {\n show: false,\n transformTo: {},\n };\n async componentDidUpdate(prevProps) {\n // Typical usage (don't forget to compare props):\n\n if (\n this.props.chat &&\n prevProps.chat &&\n this.props.chat.showWellDone !== prevProps.chat.showWellDone &&\n this.props.chat.showWellDone === true\n ) {\n var that = this;\n\n setTimeout(async function () {\n if (\n !that.props.user.isInterventionOngoing &&\n !that.props.user.isProfileBeingEdited\n ) {\n that.setState({\n show: true,\n transformTo: { transform: \"scale(1, 1)\", opacity: 1 },\n });\n }\n }, 4000);\n\n setTimeout(async function () {\n let runDoneEdit = false\n if (that.props.user.isInterventionOngoing) {\n that.props.history.push(ROUTES.MISSIONS);\n runDoneEdit = true\n }\n if (that.props.user.isProfileBeingEdited) {\n that.props.history.push(ROUTES.PROFILE);\n runDoneEdit = true\n }\n await that.props.fetchUser();\n if (runDoneEdit) {\n that.props.doneProfileEdit();\n }\n await that.props.getMissionsAndInterventions(true);\n }, 5000);\n\n setTimeout(async function () {\n if (!prevProps.user.isInterventionOngoing && !prevProps.user.isProfileBeingEdited) {\n that.props.history.push(ROUTES.JOBS);\n } else {\n that.props.clickWellDone();\n }\n }, 6000);\n\n // this.props.history.push(ROUTES.JOBS);\n }\n\n if (\n this.props.chat &&\n prevProps.chat &&\n this.props.chat.showWellDone !== prevProps.chat.showWellDone\n ) {\n this.setState({\n show: this.state.show && this.props.chat.showWellDone,\n transformTo: { transform: \"scale(-0.1, 0.1)\", opacity: 0.5 },\n });\n }\n }\n\n render() {\n const {\n classes,\n /*eslint-disable */\n chat: { showWellDone = false },\n /*eslint-enable */\n user: { showChat = true },\n } = this.props;\n return (\n \n
    \n \n \n \n {(props) => (\n
    \n \n
    \n )}\n \n\n \n Well Done!\n \n \n You’ve completed the initial assessment.\n \n \n We now understand you a lot better – and your opportunities are waiting for you. \n
    \n But we’d like to get to know you even more. Take part in our missions and we’ll assess your answers further to match you to vacancies perfect for you.\n
    \n Use the filters to sort and find new jobs, watch videos to see if a new career is right for you and find learning opportunities to fill your skills gaps.\n
    \n\n {\n this.props.clickWellDone();\n }}\n >\n Let's Go\n \n
    \n \n
    \n \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n { clickWellDone, fetchUser, getMissionsAndInterventions, doneProfileEdit },\n dispatch\n ),\n dispatch,\n };\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(WellDone)));\n","import React, {useState, useEffect, useRef} from \"react\";\nimport {makeStyles, Typography, Grid, Button, OutlinedInput, MenuItem, Select, Dialog, Paper, DialogContent, IconButton, Box\n} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport moment from \"moment\";\nimport { ReactComponent as SmLogo } from \"../Common/Logo/smLogo.svg\";\n\n\nconst useStyles = makeStyles((theme) => ({\n logocont: {\n flexGrow: 1,\n },\n logo: {\n maxWidth: 130,\n maxHeight: 30,\n marginTop: 2,\n marginRight: 20,\n flexGrow: 1,\n [theme.breakpoints.down(\"sm\")]: {\n maxHeight: 30,\n maxWidth: 86,\n marginRight: 10,\n },\n [theme.breakpoints.down(\"xs\")]: {\n maxHeight: 28,\n maxWidth: 58,\n marginRight: 2,\n },\n },\n}));\n\nexport default function PurchaseComplete({open, stripeOrders, onClose}){\n let classes = useStyles();\n // console.log(\"stripeOrders\")\n // console.log(open)\n // console.log(stripeOrders)\n if(open && stripeOrders && stripeOrders.length > 0){\n return (\n onClose()}\n open={open}\n >\n \n \n \n \n \n \n \n \n \n onClose()}>\n \n \n \n \n \n \n \n \n \n\n \n \n {stripeOrders[0].invoiceType === \"subscription_create\" ? \"Subscription Created\" : stripeOrders[0].invoiceType === \"subscription_cycle\" ? \"Subscription Coins Added\" : \"Purchase Complete\"}\n \n \n {stripeOrders.map((item) => {\n if(item.invoiceType === \"subscription_create\"){\n return (\n <>\n \n \n \n \n {\"Payment Reference : \" + item.id}\n \n \n \n \n {item.value + \" Coins have been added to your account\"}\n \n \n \n \n \n )\n }\n else if(item.invoiceType === \"subscription_cycle\"){\n return (\n <>\n \n \n \n \n {\"Payment Reference : \" + item.id}\n \n \n \n \n {\"Your monthly \" + item.value + \" Coins have been added to your account\"}\n \n \n \n \n \n )\n }\n else{\n return (\n <>\n \n \n \n \n {\"Payment Reference : \" + item.id}\n \n \n \n \n {item.value + \" Coins have been added to your account\"}\n \n \n \n \n \n )\n }\n })}\n {stripeOrders[0].invoiceType === \"subscription_create\" && (\n \n \n {\"This subscription will be charged montly. You can change/cancel your subscription or manage your payment details via the 'Manage Billing' option in the top right menu toolbar.\"}\n \n \n )}\n {stripeOrders[0].invoiceType === \"subscription_cycle\" && (\n \n \n {\"To updated your change your subscription, you can manage your payment details via the 'Manage Billing' option in the top right menu toolbar.\"}\n \n \n )}\n \n \n \n \n \n );\n }\n else{\n return <>\n }\n}","import React, { Component, lazy, Suspense } from \"react\";\nimport { withStyles } from \"@material-ui/core/styles\";\nimport { bindActionCreators } from \"redux\";\nimport { connect } from \"react-redux\";\n\nimport { Cache, Analytics } from \"aws-amplify\";\nimport { fetchUser } from \"../../actions/user_actions\";\nimport Typography from \"@material-ui/core/Typography\";\nimport Snackbar from \"@material-ui/core/Snackbar\";\n\nimport MuiAlert from \"@material-ui/lab/Alert\";\nimport AlertTitle from \"@material-ui/lab/AlertTitle\";\nimport { Spring, config } from \"react-spring/renderprops\";\nimport {\n fetchCoins,\n resetCoins,\n resetMaxCoins,\n checkOrders,\n resetCoinDefault,\n closePurchaseDialogue\n} from \"../../actions/reward_actions\";\n\nimport { withRouter, Switch, Route, Redirect } from \"react-router-dom\";\nimport Navigation from \"./Navigaton\";\nimport CircularProgress from \"@material-ui/core/CircularProgress\";\nimport LinearProgress from \"@material-ui/core/LinearProgress\";\nimport * as ROUTES from \"../../constants/routes\";\nimport Demographics from \"./Demographics\";\nimport Hello from \"./Hello\";\nimport WellDone from \"./WellDone\";\nimport PurchaseComplete from \"./PurchaseComplete\"\nimport { ReactComponent as SmallCoin } from \"../Common/Icons/smallCoin.svg\";\nimport { ReactComponent as RewardShield } from \"../Profile/icons/rewardShield.svg\";\n\nconst Profile = lazy(() => import(\"../Profile\"));\nconst ProfileSettings = lazy(() => import(\"../Profile/ProfileSettings\"));\nconst Chat = lazy(() => import(\"../Chat\"));\nconst Default = lazy(() => import(\"./Default\"));\nconst Jobs = lazy(() => import(\"../Jobs\"));\nconst JobDetails = lazy(() => import(\"../Jobs/JobDetails\"));\nconst Missions = lazy(() => import(\"../Missions\"));\nconst ResourceDetails = lazy(() => import(\"../Resources/ResourceDetails\"));\nconst Privacy = lazy(() => import(\"../Privacy\"));\nconst Faq = lazy(() => import(\"../Faq\"));\nconst OrgProfile = lazy(() => import(\"../OrgProfile\"));\nconst ApplicationAssistant = lazy(() => import(\"../ApplicationAssistant\"));\n\nconst styles = (theme) => ({\n root: {\n flexGrow: 1,\n },\n layout: {\n marginTop: theme.spacing(10),\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"md\")]: {\n marginTop: theme.spacing(8)\n },\n },\n nav: {\n [theme.breakpoints.down(\"xs\")]: {\n position: \"fixed\",\n },\n },\n loading: {\n margin: \"auto\",\n },\n loadingmain: {\n width: \"100%\",\n },\n coinText: {\n fontSize: 20,\n fontWeight: \"bold\",\n textAlign: \"center\",\n color: \"#FFFFFF\",\n fontFamily: [\n \"Spectral\",\n \"Inter\",\n \"-apple-system\",\n \"BlinkMacSystemFont\",\n '\"Segoe UI\"',\n \"Roboto\",\n '\"Helvetica Neue\"',\n \"Arial\",\n \"sans-serif\",\n ].join(\",\"),\n },\n coinIcon: {\n marginLeft: 8,\n marginRight: 8,\n width: 24,\n height: 24,\n marginBottom: -6,\n },\n rewardIcon: {\n marginLeft: 8,\n marginRight: 8,\n width: 48,\n height: 48,\n marginBottom: -6,\n },\n orangeBG: {\n backgroundColor : \"#FF6A14\"\n\n }\n});\nconst NotFoundRedirect = () => ;\n\nconst Alert = (props) => {\n return ;\n};\n\nconst mapObj = (f) => (obj) =>\n Object.keys(obj).reduce((acc, key) => ({ ...acc, [key]: f(obj[key]) }), {});\nconst toArrayOfStrings = (value) => [`${value}`];\n/* eslint-disable */\nconst mapToArrayOfStrings = mapObj(toArrayOfStrings);\n/* eslint-enable */\n\nclass Main extends Component {\n constructor(props) {\n super(props);\n this.handleClose = this.handleClose.bind(this);\n // Store the previous pathname and search strings\n this.currentPathname = null;\n this.currentSearch = null;\n }\n\n state = {\n chatActive: false,\n isFocused: true,\n shouldShowCoins: false,\n showCoins: false,\n };\n\n handleClose = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n\n this.props.resetCoins();\n };\n\n handleClose() {}\n\n async componentDidMount() {\n const { history } = this.props;\n document\n .querySelector(\":root\")\n .style.setProperty(\"--vh\", window.innerHeight / 100 + \"px\");\n //SETUP ANALYTICS\n\n Analytics.autoTrack(\"pageView\", { enable: true, type: \"SPA\" });\n\n window.addEventListener(\"focus\", this.handleFocus);\n window.addEventListener(\"blur\", this.handleBlur);\n\n history.listen((newLocation, action) => {\n // location is an object like window.location\n Cache.setItem(\"lastpath\", newLocation.pathname);\n Cache.setItem(\"previouspath\", this.props.location.pathname);\n\n if (action === \"PUSH\") {\n if (\n newLocation.pathname !== this.currentPathname ||\n newLocation.search !== this.currentSearch\n ) {\n // Save new location\n this.lastpath = this.props.location.pathname; //new item for getting previous path\n this.currentPathname = newLocation.pathname;\n this.currentSearch = newLocation.search;\n\n // Clone location object and push it to history\n if (newLocation.pathname === \"/app/chat\"){\n history.push({\n pathname: newLocation.pathname,\n search: newLocation.search,\n lastpath : this.lastpath\n });\n }\n }\n } else if (action === \"POP\") {\n\n let lastPath = Cache.getItem(\"lastpath\", newLocation.pathname);\n if (lastPath === \"/app/chat\"){\n history.go(1);\n }\n // use browser go back method.\n } else {\n // Send user back if they try to navigate back\n history.go(1);\n }\n });\n\n window.addEventListener(\"resize\", () => {\n //chat height trick\n document\n .querySelector(\":root\")\n .style.setProperty(\"--vh\", window.innerHeight / 100 + \"px\");\n });\n\n await this.props.fetchUser();\n console.log(\"MAIN MOUNT COINS\");\n await this.props.fetchCoins();\n await this.props.checkOrders();\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"focus\", this.handleFocus);\n window.removeEventListener(\"blur\", this.handleBlur);\n }\n\n handleFocus = () => {\n var that = this;\n\n setTimeout(() => {\n that.setState({\n isFocused: true,\n showCoins: this.state.shouldShowCoins,\n });\n }, 300);\n };\n handleBlur = () => {\n this.setState({\n isFocused: false,\n });\n };\n\n sleep(ms) {\n return new Promise((resolve) => setTimeout(resolve, ms));\n }\n\n async componentDidUpdate(prevProps) {\n // Typical usage (don't forget to compare props):\n\n if (\n this.props.user &&\n prevProps.user &&\n this.props.user.showChat !== prevProps.user.showChat &&\n this.props.user.showChat === true\n ) {\n // await this.props.fetchUser();\n //console.log(\"SLEEP\");\n // await this.sleep(2000);\n //console.log(\"SLEEP END\");\n //\n\n if (this.props.history.location.pathname.indexOf(ROUTES.CHAT) < 0) {\n this.props.history.push(ROUTES.CHAT);\n }\n this.setState({\n chatActive: true,\n });\n }\n\n if (\n this.props.user &&\n prevProps.user &&\n this.props.user.showChat !== prevProps.user.showChat &&\n this.props.user.showChat === false\n ) {\n if (this.props.history.location.pathname.indexOf(ROUTES.CHAT) >= 0) {\n this.props.history.push(ROUTES.APP);\n }\n this.setState({\n chatActive: false,\n });\n }\n\n if (\n this.props.rewards &&\n prevProps.rewards &&\n this.props.rewards.newCoins !== 0 &&\n prevProps.rewards.newCoins === 0\n ) {\n this.setState({\n shouldShowCoins: true,\n showCoins: this.state.isFocused,\n });\n }\n\n if (\n this.props.rewards &&\n prevProps.rewards &&\n this.props.rewards.newCoins === 0 &&\n prevProps.rewards.newCoins !== 0\n ) {\n this.setState({\n showCoins: false,\n shouldShowCoins: false,\n isLevelUp: false,\n });\n }\n\n if (\n this.props.rewards &&\n prevProps.rewards &&\n this.props.rewards.level !== prevProps.rewards.level &&\n prevProps.rewards.level >= 1\n ) {\n this.setState({\n isLevelUp: true,\n });\n }\n }\n\n render() {\n const {\n classes,\n user: { email, orgDetails = {}},\n rewards: { newCoins = 0, level = 1, dailyLimitReachedNotification, purchaseComplete, stripeOrders, showOrgDefault },\n } = this.props;\n const { name } = orgDetails;\n // console.log(this.props)\n\n let defaultRoute;\n let removedCoins = (newCoins < 0) ? Math.abs(newCoins) : false\n\n if (this.state.chatActive) {\n defaultRoute = Default;\n } else {\n defaultRoute = Jobs;\n //this.props.history.push(ROUTES.JOBS);\n }\n\n return (\n
    \n {!email && (\n
    \n \n
    \n )}\n {email && (\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) => (\n \n )}\n \n \n }\n >\n {\"Spent \"+ removedCoins +\" coins.\" }\n \n \n\n \n \n \n {(props) => (\n \n )}\n \n \n }\n >\n Level Up! \n +{newCoins} points. You are on Level {level} 🏆\n \n \n\n \n \n \n {(props) => (\n \n )}\n \n\n \n {(props) => <>+{parseInt(props.number)}}\n \n \n }\n >\n You just earned {newCoins} points. Keep it up!\n \n \n this.props.resetMaxCoins()}\n autoHideDuration={5000}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n >\n \n Maximum number of coins earned today. Earn more tomorrow\n \n \n this.props.resetCoinDefault() }\n autoHideDuration={5000}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\"}}\n >\n \n \n {(props) => (\n \n )}\n \n \n }\n >\n {\"+ \" + showOrgDefault + \" coins added from \" + name}\n \n \n this.props.closePurchaseDialogue()}/>\n \n )}\n \n \n );\n }\n}\n\nfunction mapStateToProps(state) {\n return state;\n}\n\nfunction mapDispatchToProps(dispatch) {\n return {\n ...bindActionCreators(\n { fetchUser, fetchCoins, resetCoins, resetMaxCoins, checkOrders,resetCoinDefault, closePurchaseDialogue },\n dispatch\n ),\n dispatch,\n };\n}\n\nexport default connect(\n mapStateToProps,\n mapDispatchToProps\n)(withStyles(styles)(withRouter(Main)));\n","import React, {useState, useEffect} from \"react\";\nimport { useLocation} from \"react-router-dom\";\nimport {makeStyles, Paper, Avatar, Chip, Grid, Typography, IconButton, Divider, Button, Accordion, AccordionSummary, AccordionDetails} from \"@material-ui/core\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport { ReactComponent as AvatarIcon } from \"../Chat/GiftedChat/chatavatar.svg\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nconst useStyles = makeStyles((theme) => ({\n anchorSmall: {\n zIndex: 99999,\n position: 'fixed',\n right: \"0px\",\n bottom: \"0px\",\n margin: \"10px\",\n backgroundColor:\"#fff\",\n padding:\"10px\",\n },\n anchorSmallChat: {\n zIndex: 99999,\n position: 'fixed',\n right: \"0px\",\n margin: \"10px\",\n backgroundColor:\"#fff\",\n padding:\"10px\",\n [theme.breakpoints.down(\"xs\")]: {\n top: \"65px\",\n },\n [theme.breakpoints.up(\"xs\")]: {\n bottom: \"0px\",\n },\n },\n anchor :{\n zIndex: 99999,\n position: 'fixed',\n bottom: \"0px\",\n right: \"0px\",\n margin: \"10px\",\n backgroundColor:\"#fff\",\n padding:\"10px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n height: \"100%\",\n margin: \"0px\",\n },\n [theme.breakpoints.down(\"md\")]: {\n width: \"100%\",\n },\n [theme.breakpoints.up(\"md\")]: {\n width: \"35%\",\n }\n },\n header:{\n borderTopRightRadius: 10,\n borderTopLeftRadius: 10,\n },\n avatar:{\n backgroundColor:\"#fff\"\n },\n text:{\n paddingBlock:\"10px\"\n }\n}));\n\nexport default function Help({isAuthenticated, getHelpVideos}){\n const classes = useStyles();\n const location = useLocation();\n const [open, isOpen] = useState(false)\n const [expanded, setExpanded] = React.useState(0);\n const [currentPath, setCurrentPath] = useState(undefined);\n const [helpObject, setHelpObject] = React.useState(false);\n const [anchorClassSmall, setAnchorClassSmall] = useState(classes.anchorSmall)\n\n useEffect(() => {\n async function pathChange(){\n if(location.pathname !== currentPath || !helpObject){\n setCurrentPath(location.pathname);\n setHelpObject(await getHelpVideos(location.pathname))\n console.log(location.pathname)\n setAnchorClassSmall(location.pathname && location.pathname.includes(\"chat\") ? classes.anchorSmallChat :classes.anchorSmall)\n }\n }\n pathChange()\n }, [location, isAuthenticated]);\n\n if(helpObject && helpObject.videos){\n if(open){\n return (\n \n \n \n \n \n \n \n Need Help?\n \n \n \n isOpen(!open)}>\n \n \n \n \n \n \n Some of these videos might help you get up to speed with this page\n \n {helpObject.videos.map((item, index) => {\n const videoURL = \"https://embed.app.guidde.com/playbooks/\" + item.id\n return (\n setExpanded(index)}>\n }\n aria-controls=\"panel1-content\"\n id=\"panel1-header\"\n >\n {item.title}\n \n \n