{"version":3,"sources":["redux/slices/OtpRequestSlice.tsx","modules/onboarding/sign_in/CorporateLogin.tsx","modules/constants/BlockedDomains.tsx","redux/slices/AuthSlice.ts","enums/httpStatus.ts","theme.ts","modules/client/share_feedback/LocalDivider.tsx","modules/constants/customThemeColor.tsx","styles.tsx","modules/client/share_feedback/RightsText.tsx","modules/components/ErrorPages/TextFile.tsx","modules/components/ErrorPages/PageNotFound.tsx","util/GetDateInActitivityFormat.tsx","redux/slices/CoachMarkSlice.ts","modules/home/HomeText.tsx","util/APIService.ts","redux/slices/ShareFeedbackSlice.tsx","modules/admin/customAttributeAndQuestions/updateAttributeStatusModal/helper.ts","modules/components/Modal/ModalBody.tsx","modules/components/Modal/ModalFooter.tsx","modules/components/Modal/ModalHeader.tsx","modules/components/Modal/Modal.tsx","modules/components/ErrorPages/DiscardExistingContent.tsx","redux/slices/TeamLeadTeams.ts","modules/admin/teams/createTeams/createTeamCancelModal/helper.ts","modules/admin/teams/createTeams/createTeamCancelModal/createTeamCancelModal.tsx","redux/slices/CreateTeamSlice.ts","modules/home/Drawer.tsx","modules/home/NavBar.tsx","layouts/home/Layout.tsx","modules/constants/avatarBackgroundColor.tsx","util/GetDateInDesiredFormat.tsx","modules/components/ToastMessage.tsx","modules/components/list/detail/renderResponse.tsx","modules/components/list/detail/AttributeCard.tsx","modules/components/list/detail/FAQCard.tsx","modules/components/list/detail/DetailComponent.tsx","modules/constants/FAQQuestionsData.tsx","modules/faqs/Component.tsx","modules/faqs/FullScreenDialog.tsx","modules/home/ToolBar.tsx","modules/components/CustomSelect.tsx","layouts/admin/dashboard/Layout.tsx","redux/slices/RecentActivitiesSlice.ts","modules/admin/dashboard/Helper.ts","modules/admin/dashboard/CustomDivider.tsx","modules/admin/dashboard/FeedbackRequestActivityCard.tsx","modules/admin/dashboard/FeedbackSharedActivityCard.tsx","modules/admin/dashboard/UserOnBoardedActivityCard.tsx","modules/admin/dashboard/SelfAssessmentActivityCard.tsx","modules/admin/dashboard/RecentActivities.tsx","redux/slices/NudgeSendNotificationSlice.ts","modules/admin/dashboard/NudgeCardComponent.tsx","modules/admin/customAttributeAndQuestions/helper.ts","modules/components/NudgeCalendarCTA.tsx","layouts/admin/attributeDetail/Layout.tsx","modules/admin/dashboard/TrendChart.tsx","modules/admin/dashboard/NudgeBoard.tsx","modules/admin/dashboard/LeaderboardMemberCard.tsx","modules/admin/dashboard/TopLeaderCard.tsx","modules/admin/dashboard/LeaderBoard.tsx","redux/slices/LeaderFeedbackSlice.tsx","redux/slices/FeedbackTrendDataSlice.tsx","modules/admin/dashboard/FeedbackTrend.tsx","redux/slices/CountReceivedFeedbacksSlice.tsx","redux/slices/CountRequestsReceivedSlice.ts","redux/slices/CountRequestsSendSlice.ts","redux/slices/CountSharedFeedbackSlice.ts","redux/slices/FeedbackRequestsReceivedSlice.ts","redux/slices/FeedbackRequestsSendSlice.ts","redux/slices/ReceivedFeedbackDetailSlice.tsx","redux/slices/ReceivedFeedbacksSlice.tsx","redux/slices/RequestFeebackSlice.ts","redux/slices/SharedFeedbackDetailSlice.ts","redux/slices/SharedAssessmentDetailSlice.ts","redux/slices/SharedDraftDetailSlice.tsx","redux/slices/SharedFeedbacksSlice.ts","redux/slices/SavedDraftsSlice.ts","redux/slices/ShareAssessmentSlice.ts","redux/slices/UsersAndAttributesSlice.ts","redux/slices/AllMemberList.ts","redux/slices/ConsolidateReportOfReceivedFeedbackSlice.ts","redux/slices/DeactivateMemberSlice.ts","redux/slices/DeleteDraftSlice.ts","redux/slices/SharedAssessmentDetailByMemberSlice.ts","redux/slices/ReceivedFeedbackDetailByMemberSlice.ts","redux/slices/SharedFeedbackDetailByMemberSlice.ts","redux/slices/SharedAssessmentListByMemberSlice.ts","redux/slices/SharedAssessmentListSlice.ts","redux/slices/CountSharedAssessmentsSlice.ts","redux/slices/CountAssessmentSharedByMemberSlice.ts","redux/slices/CountRequestReceivedByMemberSlice.ts","redux/slices/CountRequestSentByMemberSlice.ts","redux/slices/FeedbackRequestReceivedByMemberSlice.ts","redux/slices/FeedbackRequestsSentByMemberSlice.ts","redux/slices/ReceivedAndSharedCountSlice.ts","redux/slices/ReceivedAndSharedAllCountSlice.ts","redux/slices/ReceivedFeedbackListByMemberSlice.ts","redux/slices/SharedFeedbackListByMemberSlice.ts","redux/slices/AppraisalSlice.ts","redux/slices/AttributesWithDetailData.ts","redux/slices/ReceivedFeedbackRequestDetailsSlice.ts","redux/slices/RequestFeedbackFromExtClientSlice.ts","redux/slices/SentFeedbackRequestDetailsSlice.ts","redux/slices/SharedDraftDetailForClient.ts","redux/slices/ShareFeedbackByClient.ts","redux/slices/SubmitFeedbackByExternalClient.tsx","redux/slices/SubmitFeedbackSlice.tsx","redux/slices/SelfReportSlice.tsx","redux/slices/NuggetShareSlice.tsx","redux/slices/UpdateOrganizationSlice.ts","redux/slices/AddTeamMembersSlice.ts","redux/slices/UpdateMemberAccessRole.ts","modules/constants/clearData.tsx","modules/components/ErrorPages/errorModal.tsx","modules/components/CommonFunctionalityComponent.tsx","redux/slices/NudgeListSlice.ts","redux/slices/NudgeCountSLice.ts","modules/admin/dashboard/Dashboard.tsx","modules/admin/feedback/Feedback.tsx","layouts/admin/members/details/FeedbackAssessmentDetailLayout.tsx","modules/admin/members/details/detail/FeedbackAssessmentDetail.tsx","modules/components/changePageButtons.tsx","layouts/admin/members/details/MemberDetailsLayout.tsx","modules/admin/members/details/CountCard.tsx","modules/admin/members/DeactivateMemberModal.tsx","modules/admin/members/details/DetailSection.tsx","modules/admin/members/details/ListContent.tsx","modules/admin/members/details/ListHeader.tsx","modules/admin/members/details/List.tsx","modules/admin/members/details/ReportButton.tsx","modules/admin/members/details/TitleTabs.tsx","util/pdfGenerator.ts","modules/admin/members/details/tabsAndReportBar.tsx","modules/admin/members/details/MemberDetails.tsx","layouts/admin/members/Layout.tsx","modules/admin/members/ShowMemberCard.tsx","modules/admin/members/Members.tsx","modules/components/ReportAttributeDetail/helper.ts","modules/components/ReportAttributeDetail/ReportAttributeDetailComponent.tsx","modules/admin/members/reports/AttributeContent.tsx","modules/admin/members/details/FeedbackReportCountCard.tsx","redux/slices/FeedbackReportSlice.ts","util/DateUtils.ts","modules/admin/members/details/exportCTA/ExportCTA.tsx","modules/components/CalenderCTA.tsx","layouts/admin/members/reports/ReceivedFeedbackReportLayout.tsx","modules/admin/members/reports/ScrollOnTop.tsx","modules/admin/members/reports/UserInfoCard.tsx","modules/components/Tabs/Tabs.tsx","modules/admin/members/reports/ReceivedFeedbackReport.tsx","layouts/user/dashboard/Layout.tsx","modules/user/dashboard/dashboardCountCards.tsx","modules/user/share_feedback/addNewButtonHandles.tsx","modules/user/share_feedback/addNewButtonElements.tsx","modules/user/request_feedback/request_employee/requestFeedbackText.tsx","modules/user/dashboard/NuggetShareComponent.tsx","modules/user/dashboard/dashboardPendingRequestCard.tsx","modules/user/dashboard/dashboardPendingRequestHeader.tsx","modules/components/DeleteAttributeCard.tsx","redux/slices/UpdateRequestStatusSlice.ts","modules/user/dashboard/pendingListContainer.tsx","modules/user/dashboard/Dashboard.tsx","layouts/client/share_feedback/Layout.tsx","modules/client/share_feedback/ScrollOnTop.tsx","enums/answerTypeEnums.ts","modules/user/share_feedback/AttributeTitle.tsx","modules/user/share_feedback/Vriddhi/vriddhi.styles.ts","modules/user/share_feedback/Vriddhi/VriddhiResponseOptions.tsx","modules/user/share_feedback/addNewButton.tsx","modules/client/share_feedback/FeedbackHeader.tsx","modules/client/share_feedback/MemberChip.tsx","modules/client/share_feedback/FeedbackSection.tsx","modules/client/share_feedback/GrowWizeLogo.tsx","modules/client/share_feedback/GuidelinesText.tsx","modules/client/share_feedback/SubmitFeedbackCTA.tsx","modules/client/share_feedback/WelcomeText.tsx","modules/client/share_feedback/Header.tsx","modules/client/share_feedback/SuccessPage.tsx","enums/assessmentEnum.ts","modules/client/share_feedback/CookieFooter.tsx","modules/components/ValidationModal.tsx","modules/client/share_feedback/ShareFeedbackByExternalClient.tsx","modules/components/list/detail/DetailPage.tsx","layouts/user/feedback_request/detail/Layout.tsx","modules/user/feedback_requests/detail/FeedbackRequestDetails.tsx","modules/components/list/ListContentCard.tsx","modules/components/list/ListHeader.tsx","modules/components/list/ListTitles.tsx","modules/components/list/noRecordPage/NoRecordText.tsx","modules/components/list/ListContainer.tsx","modules/components/list/noRecordPage/NoRecordPage.tsx","modules/components/UserSearchBoxComponent.tsx","layouts/user/feedback_request/Layout.tsx","modules/user/feedback_requests/feedbackRequestText.tsx","modules/user/feedback_requests/FeedbackRequests.tsx","layouts/user/received_feedback/detail/Layout.tsx","modules/user/received_feedback/detail/ReceivedFeedbackDetail.tsx","layouts/user/received_feedback/Layout.tsx","modules/user/received_feedback/ReceivedFeedbacks.tsx","layouts/user/request_feedback/Layout.tsx","layouts/user/request_feedback/requestFeedbackFormLayout.tsx","modules/user/request_feedback/request_employee/buttons.tsx","modules/user/request_feedback/request_employee/popUpText.tsx","modules/user/request_feedback/request_employee/popUp.tsx","modules/user/request_feedback/ContextText.tsx","modules/user/request_feedback/request_employee/requestFeedbackForm.tsx","modules/user/request_feedback/request_client/buttons.tsx","modules/user/request_feedback/request_client/RequestFeedbackFromExtClient.tsx","layouts/user/request_feedback/requestFeedbackListLayout.tsx","modules/user/request_feedback/request_list/RequestFeedbackList.tsx","modules/user/request_feedback/tabLabels.tsx","modules/user/request_feedback/RequestFeedback.tsx","layouts/user/request_feedback/detail/Layout.tsx","modules/user/request_feedback/request_list/detail/RequestFeedbackDetails.tsx","layouts/user/self_assessment/detail/Layout.tsx","modules/user/self_assessment/detail/SelfAssessmentDetail.tsx","modules/constants/shareFeedbackText.tsx","modules/user/self_assessment/addNewButtonHandles.tsx","modules/user/self_assessment/addNewButtonElements.tsx","modules/user/self_assessment/addNewButton.tsx","modules/user/self_assessment/buttons.tsx","modules/user/self_assessment/tabLabels.tsx","layouts/user/self_assessment/Layout.tsx","modules/user/self_assessment/sharedAssessmentListContent.tsx","redux/slices/EditSelfAssessment.ts","modules/user/self_assessment/SelfAssessment.tsx","modules/user/self_report/AttributeContent.tsx","modules/user/self_report/SelfReport.tsx","layouts/user/shared_feedback/detail/Layout.tsx","modules/user/shared_feedback/detail/SharedFeedbackDetail.tsx","layouts/user/shared_feedback/Layout.tsx","util/userOption.tsx","util/attributeOption.tsx","modules/components/CustomSearchboxComponent.tsx","modules/user/shared_feedback/SharedFeedbacks.tsx","layouts/user/share_feedback/draft/Layout.tsx","modules/user/share_feedback/drafts/headerTabs.tsx","modules/user/share_feedback/drafts/noDraftText.tsx","modules/user/share_feedback/drafts/showDraftCard.tsx","modules/user/share_feedback/drafts/draftContainer.tsx","modules/user/share_feedback/drafts/draftList.tsx","layouts/user/share_feedback/Layout.tsx","modules/user/share_feedback/buttons.tsx","modules/user/share_feedback/tabLabels.tsx","layouts/user/share_feedback/AttributesPromptModal.tsx","modules/user/share_feedback/ShareFeedback.tsx","layouts/onboarding/landing_page/Layout.tsx","modules/onboarding/landing_page/MainHeader.tsx","modules/onboarding/landing_page/HeroSection.tsx","redux/slices/CreateNewOrgInterest.ts","modules/onboarding/landing_page/ContactUsSlide.tsx","modules/onboarding/landing_page/BridgeSection.tsx","modules/onboarding/landing_page/FeatureSection.tsx","modules/onboarding/landing_page/AdditionalFeature.tsx","modules/onboarding/landing_page/Footer.tsx","modules/onboarding/landing_page/MainSection.tsx","layouts/onboarding/workspace/Layout.tsx","modules/onboarding/workspace/AppLogo.tsx","modules/onboarding/workspace/Form.tsx","modules/onboarding/workspace/WorkspaceSetup.tsx","layouts/onboarding/privacy_policy/Layout.tsx","modules/onboarding/privacy_policy/PrivacyPolicyText.tsx","modules/admin/attributes/Attributes.tsx","layouts/admin/attributesAndQuestions/Layout.tsx","redux/slices/AddAttributeSlice.ts","modules/admin/customAttributeAndQuestions/addAttributeModal/helper.ts","constants/questionConstants.ts","modules/components/Dropdown/helper.ts","modules/admin/teams/helper.ts","modules/components/Dropdown/Dropdown.tsx","modules/admin/customAttributeAndQuestions/addAttributeModal/addAttributeModal.tsx","redux/slices/attributeSlice.ts","redux/slices/AddQuestionSlice.ts","modules/admin/customAttributeAndQuestions/addQuestionModal/helper.ts","modules/admin/customAttributeAndQuestions/addQuestionModal/addQuestionModal.tsx","modules/components/SwitchButton.jsx","redux/slices/AttributeDetailSlice.ts","redux/slices/UpdateAttributeSlice.ts","modules/admin/customAttributeAndQuestions/updateAttributeStatusModal/updateAttributeStatusModal.tsx","modules/admin/customAttributeAndQuestions/attributeListTable/helper.ts","modules/admin/customAttributeAndQuestions/attributeListTable/attributeListTableItem.tsx","modules/admin/customAttributeAndQuestions/attributeListTable/attributeListTable.tsx","modules/admin/customAttributeAndQuestions/customAttributeAndQuestions.tsx","redux/slices/UpdateQuestionSlice.ts","modules/admin/customAttributeAndQuestions/question/helper.ts","modules/admin/customAttributeAndQuestions/updateQuestionStatusModal/helper.tsx","modules/admin/customAttributeAndQuestions/updateQuestionStatusModal/updateQuestionStatusModal.tsx","modules/admin/customAttributeAndQuestions/question/question.tsx","modules/admin/customAttributeAndQuestions/attributeDetail/helper.ts","modules/admin/customAttributeAndQuestions/attributeDetail/attributeDetail.tsx","layouts/admin/settings/Layout.tsx","modules/admin/settings/helper.ts","modules/admin/settings/reminderConfirmationModal/helper.ts","modules/admin/settings/reminderConfirmationModal/reminderConfirmationModal.tsx","constants/reminderFrequencyConstants.ts","redux/slices/GetReminderSlice.ts","redux/slices/UpdateReminderSlice.ts","redux/slices/CreateReminderSlice.ts","modules/admin/settings/Settings.tsx","layouts/admin/teams/helper.ts","layouts/admin/teams/createTeam/CreateTeamLayout.tsx","constants/teamConstants.ts","enums/userStatus.ts","modules/admin/teams/createTeams/removeMemberModal/helper.ts","modules/admin/teams/createTeams/removeMemberModal/removeMemberModal.tsx","modules/admin/teams/createTeams/TeamMemberLisItem.tsx","modules/admin/teams/createTeams/TeamMemberList.tsx","enums/teamEnums.ts","redux/slices/TeamDetailsSlice.ts","enums/operationEnums.ts","redux/slices/EditTeamSlice.ts","modules/admin/teams/createTeams/CreateEditTeam.tsx","redux/slices/teamSlice.ts","layouts/admin/teams/Layout.tsx","util/teamOption.tsx","modules/admin/teams/teamListTable/helper.ts","enums/userTypes.ts","enums/requestTags.ts","modules/admin/teams/teamListTable/teamListTableItem.tsx","modules/admin/teams/teamListTable/teamListTable.tsx","modules/admin/teams/Teams.tsx","layouts/admin/teams/details/TeamDetailsLayout.tsx","redux/slices/RoundRobinFeedbackSlice.ts","modules/admin/teams/details/RoundRobin.tsx","modules/admin/teams/details/TabLabels.tsx","modules/admin/teams/details/TeamDetails.tsx","layouts/user/teams/Layout.tsx","modules/user/teams/TeamLeadTeams.tsx","layouts/user/teams/TeamLeadTeamDetailsLayout.tsx","modules/user/teams/TabLabels.tsx","modules/user/teams/RoundRobin.tsx","modules/user/teams/TeamLeadTeamDetails.tsx","modules/user/teams/TeamLeadMemberDetails.tsx","layouts/admin/nudge/Layout.tsx","modules/admin/nudge/NudgeBoardPage.tsx","Website.tsx","modules/constants/signInTitleText.tsx","layouts/onboarding/sign_in/Layout.tsx","modules/onboarding/sign_in/signInButton.tsx","modules/onboarding/sign_in/SignIn.tsx","routes/index.tsx","redux/slices/OtpValidationSlice.tsx","util/handleTokenExpiration.tsx","redux/store/index.ts","App.tsx","reportWebVitals.ts","index.tsx"],"names":["otpRequest","createAsyncThunk","requestData","a","options","method","headers","body","JSON","stringify","fetch","process","response","status","json","data","text","otpRequestSlice","createSlice","name","initialState","loading","reducers","clearData","state","extraReducers","builder","addCase","fulfilled","action","payload","undefined","pending","rejected","actions","useStyles","makeStyles","theme","root","justifyContent","marginBottom","alignItems","width","marginLeft","subTextError","color","fontSize","spacing","nextButton","marginTop","enteredEmailSection","border","paddingLeft","borderRadius","eneteredEmail","flex","flexWrap","verifyButton","fontWeight","otp","CorporateLogin","corporateEmailEntered","setCorporateEmailEntered","classes","dispatch","useDispatch","useSelector","auth","token","React","useState","corporateLogin","email","setEmail","error","setError","setOtp","flagValidEmail","setFlagValidEmail","otpGenerationResponse","otpResponse","message","responseCode","useEffect","isValidEmail","test","requestOtp","arg","requester","Buffer","from","toString","requesterType","validateOtp","resetEmail","id_token","imageUrl","isCorporate","signInUser","onSubmit","event","preventDefault","component","item","margin","fullWidth","id","label","autoComplete","autoFocus","onChange","target","value","domain","split","checkBlockedDomain","inputProps","maxLength","className","variant","disabled","onClick","lg","style","type","length","BLOCKED_DOMAINS","userDomain","indexOf","HttpStatus","OK","tokenResponse","firstName","lastName","statusText","authSlice","isExpired","signInFailed","sessionExpired","createMuiTheme","typography","h1","fontFamily","h2","h3","h4","h5","h6","body1","body2","overrides","MuiFormLabel","asterisk","CustomDivider","Grid","container","direction","height","appColor","useCustomStyle","remainingChar","textAlign","breakpoints","down","typography_font_14_8_500","typography_font_14_8","typography_font_14_10","typography_font_14_10_600","textTransform","typography_font_14_12_500","typography_font_14_12_600","typography_font_18_12_500","typography_font_18_12_600","typography_font_18_14_500","typography_font_18_14_600","typography_font_20_14_600","typography_font_20_14_500","typography_font_24_14_500","typography_font_24_14_600","popper","backgroundColor","borderColor","popperWidth","avatarSmall","sendCTA","padding","RightsText","justify","src","alt","Typography","Date","getFullYear","useStyle","typography_head","position","zIndex","typography_body","buttonText","typography_error_code","typography_error_message","typography_sec_error_message","marginRight","errorButtonText","Error404","client","gutterBottom","CannotFindPage","ButtonText","ErrorMessage","statusCode","str","SecondaryErrorMessage","customErrorMessage","console","log","ErrorButtonText","minHeight","btn","img","PageNotFound","props","clicked","setClicked","location","pathname","to","Box","Button","xs","datediff","first","second","Math","round","getTime","getDateInActivityFormat","date","diff","getHours","getMinutes","getTimeInDesiredFormat","coachMarkSlice","showTour","dashboardTour","requestNowButtonTour","shareFeedbackButtonTour","shareNuggetTour","requestClientTour","myTeamsButtonTour","dashboardVisitCount","requestNowPageVisitCount","markRequestFeedbackTourDone","markShareFeedbackTourDone","markShareNuggetTourDone","markRequestClientTourDone","markMyTeamsTourDone","dashboardVisitIncrementCounter","requestNowPageVisitIncrementCounter","createStyles","typography_h2","typography_body_black","typography_body_white","activeUserTabFontColor","activeAdminTabFontColor","typograph_saving","typograph_saved","typograph_error","btn_","btn_Hover","saveIcon","SideLabelText","idx","setShowTour","showTeamsTour","setShowTeamsTour","shareFeedbackButtonTourStatus","coachMarks","myTeamsButtonTourStatus","tourRef","useRef","history","useHistory","current","Shepherd","Tour","defaultStepOptions","scrollTo","behavior","block","attachToOptions","element","on","window","innerWidth","addSteps","attachTo","when","show","setTimeout","next","start","isMyTeamsButtonVisible","el","rect","getBoundingClientRect","top","left","bottom","innerHeight","document","documentElement","clientHeight","right","clientWidth","isElementInViewport","querySelector","listen","cancel","SideLabelAdminDashboardText","SideLabelAllMembersText","SideLabelManageTeamsText","SideLabelManageQuestionsText","SideLabelSettings","HeaderDisplayText","headerName","StatusText","setValue","tabValue","validLength","isDataChange","savedDraftDate","onAnyChange","isHover","setIsHover","shareFeedback","shareAssessment","sm","startIcon","onMouseEnter","onMouseLeave","isTokenExpired","tokenData","jwt_decode","exp","e","post","url","getState","authToken","get","patch","put","deleteApi","storeActions","CREATED","shareFeedbackSlice","unsavedChanges","setUnsavedChanges","updateAttributeStatusModalStyles","modalBody","ModalBody","children","modalFooter","paddingRight","paddingBottom","alignSelf","cancelText","submitText","submitButton","cancelButton","ModalFooter","handleCancel","handleSubmit","buttonLabel","secondaryLabel","disableActions","modalHeader","headerBackground","background","title","ModalHeader","showBackground","IconButton","modal","display","modalGrid","flexDirection","loaderBackground","fadedWrapper","opacity","pointerEvents","Loader","CircularProgress","Modal","open","onClose","closeAfterTransition","BackdropComponent","Backdrop","BackdropProps","timeout","Fade","in","DiscardContentModal","handleConfirm","submitted","setSubmitted","getAllTeamsOfTeamLead","_","teamLeadTeamDataSlice","teams","loaded","SERVICE_UNAVAILABLE","createTeamCancelModalStyles","confirmationInfo","CreateTeamCancelModal","handleSuccess","createTeam","params","createTeamSlice","unsavedTeamChanges","setUnsavedTeamChanges","default_tabStyle","active_tabStyle","leftInficatorUserView","borderLeft","leftInficatorAdminView","indicator","logo","logoName","logoImg","closeCta","roleGridUserView","roleGridAdminView","logoCta","toggleViewUserCTA","toggleViewAdminCTA","navScrollStyle","overflowY","SIDE_LABEL_DATA","LocalDrawer","handleDrawerToggle","customClasses","isSwitchModalOpen","setIsSwitchModalOpen","isTabModalOpen","setIsTabModalOpen","openModal","setOpenModal","switchViewClicked","setSwitchViewClicked","newTabValue","setNewTabValue","userTeams","teamLeadTeamData","currentPagePath","useLocation","fetchUserTeams","createTeamDetails","role","iat","sub","err","indexToTab","0","1","2","3","4","5","6","7","8","indexToTabForAdmin","tabToIndex","path","match","index","adminRole","setAdminRole","isToggleCTAHovered","setToggleCTAHovered","handleChange","newValue","prevLength","push","handleConfirmTeamTabModal","swtichTabOnClick","handleConfirmTeamSwitchModal","switchPageOnClick","handleCancelModal","currentPath","handleConfirmSwitchModal","handleConfirmTabModal","Hidden","smUp","aria-label","xsDown","orientation","map","shouldRenderTab","Tab","drawerPaper","boxShadow","dummyFunction","HiddenNavWhenLarge","mobileOpen","implementation","Drawer","anchor","paper","HiddenNavWhenSmall","drawerWidth","drawer","up","flexShrink","appBar","mainSection","HomeLayout","renderToolBar","renderSelectedOption","AppBar","avatarColor","month","getDateInDesiredFormat","getDate","getMonth","getDateInLeaderBoardFormat","getMonthAndYearFormat","monthYear","array","parseInt","substr","getStartAndEndDateForCalendarDateRange","startDate","setFullYear","endDate","MESSAGE_TYPE","likertChip","avatarIcon","avatarLikertText","avatarLikertNaText","commonStyle","ResponseValue","answer","Avatar","typography_body_1","typography_body_2","attributeTitleBar","typography_body_4","typography_inner_title","divider","getAnswerPropertiesByAnswerValue","que","responseScales","currentScale","find","scale","scaleName","answerType","scaleVersion","scaleResponses","AttributeCard","attribute","showDetails","setShowDetails","faq","Paper","handleClickDetail","question","questions","questionText","dangerouslySetInnerHTML","__html","filter","q","Divider","context","suggestions","resources","letterSpacing","FAQCard","userNameGrid","avatar","typography_body_3","typography_body_5","btn_text","receivedDateGrid","typeGrid","gridStyle","typography_body_context","chips","typography_closed","divider2","UserName","user","toUpperCase","floor","random","RenderDate","RenderTypeOfRequest","requestId","ContextText","AttributeChipComponent","attributes","attributeNames","Chip","RenderAttributeText","RenderAttributesDetails","faqs","scaleResponseEntityList","Fragment","attributeId","ActionCta","userStatus","Status","FAQ_DATA","text_container","extra_style","FAQComponent","setOpen","edge","Transition","ref","Slide","FullScreenDialog","Dialog","fullScreen","TransitionComponent","menuButton","detailBtn","detailBtnWithProfile","list","listTopGrid","topGrid","listTopGrid2","topGrid2","profileBtn","minWidth","profileBtnItem","profileBtnItem2","headerName2","headerGrid","headerDetail","headerDetail2","gridWithDetail","backCta","toolTip","fontColor","arrow","ToolBar","setLogout","isDetailView","setIsDetailView","detailView","setDetailView","setToolTip","showFAQ","setShowFAQ","handleClickAway","handleLogout","Toolbar","Tooltip","onOpen","placement","tooltip","ClickAwayListener","mouseEvent","touchEvent","onClickAway","List","ListItem","button","grid","SUCCESS","gap","gridTemplateColumns","lineHeight","TEXT_ALIGN_PROPERTY","MESSAGE_ICONS","INFO","CANCEL_ICONS","ToastMessage","handleClose","Snackbar","TransitionProps","appear","autoHideDuration","anchorOrigin","vertical","horizontal","Icon","AdminDashboardLayout","renderErrorModal","renderRecentActivities","renderNudgeBoard","renderLeaderboard","renderFeedbackTrend","showSuccess","nudgeSuccessMsg","setMobileOpen","tempFunction","getRecentActivities","activity","requestingParams","recentActivitiesSlice","MESSAGES","BootstrapInputEmployee","withStyles","input","palette","transition","transitions","create","InputBase","BootstrapInputAdmin","LIST_ITEMS","RECEIVED_FEEDBACK","SENT_REQUEST","ACTIVITY_LIST","FEEDBACK_TYPE_LIST","TIME_UNIT","MONTH_DURATION_LIST","EMPLOYEE_STYLE_ARRAY","EMPLOYEE_STYLE_OBJ","ADMIN_STYLE_OBJ","CustomSelect","setTabValue","setPageNumber","items","Select","labelId","includes","MenuProps","transformOrigin","getContentAnchorEl","MenuItem","RequestFeedbackActivityCard","activityDate","activityUser","others","wordWrap","join","SharedFeedbackActivityCard","activityId","setFeedbackId","setMember","UserOnBoardedActivityCard","SelfAssessmentActivityCard","setAssessmentId","recentActivitySection","boxSizing","dates","RecentActivityComponent","recentActivityTab","setRecentActivityTab","activityDateRangeState","setActivityDateRangeState","setShow","ranges","range","nextRange","range1","handleDateChange","maxDate","dateDisplayFormat","d","activityName","activityDetail","nudgeSendNotification","requestParams","adminNudgeSendNotificationSlice","btn2","NudgeCard","sharedFeedbackCount","receivedFeedbackCount","nudgeSenderData","titles","setNudgeCtaSubmitted","maxWidth","overflow","whiteSpace","textOverflow","charAt","slice","sender","nudgeDate","size","userId","handleNudgeCta","NUDGE_TITLE","Messages","ValidationErrors","AttributeStatus","calenderCTA","dateRangeWrapper","NudgeCalendarCTA","setDateRange","dateRange","selectedDateCount","setSelectedDateCount","showDateRange","setShowDateRange","data-testid","staticRanges","inputRanges","ChartCurve","GridPosition","ChartType","ChartLineCap","ChartFill","ChartXAxis","disabledContainer","AttributeDetailLayout","renderAddQuestionButton","renderAddQuestionModal","renderQuestionsList","renderInfoBanner","renderAttributeName","attributeStatus","isDisabled","INACTIVE","appraisalSection","header","toolTip_list","toolTip_action","arrow_default","arrow_right_align","footerContainer","borderTop","footerButton","NudgeBoard","dateRangeState","setDateRangeState","pageNumber","totalCount","showListToolTip","setShowListToolTip","showActionToolTip","setShowActionToolTip","nudges","adminNudgeData","nudge","cardGrid","LeaderboardMemberCardComponent","users","feedbackCount","names","u","reverse","TopLeaderCardComponent","LeaderBoardComponent","feedbackTag","setFeedbackTag","leaderMap","Map","arr","member","set","ar","delete","finalLeaders","forEach","key","count","members","getLeaderWithFeedbackCount","leadersWithFeedbackCountSlice","getFeedbackTrendData","feedbackTrendSlice","TrendChart","x","y","numberOfFeedbackExchanged","noData","back","series","stroke","curve","smooth","dashArray","lineCap","butt","markers","fill","gradient","colors","chart","line","toolbar","tools","download","selection","zoom","zoomin","zoomout","pan","reset","legend","trendSection","FeedbackTrendComponent","setFilter","countReceivedFeedback","countReceivedSlice","countRequestReceivedFeedback","countRequestReceivedSlice","allRequestCount","pendingRequestCount","closedRequestCount","countRequestSendFeedback","countRequestSendSlice","countSharedFeedback","countSharedSlice","getAllReceivedRequests","requestingData","allReceivedRequestsSlice","getAllSendRequests","allSendRequestsSlice","receivedFeedbackDetail","feedbackId","feedback","receivedFeedbackDetailSlice","receivedFeedback","feedbacks","receivedFeedbacksSlice","requestFeedback","requestSlice","sharedFeedbackDetail","sharedFeedbackDetailSlice","sharedAssessmentDetail","assessmentId","sharedAssessmentDetailSlice","sharedDraftDetail","sharedDraftDetailSlice","getSharedFeedbacks","sharedFeedbacksSlice","getSavedDrafts","savedDraftsSlice","shareAssessmentSlice","isUsers","isAttributes","isRequests","isDrafts","isScale","isClients","dataSlice","requests","drafts","clients","getAllMemberList","isActiveUser","allMemberListSlice","getReceivedFeedbackReport","memberId","requestingParam","receivedFeedbackReportSlice","deactivateMember","deactivateMemberSlice","deleteDraftData","sharedDraftDeleteDataSlice","sharedAssessmentDetailByMember","feedbackOrAssessmentId","sharedAssessmentDetailByMemberSlice","receivedFeedbackDetailByMember","receivedFeedbackDetailByMemberSlice","sharedFeedbackDetailByMember","sharedFeedbackDetailByMemberSlice","getSharedAssessmentListByMember","offSet","sharedAssessmentListByMemberSlice","getSharedAssessmentList","sharedAssessmentListSlice","countSharedAssessment","countSharedAssessmentsSlice","countAssessmentSharedByMember","countAssessmentSharedByMemberSlice","countFeedbackRequestReceivedByMember","countRequestReceivedByMemberSlice","countRequestSendByMember","tag","countRequestSendByMemberSlice","getAllReceivedRequestsByMember","allReceivedRequestsByMemberSlice","getAllSendRequestsByMember","allSendRequestsByMemberSlice","getCountSharedAndReceivedFeedback","countSharedAndReceivedSlice","receivedCount","sharedCount","getAllCountSharedAndReceivedFeedback","countAllSharedAndReceivedSlice","receivedFeedbackListByMember","receivedFeedbackListByMemberSlice","getSharedFeedbackListByMember","sharedFeedbackListByMemberSlice","getAppraisalList","days","appraisalsSlice","attributesDataForClients","attributesDataForClientSlice","employee","request","clientId","receivedFeedbackRequestDetails","feedbackRequestId","receivedFeedbackRequestDetailsSlice","requestFeedbackFromExtClient","parse","localStorage","getItem","Accept","requestFeedbackFromExtClientSlice","sentFeedbackRequestDetails","responderId","sentFeedbackRequestDetailsSlice","sharedDraftDetailByClient","senderId","sharedDraftDetailByClientSlice","shareFeedbackByClient","shareFeedbackByClientSlice","submitFeedbackByClient","submitFeedbackByClientSlice","submitFeedback","submitFeedbackSlice","getSelfReport","selfReportSlice","nuggetShare","nuggetFeedbackSlice","updateOrgData","orgName","updateOrgDataSlice","addTeamMembers","addTeamMembersSlice","changeMemberAccessRole","userType","changeMemberAccessRoleSlice","ClearAllData","setDataCleared","clearAuthData","clearReceivedAndSharedAllCount","clearSubmitFeedback","clearAppraisalListData","clearAttributesWithDetailData","clearLeaderFeedbackListData","clearReceivedFeedbackRequestDetailsData","clearRecentActivityData","clearRequestFeedbackFromExtClientData","clearSendFeedbackRequestDetailsData","clearShareAssessmentData","clearSharedDraftDetailForClientData","clearShareFeedbackByClientData","clearSubmitFeedbackByClientData","clearCountReceived","clearCountRequestReceived","clearCountRequestSend","clearCountShared","clearAllReceivedRequests","clearAllSendRequests","clearReceivedFeedbackDetail","clearReceivedFeedbacks","clearRequest","clearSharedFeedbackDetail","clearSharedDraftDetail","clearSharedFeedbacks","clearShareFeedback","clearShareAssessment","clearUsersAndAttributes","clearSharedAssessmentDetail","clearSavedDrafts","clearAllMemberList","clearReceivedFeedbackReport","clearDeactiveMember","clearDeleteDraft","clearSharedAssessmentDetailByMember","clearReceivedFeedbackDetailByMember","clearSharedFeedbackDetailByMember","clearSharedAssessmentListByMember","clearSharedAssessmentList","clearCountSharedAssessment","clearCountSharedAssessmentByMember","clearCountRequestReceivedByMember","clearCountRequestSentByMember","clearFeedbackRequestReceivedByMember","clearFeedbackRequestsSentByMember","clearReceivedAndSharedCount","clearReceivedFeedbackListByMember","clearSharedFedbackListByMember","clearSelfReportData","clearShareNugget","clearUpdateOrganizationData","clearAddTeamMember","clearAccessRole","boxSadow","marginInline","ErrorPopUp","showModal","setShowModal","handleNoAuthorization","handleAccessDenied","disableBackdropClick","disableEscapeKeyDown","disablePortal","CommonFunctionalityComponent","logout","dataCleared","showErrorModal","setShowErrorModal","goToPreviousPath","goBack","logoutUser","search","URLSearchParams","getNudgeList","adminNudgeDataSlice","nudgeDateRange","setNudgeDateRange","countNudge","adminNudgeCountDataSlice","AdminDashboard","setMemeber","viewProfile","setShowSuccess","setNudgeSuccessMsg","nudgeCtaSubmitted","trendDateRangeState","setTrendDateRangeState","nudgeDateRangeState","setNudgeDateRangeState","totalNudgeCount","adminNudgeCountData","pageNo","nudgeLoading","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","recentActivities","appraisals","leadersWithFeedbackCount","feedbackTrend","adminNudgeSendNotification","nudgeSendNotificationStatus","sendingNudgeNotification","fetchData","NUDGE_SUCCESS","NUDGE_FAIL","leaderLoading","leaderData","trendLoading","trendData","itemValue","reason","AllFeedback","FeedbackAssessmentDetailLayout","renderDateComponent","renderName","renderContext","renderAllAttributes","renderAttributesDetail","renderDivider","FeedbackAssessmentDetail","teamId","receivedFeedbackDetaildata","sharedFeedbackDetaildata","sharedAssessmentDetailData","createdAt","pagination","disabledButton","ul","ChangePageButtonComponent","pageCount","userRole","Pagination","page","defaultPage","siblingCount","hideNextButton","hidePrevButton","shape","MemberDetailsLayout","memberName","renderDetailSection","renderTabsWithReport","renderList","renderChangePageComponent","cardName","cardCount","CountCard","deactivateText","btn1","typography_body_2_","DeactivateUserModalComponent","handleDeactivateAccount","blackFont","memberMail","commonCardStyle","receivedCountBackground","sharedCountBackground","moreCTAGrid","moreCTA","detailSectionGrid","moreViewItem","navBar","moreBtn1","moreBtn2","SWITCH_ROLE_MAP","REGULAR","ADMIN","DetailSectionView","emailId","joiningDate","user_role","moreOpt","setMoreOpt","lock","setLock","changeRole","counts","countAllSharedAndReceived","loggedInUserEmail","changeRoleStatus","startsWith","borderRight","borderBottom","borderStyle","basicStyle","wordBreak","dateNameStyle","nameAlignMent","dateAlignMent","dateAlignMent2","noRecordStyle","ListContent","setFeedbackOrAssessmentId","feedbackData","sharedFeedbackListByMember","allReceivedRequestsByMember","sentRequests","allSendRequestsByMember","assessments","sharedAssessmentListByMember","org_id","organizationId","req","requestingUser","timeOfRequest","respondingUser","sharedDate","actionAlignMent","ListHeader","headerAction","setItemValue","openFilter","headerNameAndActionTextByTabValue","ListHeaderWithContent","reportCTA","ReportCTA","tabs","tabsMozWidth","tabsGrid","tabText","defaultColor","activeColor","tab","a11yProps","yOffset","TitleBarTabs","countSharedAndReceivedFeedback","allCounts","requestReceivedCount","countRequestReceivedByMember","requestSentCount","countAssessments","indicatorColor","textColor","scrollButtons","tabsWithReport","tabsWrapper","buttonsWrapper","TabsWithReportCTA","MemberDetails","tabNo","itemNo","replace","ceil","MembersLayout","renderMemberList","renderSearchFilter","profilePic","userName","memberGrid","hoveredView","detailViewCTA","moreViewCTA","MemberCard","setOpenReport","setMemberDetail","i","isHovered","setIsHovered","editor","marginStyle","shareCTA","chip","small","typography_header_style","Members","openReport","memberDetail","selectedUser","setSelectedUser","fetchedUsers","membersList","filteredUsersList","setFilteredUsersList","filteredData","md","onDelete","Autocomplete","freeSolo","getOptionSelected","option","filterSelectedOptions","disableCloseOnSelect","getOptionLabel","renderOption","selected","renderInput","TextField","placeholder","reportAttributeDetailStyles","wrapper","wrapperSelf","listItemWrapper","feedbackHeader","dateWrapper","receivedText","contentWrapper","content","feedbackText","ReportAttributeDetailComponent","reportData","attributeIndex","isSelfReport","mappedFeedbacks","useMemo","mappedData","responseDetails","memberFeedbacks","details","imgUrl","flattedData","flatten","orderBy","getMappedFeedbacks","scrollY","format","parseISO","AttributeContent","receivedFeedbackReport","leadingTrim","textEdge","fontStyle","FeedbackReportCountCard","fetchReceivedFeedbackByDateRange","receivedFeedbackReportByDateRange","errorMessage","receviedFeedbacksByDateRange","clearGeneratePDFState","cheerio","require","formatTextAndAddToDoc","doc","tagName","pageHeight","link","setFontSize","trim","setFont","breakLines","isBullet","splitTextToSize","xOffset","addPage","cleanHtml","htmlContent","cleanedContent","replaceAll","convertHtmlToFormattedText","$","load","tagMapping","p","br","li","strong","em","ins","node","attribs","href","processElement","DateFormat","generateFeedbackReport","receivedFeedbacks","pdfData","pdfName","username","jsPDF","internal","pageSize","pageWidth","getWidth","setTextColor","textX","getStringUnitWidth","scaleFactor","textY","save","attributeName","info","sentBy","suggestion","generatePDF","getPDFName","formatDate","requiredFormat","DDMMYYYY","inputDate","day","String","padStart","year","formatDateToDDMMYYYY","DDMonYYYY","monthName","formatDateToDDMonYYYY","DDMonthYYYY","formatDateToDDMonthYYYY","exportCTA","ExportCTA","receivedFeedbackDateRangeState","receivedFeedbacksWithinSelectedRange","showExportSuccessToast","setShowExportSuccessToast","exportSuccessMsg","setExportSuccessMsg","getCollatedFeedbacks","Boolean","isEmpty","CalendarCTA","widthStyle","stickyContainer","stickyFadingEffect","fadingElement","ReceivedFeedbackReportLayout","renderMemberCard","renderAttributeTabs","renderAttributeContent","renderScrollOnTop","renderNoFeedbacks","renderNoRecordText","selfReport","showFadingEffect","setShowFadingEffect","setReceivedFeedbackDateRangeState","loggedInUserName","userFullName","getCountsForDateRange","getFeedbackReceivedForDateRange","countReceived","loadingCounts","handleScroll","pageYOffset","addEventListener","passive","removeEventListener","scrollOnTop","ScrollToTop","isVisible","setIsVisible","toggleVisibility","marginright","UserInfoCard","tabsRoot","Tabs","noDataText","ReceivedFeedbackReport","tabsData","leftSide","DashboardLayout","renderDashboardTopArtwork","renderComingSoon","renderCountCards","renderPendingListComponent","receivedCountCard","cardIcon","typography_Body","typography_Body2","receivedCard","sentCard","cardBtn","DashboardCountCards","countShared","updateEmojiAndAttributeOnClick","emojiSelected","shareFeedbackData","setEmojiSelected","setShareFeedbackData","updatedShareFBAttribute","updatedEmoji","queEmoji","questionId","emojiId","arg1","questionName","updateEmojiAndAttributeWithDraftData","draft","setSelectedDraftId","idx1","handleClickChip","idx_1","responseScale","newEmoj","newData","handleOnChange","handleAnswer","textBox","textBoxx","textBoxx1","wrapperClassName","likertGrid","avatarInfo","chipStyle","RenderAttributeQuestion","RenderLikertScaleAnswer","emptyList","responseScales2","attributesDataForClient","emoji","idx_2","RenderLikertNaScaleAnswer","RenderStringAnswer","EditorState","createWithContent","ContentState","createFromBlockArray","convertFromHTML","contentBlocks","entityMap","createEmpty","editorState","setEditorState","textHeader","onEditorStateChange","draftToHtml","convertToRaw","getCurrentContent","placeHolderText","TextareaAutosize","hidden","RenderSuggestions","confirm","setConfirm","handleOpen","handleConfirmation","deleteIcon","always","RenderResources","RenderContext","isMissing","EditorForText","showToolbar","setShowToolbar","toolbarClassName","toolbarOnFocus","toolbarHidden","onFocus","onBlur","editorClassName","inline","inDropdown","popupClassName","dropdownClassName","onCopy","onDraftEditorCopy","onCut","onDraftEditorCut","handlePastedText","html","newState","handleDraftEditorPastedText","EditorForTextWithPermanentToolbar","RemainingCharWarnText","limit","ConfirmationPrompt","dashboardChip","typography_h3","attributeChipFont","attributeChipFont2","ChooseMemberText","SelectColleagues","isAnyUser","OptionalText","AdditionalInfoText","alert","AdditionalInfoHintText","SelectAttributesText","AttributeSelectionText","AttributeSelectionNoteText","AttributeChips","selectedAttributeIds","setSelectedAttributeIds","attr","icon","concat","FormDivider","attributeChipsWrapper","NuggetShareComponent","refreshResetSeed","setContext","successPrompt","setSuccessPrompt","btnClicked","setBtnClicked","nuggetFeedback","shareNuggetTourStatus","labels","receiverId","attributeIds","typography_body1","textDecoration","PendingRequestCard","setRequestedUserId","renderRequestCancelModal","setRequestingUserId","setRequestId","PendingRequestHeader","modalErrorText","cancelBtn","DeleteAttributeCardComponent","deletingAttribute","handleModalClose","handleDelete","elevation","updateRequestStatus","updateRequestStatusSlice","pendingComponent","tableHeader","pendingListContent","overflowX","PendingListContainer","requestedUserId","requestingUserId","typography_title","dashboardTopGrid","comingSoonGrid","dashboardTopArtworkCta","dashboardItems","dashboardItems2","Dashboard","refreshSeed","setRefreshSeed","requestFeedbackButtonTourStatus","isSetupCompleted","setupCompleted","receivedRequests","smDown","mdUp","ShareFeedbackByExternalClientLayout","isSubmit","renderLogo","renderWelcomeText","renderGuideLineText","renderFeedbackSection","renderSubmitFeedbackCTA","renderShareFeedbackHeader","renderSuccessPageOnSuccessfulFeedbackSubmission","renderValidationModal","renderAllRightsReserved","renderFooter","AnswerTypeEnum","textBox_1","AttributeTitleComponent","setDeletingAttribute","handleModalOpen","vriddhiResponseOptionsStyle","vriddhiResponseChip","avatarVriddhiResponseText","vriddhiGrid","VriddhiResponseOptions","VRIDDHI","renderResponseChip","textField","common","white","fade","primary","main","paper2","skipCTA","AddNewButton","setAttributes","attLabels","anchorEl","setAnchorEl","onDeleteAttribute","setOnDeleteAttribute","deletingAttibute","regex","skipClicked","attributeIdx","questionIdx","clearQuestionResponse","handleSkip","updatedEmojiSelected","currentTarget","endIcon","Popper","focus","multiple","InputProps","commonFontStyle","heading","FeedbackHeaderText","MemberChip","feedbackArea","memberHeading","commonTextStyle","contextStyle","attributeHintTextStyle","FeedbackSection","isAnyAttribute","GrowWizeLogo","GuidelineText","SubmitFeedbackButton","WelcomeText","headerSection","headerSection2","saveMargin","last_saved","ShareFeedbackHeader","onDataChange","AssessmentStatus","consent","thankyou","successMessageText","SuccessPage","footerSection","btnStyle","CookieFooter","setIsFooter","ValidationPromptModal","charLimitExceeded","ShareFeedbackByExternalClient","successStatus","setIsSubmit","dispatched","setDispatched","setIsAnyAttribute","setMissing","missingElement","setMissingElement","setCharLimitExceeded","setIsContext","isAnyChange","setDraftDate","selectedDraftId","setIndex","userChanged","setUserChanged","requestLoad","setRequestLoad","isDraftLoad","setIsDraftLoad","isFooter","setShowPolicy","dataLoadingFailed","setDataLoadingFailed","statusForData","finalStatus","finalLoading","initialAttributes","draftDetailData","requestStatus","j","findIndex","att","clearSubmitFeedbackByClient","timer","clearTimeout","setInterval","clearInterval","flag","attributesLength","idx2","handleErrors","val","getElementById","offsetTop","ans","DetailPage","FeedbackRequestDetailsLayout","renderDetails","receivedRequestDetails","FeedbackRequestDetails","tabName","requestedAttributes","responseAttributes","avatarMargin","typograph_cta","typography_pending","typography_cancelled","typography_status","DetailCardComponent","documentId","setDocumentId","setUserId","attributesName","setCancelRequestParams","hiddenTitles","HeaderTitles","xsSize","smSize","mdSize","lgSize","HeaderTitlesWithNoData","sharedListTitles","receivedListTitles","sentRequestTitles","receivedRequestTitles","NoRecordMainText","NoRecordSubText","ActionCTAText","NoCustomDataText","requestType","NoRecordFoundInTable","row","ListContainerComponent","setCancelRequestParam","square","feedbackRequestStatus","NoRecordComponent","borderWidth","inputText","UserSearchBox","setUser","forcePopupIcon","endAdornment","InputAdornment","root2","FeedbackRequestLayout","renderTabLabels","renderSearchBox","renderNoRequest","renderRequestList","renderChangePageButtons","AllText","PendingText","ClosedText","FeedbackRequests","STATUS","pageValue","usr","requestedFeedbackId","setRequestedFeedbackId","indexToStatus","closed","all","handleTabChange","loadingDataAndCount","countRequestsReceived","listData","r","dateTypeGrid","ReceivedFeedbackDetailLayout","ReceivedFeedbackDetail","uid","ReceivedFeedbacksLayout","showNoRequest","renderReceivedFeedbacksList","renderFilter","ReceivedFeedbacks","receivedFeedbackId","setReceivedFeedbackId","allFeedbackCount","setAllFeedbackCount","feedbackLoading","RequestFeedbackLayout","renderTabs","renderRequestFeedbackForm","renderRequestFeedbackList","renderRequestFeedbackFromExtClientForm","form","RequestFeedbackFormLayout","usersArrayLength","renderFormDivider","renderModal","renderChooseMemberText","renderSelectColleagues","renderAddButton","renderSelectAttributesText","renderAttributeSelectionText","renderAttributes","renderAttributeSelectionNoteText","renderContextText","renderOptionalText","renderAdditionalInfoText","renderTextField","renderCancelButton","renderSendButton","renderWarningText","AddButton","selectedUsers","setSelectedUsers","customStyle","v","renderTags","getTagProps","SendButton","CancelButton","typography_error","ThankYouText","RequestSuccessfulText","ReturnDashboardText","RequestAnotherText","ConsentModal","effect","ContextTextEditorComponent","RequestFeedbackForm","setIsAnyUser","attributesLoading","usersRequested","userLables","l","validator","isEmail","onBlurCapture","toLowerCase","warningText","RequestFeedbackFromExtClientForm","setIsValidEmail","isAnyDomainEmail","setIsAnyDomainEmail","contextAlert","setContextAlert","validEmail","domainValidation","validation","requestedUsersEmail","RequestFeedbackListLayout","renderRequests","RequestFeedbackList","filterValue","setFilterValue","cancelRequestParam","cancelReqStatus","sendRequests","countRequestsSend","RequestEmployeeText","RequestClientText","PastRequestsText","TabLabels","requestClientButtonTourStatus","requestPageVisitCount","RequestFeedback","filterNo","sent","RequestFeedbackDetailsLayout","sentRequestDetails","RequestFeedbackDetails","SelfAssessmentDetailLayout","renderSharedDate","renderEditAssessmentButton","SelfAssessmentDetail","isSharedAssessment","ChooseMemberTextForShareFeedback","SelectColleague","isValid","AddAttributeTitleText","AddAttributeText","updateAttributeOnClick","shareAssessmentData","setShareAssessmentData","whatWentWell","needsToBeImproved","typography_body_4_","MyAssessmentText","SharedText","countSharedAssessments","SelfAssessmentLayout","renderAddAttributeTitleText","renderAddNewButton","renderHeaderTabs","renderAssessmentList","renderRouterPrompt","isEditAssessmentView","draftLoading","textDecorationLine","AssessmentList","sharedAssessmentList","assessment","editAssessment","SelfAssessment","tabNumber","draftLoad","setDraftLoad","isDirty","setIsDirty","assessmentDraftData","isSubmitted","setIsSubmitted","useParams","draftAttribute","str1","SUBMITTED","SelfReport","SharedFeedbackDetailsLayout","SharedFeedbackDetail","loader","SharedFeedbacksLayout","showNoFeedback","renderNoFeedback","renderSharedFeedbacks","userToOption","attrId","attributeToOption","CustomSearchBoxComponent","setOption","SharedFeedbacks","sharedFeedbackId","setSharedFeedbackId","opt","sharedFeedbacks","loadingList","DraftListLayout","HeaderTabs","HeaderTabsForNoRequests","NoDraftText","nameAndPicture","deleteDraftHeader","deleteDraftText","modalPaper","modalPaperGrid","ShowDraftCard","setShowDraftWithId","xl","DraftContainer","iter","Drafts","savedDrafts","deleteDraft","DraftList","deleteDraftLoading","ShareFeedbackLayout","isUserSelected","isContext","renderContextHintText","renderContextOptionText","renderTextBox","renderAddAttributeText","renderPromptModal","draftIcon","setIsUserSelected","showDraftWithId","requestIndex","setRequestIndex","isRequest","isDraft","pushState","ShareText","DraftsText","prevId","AttributePromptModal","handleSendAnyway","promptAttributes","listItem","listStyleType","editor1","ShareFeedback","default","setIsValid","finalSubmit","setFinalSubmit","isLock","openAttributePromptModal","setOpenAttributePromptModal","checkAttributes","isPrimaryAttribute","setPromptAttributes","param","requiredAttribute","splice","checkUser","handleSubmitFeedback","Layout","TopSectionPage","MainSectionPage1","MainSectionPage2","MainSectionPage3","MainSectionPage4","MainSectionPage5","MainSectionPage6","scroll","get_started_btn","_btn","MainHeader","parallax","backgroundAttachment","backgroundPosition","backgroundRepeat","backgroundSize","slide_1_main_text","slide_1_sub_text","left_section","right_section","HeroSectionComponent","backgroundImage","interestSave","orgInterestSlice","form_header","form_sub_header","submit_btn","mdUpMargin","mdUpFormStyle","ContactUsSlideComponent","orgInterest","formData","setFormData","FormControl","InputLabel","htmlFor","Input","aria-describedby","FormHelperText","paddingTop","BridgeComponent","FEATURE_OBJ","description","FeatureSectionComponent","card_text","ADDITIONAL_FEATURES_TEXT","AdditionalFeatureSectionComponent","logo2","rightsText","FooterComponent","MainSection","WorkspaceSetupLayout","renderAppLogo","renderSetupForm","AppLogoComponent","useWorkSpaceStyle","Theme","submit","barLine","container_style","text_container_style","SetupForm","currentStyle","setOrgName","emails","setEmails","setValid","orgLoading","teamLoading","atob","setDisabled","check","invitedMemberDomain","memberEmails","onKeyDown","stopPropagation","WorkspaceSetup","orgUpdateStatus","addTeamStatus","PrivacyPolicyLayout","renderPrivacyText","renderPrivacyHeader","renderGrowWizeLogo","PrivacyPolicy","Attributes","manageQuestionsHeader","AttributesAndQuestionsLayout","renderAddAttributeModal","renderAttributesList","renderNewAttributeButton","addAttribute","addAttributeSlice","addAttributeModalStyles","attributeInput","addQuestionInput","showQuestionsWrapper","dropdown","helperText","dropdownWrapper","checkValidation","selectedResponseType","setErrors","errors","ATTRIBUTE_NAME","ATTRIBUTE_NAME_LENGTH","QUESTION_TEXT","RESPONSE_TYPE","QuestionResponseTypeMapping","LIKERT","LIKERT_NA","STRING","RESPONSE_TYPE_LIST","dropdownStyles","expandWrapper","cursor","expandOptionsWrapper","optionsWrapper","openWrapper","selectedOption","Dropdown","onSelect","expand","handleClickOutside","contains","isSelected","handleSelect","AddAttributeModal","setAttributeName","setQuestionText","setSelectedResponseType","created","setCreated","cancelClicked","apiError","validationErrors","addedAttribute","isAddingAttribute","addAttributeStatus","getAllAttributesData","adminAttributeDataSlice","addQuestion","questionDetails","addQuestionSlice","clearAddQuestionData","selectAddQuestionStatus","addQuestionData","selectAddQuestionErrorMessage","addQuestionModalStyles","AddQuestionModal","responseType","resetData","addQuestionResponseStatus","addQuestionErrorMessage","BAD_REQUEST","isAddingQuestion","addQuestionStatus","SwitchButton","checked","Switch","getAttributeDetail","attributeDetailSlice","updateAttribute","updateAttributeSlice","UpdateAttributeStatusModal","adminAttributeData","attributeListTableItemStyles","attributeActionsPopover","header2","popover","disabledAction","disabledText","attributeListTableStyles","TITLES","AttributeListTableItem","setUpdatingAttribute","anchorElMap","setAnchorElMap","openAddQuestionModal","setOpenAddQuestionModal","addingQuestionForAttributeId","setAddingQuestionForAttributeId","openConfirmStatusUpdateModal","setOpenConfirmStatusUpdateModal","prevAnchorElMap","handleAddQuestionCancel","resetAddQuestionModalData","handleAddQuestionSuccess","questionAdded","handleCancelStatusUpdate","handleCloseUpdateStatusModal","updateAttributeStatus","updatedStatus","ACTIVE","MoreVert","showMoreOptions","Popover","currentPage","handleViewMore","handleAddNewQuestion","atttributePopover","AttributeListTable","setMessage","updatingAttribute","updateAttributeLoading","updateAttributeData","isEnabled","ENABLE_ATTRIBUTE","DISABLE_ATTRIBUTE","clearUpdateAttributeData","Component","withRouter","filteredAttributes","setFilteredAttributes","pageData","setPageData","queryParams","Number","matchingAttributes","updateQuestion","updateQuestionSlice","clearUpdateQuestionData","selectUpdateQuestionResponseHttpStatus","updateQuestionData","selectUpdateQuestionResponseLoading","selectUpdateQuestionResponseErrorMessage","selectUpdateQuestionResponseData","questionComponentStyle","disabledHeader","question_text","actionButtons","editButton","questionNameInput","updateQuestionStatusModalStyles","UpdateQuestionStatusModal","attributeDetail","Question","setEnablingQuestion","handleUpdateQuestionSuccess","setIsEditMode","isEditMode","handleQuestionStatusUpdateSuccess","isCurrentQuestionEditing","setIsCurrentQuestionEditing","setQuestionName","getMatchingResponseType","edited","setEdited","updateQuestionResponseStatus","updateQuestionErrorMessage","shouldFadeOut","isUpdatingQuestion","resetQuestionData","updateQuestionStatus","questionStatus","isEditingQuestion","editQuestionStatus","multiline","attributeDetailStyles","questionsList","attributeNameInput","buttonsContainer","actionButton","textDecorationColor","bannerContainer","infoText","AttributeDetail","showAddQuestionModal","setShowAddQuestionModal","isEditing","setIsEditing","updatedQuestionData","ADD_ATTRIBUTE","ADD_QUESTION","attributeDetails","UPDATE_ATTRIBUTE_NAME","updateAttributeName","UPDATE_QUESTION","DISABLE_QUESTION","ENABLE_QUESTION","scrollHeight","SettingsLayout","renderSettings","useSettingsStyles","columnGap","radioWrapper","radioRoot","radioChecked","radioLabel","footer","saveButton","datePicker","tooltipArrow","selectedDate","reminderConfirmationModalStyles","REMINDER_FREQUENCY_MAPPING","getDayWithOrdinal","ReminderConfirmationModal","isCreatingReminder","createReminderDetails","FREQUENCY_OPTIONS","getReminder","getReminderSlice","clearGetReminderData","updateReminder","reminderId","reminderDetails","updateReminderSlice","clearUpdateReminderData","createReminder","createReminderSlice","clearCreateReminderData","CustomRadio","setSelectedOption","Radio","InfoIconWithTooltip","Settings","addDays","setStartDate","nextScheduledDate","setNextScheduledDate","frequency","setFrequency","setData","createReminderStatus","updateReminderDetails","isUpdatingReminder","updateReminderStatus","getReminderDetails","isFetchingReminder","isSaveDisabled","currentDate","currentFrequency","handleSave","startDay","handleFocus","blur","handleCloseToast","shouldDisableDate","utils","DateFnsUtils","disableToolbar","disableUnderline","PopoverProps","PaperProps","keyboardIcon","autoOk","renderDay","dayInCurrentMonth","dayComponent","toDateString","createTeamLayoutStyle","CreateTeamLayout","handleCreateTeam","renderAutocomplete","isEditTeamRouteView","TEAM_TITLES","createTeamStyles","teamMemberListItemStyles","typography_active","disabled_status","typography_user_status","teamMemberListStyles","UserStatus","TEAM_ROLES_LIST","removeMemberModalStyles","RemoveMemberModal","handleRemove","TeamMemberListItem","memberRole","onChangeUserRole","RemoveMemberChange","isTeamDetailsView","selectedRoleType","setSelectedRoleType","isAdminView","TeamMemberList","roles","setRoles","setAllSelectedUsers","allExisitingUsers","setAllExisitingUsers","allSelectedUsers","removeUsers","setRemoveUsers","currentRole","updatedRoles","exisitingUser","updatedUsers","defaultProps","USER_ROLES","OperationsEnum","getTeamDetails","teamDetailsSlice","editTeam","editTeamSlice","CreateEditTeam","teamName","setTeamName","editTeamSubmitted","setEditTeamSubmitted","createTeamSubmitted","setCreateTeamSubmitted","allSelectedUserRoles","setAllSelectedUserRoles","teamDetails","teamMembers","teamLeads","teamIdCreateResponse","teamIdEditResponse","editTeamDetails","mergeUsersWithRole","teamLeadsWithRole","TEAM_LEAD","teamMembersWithRole","TEAM_MEMBER","initialUsers","allTeamMembersAndLeads","teamUpdated","teamAdded","createTeamDetailsStatus","editTeamDetailsStatus","_event","existingUser","handleRenderOptions","addedUsers","initialU","removedUsers","removedUser","updatedUsersWithOperations","ADD_MEMBER","REMOVE_MEMBER","UPDATE_MEMBER","operations","teamMember","getAllTeamsData","adminTeamDataSlice","TeamsLayout","renderTeamsList","renderNewTeamButton","teamToOption","team","UserTypes","RequestTags","teamListTableItemStyles","teamListTableStyles","TITLE","TeamListTableItem","totalMembers","TeamListTable","filteredTeams","setFilteredTeams","adminTeamData","matchingTeams","TeamDetailsLayout","renderTeamName","renderEditTeamButton","renderContent","fetchFeedbackCounts","Error","ok","Promise","reject","roundRobinFeedbackSlice","feedbackCounts","clearFeedbackCounts","flexGrow","tableContainer","headerContainer","calendarContainer","nameColumn","centralHeader","headerRow1","headerRow2","tableCell","RoundRobinSlide","roundRobin","rows","setRows","header1","setHeader1","setHeader2","userList","userFeedbackDataList","setHeader1Data","setHeader2Data","rowsData","user1","rowData","fullName","user2","sharedFeedbackCounts","totalUsers","emptyColumnBeforeContent","max","Array","emptyColumnsAfterContent","setMonth","numericTeamId","isNaN","TableContainer","maxHeight","Table","stickyHeader","TableHead","TableRow","TableCell","align","col","TableBody","rowIndex","colIndex","TeamDetailsText","RoundRobinText","TeamDetails","TEAM_CREATED","TEAM_UPDATED","renderTeamDetailsList","TeamLeadTeamsLayout","TeamLeadTeamDetailsLayout","TeamLeadTeamDetails","TeamLeadMemberDetails","ANY","INTERNAL","EXTERNAL","calendarBox","NudgeBoardLayout","renderNudgeList","defaultDateRange","datarow","noFocusOutline","outline","columnHeader","setPage","fetchCountNudge","handlePageChange","newPage","ActionButton","handleNudgeAction","ActionColumnHeader","columns","field","disableColumnMenu","sortable","headerAlign","renderHeader","colDef","renderCell","currentPageRowsCount","gridHeight","rowHeight","dataRow","getRowId","onPageChange","getRowClassName","disableSelectionOnClick","Website","signInTitleText","signInCta","loginWrapper","styleForMobile","SignInLayout","renderTitle","renderImage","renderCta","renderCorporateLogin","signInTxt","signInHeaderTxt","signInSubHeaderTxt","signInBtn","GoogleIcon","ColoredLine","SignInButton","setIsDispatch","setIsError","pagePath","setStatusCode","signIn","useGoogleLogin","onSuccess","tokenObj","profileObj","onFailure","checkIfCookiesDisabled","onRequest","typography2","typography3","progressBar","titleTopGrid","SignIn","title_line1","title_line2","title_line3","isDispatch","isError","createRoutes","isAuthenticated","exact","TeamLeadTeams","CustomAttributeAndQuestions","Teams","NudgeBoardPage","PrivateRoute","PublicRoute","AllRoutes","signInCorporate","otpValidationSlice","persistConfig","storage","whitelist","reducer","combineReducers","otpValidationResponse","generatefeedbackReportState","rootReducer","persistReducer","middleware","getDefaultMiddleware","serializableCheck","store","configureStore","persistor","persistStore","configureStores","App","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","Sentry","dsn","integrations","Integrations","BrowserTracing","tracesSampleRate","environment","ReactDOM","render","REACT_APP_DISABLED_HTTPS_REDIRECT","ThemeProvider","StrictMode","CssBaseline","fallback"],"mappings":"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G,MACHC,MAAM,MACNxF,KAAK,MACLyG,KAAK,WACLhB,aAAa,MACbC,WAAS,EACTG,MAAOrD,EACPmD,SAnHZ,SAAmBV,GACjBxB,EAAOwB,EAAMW,OAAOC,QAmHVM,UAAWvD,EAAQJ,IACnByD,WAAY,CAAEO,MAAO,CAAE7E,SAAU,IAAMuE,UAhJjC,KAkJP9C,GAAkB,cAAC,IAAD,CAAQ1B,MAAM,UAAU+E,KAAK,SAASnB,WAAS,EAACc,QAAQ,YACzEC,SAnJM,IAmJO,OAAH7D,QAAG,IAAHA,OAAA,EAAAA,EAAKkE,QAAqBJ,QAAS5B,EAD5B,+B,0DC3O/B,sCAAMiC,EAAiC,CACrC,YACA,YACA,cACA,oBACA,aACA,gBACA,YACA,aACA,UACA,UACA,kBACA,UACA,WACA,WACA,eACA,aACA,qBACA,mBACA,aACA,YACA,UACA,aACA,eACA,aACA,cACA,eACA,UACA,UACA,cACA,UACA,cACA,YACA,iBACA,UACA,aACA,UACA,SACA,YACA,SACA,aACA,cACA,iBACA,YACA,iBACA,iBACA,gBACA,qBACA,WACA,YACA,UACA,WACA,gBACA,gBACA,gBACA,UACA,aACA,cACA,kBACA,aACA,aACA,aACA,YACA,YACA,mBACA,UACA,WACA,gBACA,cACA,WACA,WACA,eACA,kBACA,WACA,YACA,kBACA,iBACA,aACA,UACA,aACA,YACA,UACA,mBACA,oBACA,WACA,eACA,aACA,SACA,SACA,kBACA,aACA,aACA,QACA,WACA,kBACA,UACA,UACA,aACA,aACA,iBACA,UACA,eACA,eACA,eACA,eACA,aACA,aACA,aACA,aACA,kBACA,YACA,YACA,mBACA,kBACA,SACA,WACA,WACA,gBACA,QACA,WACA,WACA,YACA,QACA,WACA,SACA,WACA,WACA,aACA,gBACA,UACA,WACA,eACA,YACA,SACA,kBACA,cACA,aACA,cACA,gBACA,wBACA,eACA,gBACA,kBACA,oBACA,YACA,uBACA,eACA,SACA,cACA,gBACA,cACA,qBACA,eACA,kBACA,gBACA,iBACA,cACA,eACA,kBACA,eACA,eACA,aACA,kBACA,oBACA,eACA,cACA,gBACA,YACA,cACA,eACA,aACA,eACA,gBACA,YACA,cACA,sBACA,eACA,UACA,sBACA,WACA,cACA,gBACA,WACA,eACA,iBACA,oBACA,gBACA,iBACA,gBACA,4BACA,gBACA,WACA,eACA,mBACA,gBACA,UACA,SACA,YACA,UACA,mBACA,eACA,oBACA,cACA,gBACA,cACA,cACA,UACA,WACA,gBACA,eACA,gBACA,eACA,gBACA,cACA,kBACA,cACA,cACA,WACA,eACA,wBACA,eACA,WACA,aACA,gBACA,cACA,gBACA,gBACA,mBACA,aACA,gBACA,eACA,aACA,gBACA,gBACA,eACA,wBACA,aACA,qBACA,aACA,eACA,YACA,gBACA,YACA,aACA,gBACA,eACA,YACA,sBACA,eACA,YACA,YACA,YACA,gBACA,eACA,eACA,wBACA,cACA,cACA,eACA,gBACA,cACA,cACA,aACA,kBACA,kBACA,iBACA,gBACA,eACA,eACA,eACA,gBACA,eACA,YACA,cACA,uBACA,mBACA,qBACA,kBACA,eACA,eACA,mBACA,aACA,iBACA,cACA,gBACA,kBACA,kBACA,gBACA,gBACA,iBACA,YACA,UACA,SACA,SACA,SACA,SACA,SACA,eACA,aACA,YACA,WACA,eACA,eACA,gBACA,gBACA,kBACA,aACA,cACA,mBACA,oBACA,kBACA,WACA,iBACA,iBACA,gBACA,kBACA,gBACA,WACA,cACA,eACA,mBACA,kBACA,eACA,kBACA,wBACA,YACA,YACA,aACA,iBACA,gBACA,iBACA,gBACA,WACA,eACA,kBACA,mBACA,iBACA,iBACA,gBACA,cACA,YACA,aACA,mBACA,mBACA,iBACA,gBACA,gBACA,cACA,cACA,gBACA,WACA,SACA,WACA,mBACA,aACA,WACA,gBACA,eACA,WACA,UACA,gBACA,eACA,QACA,iBACA,gBACA,eACA,WACA,oBACA,gBACA,gBACA,oBACA,mBACA,uBACA,cACA,cACA,0BACA,iBACA,WACA,SACA,gBACA,eACA,qBACA,wBACA,YACA,eACA,WACA,qBACA,eACA,YACA,kBACA,kBACA,iBACA,kBACA,sBACA,yBACA,0BACA,gBACA,gBACA,iBACA,kBACA,cACA,cACA,cACA,cACA,mBACA,mBACA,kBACA,aACA,cACA,kBACA,iBACA,kBACA,eACA,gBACA,YACA,YACA,cACA,gBACA,qBACA,mBACA,qBACA,aACA,wBACA,iBACA,WACA,eACA,cACA,aACA,eACA,eACA,cACA,UACA,WACA,qBACA,gBACA,aACA,aACA,iBACA,iBACA,gBACA,WACA,cACA,gBACA,kBACA,aACA,YACA,gBACA,cACA,sBACA,iBACA,iBACA,UACA,eACA,gBACA,iBACA,cACA,cACA,aACA,aACA,mBACA,iBACA,aACA,aACA,cACA,iBACA,cACA,iBACA,cACA,gBACA,oBACA,gBACA,iBACA,gBACA,eACA,eACA,eACA,YACA,mBACA,eACA,kBACA,iBACA,iBACA,kBACA,gBACA,gBACA,aACA,cACA,cACA,iBACA,QACA,cACA,cACA,oBACA,oBACA,kBACA,aACA,iBACA,gBACA,mBACA,eACA,kBACA,gBACA,mBACA,iBACA,gBACA,cACA,cACA,eACA,aACA,mBACA,cACA,gBACA,YACA,gBACA,kBACA,kBACA,iBACA,eACA,oBACA,cACA,aACA,cACA,iBACA,WACA,iBACA,kBACA,aACA,WACA,eACA,cACA,gBACA,gBACA,oBACA,mBACA,UACA,aACA,qBACA,aACA,SACA,SACA,YACA,eACA,gBACA,cACA,eACA,kBACA,mBACA,eACA,YACA,iBACA,oBACA,mBACA,gBACA,cACA,eACA,qBACA,cACA,kBACA,kBACA,mBACA,gBACA,iBACA,aACA,kBACA,kBACA,gBACA,mBACA,mBACA,oBACA,kBACA,cACA,cACA,gBACA,cACA,YACA,gBACA,SACA,WACA,aACA,kBACA,gBACA,iBACA,oBACA,gBACA,gBACA,eACA,eACA,eACA,gBACA,cACA,gBACA,aACA,UACA,aACA,YACA,mBACA,gBACA,iBACA,eACA,gBACA,mBACA,kBACA,uBACA,WACA,mBACA,eACA,mBACA,0BACA,kBACA,aACA,gBACA,mBACA,WACA,iBACA,WACA,UACA,aACA,QACA,UACA,QACA,SACA,cACA,iBACA,oBACA,eACA,WACA,gBACA,kBACA,qCACA,mBACA,qBACA,gBACA,eACA,cACA,cACA,gBACA,aACA,mBACA,gBACA,YACA,gBACA,eACA,aACA,YACA,cACA,wBACA,cACA,gBACA,kBACA,uBACA,YACA,aACA,eACA,aACA,eACA,oBACA,YACA,aACA,iBACA,eACA,eACA,eACA,wBACA,cACA,UACA,SACA,iBACA,aACA,iBACA,gBACA,iBACA,gBACA,kBACA,iBACA,cACA,kBACA,aACA,aACA,kBACA,iBACA,oBACA,aACA,UACA,kBACA,aACA,aACA,iBACA,gBACA,cACA,kBACA,mBACA,mBACA,mBACA,kBACA,cACA,cACA,UACA,cACA,eACA,iBACA,eACA,qBACA,YACA,cACA,kBACA,YACA,eACA,WACA,eACA,WACA,YACA,cACA,iBACA,mBACA,kBACA,WACA,gBACA,aACA,eACA,qBACA,YACA,eACA,gBACA,gBACA,kBACA,YACA,oBACA,eACA,eACA,kBACA,iBACA,iBACA,oBACA,qBACA,gBACA,gBACA,SACA,aACA,mBACA,eACA,iBACA,cACA,YACA,cACA,mBACA,yBACA,uBACA,wBACA,uBACA,wBACA,wBACA,sBACA,wBACA,yBACA,yBACA,qBACA,sBACA,0BACA,0BACA,mBACA,gBACA,iBACA,oBACA,mBACA,gBACA,cACA,gBACA,mBACA,oBACA,eACA,gBACA,YACA,oBACA,kBACA,cACA,eACA,gBACA,cACA,mBACA,cACA,eACA,eACA,iBACA,gBACA,iBACA,kBACA,cACA,eACA,YACA,YACA,WACA,cACA,iBACA,aACA,gBACA,UACA,WACA,cACA,mBACA,WACA,WACA,iBACA,eACA,4BACA,gBACA,kBACA,kBACA,kBACA,eACA,kBACA,iBACA,gBACA,aACA,aACA,cACA,cACA,YACA,uBACA,iBACA,gBACA,oBACA,iBACA,sBACA,qBACA,iBACA,uBACA,mBACA,oBACA,eACA,UACA,WACA,mBACA,iBACA,YACA,iBACA,mBACA,iBACA,kBACA,oBACA,UACA,aACA,iBACA,eACA,gBACA,eACA,eACA,eACA,eACA,cACA,eACA,eACA,eACA,kBACA,sBACA,iBACA,aACA,iBACA,eACA,gBACA,uBACA,sBACA,eACA,eACA,YACA,YACA,iBACA,mBACA,iBACA,yBACA,UACA,UACA,cACA,gBACA,aACA,iBACA,eACA,qBACA,WACA,mBACA,oBACA,gBACA,oBACA,kBACA,aACA,iBACA,iBACA,gBACA,cACA,qBACA,iBACA,SACA,eACA,gBACA,cACA,kBACA,iBACA,gBACA,gBACA,UACA,gBACA,oBACA,kBACA,YACA,WACA,SACA,mBACA,wBACA,mBACA,iBACA,mBACA,gBACA,kBACA,oBACA,uBACA,gBACA,oBACA,eACA,gBACA,iBACA,mBACA,gBACA,cACA,oBACA,sBACA,kBACA,gBACA,aACA,gBACA,SACA,aACA,gBACA,eACA,WACA,mBACA,qBACA,iBACA,iBACA,sBACA,kBACA,mBACA,aACA,UACA,WACA,iBACA,kBACA,iBACA,aACA,uBACA,cACA,cACA,WACA,WACA,kBACA,gBACA,eACA,gBACA,aACA,iBACA,eACA,iBACA,uBACA,yBACA,YACA,eACA,aACA,kBACA,YACA,kBACA,kBACA,iBACA,mBACA,uBACA,eACA,eACA,gBACA,YACA,gBACA,aACA,YACA,sBACA,kBACA,qBACA,cACA,WACA,eACA,gBACA,WACA,YACA,mBACA,eACA,uBACA,kBACA,oBACA,qBACA,WACA,kBACA,gBACA,aACA,uBACA,sBACA,uBACA,eACA,eACA,gBACA,gBACA,uBACA,WACA,gBACA,iBACA,gBACA,aACA,aACA,kBACA,iBACA,gBACA,eACA,gBACA,oBACA,oBACA,oBACA,wBACA,cACA,eACA,iBACA,wBACA,+BACA,sBACA,aACA,kBACA,eACA,uBACA,sBACA,eACA,gBACA,YACA,kBACA,kBACA,WACA,6BACA,aACA,kBACA,aACA,cACA,aACA,aACA,cACA,YACA,UACA,YACA,eACA,gBACA,cACA,mBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,gBACA,cACA,cACA,cACA,cACA,kBACA,wBACA,cACA,oBACA,eACA,eACA,YACA,aACA,aACA,UACA,qBACA,aACA,SACA,gBACA,gBACA,YACA,cACA,cACA,eACA,eACA,gBACA,aACA,YACA,kBACA,kBACA,eACA,cACA,iBACA,mBACA,kBACA,WACA,eACA,gBACA,gBACA,cACA,UACA,WACA,mBACA,aACA,cACA,aACA,aACA,gBACA,YACA,aACA,YACA,YACA,qBACA,aACA,eACA,eACA,aACA,oBACA,eACA,gBACA,gBACA,gBACA,kBACA,kBACA,cACA,eACA,gBACA,WACA,UACA,gBACA,eACA,oBACA,gBACA,gBACA,YACA,gBACA,mBACA,aACA,kBACA,eACA,aACA,aACA,eACA,iBACA,kBACA,cACA,aACA,gBACA,aACA,YACA,iBACA,aACA,eACA,cACA,gBACA,cACA,cACA,YACA,eACA,gBACA,qBACA,kBACA,YACA,iBACA,YACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,kBACA,eACA,eACA,eACA,cACA,eACA,mBACA,qBACA,cACA,cACA,gBACA,kBACA,kBACA,cACA,kBACA,kBACA,sBACA,kBACA,gBACA,aACA,kBACA,eACA,kBACA,cACA,gBACA,iBACA,kBACA,iBACA,kBACA,gBACA,kBACA,YACA,2BACA,YACA,kBACA,mBACA,kBACA,sBACA,sBACA,mBACA,yBACA,eACA,eACA,aACA,gBACA,kBACA,eACA,aACA,gBACA,YACA,YACA,WACA,aACA,iBACA,WACA,WACA,WACA,SACA,YACA,eACA,gBACA,cACA,UACA,cACA,WACA,gBACA,eACA,cACA,cACA,kBACA,WACA,aACA,eACA,eACA,WACA,cACA,WACA,YACA,gBACA,WACA,gBACA,cACA,WACA,eACA,aACA,gBACA,cACA,WACA,aACA,iBACA,gBACA,gBACA,iBACA,gBACA,aACA,iBACA,eACA,gBACA,aACA,kBACA,aACA,kBACA,gBACA,eACA,aACA,YACA,gBACA,eACA,eACA,aACA,YACA,YACA,cACA,sBACA,iBACA,mBACA,kBACA,iBACA,kBACA,cACA,eACA,eACA,eACA,WACA,eACA,oBACA,mBACA,YACA,WACA,SACA,aACA,oBACA,eACA,mBACA,kBACA,eACA,eACA,sBACA,mBACA,eACA,eACA,eACA,gBACA,sBACA,gBACA,mBACA,UACA,kBACA,eACA,mBACA,mBACA,oBACA,iBACA,aACA,4BACA,cACA,iBACA,eACA,gBACA,gBACA,gBACA,mBACA,aACA,eACA,kBACA,yBACA,iBACA,aACA,eACA,mBACA,cACA,cACA,iBACA,eACA,kBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,eACA,cACA,cACA,cACA,cACA,cACA,kBACA,gBACA,oBACA,qBACA,iBACA,kBACA,iBACA,iBACA,iBACA,iBACA,cACA,cACA,sBACA,gBACA,SACA,gBACA,SACA,eACA,SACA,yBACA,qBACA,eACA,mBACA,YACA,eACA,WACA,kBACA,gBACA,kBACA,kBACA,aACA,cACA,kBACA,YACA,eACA,eACA,mBACA,oBACA,eACA,iBACA,kBACA,gBACA,aACA,eACA,eACA,iBACA,eACA,gBACA,aACA,eACA,mBACA,cACA,gBACA,eACA,cACA,aACA,cACA,qBACA,iBACA,gBACA,gBACA,cACA,eACA,mBACA,gBACA,cACA,eACA,aACA,YACA,gBACA,aACA,cACA,eACA,cACA,uBACA,mBACA,gBACA,oBACA,eACA,aACA,iBACA,YACA,mBACA,iBACA,kBACA,WACA,gBACA,cACA,gBACA,iBACA,eACA,eACA,gBACA,kBACA,eACA,cACA,UACA,gBACA,kBACA,oBACA,cACA,kBACA,mBACA,kBACA,eACA,gBACA,sBACA,aACA,oBACA,iBACA,kBACA,kBACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,kBACA,cACA,eACA,cACA,aACA,aACA,cACA,cACA,kBACA,cACA,kBACA,kBACA,gBACA,eACA,cACA,cACA,aACA,aACA,kBACA,cACA,mBACA,iBACA,iBACA,iBACA,mBACA,cACA,eACA,sBACA,qBACA,mBACA,iBACA,kBACA,mBACA,qBACA,gBACA,qBACA,mBACA,kBACA,kBACA,iBACA,mBACA,kBACA,kBACA,mBACA,mBACA,kBACA,iBACA,iBACA,iBACA,kBACA,sBACA,kBACA,iBACA,kBACA,iBACA,kBACA,mBACA,qBACA,mBACA,sBACA,mBACA,kBACA,kBACA,iBACA,gBACA,mBACA,kBACA,gBACA,eACA,kBACA,iBACA,mBACA,oBACA,gBACA,mBACA,wBACA,gBACA,mBACA,oBACA,sBACA,mBACA,kBACA,mBACA,iBACA,uBACA,oBACA,oBACA,kBACA,wBACA,sBACA,eACA,mBACA,iBACA,uBACA,sBACA,aACA,YACA,wBACA,sBACA,oBACA,gBACA,oBACA,eACA,kBACA,mBACA,qBACA,uBACA,uBACA,oBACA,kBACA,WACA,eACA,kBACA,mBACA,aACA,YACA,WACA,iBACA,eACA,eACA,cACA,cACA,aACA,iBACA,wBACA,WACA,eACA,SACA,kBACA,WACA,eACA,UACA,aACA,cACA,gBACA,cACA,cACA,eACA,YACA,mBACA,YACA,eACA,oBACA,cACA,eACA,iBACA,mBACA,YACA,UACA,oBACA,WACA,YACA,gBACA,UACA,UACA,cACA,gBACA,WACA,UACA,eACA,gCACA,aACA,eACA,uBACA,oBACA,gBACA,gBACA,gBACA,gBACA,aACA,kBACA,YACA,eACA,cACA,gBACA,iBACA,gBACA,gBACA,cACA,iBACA,iBACA,eACA,aACA,gBACA,gBACA,iBACA,eACA,gBACA,YACA,gBACA,eACA,6BACA,gBACA,uBACA,WACA,eACA,gBACA,kBACA,oBACA,mBACA,YACA,gBACA,cACA,YACA,eACA,eACA,WACA,YACA,SACA,SACA,YACA,UACA,SACA,SACA,SACA,UACA,SACA,cACA,SACA,QACA,QACA,aACA,aACA,SACA,mBACA,gBACA,aACA,aACA,gBACA,eACA,UACA,gBACA,cACA,kBACA,gBACA,gBACA,cACA,aACA,kBACA,mBACA,gBACA,aACA,mBACA,iBACA,iBACA,aACA,+BACA,gBACA,gBACA,iBACA,cACA,cACA,cACA,aACA,uBACA,gBACA,aACA,eACA,eACA,eACA,cACA,kBACA,mBACA,uBACA,gBACA,gBACA,gBACA,gBACA,iBACA,gBACA,SACA,iBACA,aACA,cACA,WACA,UACA,mBACA,mBACA,oBACA,oBACA,mBACA,qBACA,oBACA,oBACA,yBACA,gBACA,WACA,eACA,YACA,UACA,WACA,oBACA,iBACA,iBACA,gBACA,YACA,qBACA,aACA,mBACA,aACA,iBACA,iBACA,eACA,kBACA,kBACA,gBACA,mBACA,cACA,eACA,eACA,oBACA,cACA,gBACA,mBACA,iBACA,mBACA,eACA,oBACA,qBACA,aACA,cACA,eACA,gBACA,kBACA,eACA,kBACA,iBACA,iBACA,gBACA,aACA,WACA,WACA,eACA,WACA,iBACA,qBACA,eACA,gBACA,eACA,cACA,UACA,oBACA,YACA,YACA,SACA,cACA,iBACA,cACA,YACA,iBACA,kBACA,qBACA,gBACA,gBACA,aACA,gBACA,iBACA,cACA,oBACA,aACA,UACA,kBACA,cACA,gBACA,iBACA,oBACA,iBACA,UACA,UACA,cACA,UACA,UACA,cACA,kBACA,eACA,kBACA,sBACA,gBACA,sBACA,eACA,eACA,aACA,gBACA,eACA,iBACA,iBACA,cACA,eACA,eACA,SACA,aACA,YACA,cACA,kBACA,gBACA,cACA,gBACA,kBACA,aACA,aACA,aACA,aACA,gBACA,gBACA,gBACA,gBACA,gBACA,cACA,iBACA,iBACA,iBACA,iBACA,iBACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,eACA,aACA,aACA,cACA,eACA,eACA,cACA,gBACA,aACA,eACA,SACA,aACA,aACA,eACA,cACA,aACA,aACA,YACA,cACA,WACA,eACA,mBACA,gBACA,eACA,kBACA,gBACA,gBACA,UACA,OACA,UACA,aACA,OACA,UACA,YACA,cACA,cACA,gBACA,uBACA,iBACA,gBACA,eACA,eACA,gCACA,kBACA,aACA,sBACA,UACA,cACA,aACA,SACA,cACA,QACA,kBACA,gBACA,cACA,cACA,gBACA,cACA,aACA,cACA,YACA,aACA,cACA,kBACA,oBACA,iBACA,eACA,oBACA,mBACA,eACA,qBACA,oBACA,iBACA,oBACA,uBACA,qBACA,qBACA,UACA,kBACA,YACA,WACA,eACA,cACA,gBACA,UACA,eACA,WACA,YACA,UACA,oBACA,mBACA,iBACA,iBACA,iBACA,gBACA,aACA,eACA,YACA,WACA,eACA,YACA,WACA,YACA,WACA,WACA,iBACA,iBACA,iBACA,eACA,sBACA,kBACA,kBACA,WACA,YACA,YACA,iBACA,gBACA,iBACA,eACA,iBACA,WACA,iBACA,cACA,WACA,cACA,gBACA,gBACA,WACA,aACA,eACA,gBACA,aACA,cACA,iBACA,mBACA,oBACA,iBACA,YACA,YACA,eACA,aACA,iBACA,eACA,kBACA,cACA,eACA,sBACA,iBACA,sBACA,kBACA,0BACA,iBACA,kBACA,iBACA,cACA,gBACA,eACA,aACA,kBACA,kBACA,oBACA,sBACA,oBACA,sBACA,kBACA,oBACA,oBACA,qBACA,sBACA,mBACA,cACA,mBACA,YACA,YACA,WACA,SACA,SACA,gBACA,UACA,YACA,SACA,YACA,aACA,UACA,WACA,qBACA,iBACA,cACA,eACA,eACA,cACA,kBACA,eACA,SACA,YACA,eACA,gBACA,kBACA,kBACA,kBACA,kBACA,aACA,eACA,WACA,iBACA,kBACA,kBACA,qBACA,gBACA,gBACA,qBACA,aACA,YACA,oBACA,eACA,gBACA,UACA,aACA,WACA,gBACA,aACA,cACA,YACA,YACA,gBACA,kBACA,cACA,eACA,kBACA,kBACA,oBACA,mBACA,oBACA,cACA,aACA,gBACA,cACA,cACA,gBACA,eACA,iBACA,mBACA,aACA,YACA,cACA,YACA,YACA,wBACA,qBACA,aACA,eACA,YACA,iBACA,iBACA,iBACA,cACA,cACA,eACA,mBACA,eACA,WACA,WACA,iBACA,aACA,eACA,cACA,WACA,gBACA,kBACA,cACA,gBACA,sBACA,YACA,OACA,aACA,cACA,aACA,uBACA,sBACA,YACA,eACA,iBACA,gBACA,gBACA,iBACA,cACA,cACA,aACA,eACA,mBACA,eACA,WACA,WACA,gBACA,gBACA,gBACA,cACA,gBACA,kBACA,eACA,aACA,eACA,SACA,iBACA,gBACA,kBACA,gBACA,sBACA,iBACA,eACA,eACA,WACA,eACA,kBACA,iBACA,aACA,eACA,eACA,gBACA,aACA,cACA,eACA,kBACA,kBACA,YACA,QACA,eACA,gBACA,WACA,cACA,kBACA,cACA,YACA,WACA,YACA,gBACA,aACA,cACA,cACA,aACA,cACA,UACA,gBACA,eACA,aACA,eACA,iBACA,iBACA,eACA,qBACA,eACA,eACA,kBACA,eACA,gBACA,kBACA,UACA,SACA,sBACA,cACA,eACA,cACA,iBACA,UACA,gBACA,cACA,WACA,UACA,aACA,gBACA,YACA,cACA,uBACA,kBACA,cACA,iBACA,gBACA,aACA,cACA,cACA,UACA,cACA,aACA,gBACA,oBACA,mBACA,eACA,aACA,gBACA,mBACA,eACA,iBACA,kBACA,WACA,cACA,iBACA,gBACA,kBACA,qBACA,aACA,YACA,SACA,uBACA,YACA,gBACA,YACA,iBACA,cACA,kBACA,iBACA,gBACA,iBACA,iBACA,oBACA,gBACA,kBACA,iBACA,wBACA,gBACA,UACA,gBACA,eACA,sBACA,kBACA,qBACA,UACA,UACA,UACA,UACA,UACA,aACA,aACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,eACA,oBACA,cACA,gBACA,iBACA,aACA,eACA,eACA,kBACA,YACA,iBACA,YACA,cACA,eACA,YACA,iBACA,aACA,aACA,kBACA,gBACA,mBACA,eACA,gBACA,eACA,eACA,SACA,WACA,UACA,eACA,cACA,cACA,mBACA,sBACA,iBACA,eACA,gBACA,gBACA,aACA,qBACA,qBACA,iBACA,iBACA,oBACA,kBACA,iBACA,SACA,WACA,YACA,cACA,WACA,UACA,aACA,UACA,eACA,cACA,gBACA,cACA,YACA,WACA,WACA,cACA,WACA,iBACA,gBACA,cACA,cACA,SACA,SACA,eACA,UACA,aACA,YACA,eACA,mBACA,cACA,oBACA,eACA,mBACA,iBACA,aACA,yBACA,wBACA,YACA,kBACA,iBACA,cACA,cACA,kBACA,mBACA,eACA,kBACA,cACA,gBACA,qBACA,kBACA,mBACA,UACA,UACA,UACA,oBACA,UACA,eACA,aACA,WACA,cACA,UACA,0BACA,oBACA,UACA,uBACA,gBACA,gBACA,UACA,qBACA,wBACA,UACA,cACA,UACA,oBACA,UACA,mBACA,UACA,gBACA,iBACA,sBACA,gBACA,mBACA,eACA,oBACA,UACA,WACA,aACA,cACA,aACA,YACA,cACA,eACA,YACA,iBACA,gBACA,eACA,iBACA,mBACA,oBACA,qBACA,iBACA,qBACA,kBACA,kBACA,qBACA,uBACA,kBACA,iBACA,eACA,gBACA,eACA,eACA,kBACA,oBACA,mBACA,mBACA,gBACA,kBACA,mBACA,qBACA,gBACA,iBACA,mBACA,kBACA,iBACA,iBACA,iBACA,mBACA,iBACA,kBACA,kBACA,mBACA,iBACA,mBACA,oBACA,mBACA,kBACA,gBACA,4BACA,kBACA,kBACA,eACA,gBACA,gBACA,mBACA,oBACA,qBACA,kBACA,iBACA,oBACA,kBACA,kBACA,qBACA,gBACA,qBACA,iBACA,mBACA,oBACA,mBACA,gBACA,kBACA,eACA,mBACA,kBACA,kBACA,kBACA,eACA,sBACA,kBACA,mBACA,iBACA,gBACA,oBACA,mBACA,gBACA,qBACA,mBACA,sBACA,gBACA,mBACA,mBACA,qBACA,sBACA,gBACA,sBACA,gBACA,kBACA,oBACA,mBACA,eACA,oBACA,mBACA,kBACA,sBACA,kBACA,iBACA,iBACA,mBACA,kBACA,iBACA,mBACA,mBACA,kBACA,eACA,mBACA,gBACA,iBACA,mBACA,kBACA,iBACA,gBACA,uBACA,iBACA,eACA,qBACA,iBACA,qBACA,iBACA,iBACA,kBACA,iBACA,eACA,iBACA,mBACA,kBACA,gBACA,oBACA,kBACA,kBACA,kBACA,oBACA,mBACA,kBACA,qBACA,iBACA,iBACA,oBACA,kBACA,iBACA,iBACA,kBACA,oBACA,oBACA,iBACA,eACA,oBACA,oBACA,eACA,cACA,sBACA,kBACA,oBACA,oBACA,kBACA,kBACA,qBACA,qBACA,oBACA,wBACA,gBACA,oBACA,mBACA,iBACA,eACA,mBACA,iBACA,oBACA,mBACA,gBACA,gBACA,qBACA,mBACA,gBACA,mBACA,kBACA,mBACA,iBACA,iBACA,mBACA,qBACA,qBACA,oBACA,qBACA,mBACA,iBACA,iBACA,iBACA,uBACA,kBACA,iBACA,kBACA,iBACA,iBACA,gBACA,iBACA,sBACA,iBACA,mBACA,oBACA,iBACA,oBACA,oBACA,oBACA,oBACA,oBACA,qBACA,mBACA,iBACA,mBACA,uBACA,sBACA,mBACA,gBACA,gBACA,gBACA,qBACA,mBACA,oBACA,kBACA,mBACA,iBACA,iBACA,iBACA,kBACA,mBACA,eACA,mBACA,gBACA,mBACA,gBACA,mBACA,gBACA,iBACA,mBACA,kBACA,yBACA,eACA,gBACA,kBACA,eACA,gBACA,iBACA,kBACA,oBACA,iBACA,mBACA,mBACA,kBACA,oBACA,gBACA,gBACA,cACA,kBACA,kBACA,mBACA,kBACA,iBACA,gBACA,oBACA,qBACA,mBACA,oBACA,kBACA,mBACA,kBACA,mBACA,iBACA,kBACA,mBACA,oBACA,mBACA,iBACA,iBACA,mBACA,mBACA,kBACA,kBACA,oBACA,oBACA,oBACA,oBACA,gBACA,iBACA,gBACA,iBACA,oBACA,oBACA,kBACA,oBACA,mBACA,oBACA,6BACA,eACA,kBACA,iBACA,iBACA,mBACA,gBACA,iBACA,mBACA,eACA,oBACA,iBACA,mBACA,gBACA,kBACA,gBACA,iBACA,gBACA,iBACA,mBACA,eACA,qBACA,mBACA,iBACA,iBACA,iBACA,iBACA,oBACA,eACA,qBACA,iBACA,kBACA,sBACA,iBACA,qBACA,iBACA,oBACA,mBACA,4BACA,eACA,gBACA,iBACA,gBACA,mBACA,gBACA,mBACA,iBACA,gBACA,mBACA,iBACA,oBACA,cACA,kBACA,iBACA,eACA,gBACA,kBACA,sBACA,oBACA,kBACA,iBACA,iBACA,mBACA,iBACA,mBACA,gBACA,kBACA,mBACA,eACA,mBACA,kBACA,iBACA,mBACA,gBACA,wBACA,iBACA,mBACA,mBACA,mBACA,gBACA,qBACA,oBACA,oBACA,mBACA,iBACA,eACA,gBACA,oBACA,oBACA,uBACA,iBACA,kBACA,iBACA,qBACA,oBACA,gBACA,mBACA,gBACA,mBACA,kBACA,oBACA,sBACA,gBACA,eACA,iBACA,mBACA,gBACA,kBACA,kBACA,iBACA,gBACA,iBACA,kBACA,gBACA,iBACA,kBACA,kBACA,mBACA,kBACA,kBACA,mBACA,iBACA,mBACA,gBACA,gBACA,gBACA,kBACA,mBACA,gBACA,oBACA,kBACA,kBACA,sBACA,gBACA,iBACA,kBACA,mBACA,mBACA,iBACA,kBACA,iBACA,gBACA,mBACA,eACA,iBACA,qBACA,eACA,iBACA,iBACA,eACA,qBACA,gBACA,kBACA,kBACA,iBACA,kBACA,sBACA,gBACA,mBACA,kBACA,gBACA,kBACA,iBACA,iBACA,gBACA,gBACA,oBACA,iBACA,sBACA,gBACA,oBACA,kBACA,kBACA,mBACA,kBACA,sBACA,iBACA,eACA,kBACA,mBACA,iBACA,qBACA,iBACA,oBACA,iBACA,oBACA,gBACA,iBACA,eACA,iBACA,mBACA,kBACA,gBACA,iBACA,mBACA,kBACA,kBACA,sBACA,kBACA,eACA,qBACA,mBACA,iBACA,qBACA,oBACA,gBACA,cACA,iBACA,kBACA,mBACA,qBACA,oBACA,mBACA,gBACA,gBACA,gBACA,mBACA,iBACA,gBACA,wBACA,kBACA,iBACA,iBACA,kBACA,mBACA,iBACA,kBACA,iBACA,gBACA,iBACA,gBACA,mBACA,iBACA,iBACA,eACA,gBACA,iBACA,kBACA,iBACA,oBACA,mBACA,iBACA,gBACA,eACA,gBACA,eACA,mBACA,oBACA,iBACA,kBACA,iBACA,mBACA,kBACA,iBACA,eACA,mBACA,eACA,iBACA,gBACA,iBACA,kBACA,gBACA,eACA,gBACA,gBACA,gBACA,gBACA,eACA,oBACA,iBACA,kBACA,kBACA,gBACA,eACA,gBACA,iBACA,gBACA,mBACA,kBACA,iBACA,iBACA,gBACA,kBACA,kBACA,YACA,kBACA,kBACA,iBACA,gBACA,iBACA,oBACA,iBACA,iBACA,eACA,sBACA,gBACA,iBACA,iBACA,kBACA,eACA,mBACA,mBACA,mBACA,iBACA,oBACA,iBACA,iBACA,iBACA,eACA,oBACA,gBACA,gBACA,gBACA,kBACA,mBACA,gBACA,kBACA,gBACA,sBACA,cACA,oBACA,iBACA,eACA,iBACA,kBACA,iBACA,iBACA,kBACA,kBACA,oBACA,kBACA,mBACA,eACA,eACA,gBACA,mBACA,iBACA,kBACA,kBACA,mBACA,uBACA,iBACA,iBACA,yBACA,gBACA,iBACA,iBACA,kBACA,oBACA,kBACA,gBACA,qBACA,qBACA,eACA,iBACA,gBACA,gBACA,kBACA,mBACA,gBACA,gBACA,eACA,iBACA,qBACA,mBACA,gBACA,iBACA,gBACA,iBACA,gBACA,sBACA,kBACA,gBACA,gBACA,sBACA,mBACA,kBACA,kBACA,iBACA,iBACA,kBACA,oBACA,oBACA,gBACA,iBACA,iBACA,eACA,iBACA,qBACA,mBACA,gBACA,gBACA,kBACA,oBACA,kBACA,mBACA,iBACA,mBACA,mBACA,gBACA,oBACA,mBACA,mBACA,gBACA,kBACA,2BACA,kBACA,kBACA,iBACA,kBACA,gBACA,oBACA,iBACA,yBACA,gBACA,mBACA,mBACA,sBACA,qBACA,eACA,mBACA,iBACA,eACA,gBACA,oBACA,oBACA,iBACA,eACA,mBACA,mBACA,kBACA,kBACA,mBACA,qBACA,mBACA,kBACA,eACA,iBACA,mBACA,oBACA,oBACA,gBACA,iBACA,kBACA,mBACA,oBACA,sBACA,uBACA,kBACA,gBACA,sBACA,gBACA,oBACA,uBACA,qBACA,mBACA,sBACA,uBACA,oBACA,iBACA,iBACA,iCACA,eACA,kBACA,iBACA,oBACA,kBACA,mBACA,iBACA,gBACA,mBACA,oBACA,gBACA,kBACA,kBACA,uBACA,kBACA,sBACA,eACA,mBACA,mBACA,kBACA,iBACA,oBACA,kBACA,cACA,kBACA,iBACA,kBACA,iBACA,oBACA,iBACA,mBACA,kBACA,gBACA,mBACA,mBACA,mBACA,iBACA,kBACA,kBACA,iBACA,gBACA,gBACA,oBACA,eACA,gBACA,kBACA,mBACA,iBACA,uBACA,mBACA,kBACA,wBACA,qBACA,qBACA,mBACA,sBACA,qBACA,gBACA,kBACA,iBACA,mBACA,gBACA,cACA,gBACA,gBACA,kBACA,kBACA,kBACA,wBACA,yBACA,uBACA,qBACA,kBACA,iBACA,iBACA,mBACA,mBACA,eACA,cACA,iBACA,yBACA,gBACA,cACA,oBACA,kBACA,gBACA,eACA,kBACA,kBACA,gBACA,gBACA,2BACA,uBACA,kBACA,kBACA,gBACA,mBACA,oBACA,iBACA,eACA,kBACA,oBACA,qBACA,iBACA,gBACA,kBACA,iBACA,mBACA,eACA,oBACA,mBACA,iBACA,gBACA,iBACA,eACA,iBACA,wBACA,iBACA,wBACA,iBACA,sBACA,mBACA,gBACA,gBACA,iBACA,sBACA,gBACA,uBACA,mBACA,qBACA,mBACA,kBACA,iBACA,kBACA,kBACA,oBACA,iBACA,iBACA,cACA,sBACA,gBACA,kBACA,qBACA,uBACA,sBACA,eACA,gBACA,mBACA,oBACA,oBACA,sBACA,iBACA,wBACA,qBACA,kBACA,kBACA,oBACA,oBACA,qBACA,mBACA,wBACA,kBACA,wBACA,iBACA,iBACA,iBACA,gBACA,iBACA,kBACA,gBACA,qBACA,iBACA,iBACA,eACA,gBACA,gBACA,eACA,mBACA,mBACA,mBACA,qBACA,mBACA,mBACA,gBACA,kBACA,oBACA,gBACA,sBACA,kBACA,eACA,uBACA,gBACA,mBACA,iBACA,gBACA,iBACA,gBACA,eACA,kBACA,mBACA,iBACA,gBACA,kBACA,eACA,kBACA,mBACA,gBACA,eACA,kBACA,kBACA,gBACA,iBACA,eACA,eACA,gBACA,iBACA,kBACA,mBACA,kBACA,mBACA,iBACA,gBACA,kBACA,gBACA,cACA,mBACA,gBACA,uBACA,gBACA,kBACA,eACA,kBACA,eACA,oBACA,iBACA,mBACA,kBACA,iBACA,wBACA,qBACA,iBACA,gBACA,iBACA,eACA,kBACA,iBACA,uBACA,gBACA,mBACA,kBACA,qBACA,mBACA,iBACA,gBACA,kBACA,mBACA,uBACA,kBACA,mBACA,mBACA,gBACA,qBACA,gBACA,sBACA,iBACA,kBACA,iBACA,gBACA,mBACA,iBACA,mBACA,uBACA,iBACA,qBACA,kBACA,gBACA,kBACA,iBACA,eACA,iBACA,gBACA,oBACA,oBACA,iBACA,iBACA,kBACA,kBACA,qBACA,qBACA,mBACA,mBACA,eACA,gBACA,eACA,iBACA,uBACA,wBACA,yBACA,uBACA,sBACA,qBACA,iBACA,mBACA,iBACA,oBACA,kBACA,mBACA,kBACA,oBACA,iBACA,gBACA,mBACA,gBACA,iBACA,qBACA,iBACA,kBACA,mBACA,mBACA,iBACA,qBACA,uBACA,mBACA,iBACA,kBACA,mBACA,kBACA,oBACA,oBACA,qBACA,iBACA,qBACA,kBACA,oBACA,iBACA,iBACA,qBACA,kBACA,sBACA,gBACA,mBACA,iBACA,uBACA,kBACA,kBACA,iBACA,iBACA,kBACA,sBACA,iBACA,iBACA,iBACA,oBACA,gBACA,kBACA,gBACA,uBACA,kBACA,eACA,mBACA,sBACA,eACA,qBACA,sBACA,sBACA,qBACA,kBACA,qBACA,iBACA,iBACA,gBACA,iBACA,oBACA,mBACA,iBACA,mBACA,mBACA,eACA,gBACA,mBACA,gBACA,mBACA,gBACA,gBACA,gBACA,eACA,iBACA,iBACA,gBACA,iBACA,mBACA,kBACA,iBACA,iBACA,kBACA,oBACA,kBACA,mBACA,gBACA,uBACA,iBACA,wBACA,gBACA,iBACA,iBACA,eACA,mBACA,iBACA,kBACA,wBACA,cACA,kBACA,iBACA,gBACA,eACA,kBACA,cACA,mBACA,iBACA,uBACA,kBACA,mBACA,eACA,gBACA,sBACA,aACA,oBACA,sBACA,mBACA,kBACA,mBACA,mBACA,mBACA,qBACA,kBACA,iBACA,mBACA,kBACA,kBACA,oBACA,kBACA,mBACA,iBACA,oBACA,iBACA,qBACA,iBACA,sBACA,kBACA,sBACA,iBACA,kBACA,kBACA,sBACA,gBACA,eACA,mBACA,iBACA,qBACA,kBACA,iBACA,iBACA,mBACA,iBACA,mBACA,wBACA,mBACA,gBACA,iBACA,sBACA,mBACA,eACA,kBACA,gBACA,mBACA,kBACA,gBACA,kBACA,iBACA,qBACA,iBACA,kBACA,iBACA,mBACA,eACA,eACA,mBACA,kBACA,eACA,qBACA,mBACA,iBACA,eACA,sBACA,gBACA,kBACA,kBACA,kBACA,gBACA,kBACA,eACA,qBACA,kBACA,eACA,cACA,iBACA,cACA,YACA,iBACA,kBACA,aACA,eACA,gBACA,cACA,iBACA,eACA,eACA,eACA,aACA,gBACA,aACA,aACA,gBACA,gBACA,gBACA,iBACA,YACA,cACA,cACA,gBACA,aACA,gBACA,eACA,cACA,eACA,YACA,cACA,cACA,cACA,aACA,YACA,eACA,iBACA,iBACA,YACA,cACA,gBACA,kBACA,cACA,qBACA,kBACA,aACA,cACA,cACA,cACA,gBACA,eACA,gBACA,eACA,gBACA,eACA,iBACA,iBACA,iBACA,iBACA,iBACA,gBACA,kBACA,kBACA,oBACA,qBACA,iBACA,gBACA,kBACA,cACA,eACA,YACA,YACA,YACA,YACA,eACA,kBACA,gBACA,aACA,eACA,aACA,gBACA,gBACA,cACA,eACA,cACA,cACA,cACA,gBACA,eACA,kBACA,mBACA,gBACA,iBACA,gBACA,gBACA,eACA,eACA,aACA,cACA,gBACA,cACA,eACA,gBACA,iBACA,gBACA,kBACA,iBACA,mBACA,gBACA,gBACA,oBACA,eACA,cACA,gBACA,YACA,cACA,iBACA,gBACA,aACA,YACA,mBACA,aACA,eACA,gBACA,YACA,gBACA,gBACA,oBACA,cACA,0BACA,sBACA,UACA,kBACA,aACA,aACA,gBACA,cACA,gBACA,oBACA,iBACA,mBACA,iBACA,gBACA,gBACA,cACA,eACA,sBACA,cACA,gBACA,eACA,eACA,uBACA,qBACA,kBACA,yBACA,WACA,iBACA,qBACA,mBACA,eACA,cACA,cACA,eACA,gBACA,kBACA,cACA,gBACA,aACA,cACA,SACA,YACA,cACA,aACA,SACA,qBACA,mBACA,iBACA,cACA,eACA,kBACA,cACA,aACA,cACA,gBACA,cACA,eACA,qBACA,mBACA,mBACA,wBACA,oBACA,cACA,iBACA,YACA,eACA,sBACA,YACA,eACA,gBACA,eACA,eACA,iBACA,YACA,aACA,sBACA,mBACA,cACA,eACA,kBACA,eACA,eACA,WACA,iBACA,gBACA,UACA,kBACA,iBACA,YACA,eACA,cACA,aACA,eACA,oBACA,mBACA,4BACA,sBACA,cACA,gBACA,eACA,iBACA,gBACA,gBACA,eACA,6BACA,gBACA,aACA,mBACA,SACA,gBACA,cACA,iBACA,UACA,cACA,sBACA,QACA,YACA,SACA,aACA,YACA,YACA,iBACA,oBACA,gBACA,eACA,oBACA,eACA,eACA,aACA,aACA,cACA,gBACA,eACA,eACA,oBACA,eACA,iBACA,YACA,aACA,gBACA,qBACA,oBACA,mBACA,aACA,cACA,iBACA,cACA,cACA,eACA,iBACA,UACA,kBACA,kBACA,oBACA,iBACA,eACA,iBACA,iBACA,YACA,iBACA,aACA,cACA,SACA,oBACA,aACA,gBACA,aACA,aACA,SACA,UACA,SACA,SACA,aACA,aACA,aACA,aACA,mBACA,gBACA,kBACA,gBACA,aACA,YACA,cACA,mBACA,eACA,eACA,iBACA,iBACA,aACA,kBACA,oBACA,gBACA,YACA,SACA,qBACA,WACA,cACA,eACA,gBACA,aACA,mBACA,aACA,eACA,sBACA,kBACA,eACA,iBACA,kBACA,WACA,aACA,iBACA,WACA,gBACA,gBACA,YACA,gBACA,YACA,mBACA,gBACA,YACA,iBACA,mBACA,cACA,YACA,iBACA,sBACA,qBACA,cACA,eACA,gBACA,eACA,YACA,aACA,iBACA,iBACA,kBACA,eACA,kBACA,iBACA,iBACA,kBACA,YACA,kBACA,SACA,iBACA,iBACA,aACA,eACA,iBACA,WACA,aACA,WACA,gBACA,aACA,kBACA,WACA,iBACA,mBACA,gBACA,iBACA,aACA,WACA,iBACA,gBACA,WACA,YACA,eACA,WACA,UACA,YACA,QACA,kBACA,YACA,YACA,YACA,WACA,aACA,aACA,aACA,iBACA,YACA,aACA,eACA,gBACA,WACA,WACA,YACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,gBACA,mBACA,SACA,WACA,aACA,eACA,gBACA,gBACA,qBACA,WACA,UACA,UACA,UACA,UACA,UACA,mBACA,aACA,eACA,kBACA,mBACA,oBACA,eACA,eACA,aACA,iBACA,eACA,cACA,eACA,aACA,eACA,eACA,YACA,eACA,gBACA,gBACA,cACA,eACA,eACA,mBACA,gBACA,eACA,uBACA,kBACA,kBACA,gBACA,cACA,cACA,gBACA,gBACA,WACA,iBACA,cACA,cACA,eACA,eACA,kBACA,UACA,WACA,gBACA,eACA,WACA,eACA,cACA,cACA,aACA,mBACA,cACA,kBACA,cACA,eACA,aACA,SACA,aACA,cACA,eACA,cACA,kBACA,iBACA,cACA,iBACA,gBACA,eACA,eACA,eACA,aACA,eACA,aACA,iBACA,QACA,WACA,UACA,UACA,aACA,WACA,aACA,mBACA,mBACA,YACA,eACA,gBACA,uBACA,kBACA,aACA,gBACA,oBACA,sBACA,iBACA,iBACA,eACA,aACA,eACA,iBACA,oBACA,oBACA,oBACA,kBACA,kBACA,iBACA,cACA,gBACA,aACA,cACA,eACA,aACA,WACA,eACA,WACA,mBACA,iBACA,aACA,YACA,YACA,SACA,SACA,YACA,cACA,UACA,cACA,WACA,eACA,YACA,WACA,QACA,oBACA,WACA,iBACA,aACA,gBACA,eACA,eACA,cACA,aACA,iBACA,oBACA,mBACA,mBACA,qBACA,YACA,kBACA,cACA,QACA,SACA,QACA,aACA,cACA,YACA,cACA,aACA,WACA,oBACA,iBACA,oBACA,UACA,cACA,aACA,eACA,cACA,eACA,UACA,cACA,aACA,gBACA,kBACA,iBACA,cACA,UACA,UACA,iBACA,YACA,oBACA,YACA,YACA,YACA,YACA,YACA,4BACA,gBACA,kBACA,kBACA,aACA,gBACA,WACA,QACA,YACA,gBACA,kBACA,eACA,gBACA,aACA,eACA,gBACA,kBACA,YACA,aACA,aACA,uBACA,cACA,mBACA,eACA,UACA,gBACA,iBACA,mBACA,iBACA,SACA,kBACA,eACA,YACA,YACA,aACA,iBACA,aACA,aACA,aACA,gBACA,gBACA,gBACA,gBACA,cACA,iBACA,iBACA,iBACA,iBACA,iBACA,iBACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,aACA,eACA,uBACA,UACA,UACA,aACA,cACA,iBACA,iBACA,SACA,cACA,oBACA,iBACA,kBACA,iBACA,YACA,aACA,kBACA,mBACA,kBACA,oBACA,kBACA,cACA,aACA,oBACA,YACA,iBACA,aACA,eACA,mBACA,gBACA,eACA,gBACA,cACA,mBACA,qBACA,cACA,YACA,mBACA,eACA,cACA,yBACA,iBACA,aACA,mBACA,iBACA,aACA,aACA,eACA,gBACA,aACA,kBACA,aACA,WACA,cACA,iBACA,eACA,YACA,UACA,gBACA,kBACA,UACA,aACA,YACA,kBACA,mBACA,cACA,eACA,qBACA,gBACA,gBACA,gBACA,eACA,qBACA,mBACA,cACA,aACA,iBACA,cACA,gBACA,cACA,YACA,YACA,kBACA,YACA,mBACA,gBACA,sBACA,mBACA,uBACA,iBACA,iBACA,gBACA,YACA,kBACA,cACA,uBACA,cACA,YACA,WACA,kBACA,kBACA,YACA,YACA,WACA,WACA,WACA,YACA,YACA,YACA,cACA,YACA,iBACA,aACA,eACA,kBACA,eACA,iBACA,aACA,mBACA,iBACA,mBACA,sBACA,gBACA,YACA,cACA,eACA,kBACA,YACA,UACA,iBACA,cACA,eACA,cACA,cACA,qBACA,mBACA,kBACA,kBACA,wBACA,WACA,UACA,UACA,YACA,WACA,wBACA,qBACA,eACA,gBACA,eACA,WACA,cACA,gBACA,aACA,aACA,eACA,mBACA,yBACA,cACA,YACA,iBACA,eACA,aACA,aACA,cACA,oBACA,kBACA,sBACA,qBACA,kBACA,iBACA,cACA,cACA,sBACA,aACA,gBACA,eACA,uBACA,cACA,mBACA,iBACA,eACA,SACA,gBACA,cACA,iBACA,eACA,gBACA,gBACA,iBACA,gBACA,eACA,gBACA,iBACA,gBACA,iBACA,iBACA,4BACA,iBACA,iBACA,eACA,YACA,iBACA,oBACA,UACA,kBACA,iBACA,gBACA,mBACA,cACA,eACA,gBACA,mBACA,WACA,gCACA,YACA,QACA,WACA,gBACA,YACA,SACA,YACA,cACA,SACA,WACA,iBACA,WACA,gBACA,qBACA,mBACA,eACA,cACA,iBACA,iBACA,eACA,eACA,cACA,mBACA,gBACA,eACA,WACA,YACA,kBACA,cACA,SACA,aACA,iBACA,eACA,mBACA,iBACA,eACA,eACA,kBACA,iBACA,YACA,aACA,gBACA,cACA,kBACA,mBACA,uBACA,gBACA,cACA,iBACA,eACA,gBACA,eACA,UACA,UACA,gBACA,qBACA,uBACA,iBACA,kBACA,mBACA,oBACA,kBACA,kBACA,aACA,YACA,gBACA,eACA,mBACA,eACA,mBACA,aACA,iBACA,oBACA,eACA,cACA,eACA,mBACA,gBACA,gBACA,eACA,mBACA,uBACA,eACA,kBACA,YACA,oBACA,gBACA,YACA,aACA,gBACA,WACA,yBACA,mBACA,qBACA,iBACA,iBACA,+BACA,iBACA,gBACA,aACA,YACA,YACA,mBACA,gBACA,SACA,UACA,kBACA,aACA,YACA,SACA,QACA,iBACA,kBACA,WACA,iBACA,iBACA,cACA,aACA,aACA,cACA,SACA,WACA,kBACA,YACA,iBACA,YACA,eACA,YACA,kBACA,SACA,aACA,WACA,QACA,YACA,QACA,gBACA,aACA,eACA,kBACA,aACA,YACA,aACA,WACA,mBACA,iBACA,kBACA,iBACA,gBACA,iBACA,kBACA,gBACA,cACA,WACA,cACA,uBACA,mBACA,iBACA,iBACA,cACA,gBACA,qBACA,aACA,kBACA,eACA,cACA,qBACA,gBACA,oBACA,aACA,kBACA,aACA,iBACA,iBACA,UACA,gBACA,iBACA,wBACA,aACA,kBACA,cACA,eACA,YACA,mBACA,eACA,gBACA,gBACA,kBACA,aACA,aACA,aACA,WACA,eACA,aACA,iBACA,kBACA,iBACA,kBACA,6BACA,mBACA,cACA,SACA,iBACA,gBACA,iBACA,eACA,mBACA,qBACA,qBACA,iBACA,yBACA,kBACA,aACA,YACA,gBACA,kBACA,YACA,iBACA,oBACA,kBACA,gBACA,iBACA,qBACA,kBACA,iBACA,gBACA,kBACA,iBACA,mBACA,0BACA,mBACA,UACA,cACA,YACA,mBACA,8BACA,UACA,UACA,WACA,kBACA,eACA,kBACA,iBACA,kBACA,cACA,gBACA,YACA,SACA,cACA,kBACA,kBACA,oBACA,0BACA,kBACA,gBACA,UACA,UACA,cACA,mBACA,kBACA,gBACA,qBACA,cACA,iBACA,cACA,cACA,cACA,cACA,kBACA,cACA,cACA,eACA,cACA,kBACA,sBACA,gBACA,gBACA,gBACA,aACA,eACA,cACA,cACA,WACA,kBACA,iBACA,iBACA,cACA,WACA,cACA,eACA,eACA,UACA,WACA,eACA,gBACA,oBACA,eACA,iBACA,eACA,kBACA,eACA,iBACA,aACA,gBACA,WACA,WACA,UACA,eACA,UACA,YACA,kBACA,yBACA,eACA,qBACA,mBACA,gBACA,iBACA,aACA,UACA,cACA,wBACA,eACA,gBACA,eACA,gBACA,gBACA,+BACA,iBACA,iBACA,SACA,UACA,iBACA,iBACA,gBACA,gBACA,WACA,iBACA,eACA,WACA,YACA,cACA,iBACA,mBACA,gBACA,gBACA,eACA,mBACA,oBACA,iBACA,iBACA,mBACA,mBACA,kBACA,eACA,iBACA,gBACA,eACA,gBACA,YACA,WACA,gBACA,SACA,mBACA,YACA,aACA,iBACA,iBACA,iBACA,mBACA,gBACA,gBACA,WACA,uBACA,uBACA,oBACA,aACA,QACA,iBACA,gBACA,iBACA,mBACA,YACA,eACA,gBACA,gBACA,iBACA,eACA,gBACA,oBACA,WACA,aACA,iBACA,gBACA,cACA,cACA,cACA,cACA,aACA,cACA,aACA,iBACA,eACA,aACA,iBACA,iBACA,eACA,cACA,qBACA,iBACA,iBACA,iBACA,cACA,gBACA,gBACA,gBACA,aACA,cACA,iBACA,gBACA,kBACA,iBACA,iBACA,cACA,kBACA,kBACA,kBACA,mBACA,qBACA,eACA,cACA,gBACA,gBACA,YACA,WACA,gBACA,eACA,aACA,iBACA,eACA,gBACA,iBACA,gBACA,qBACA,iBACA,eACA,cACA,iBACA,gBACA,iBACA,gBACA,gBACA,iBACA,aACA,YACA,iBACA,oBACA,SACA,WACA,eACA,iBACA,eACA,iBACA,uBACA,WACA,WACA,YACA,aACA,YACA,gBACA,eACA,gBACA,WACA,eACA,iBACA,eACA,oBACA,eACA,eACA,gBACA,gBACA,gBACA,eACA,qBACA,gBACA,mBACA,oBACA,kBACA,mBACA,mBACA,YACA,iBACA,iBACA,aACA,aACA,qBACA,sBACA,gBACA,eACA,qBACA,gBACA,gBACA,gBACA,aACA,oBACA,eACA,iBACA,aACA,gBACA,cACA,eACA,eACA,eACA,eACA,gBACA,gBACA,cACA,gBACA,gBACA,kBACA,aACA,aACA,gBACA,aACA,eACA,eACA,qBACA,eACA,cACA,aACA,mBACA,gBACA,cACA,qBACA,eACA,iBACA,cACA,iBACA,gBACA,kBACA,YACA,gBACA,YACA,cACA,iBACA,YACA,eACA,eACA,mBACA,UACA,eACA,SACA,aACA,UACA,iBACA,iBACA,cACA,iBACA,gBACA,uBACA,eACA,qBACA,aACA,gBACA,gBACA,gBACA,sBACA,kBACA,YACA,eACA,WACA,gBACA,cACA,WACA,aACA,cACA,YACA,YACA,mBACA,aACA,eACA,iBACA,iBACA,UACA,YACA,kBACA,iBACA,iBACA,iBACA,eACA,sBACA,oBACA,WACA,YACA,UACA,cACA,kBACA,eACA,oBACA,gBACA,kBACA,iBACA,gBACA,aACA,qBACA,mBACA,0BACA,kBACA,gBACA,eACA,iBACA,eACA,qBACA,cACA,WACA,cACA,cACA,iBACA,cACA,aACA,aACA,eACA,sBACA,YACA,eACA,cACA,aACA,sBACA,cACA,aACA,cACA,cACA,iBACA,gBACA,eACA,gBACA,eACA,qBACA,cACA,iBACA,gBACA,kBACA,gBACA,gBACA,kBACA,gBACA,cACA,cACA,cACA,gBACA,mBACA,iBACA,gBACA,eACA,yBACA,qBACA,oBACA,0BACA,qBACA,2BACA,cACA,gBACA,eACA,iBACA,iBACA,iBACA,oBACA,WACA,YACA,eACA,eACA,eACA,WACA,WACA,UACA,gBACA,YACA,UACA,WACA,UACA,WACA,SACA,WACA,eACA,eACA,oBACA,mBACA,SACA,kBACA,mBACA,iBACA,mBACA,iBACA,eACA,oBACA,iBACA,oBACA,gBACA,eACA,oBACA,mBACA,iBACA,kBACA,kBACA,kBACA,iBACA,qBACA,mBACA,iBACA,qBACA,kBACA,eACA,oBACA,iBACA,iBACA,oBACA,iBACA,kBACA,mBACA,kBACA,mBACA,eACA,iBACA,sBACA,iBACA,iBACA,kBACA,mBACA,iBACA,qBACA,mBACA,iBACA,iBACA,uBACA,mBACA,kBACA,oBACA,gBACA,mBACA,uBACA,kBACA,qBACA,oBACA,cACA,iBACA,mBACA,sBACA,cACA,YACA,eACA,oBACA,gBACA,oBACA,uBACA,uBACA,oBACA,cACA,oBACA,gBACA,eACA,mBACA,oBACA,eACA,mBACA,gBACA,mBACA,sBACA,uBACA,gBACA,qBACA,mBACA,iBACA,iBACA,YACA,YACA,aACA,YACA,YACA,YACA,cACA,aACA,aACA,gBACA,eACA,eACA,2BACA,eACA,YACA,aACA,aACA,cACA,4BACA,kBACA,iBACA,YACA,aACA,aACA,gBACA,SACA,oBACA,WACA,aACA,aACA,gBACA,aACA,aACA,aACA,aACA,WACA,aACA,aACA,WACA,kBACA,aACA,YACA,WACA,YACA,UACA,iBACA,cACA,iBACA,cACA,kBACA,gBACA,mBACA,iBACA,iBACA,cACA,aACA,mBACA,YACA,gBACA,kBACA,iBACA,gBACA,eACA,iBACA,gBACA,eACA,cACA,aACA,kBACA,uBACA,iBACA,gBACA,iBACA,gBACA,gBACA,gBACA,gBACA,gBACA,gBACA,iBACA,gBACA,gBACA,eACA,gBACA,eACA,eACA,gBACA,gBACA,kBACA,iBACA,iBACA,YACA,aACA,YACA,YACA,aACA,oBACA,eACA,gBACA,kBACA,YACA,cACA,YACA,gBACA,oBACA,mBACA,eACA,eACA,iBACA,kBACA,eACA,eACA,gBACA,gBACA,aACA,iBACA,kBACA,gBACA,qBACA,aACA,aACA,cACA,SACA,gBACA,eACA,eACA,WACA,aACA,UACA,YACA,iBACA,cACA,oBACA,YACA,iBACA,YACA,eACA,SACA,YACA,aACA,QACA,SACA,cACA,WACA,cACA,YACA,eACA,UACA,WACA,aACA,UACA,UACA,gBACA,aACA,kBACA,aACA,YACA,UACA,cACA,aACA,YACA,gBACA,oBACA,mBACA,YACA,YACA,aACA,gBACA,mBACA,oBACA,SACA,YACA,kBACA,YACA,cACA,eACA,SACA,SACA,aACA,cACA,qBACA,iBACA,aACA,aACA,aACA,aACA,aACA,WACA,cACA,cACA,aACA,SACA,aACA,UACA,gBACA,cACA,iBACA,aACA,iBACA,YACA,QACA,UACA,UACA,gBACA,iBACA,kBACA,eACA,eACA,sBACA,cACA,WACA,WACA,iBACA,aACA,aACA,WACA,aACA,cACA,aACA,YACA,eACA,eACA,oBACA,iBACA,aACA,eACA,aACA,eACA,mBACA,eACA,cACA,kBACA,wBACA,cACA,qBACA,eACA,oBACA,iBACA,cACA,eACA,eACA,cACA,oBACA,oBACA,eACA,qBACA,cACA,eACA,gBACA,SACA,cACA,aACA,eACA,aACA,iBACA,cACA,aACA,yBACA,kBACA,mBACA,oBACA,kBACA,kBACA,gBACA,eACA,YACA,mBACA,mBACA,gBACA,aACA,aACA,eACA,YACA,YACA,aACA,iBACA,SACA,cACA,cACA,mBACA,WACA,kBACA,aACA,cACA,aACA,SACA,qBACA,qBACA,qBACA,mBACA,uBACA,eACA,cACA,WACA,QACA,SACA,UACA,eACA,YACA,aACA,QACA,aACA,aACA,gBACA,eACA,cACA,cACA,YACA,cACA,gBACA,aACA,aACA,YACA,mBACA,eACA,eACA,aACA,uBACA,gBACA,cACA,cACA,YACA,aACA,mBACA,kBACA,eACA,kBACA,iBACA,iBACA,SACA,qBACA,gBACA,aACA,gBACA,iBACA,aACA,uBACA,eACA,cACA,mBACA,eACA,kBACA,cACA,eACA,wBACA,eACA,gBACA,gBACA,eACA,aACA,iBACA,aACA,eACA,eACA,eACA,cACA,qBACA,iBACA,iBACA,kBACA,iBACA,eACA,aACA,SACA,eACA,eACA,iBACA,eACA,oBACA,WACA,oBACA,oBACA,mBACA,kBACA,iBACA,mBACA,kBACA,kBACA,sBACA,cACA,eACA,gBACA,qBACA,iBACA,iBACA,cACA,iBACA,qBACA,aACA,WACA,iBACA,gBACA,eACA,eACA,eACA,eACA,cACA,mBACA,iBACA,qBACA,aACA,iBACA,eACA,mBACA,eACA,eACA,mBACA,sBACA,uBACA,kBACA,iBACA,iBACA,iBACA,iBACA,eACA,iBACA,cACA,YACA,yBACA,oBACA,iBACA,YACA,SACA,eACA,WACA,YACA,aACA,eACA,aACA,cACA,cACA,oBACA,iBACA,iBACA,eACA,WACA,iBACA,aACA,iBACA,eACA,iBACA,iBACA,kBACA,mBACA,aACA,gBACA,gBACA,aACA,UACA,cACA,cACA,aACA,QACA,eACA,qBACA,cACA,cACA,kBACA,kBACA,gBACA,gBACA,eACA,WACA,UACA,iBACA,qBACA,cACA,YACA,WACA,UACA,qBACA,aACA,iBACA,WACA,UACA,aACA,WACA,QACA,aACA,YACA,gBACA,YACA,aACA,eACA,eACA,SACA,WACA,WACA,eACA,WACA,WACA,gBACA,qBACA,YACA,gBACA,aACA,aACA,YACA,WACA,SACA,WACA,SACA,cACA,eACA,aACA,QACA,gBACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,cACA,YACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,YACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,cACA,gBACA,YACA,eACA,aACA,UACA,aACA,cACA,YACA,YACA,YACA,aACA,aACA,cACA,YACA,WACA,YACA,aACA,YACA,YACA,gBACA,SACA,cACA,aACA,aACA,YACA,mBACA,UACA,YACA,YACA,cACA,gBACA,iBACA,cACA,cACA,aACA,cACA,cACA,gBACA,cACA,aACA,kBACA,eACA,YACA,iBACA,gBACA,iBACA,gBACA,sBACA,gBACA,oBACA,YACA,qBACA,kBACA,cACA,gBACA,gBACA,mBACA,aACA,aACA,cACA,UACA,SACA,aACA,SACA,cACA,cACA,cACA,gBACA,eACA,YACA,aACA,iBACA,qBACA,gBACA,gBACA,gBACA,cACA,cACA,uBACA,WACA,UACA,cACA,UACA,aACA,aACA,cACA,iBACA,aACA,iBACA,WACA,WACA,cACA,cACA,cACA,WACA,YACA,YACA,eACA,YACA,iBACA,mBACA,YACA,YACA,iBACA,aACA,cACA,UACA,WACA,cACA,gBACA,gBACA,UACA,aACA,WAGa,SAASX,EAAmBY,GACzC,OAA+C,GAAxCD,EAAgBE,QAAQD,K,8PC59LpB7B,EAAajG,YACxB,iCADwC,uCAExC,WAAOmE,GAAP,mBAAAjE,EAAA,mEAIOiE,EAAM6B,YAJb,wBAMa7F,EAAU,CACZC,OAAQ,OACRC,QAAS,CACN,eAAgB,oBAEnBC,KAAMC,KAAKC,UAAU2D,IAXhC,SAc0B1D,MAAM,GAAD,OAChBC,mCADgB,wBACoCP,GAfnE,WAcSQ,EAdT,QAkBuBC,SAAWoH,IAAWC,GAlB7C,iCAmB2CtH,EAASE,OAnBpD,cAmBqBqH,EAnBrB,yBAoBqB,CACLtH,OAAQoH,IAAWC,GACnB9D,MAAO+D,EAAchE,KACrBhD,KAAMgH,EAAcC,UAAU,IAAID,EAAcE,SAChDrC,SAAUmC,EAAcnC,SACxBxB,MAAOJ,EAAMI,MACbS,QAAS,KA1BzB,oBA8BsBrE,E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","file":"static/js/main.bbbe4792.chunk.js","sourcesContent":["import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { OtpRequestProps } from \"../../../src/type\";\nimport { OtpResponse } from \"../../type\";\n\nexport const otpRequest = createAsyncThunk(\n \"otp\",\n async (requestData: OtpRequestProps) => {\n try {\n const options = {\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(requestData),\n };\n\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/otp`,\n options\n );\n if (response.status === 200 || response.status === 500) {\n return {\n status: 200,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst otpRequestSlice = createSlice({\n name: \"otpResponse\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as OtpResponse | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(otpRequest.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n\n });\n builder.addCase(otpRequest.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(otpRequest.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = otpRequestSlice.actions;\n\nexport default otpRequestSlice;\n","import {\n CircularProgress,\n Grid,\n makeStyles,\n Typography,\n TextField,\n Button\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport Box from '@material-ui/core/Box';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Link from '@material-ui/core/Link';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport { useDispatch, useSelector } from \"react-redux\";\n\nimport { State } from \"../../../type\";\nimport { OtpRequestProps, OtpVerificationRequest } from \"../../../type\";\nimport { OtpResponse, OtpVerificationResponse } from \"../../../type\";\nimport { otpRequest } from \"../../../redux/slices/OtpRequestSlice\";\nimport { signInCorporate } from \"../../../redux/slices/OtpValidationSlice\";\nimport { signInUser } from \"../../../redux/slices/AuthSlice\";\nimport { TokenId } from \"../../../type\";\nimport checkBlockedDomain from \"../../../modules/constants/BlockedDomains\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n justifyContent: \"center\",\n marginBottom: \"30px\",\n alignItems: \"center\",\n width: \"75%\",\n marginLeft: \"15%\"\n },\n subTextError: {\n color: \"red\",\n fontSize: \"16px\",\n marginBottom: theme.spacing(2),\n },\n nextButton: {\n marginTop: theme.spacing(2),\n },\n enteredEmailSection: {\n border: \"1px solid #dfe2e5\",\n paddingLeft: theme.spacing(2),\n borderRadius: \"10px\",\n width: \"100%\"\n },\n eneteredEmail: {\n fontSize: \"16px\",\n flex: 1,\n flexWrap: \"wrap\",\n width: \"70%\"\n },\n verifyButton: {\n fontWeight: 800,\n fontSize: \"14px\",\n },\n otp: {\n fontSize: \"28px\",\n }\n\n}\n));\n\nexport const CorporateLogin = ({ corporateEmailEntered, setCorporateEmailEntered }) => {\n\n const classes = useStyles();\n const dispatch = useDispatch();\n\n const token = useSelector((state: State) => state.auth.token);\n const [corporateLogin, setCorporateLogin] = React.useState(true);\n\n const [email, setEmail] = React.useState(\"\");\n const [error, setError] = React.useState(\"\");\n const [otp, setOtp] = React.useState(\"\");\n const [flagValidEmail, setFlagValidEmail] = React.useState(false);\n const requesterTypeValue = \"email\";\n\n const loading: boolean = useSelector((state: State) => state.otpResponse.loading);\n\n const emptyOtpGenerationResponse: OtpResponse = { status: '', message: '', responseCode: '' };\n const otpGenerationResponse: OtpResponse =\n useSelector((state: State) => state.otpResponse.data) ?? emptyOtpGenerationResponse;\n\n useEffect(() => {\n validateOtpGenerationResponse(otpGenerationResponse.status, otpGenerationResponse.message);\n }, [otpGenerationResponse]);\n\n\n const otpLength = 6;\n\n function handleEmail(event) {\n if (!isValidEmail(event.target.value)) {\n setError('Please verify your email address.');\n setFlagValidEmail(false);\n } else {\n const domain = event.target.value.split('@')[1];\n if (checkBlockedDomain(domain)) {\n setFlagValidEmail(true);\n setError('');\n } else {\n setFlagValidEmail(false);\n setError('Kindly enter corporate email id');\n }\n }\n setEmail(event.target.value);\n }\n\n function isValidEmail(email) {\n return /\\S+@\\S+\\.\\S+/.test(email);\n }\n\n function validateEmail() {\n return isValidEmail(email);\n }\n\n function handleOtp(event) {\n setOtp(event.target.value);\n }\n\n function requestOtp() {\n const arg: OtpRequestProps = {\n requester: Buffer.from(email).toString('base64'),\n requesterType: requesterTypeValue,\n };\n dispatch(otpRequest(arg));\n\n }\n\n function validateOtp() {\n resetEmail();\n const arg: TokenId = {\n id_token: '',\n name: '',\n imageUrl: '',\n email: Buffer.from(email).toString('base64'),\n isCorporate: true,\n otp: Buffer.from(otp).toString('base64'),\n };\n dispatch(signInUser(arg));\n }\n\n function validateOtpGenerationResponse(status, message) {\n if (status === 'SUCCESS') {\n setCorporateEmailEntered(true);\n setError('');\n } else if (status === 'FAILURE') {\n setCorporateEmailEntered(false);\n setError(message + '. Kindly try again after some time.');\n }\n }\n\n function submitEmail(event) {\n event.preventDefault();\n requestOtp();\n }\n function submitOTP(event) {\n event.preventDefault();\n validateOtp();\n }\n function resetEmail() {\n setCorporateEmailEntered(false);\n setEmail('');\n setFlagValidEmail(false);\n setOtp('');\n }\n\n useEffect(() => {\n resetEmail()\n }, []);\n\n\n const ColoredLine = ({ color, text }) => (\n
\n
\n

{text}

\n
\n
\n );\n\n\n return (\n
\n {!corporateEmailEntered && \n \n \n \n \n \n {error}\n \n \n \n \n \n }\n\n {corporateEmailEntered &&\n \n \n
\n {email} \n \n \n \n
\n\n \n\n {corporateLogin && }\n
\n\n\n
}\n\n
);\n};\n","const BLOCKED_DOMAINS: Array = [\n \"gmail.com\",\n \"yahoo.com\",\n \"outlook.com\",\n \"afreeinternet.com\",\n \"0-mail.com\",\n \"007addict.com\",\n \"020.co.uk\",\n \"027168.com\",\n \"0815.ru\",\n \"0815.su\",\n \"0clickemail.com\",\n \"0sg.net\",\n \"0wnd.net\",\n \"0wnd.org\",\n \"1033edge.com\",\n \"10mail.org\",\n \"10minutemail.co.za\",\n \"10minutemail.com\",\n \"11mail.com\",\n \"123-m.com\",\n \"123.com\",\n \"123box.net\",\n \"123india.com\",\n \"123mail.cl\",\n \"123mail.org\",\n \"123qwe.co.uk\",\n \"126.com\",\n \"126.net\",\n \"138mail.com\",\n \"139.com\",\n \"150mail.com\",\n \"150ml.com\",\n \"15meg4free.com\",\n \"163.com\",\n \"16mail.com\",\n \"188.com\",\n \"189.cn\",\n \"1auto.com\",\n \"1ce.us\",\n \"1chuan.com\",\n \"1colony.com\",\n \"1coolplace.com\",\n \"1email.eu\",\n \"1freeemail.com\",\n \"1fsdfdsfsdf.tk\",\n \"1funplace.com\",\n \"1internetdrive.com\",\n \"1mail.ml\",\n \"1mail.net\",\n \"1me.net\",\n \"1mum.com\",\n \"1musicrow.com\",\n \"1netdrive.com\",\n \"1nsyncfan.com\",\n \"1pad.de\",\n \"1under.com\",\n \"1webave.com\",\n \"1webhighway.com\",\n \"1zhuan.com\",\n \"2-mail.com\",\n \"20email.eu\",\n \"20mail.in\",\n \"20mail.it\",\n \"20minutemail.com\",\n \"212.com\",\n \"21cn.com\",\n \"247emails.com\",\n \"24horas.com\",\n \"2911.net\",\n \"2980.com\",\n \"2bmail.co.uk\",\n \"2coolforyou.net\",\n \"2d2i.com\",\n \"2die4.com\",\n \"2fdgdfgdfgdf.tk\",\n \"2hotforyou.net\",\n \"2mydns.com\",\n \"2net.us\",\n \"2prong.com\",\n \"2trom.com\",\n \"3000.it\",\n \"30minutemail.com\",\n \"30minutesmail.com\",\n \"3126.com\",\n \"321media.com\",\n \"33mail.com\",\n \"360.ru\",\n \"37.com\",\n \"3ammagazine.com\",\n \"3dmail.com\",\n \"3email.com\",\n \"3g.ua\",\n \"3mail.ga\",\n \"3trtretgfrfe.tk\",\n \"3xl.net\",\n \"444.net\",\n \"4email.com\",\n \"4email.net\",\n \"4gfdsgfdgfd.tk\",\n \"4mg.com\",\n \"4newyork.com\",\n \"4warding.com\",\n \"4warding.net\",\n \"4warding.org\",\n \"4x4fan.com\",\n \"4x4man.com\",\n \"50mail.com\",\n \"5fm.za.com\",\n \"5ghgfhfghfgh.tk\",\n \"5iron.com\",\n \"5star.com\",\n \"60minutemail.com\",\n \"6hjgjhgkilkj.tk\",\n \"6ip.us\",\n \"6mail.cf\",\n \"6paq.com\",\n \"702mail.co.za\",\n \"74.ru\",\n \"7mail.ga\",\n \"7mail.ml\",\n \"7tags.com\",\n \"88.am\",\n \"8848.net\",\n \"888.nu\",\n \"8mail.ga\",\n \"8mail.ml\",\n \"97rock.com\",\n \"99experts.com\",\n \"9ox.net\",\n \"a-bc.net\",\n \"a-player.org\",\n \"a2z4u.net\",\n \"a45.in\",\n \"aaamail.zzn.com\",\n \"aahlife.com\",\n \"aamail.net\",\n \"aapt.net.au\",\n \"aaronkwok.net\",\n \"abbeyroadlondon.co.uk\",\n \"abcflash.net\",\n \"abdulnour.com\",\n \"aberystwyth.com\",\n \"abolition-now.com\",\n \"about.com\",\n \"absolutevitality.com\",\n \"abusemail.de\",\n \"abv.bg\",\n \"abwesend.de\",\n \"abyssmail.com\",\n \"ac20mail.in\",\n \"academycougars.com\",\n \"acceso.or.cr\",\n \"access4less.net\",\n \"accessgcc.com\",\n \"accountant.com\",\n \"acdcfan.com\",\n \"acdczone.com\",\n \"ace-of-base.com\",\n \"acmecity.com\",\n \"acmemail.net\",\n \"acninc.net\",\n \"acrobatmail.com\",\n \"activatormail.com\",\n \"activist.com\",\n \"adam.com.au\",\n \"add3000.pp.ua\",\n \"addcom.de\",\n \"address.com\",\n \"adelphia.net\",\n \"adexec.com\",\n \"adfarrow.com\",\n \"adinet.com.uy\",\n \"adios.net\",\n \"admin.in.th\",\n \"administrativos.com\",\n \"adoption.com\",\n \"ados.fr\",\n \"adrenalinefreak.com\",\n \"adres.nl\",\n \"advalvas.be\",\n \"advantimo.com\",\n \"aeiou.pt\",\n \"aemail4u.com\",\n \"aeneasmail.com\",\n \"afreeinternet.com\",\n \"africa-11.com\",\n \"africamail.com\",\n \"africamel.net\",\n \"africanpartnersonline.com\",\n \"afrobacon.com\",\n \"ag.us.to\",\n \"agedmail.com\",\n \"agelessemail.com\",\n \"agoodmail.com\",\n \"ahaa.dk\",\n \"ahk.jp\",\n \"aichi.com\",\n \"aim.com\",\n \"aircraftmail.com\",\n \"airforce.net\",\n \"airforceemail.com\",\n \"airpost.net\",\n \"aiutamici.com\",\n \"ajacied.com\",\n \"ajaxapp.net\",\n \"ak47.hu\",\n \"aknet.kg\",\n \"akphantom.com\",\n \"albawaba.com\",\n \"alecsmail.com\",\n \"alex4all.com\",\n \"alexandria.cc\",\n \"algeria.com\",\n \"algeriamail.com\",\n \"alhilal.net\",\n \"alibaba.com\",\n \"alice.it\",\n \"aliceadsl.fr\",\n \"aliceinchainsmail.com\",\n \"alivance.com\",\n \"alive.cz\",\n \"aliyun.com\",\n \"allergist.com\",\n \"allmail.net\",\n \"alloymail.com\",\n \"allracing.com\",\n \"allsaintsfan.com\",\n \"alltel.net\",\n \"alpenjodel.de\",\n \"alphafrau.de\",\n \"alskens.dk\",\n \"altavista.com\",\n \"altavista.net\",\n \"altavista.se\",\n \"alternativagratis.com\",\n \"alumni.com\",\n \"alumnidirector.com\",\n \"alvilag.hu\",\n \"ama-trade.de\",\n \"amail.com\",\n \"amazonses.com\",\n \"amele.com\",\n \"america.hm\",\n \"ameritech.net\",\n \"amilegit.com\",\n \"amiri.net\",\n \"amiriindustries.com\",\n \"amnetsal.com\",\n \"amorki.pl\",\n \"amrer.net\",\n \"amuro.net\",\n \"amuromail.com\",\n \"ananzi.co.za\",\n \"ancestry.com\",\n \"andreabocellimail.com\",\n \"andylau.net\",\n \"anfmail.com\",\n \"angelfan.com\",\n \"angelfire.com\",\n \"angelic.com\",\n \"animail.net\",\n \"animal.net\",\n \"animalhouse.com\",\n \"animalwoman.net\",\n \"anjungcafe.com\",\n \"anniefans.com\",\n \"annsmail.com\",\n \"ano-mail.net\",\n \"anonmails.de\",\n \"anonymbox.com\",\n \"anonymous.to\",\n \"anote.com\",\n \"another.com\",\n \"anotherdomaincyka.tk\",\n \"anotherwin95.com\",\n \"anti-ignorance.net\",\n \"anti-social.com\",\n \"antichef.com\",\n \"antichef.net\",\n \"antiqueemail.com\",\n \"antireg.ru\",\n \"antisocial.com\",\n \"antispam.de\",\n \"antispam24.de\",\n \"antispammail.de\",\n \"antongijsen.com\",\n \"antwerpen.com\",\n \"anymoment.com\",\n \"anytimenow.com\",\n \"aol.co.uk\",\n \"aol.com\",\n \"aol.de\",\n \"aol.fr\",\n \"aol.it\",\n \"aol.jp\",\n \"aon.at\",\n \"apexmail.com\",\n \"apmail.com\",\n \"apollo.lv\",\n \"aport.ru\",\n \"aport2000.ru\",\n \"apple.sib.ru\",\n \"appraiser.net\",\n \"approvers.net\",\n \"aquaticmail.net\",\n \"arabia.com\",\n \"arabtop.net\",\n \"arcademaster.com\",\n \"archaeologist.com\",\n \"archerymail.com\",\n \"arcor.de\",\n \"arcotronics.bg\",\n \"arcticmail.com\",\n \"argentina.com\",\n \"arhaelogist.com\",\n \"aristotle.org\",\n \"army.net\",\n \"armyspy.com\",\n \"arnet.com.ar\",\n \"art-en-ligne.pro\",\n \"artistemail.com\",\n \"artlover.com\",\n \"artlover.com.au\",\n \"artman-conception.com\",\n \"as-if.com\",\n \"asdasd.nl\",\n \"asean-mail\",\n \"asean-mail.com\",\n \"asheville.com\",\n \"asia-links.com\",\n \"asia-mail.com\",\n \"asia.com\",\n \"asiafind.com\",\n \"asianavenue.com\",\n \"asiancityweb.com\",\n \"asiansonly.net\",\n \"asianwired.net\",\n \"asiapoint.net\",\n \"askaclub.ru\",\n \"ass.pp.ua\",\n \"assala.com\",\n \"assamesemail.com\",\n \"astroboymail.com\",\n \"astrolover.com\",\n \"astrosfan.com\",\n \"astrosfan.net\",\n \"asurfer.com\",\n \"atheist.com\",\n \"athenachu.net\",\n \"atina.cl\",\n \"atl.lv\",\n \"atlas.cz\",\n \"atlaswebmail.com\",\n \"atlink.com\",\n \"atmc.net\",\n \"ato.check.com\",\n \"atozasia.com\",\n \"atrus.ru\",\n \"att.net\",\n \"attglobal.net\",\n \"attymail.com\",\n \"au.ru\",\n \"auctioneer.net\",\n \"aufeminin.com\",\n \"aus-city.com\",\n \"ausi.com\",\n \"aussiemail.com.au\",\n \"austin.rr.com\",\n \"australia.edu\",\n \"australiamail.com\",\n \"austrosearch.net\",\n \"autoescuelanerja.com\",\n \"autograf.pl\",\n \"automail.ru\",\n \"automotiveauthority.com\",\n \"autorambler.ru\",\n \"aver.com\",\n \"avh.hu\",\n \"avia-tonic.fr\",\n \"avtoritet.ru\",\n \"awayonvacation.com\",\n \"awholelotofamechi.com\",\n \"awsom.net\",\n \"axoskate.com\",\n \"ayna.com\",\n \"azazazatashkent.tk\",\n \"azimiweb.com\",\n \"azmeil.tk\",\n \"bachelorboy.com\",\n \"bachelorgal.com\",\n \"backfliper.com\",\n \"backpackers.com\",\n \"backstreet-boys.com\",\n \"backstreetboysclub.com\",\n \"backtothefuturefans.com\",\n \"backwards.com\",\n \"badtzmail.com\",\n \"bagherpour.com\",\n \"bahrainmail.com\",\n \"bakpaka.com\",\n \"bakpaka.net\",\n \"baldmama.de\",\n \"baldpapa.de\",\n \"ballerstatus.net\",\n \"ballyfinance.com\",\n \"balochistan.org\",\n \"baluch.com\",\n \"bangkok.com\",\n \"bangkok2000.com\",\n \"bannertown.net\",\n \"baptistmail.com\",\n \"baptized.com\",\n \"barcelona.com\",\n \"bareed.ws\",\n \"barid.com\",\n \"barlick.net\",\n \"bartender.net\",\n \"baseball-email.com\",\n \"baseballmail.com\",\n \"basketballmail.com\",\n \"batuta.net\",\n \"baudoinconsulting.com\",\n \"baxomale.ht.cx\",\n \"bboy.com\",\n \"bboy.zzn.com\",\n \"bcvibes.com\",\n \"beddly.com\",\n \"beeebank.com\",\n \"beefmilk.com\",\n \"beenhad.com\",\n \"beep.ru\",\n \"beer.com\",\n \"beerandremotes.com\",\n \"beethoven.com\",\n \"beirut.com\",\n \"belice.com\",\n \"belizehome.com\",\n \"belizemail.net\",\n \"belizeweb.com\",\n \"bell.net\",\n \"bellair.net\",\n \"bellsouth.net\",\n \"berkscounty.com\",\n \"berlin.com\",\n \"berlin.de\",\n \"berlinexpo.de\",\n \"bestmail.us\",\n \"betriebsdirektor.de\",\n \"bettergolf.net\",\n \"bharatmail.com\",\n \"big1.us\",\n \"big5mail.com\",\n \"bigassweb.com\",\n \"bigblue.net.au\",\n \"bigboab.com\",\n \"bigfoot.com\",\n \"bigfoot.de\",\n \"bigger.com\",\n \"biggerbadder.com\",\n \"bigmailbox.com\",\n \"bigmir.net\",\n \"bigpond.au\",\n \"bigpond.com\",\n \"bigpond.com.au\",\n \"bigpond.net\",\n \"bigpond.net.au\",\n \"bigramp.com\",\n \"bigstring.com\",\n \"bikemechanics.com\",\n \"bikeracer.com\",\n \"bikeracers.net\",\n \"bikerider.com\",\n \"billsfan.com\",\n \"billsfan.net\",\n \"bimamail.com\",\n \"bimla.net\",\n \"bin-wieder-da.de\",\n \"binkmail.com\",\n \"bio-muesli.info\",\n \"bio-muesli.net\",\n \"biologyfan.com\",\n \"birdfanatic.com\",\n \"birdlover.com\",\n \"birdowner.net\",\n \"bisons.com\",\n \"bitmail.com\",\n \"bitpage.net\",\n \"bizhosting.com\",\n \"bk.ru\",\n \"bkkmail.com\",\n \"bla-bla.com\",\n \"blackburnfans.com\",\n \"blackburnmail.com\",\n \"blackplanet.com\",\n \"blader.com\",\n \"bladesmail.net\",\n \"blazemail.com\",\n \"bleib-bei-mir.de\",\n \"blink182.net\",\n \"blockfilter.com\",\n \"blogmyway.org\",\n \"blondandeasy.com\",\n \"bluebottle.com\",\n \"bluehyppo.com\",\n \"bluemail.ch\",\n \"bluemail.dk\",\n \"bluesfan.com\",\n \"bluewin.ch\",\n \"blueyonder.co.uk\",\n \"blumail.org\",\n \"blushmail.com\",\n \"blutig.me\",\n \"bmlsports.net\",\n \"boardermail.com\",\n \"boarderzone.com\",\n \"boatracers.com\",\n \"bobmail.info\",\n \"bodhi.lawlita.com\",\n \"bofthew.com\",\n \"bol.com.br\",\n \"bolando.com\",\n \"bollywoodz.com\",\n \"bolt.com\",\n \"boltonfans.com\",\n \"bombdiggity.com\",\n \"bonbon.net\",\n \"boom.com\",\n \"bootmail.com\",\n \"bootybay.de\",\n \"bornagain.com\",\n \"bornnaked.com\",\n \"bossofthemoss.com\",\n \"bostonoffice.com\",\n \"boun.cr\",\n \"bounce.net\",\n \"bounces.amazon.com\",\n \"bouncr.com\",\n \"box.az\",\n \"box.ua\",\n \"boxbg.com\",\n \"boxemail.com\",\n \"boxformail.in\",\n \"boxfrog.com\",\n \"boximail.com\",\n \"boyzoneclub.com\",\n \"bradfordfans.com\",\n \"brasilia.net\",\n \"bratan.ru\",\n \"brazilmail.com\",\n \"brazilmail.com.br\",\n \"breadtimes.press\",\n \"breakthru.com\",\n \"breathe.com\",\n \"brefmail.com\",\n \"brennendesreich.de\",\n \"bresnan.net\",\n \"brestonline.com\",\n \"brew-master.com\",\n \"brew-meister.com\",\n \"brfree.com.br\",\n \"briefemail.com\",\n \"bright.net\",\n \"britneyclub.com\",\n \"brittonsign.com\",\n \"broadcast.net\",\n \"broadwaybuff.com\",\n \"broadwaylove.com\",\n \"brokeandhappy.com\",\n \"brokenvalve.com\",\n \"brujula.net\",\n \"brunetka.ru\",\n \"brusseler.com\",\n \"bsdmail.com\",\n \"bsnow.net\",\n \"bspamfree.org\",\n \"bt.com\",\n \"btcc.org\",\n \"btcmail.pw\",\n \"btconnect.co.uk\",\n \"btconnect.com\",\n \"btinternet.com\",\n \"btopenworld.co.uk\",\n \"buerotiger.de\",\n \"buffymail.com\",\n \"bugmenot.com\",\n \"bulgaria.com\",\n \"bullsfan.com\",\n \"bullsgame.com\",\n \"bumerang.ro\",\n \"bumpymail.com\",\n \"bumrap.com\",\n \"bund.us\",\n \"bunita.net\",\n \"bunko.com\",\n \"burnthespam.info\",\n \"burntmail.com\",\n \"burstmail.info\",\n \"buryfans.com\",\n \"bushemail.com\",\n \"business-man.com\",\n \"businessman.net\",\n \"businessweekmail.com\",\n \"bust.com\",\n \"busta-rhymes.com\",\n \"busymail.com\",\n \"busymail.com.com\",\n \"busymail.comhomeart.com\",\n \"butch-femme.net\",\n \"butovo.net\",\n \"buyersusa.com\",\n \"buymoreplays.com\",\n \"buzy.com\",\n \"bvimailbox.com\",\n \"byke.com\",\n \"byom.de\",\n \"byteme.com\",\n \"c2.hu\",\n \"c2i.net\",\n \"c3.hu\",\n \"c4.com\",\n \"c51vsgq.com\",\n \"cabacabana.com\",\n \"cable.comcast.com\",\n \"cableone.net\",\n \"caere.it\",\n \"cairomail.com\",\n \"calcuttaads.com\",\n \"calendar-server.bounces.google.com\",\n \"calidifontain.be\",\n \"californiamail.com\",\n \"callnetuk.com\",\n \"callsign.net\",\n \"caltanet.it\",\n \"camidge.com\",\n \"canada-11.com\",\n \"canada.com\",\n \"canadianmail.com\",\n \"canoemail.com\",\n \"cantv.net\",\n \"canwetalk.com\",\n \"caramail.com\",\n \"card.zp.ua\",\n \"care2.com\",\n \"careceo.com\",\n \"careerbuildermail.com\",\n \"carioca.net\",\n \"cartelera.org\",\n \"cartestraina.ro\",\n \"casablancaresort.com\",\n \"casema.nl\",\n \"cash4u.com\",\n \"cashette.com\",\n \"casino.com\",\n \"casualdx.com\",\n \"cataloniamail.com\",\n \"cataz.com\",\n \"catcha.com\",\n \"catchamail.com\",\n \"catemail.com\",\n \"catholic.org\",\n \"catlover.com\",\n \"catsrule.garfield.com\",\n \"ccnmail.com\",\n \"cd2.com\",\n \"cek.pm\",\n \"celineclub.com\",\n \"celtic.com\",\n \"center-mail.de\",\n \"centermail.at\",\n \"centermail.com\",\n \"centermail.de\",\n \"centermail.info\",\n \"centermail.net\",\n \"centoper.it\",\n \"centralpets.com\",\n \"centrum.cz\",\n \"centrum.sk\",\n \"centurylink.net\",\n \"centurytel.net\",\n \"certifiedmail.com\",\n \"cfl.rr.com\",\n \"cgac.es\",\n \"cghost.s-a-d.de\",\n \"chacuo.net\",\n \"chaiyo.com\",\n \"chaiyomail.com\",\n \"chalkmail.net\",\n \"chammy.info\",\n \"chance2mail.com\",\n \"chandrasekar.net\",\n \"channelonetv.com\",\n \"charityemail.com\",\n \"charmedmail.com\",\n \"charter.com\",\n \"charter.net\",\n \"chat.ru\",\n \"chatlane.ru\",\n \"chattown.com\",\n \"chauhanweb.com\",\n \"cheatmail.de\",\n \"chechnya.conf.work\",\n \"check.com\",\n \"check.com12\",\n \"check1check.com\",\n \"cheeb.com\",\n \"cheerful.com\",\n \"chef.net\",\n \"chefmail.com\",\n \"chek.com\",\n \"chello.nl\",\n \"chemist.com\",\n \"chequemail.com\",\n \"cheshiremail.com\",\n \"cheyenneweb.com\",\n \"chez.com\",\n \"chickmail.com\",\n \"chil-e.com\",\n \"childrens.md\",\n \"childsavetrust.org\",\n \"china.com\",\n \"china.net.vg\",\n \"chinalook.com\",\n \"chinamail.com\",\n \"chinesecool.com\",\n \"chirk.com\",\n \"chocaholic.com.au\",\n \"chocofan.com\",\n \"chogmail.com\",\n \"choicemail1.com\",\n \"chong-mail.com\",\n \"chong-mail.net\",\n \"christianmail.net\",\n \"chronicspender.com\",\n \"churchusa.com\",\n \"cia-agent.com\",\n \"cia.hu\",\n \"ciaoweb.it\",\n \"cicciociccio.com\",\n \"cincinow.net\",\n \"cirquefans.com\",\n \"citeweb.net\",\n \"citiz.net\",\n \"citlink.net\",\n \"city-of-bath.org\",\n \"city-of-birmingham.com\",\n \"city-of-brighton.org\",\n \"city-of-cambridge.com\",\n \"city-of-coventry.com\",\n \"city-of-edinburgh.com\",\n \"city-of-lichfield.com\",\n \"city-of-lincoln.com\",\n \"city-of-liverpool.com\",\n \"city-of-manchester.com\",\n \"city-of-nottingham.com\",\n \"city-of-oxford.com\",\n \"city-of-swansea.com\",\n \"city-of-westminster.com\",\n \"city-of-westminster.net\",\n \"city-of-york.net\",\n \"city2city.com\",\n \"citynetusa.com\",\n \"cityofcardiff.net\",\n \"cityoflondon.org\",\n \"ciudad.com.ar\",\n \"ckaazaza.tk\",\n \"claramail.com\",\n \"classicalfan.com\",\n \"classicmail.co.za\",\n \"clear.net.nz\",\n \"clearwire.net\",\n \"clerk.com\",\n \"clickforadate.com\",\n \"cliffhanger.com\",\n \"clixser.com\",\n \"close2you.ne\",\n \"close2you.net\",\n \"clrmail.com\",\n \"club-internet.fr\",\n \"club4x4.net\",\n \"clubalfa.com\",\n \"clubbers.net\",\n \"clubducati.com\",\n \"clubhonda.net\",\n \"clubmember.org\",\n \"clubnetnoir.com\",\n \"clubvdo.net\",\n \"cluemail.com\",\n \"cmail.net\",\n \"cmail.org\",\n \"cmail.ru\",\n \"cmpmail.com\",\n \"cmpnetmail.com\",\n \"cnegal.com\",\n \"cnnsimail.com\",\n \"cntv.cn\",\n \"codec.ro\",\n \"codec.ro.ro\",\n \"codec.roemail.ro\",\n \"coder.hu\",\n \"coid.biz\",\n \"coldemail.info\",\n \"coldmail.com\",\n \"collectiblesuperstore.com\",\n \"collector.org\",\n \"collegebeat.com\",\n \"collegeclub.com\",\n \"collegemail.com\",\n \"colleges.com\",\n \"columbus.rr.com\",\n \"columbusrr.com\",\n \"columnist.com\",\n \"comast.com\",\n \"comast.net\",\n \"comcast.com\",\n \"comcast.net\",\n \"comic.com\",\n \"communityconnect.com\",\n \"complxmind.com\",\n \"comporium.net\",\n \"comprendemail.com\",\n \"compuserve.com\",\n \"computer-expert.net\",\n \"computer-freak.com\",\n \"computer4u.com\",\n \"computerconfused.com\",\n \"computermail.net\",\n \"computernaked.com\",\n \"conexcol.com\",\n \"cong.ru\",\n \"conk.com\",\n \"connect4free.net\",\n \"connectbox.com\",\n \"conok.com\",\n \"consultant.com\",\n \"consumerriot.com\",\n \"contractor.net\",\n \"contrasto.cu.cc\",\n \"cookiemonster.com\",\n \"cool.br\",\n \"cool.fr.nf\",\n \"coole-files.de\",\n \"coolgoose.ca\",\n \"coolgoose.com\",\n \"coolkiwi.com\",\n \"coollist.com\",\n \"coolmail.com\",\n \"coolmail.net\",\n \"coolrio.com\",\n \"coolsend.com\",\n \"coolsite.net\",\n \"cooooool.com\",\n \"cooperation.net\",\n \"cooperationtogo.net\",\n \"copacabana.com\",\n \"copper.net\",\n \"copticmail.com\",\n \"cornells.com\",\n \"cornerpub.com\",\n \"corporatedirtbag.com\",\n \"correo.terra.com.gt\",\n \"corrsfan.com\",\n \"cortinet.com\",\n \"cosmo.com\",\n \"cotas.net\",\n \"counsellor.com\",\n \"countrylover.com\",\n \"courriel.fr.nf\",\n \"courrieltemporaire.com\",\n \"cox.com\",\n \"cox.net\",\n \"coxinet.net\",\n \"cpaonline.net\",\n \"cracker.hu\",\n \"craftemail.com\",\n \"crapmail.org\",\n \"crazedanddazed.com\",\n \"crazy.ru\",\n \"crazymailing.com\",\n \"crazysexycool.com\",\n \"crewstart.com\",\n \"cristianemail.com\",\n \"critterpost.com\",\n \"croeso.com\",\n \"crosshairs.com\",\n \"crosswinds.net\",\n \"crunkmail.com\",\n \"crwmail.com\",\n \"cry4helponline.com\",\n \"cryingmail.com\",\n \"cs.com\",\n \"csinibaba.hu\",\n \"cubiclink.com\",\n \"cuemail.com\",\n \"cumbriamail.com\",\n \"curio-city.com\",\n \"curryworld.de\",\n \"curtsmail.com\",\n \"cust.in\",\n \"cute-girl.com\",\n \"cuteandcuddly.com\",\n \"cutekittens.com\",\n \"cutey.com\",\n \"cuvox.de\",\n \"cww.de\",\n \"cyber-africa.net\",\n \"cyber-innovation.club\",\n \"cyber-matrix.com\",\n \"cyber-phone.eu\",\n \"cyber-wizard.com\",\n \"cyber4all.com\",\n \"cyberbabies.com\",\n \"cybercafemaui.com\",\n \"cybercity-online.net\",\n \"cyberdude.com\",\n \"cyberforeplay.net\",\n \"cybergal.com\",\n \"cybergrrl.com\",\n \"cyberinbox.com\",\n \"cyberleports.com\",\n \"cybermail.net\",\n \"cybernet.it\",\n \"cyberservices.com\",\n \"cyberspace-asia.com\",\n \"cybertrains.org\",\n \"cyclefanz.com\",\n \"cymail.net\",\n \"cynetcity.com\",\n \"d3p.dk\",\n \"dabsol.net\",\n \"dacoolest.com\",\n \"dadacasa.com\",\n \"daha.com\",\n \"dailypioneer.com\",\n \"dallas.theboys.com\",\n \"dallasmail.com\",\n \"dandikmail.com\",\n \"dangerous-minds.com\",\n \"dansegulvet.com\",\n \"dasdasdascyka.tk\",\n \"data54.com\",\n \"date.by\",\n \"daum.net\",\n \"davegracey.com\",\n \"dawnsonmail.com\",\n \"dawsonmail.com\",\n \"dayrep.com\",\n \"dazedandconfused.com\",\n \"dbzmail.com\",\n \"dcemail.com\",\n \"dcsi.net\",\n \"ddns.org\",\n \"deadaddress.com\",\n \"deadlymob.org\",\n \"deadspam.com\",\n \"deafemail.net\",\n \"deagot.com\",\n \"deal-maker.com\",\n \"dearriba.com\",\n \"death-star.com\",\n \"deepseafisherman.net\",\n \"deforestationsucks.com\",\n \"degoo.com\",\n \"dejanews.com\",\n \"delikkt.de\",\n \"deliveryman.com\",\n \"deneg.net\",\n \"depechemode.com\",\n \"deseretmail.com\",\n \"desertmail.com\",\n \"desertonline.com\",\n \"desertsaintsmail.com\",\n \"desilota.com\",\n \"deskmail.com\",\n \"deskpilot.com\",\n \"despam.it\",\n \"despammed.com\",\n \"destin.com\",\n \"detik.com\",\n \"deutschland-net.com\",\n \"devnullmail.com\",\n \"devotedcouples.com\",\n \"dezigner.ru\",\n \"dfgh.net\",\n \"dfwatson.com\",\n \"dglnet.com.br\",\n \"dgoh.org\",\n \"di-ve.com\",\n \"diamondemail.com\",\n \"didamail.com\",\n \"die-besten-bilder.de\",\n \"die-genossen.de\",\n \"die-optimisten.de\",\n \"die-optimisten.net\",\n \"die.life\",\n \"diehardmail.com\",\n \"diemailbox.de\",\n \"digibel.be\",\n \"digital-filestore.de\",\n \"digitalforeplay.net\",\n \"digitalsanctuary.com\",\n \"digosnet.com\",\n \"dingbone.com\",\n \"diplomats.com\",\n \"directbox.com\",\n \"director-general.com\",\n \"diri.com\",\n \"dirtracer.com\",\n \"dirtracers.com\",\n \"discard.email\",\n \"discard.ga\",\n \"discard.gq\",\n \"discardmail.com\",\n \"discardmail.de\",\n \"disciples.com\",\n \"discofan.com\",\n \"discovery.com\",\n \"discoverymail.com\",\n \"discoverymail.net\",\n \"disign-concept.eu\",\n \"disign-revelation.com\",\n \"disinfo.net\",\n \"dispomail.eu\",\n \"disposable.com\",\n \"disposableaddress.com\",\n \"disposableemailaddresses.com\",\n \"disposableinbox.com\",\n \"dispose.it\",\n \"dispostable.com\",\n \"divismail.ru\",\n \"divorcedandhappy.com\",\n \"dm.w3internet.co.uk\",\n \"dmailman.com\",\n \"dmitrovka.net\",\n \"dmitry.ru\",\n \"dnainternet.net\",\n \"dnsmadeeasy.com\",\n \"doar.net\",\n \"doclist.bounces.google.com\",\n \"docmail.cz\",\n \"docs.google.com\",\n \"doctor.com\",\n \"dodgeit.com\",\n \"dodgit.com\",\n \"dodgit.org\",\n \"dodo.com.au\",\n \"dodsi.com\",\n \"dog.com\",\n \"dogit.com\",\n \"doglover.com\",\n \"dogmail.co.uk\",\n \"dogsnob.net\",\n \"doityourself.com\",\n \"domforfb1.tk\",\n \"domforfb2.tk\",\n \"domforfb3.tk\",\n \"domforfb4.tk\",\n \"domforfb5.tk\",\n \"domforfb6.tk\",\n \"domforfb7.tk\",\n \"domforfb8.tk\",\n \"domozmail.com\",\n \"doneasy.com\",\n \"donegal.net\",\n \"donemail.ru\",\n \"donjuan.com\",\n \"dontgotmail.com\",\n \"dontmesswithtexas.com\",\n \"dontreg.com\",\n \"dontsendmespam.de\",\n \"doramail.com\",\n \"dostmail.com\",\n \"dotcom.fr\",\n \"dotmsg.com\",\n \"dotnow.com\",\n \"dott.it\",\n \"download-privat.de\",\n \"dplanet.ch\",\n \"dr.com\",\n \"dragoncon.net\",\n \"dragracer.com\",\n \"drdrb.net\",\n \"drivehq.com\",\n \"dropmail.me\",\n \"dropzone.com\",\n \"drotposta.hu\",\n \"dubaimail.com\",\n \"dublin.com\",\n \"dublin.ie\",\n \"dump-email.info\",\n \"dumpandjunk.com\",\n \"dumpmail.com\",\n \"dumpmail.de\",\n \"dumpyemail.com\",\n \"dunlopdriver.com\",\n \"dunloprider.com\",\n \"duno.com\",\n \"duskmail.com\",\n \"dustdevil.com\",\n \"dutchmail.com\",\n \"dvd-fan.net\",\n \"dwp.net\",\n \"dygo.com\",\n \"dynamitemail.com\",\n \"dyndns.org\",\n \"e-apollo.lv\",\n \"e-hkma.com\",\n \"e-mail.com\",\n \"e-mail.com.tr\",\n \"e-mail.dk\",\n \"e-mail.org\",\n \"e-mail.ru\",\n \"e-mail.ua\",\n \"e-mailanywhere.com\",\n \"e-mails.ru\",\n \"e-tapaal.com\",\n \"e-webtec.com\",\n \"e4ward.com\",\n \"earthalliance.com\",\n \"earthcam.net\",\n \"earthdome.com\",\n \"earthling.net\",\n \"earthlink.net\",\n \"earthonline.net\",\n \"eastcoast.co.za\",\n \"eastlink.ca\",\n \"eastmail.com\",\n \"eastrolog.com\",\n \"easy.com\",\n \"easy.to\",\n \"easypeasy.com\",\n \"easypost.com\",\n \"easytrashmail.com\",\n \"eatmydirt.com\",\n \"ebprofits.net\",\n \"ec.rr.com\",\n \"ecardmail.com\",\n \"ecbsolutions.net\",\n \"echina.com\",\n \"ecolo-online.fr\",\n \"ecompare.com\",\n \"edmail.com\",\n \"ednatx.com\",\n \"edtnmail.com\",\n \"educacao.te.pt\",\n \"educastmail.com\",\n \"eelmail.com\",\n \"ehmail.com\",\n \"einmalmail.de\",\n \"einrot.com\",\n \"einrot.de\",\n \"eintagsmail.de\",\n \"eircom.net\",\n \"ekidz.com.au\",\n \"elisanet.fi\",\n \"elitemail.org\",\n \"elsitio.com\",\n \"eltimon.com\",\n \"elvis.com\",\n \"elvisfan.com\",\n \"email-fake.gq\",\n \"email-london.co.uk\",\n \"email-value.com\",\n \"email.biz\",\n \"email.cbes.net\",\n \"email.com\",\n \"email.cz\",\n \"email.ee\",\n \"email.it\",\n \"email.nu\",\n \"email.org\",\n \"email.ro\",\n \"email.ru\",\n \"email.si\",\n \"email.su\",\n \"email.ua\",\n \"email.women.com\",\n \"email2me.com\",\n \"email2me.net\",\n \"email4u.info\",\n \"email60.com\",\n \"emailacc.com\",\n \"emailaccount.com\",\n \"emailaddresses.com\",\n \"emailage.ga\",\n \"emailage.gq\",\n \"emailasso.net\",\n \"emailchoice.com\",\n \"emailcorner.net\",\n \"emailem.com\",\n \"emailengine.net\",\n \"emailengine.org\",\n \"emailer.hubspot.com\",\n \"emailforyou.net\",\n \"emailgaul.com\",\n \"emailgo.de\",\n \"emailgroups.net\",\n \"emailias.com\",\n \"emailinfive.com\",\n \"emailit.com\",\n \"emaillime.com\",\n \"emailmiser.com\",\n \"emailoregon.com\",\n \"emailpinoy.com\",\n \"emailplanet.com\",\n \"emailplus.org\",\n \"emailproxsy.com\",\n \"emails.ga\",\n \"emails.incisivemedia.com\",\n \"emails.ru\",\n \"emailsensei.com\",\n \"emailservice.com\",\n \"emailsydney.com\",\n \"emailtemporanea.com\",\n \"emailtemporanea.net\",\n \"emailtemporar.ro\",\n \"emailtemporario.com.br\",\n \"emailthe.net\",\n \"emailtmp.com\",\n \"emailto.de\",\n \"emailuser.net\",\n \"emailwarden.com\",\n \"emailx.at.hm\",\n \"emailx.net\",\n \"emailxfer.com\",\n \"emailz.ga\",\n \"emailz.gq\",\n \"emale.ru\",\n \"ematic.com\",\n \"embarqmail.com\",\n \"emeil.in\",\n \"emeil.ir\",\n \"emil.com\",\n \"eml.cc\",\n \"eml.pp.ua\",\n \"empereur.com\",\n \"emptymail.com\",\n \"emumail.com\",\n \"emz.net\",\n \"end-war.com\",\n \"enel.net\",\n \"enelpunto.net\",\n \"engineer.com\",\n \"england.com\",\n \"england.edu\",\n \"englandmail.com\",\n \"epage.ru\",\n \"epatra.com\",\n \"ephemail.net\",\n \"epiqmail.com\",\n \"epix.net\",\n \"epomail.com\",\n \"epost.de\",\n \"eposta.hu\",\n \"eprompter.com\",\n \"eqqu.com\",\n \"eramail.co.za\",\n \"eresmas.com\",\n \"eriga.lv\",\n \"ero-tube.org\",\n \"eshche.net\",\n \"esmailweb.net\",\n \"estranet.it\",\n \"ethos.st\",\n \"etoast.com\",\n \"etrademail.com\",\n \"etranquil.com\",\n \"etranquil.net\",\n \"eudoramail.com\",\n \"europamel.net\",\n \"europe.com\",\n \"europemail.com\",\n \"euroseek.com\",\n \"eurosport.com\",\n \"evafan.com\",\n \"evertonfans.com\",\n \"every1.net\",\n \"everyday.com.kh\",\n \"everymail.net\",\n \"everyone.net\",\n \"everytg.ml\",\n \"evopo.com\",\n \"examnotes.net\",\n \"excite.co.jp\",\n \"excite.co.uk\",\n \"excite.com\",\n \"excite.it\",\n \"execs.com\",\n \"execs2k.com\",\n \"executivemail.co.za\",\n \"exemail.com.au\",\n \"exg6.exghost.com\",\n \"explodemail.com\",\n \"express.net.ua\",\n \"expressasia.com\",\n \"extenda.net\",\n \"extended.com\",\n \"extremail.ru\",\n \"eyepaste.com\",\n \"eyou.com\",\n \"ezagenda.com\",\n \"ezcybersearch.com\",\n \"ezmail.egine.com\",\n \"ezmail.ru\",\n \"ezrs.com\",\n \"f-m.fm\",\n \"f1fans.net\",\n \"facebook-email.ga\",\n \"facebook.com\",\n \"facebookmail.com\",\n \"facebookmail.gq\",\n \"fadrasha.net\",\n \"fadrasha.org\",\n \"fahr-zur-hoelle.org\",\n \"fake-email.pp.ua\",\n \"fake-mail.cf\",\n \"fake-mail.ga\",\n \"fake-mail.ml\",\n \"fakeinbox.com\",\n \"fakeinformation.com\",\n \"fakemailz.com\",\n \"falseaddress.com\",\n \"fan.com\",\n \"fan.theboys.com\",\n \"fannclub.com\",\n \"fansonlymail.com\",\n \"fansworldwide.de\",\n \"fantasticmail.com\",\n \"fantasymail.de\",\n \"farang.net\",\n \"farifluset.mailexpire.com\",\n \"faroweb.com\",\n \"fast-email.com\",\n \"fast-mail.fr\",\n \"fast-mail.org\",\n \"fastacura.com\",\n \"fastchevy.com\",\n \"fastchrysler.com\",\n \"fastem.com\",\n \"fastemail.us\",\n \"fastemailer.com\",\n \"fastemailextractor.net\",\n \"fastermail.com\",\n \"fastest.cc\",\n \"fastimap.com\",\n \"fastkawasaki.com\",\n \"fastmail.ca\",\n \"fastmail.cn\",\n \"fastmail.co.uk\",\n \"fastmail.com\",\n \"fastmail.com.au\",\n \"fastmail.es\",\n \"fastmail.fm\",\n \"fastmail.gr\",\n \"fastmail.im\",\n \"fastmail.in\",\n \"fastmail.jp\",\n \"fastmail.mx\",\n \"fastmail.net\",\n \"fastmail.nl\",\n \"fastmail.se\",\n \"fastmail.to\",\n \"fastmail.tw\",\n \"fastmail.us\",\n \"fastmailbox.net\",\n \"fastmazda.com\",\n \"fastmessaging.com\",\n \"fastmitsubishi.com\",\n \"fastnissan.com\",\n \"fastservice.com\",\n \"fastsubaru.com\",\n \"fastsuzuki.com\",\n \"fasttoyota.com\",\n \"fastyamaha.com\",\n \"fatcock.net\",\n \"fatflap.com\",\n \"fathersrightsne.org\",\n \"fatyachts.com\",\n \"fax.ru\",\n \"fbi-agent.com\",\n \"fbi.hu\",\n \"fdfdsfds.com\",\n \"fea.st\",\n \"federalcontractors.com\",\n \"feinripptraeger.de\",\n \"felicity.com\",\n \"felicitymail.com\",\n \"female.ru\",\n \"femenino.com\",\n \"fepg.net\",\n \"fetchmail.co.uk\",\n \"fetchmail.com\",\n \"fettabernett.de\",\n \"feyenoorder.com\",\n \"ffanet.com\",\n \"fiberia.com\",\n \"fibertel.com.ar\",\n \"ficken.de\",\n \"fificorp.com\",\n \"fificorp.net\",\n \"fightallspam.com\",\n \"filipinolinks.com\",\n \"filzmail.com\",\n \"financefan.net\",\n \"financemail.net\",\n \"financier.com\",\n \"findfo.com\",\n \"findhere.com\",\n \"findmail.com\",\n \"findmemail.com\",\n \"finebody.com\",\n \"fineemail.com\",\n \"finfin.com\",\n \"finklfan.com\",\n \"fire-brigade.com\",\n \"fireman.net\",\n \"fishburne.org\",\n \"fishfuse.com\",\n \"fivemail.de\",\n \"fixmail.tk\",\n \"fizmail.com\",\n \"flashbox.5july.org\",\n \"flashemail.com\",\n \"flashmail.com\",\n \"flashmail.net\",\n \"fleckens.hu\",\n \"flipcode.com\",\n \"floridaemail.net\",\n \"flytecrew.com\",\n \"fmail.co.uk\",\n \"fmailbox.com\",\n \"fmgirl.com\",\n \"fmguy.com\",\n \"fnbmail.co.za\",\n \"fnmail.com\",\n \"folkfan.com\",\n \"foodmail.com\",\n \"footard.com\",\n \"football.theboys.com\",\n \"footballmail.com\",\n \"foothills.net\",\n \"for-president.com\",\n \"force9.co.uk\",\n \"forfree.at\",\n \"forgetmail.com\",\n \"fornow.eu\",\n \"forpresident.com\",\n \"fortuncity.com\",\n \"fortunecity.com\",\n \"forum.dk\",\n \"fossefans.com\",\n \"foxmail.com\",\n \"fr33mail.info\",\n \"francefans.com\",\n \"francemel.fr\",\n \"frapmail.com\",\n \"free-email.ga\",\n \"free-online.net\",\n \"free-org.com\",\n \"free.com.pe\",\n \"free.fr\",\n \"freeaccess.nl\",\n \"freeaccount.com\",\n \"freeandsingle.com\",\n \"freebox.com\",\n \"freedom.usa.com\",\n \"freedomlover.com\",\n \"freefanmail.com\",\n \"freegates.be\",\n \"freeghana.com\",\n \"freelance-france.eu\",\n \"freeler.nl\",\n \"freemail.bozz.com\",\n \"freemail.c3.hu\",\n \"freemail.com.au\",\n \"freemail.com.pk\",\n \"freemail.de\",\n \"freemail.et\",\n \"freemail.gr\",\n \"freemail.hu\",\n \"freemail.it\",\n \"freemail.lt\",\n \"freemail.ms\",\n \"freemail.nl\",\n \"freemail.org.mk\",\n \"freemail.ru\",\n \"freemails.ga\",\n \"freemeil.gq\",\n \"freenet.de\",\n \"freenet.kg\",\n \"freeola.com\",\n \"freeola.net\",\n \"freeproblem.com\",\n \"freesbee.fr\",\n \"freeserve.co.uk\",\n \"freeservers.com\",\n \"freestamp.com\",\n \"freestart.hu\",\n \"freesurf.fr\",\n \"freesurf.nl\",\n \"freeuk.com\",\n \"freeuk.net\",\n \"freeukisp.co.uk\",\n \"freeweb.org\",\n \"freewebemail.com\",\n \"freeyellow.com\",\n \"freezone.co.uk\",\n \"fresnomail.com\",\n \"freudenkinder.de\",\n \"freundin.ru\",\n \"friction.net\",\n \"friendlydevices.com\",\n \"friendlymail.co.uk\",\n \"friends-cafe.com\",\n \"friendsfan.com\",\n \"from-africa.com\",\n \"from-america.com\",\n \"from-argentina.com\",\n \"from-asia.com\",\n \"from-australia.com\",\n \"from-belgium.com\",\n \"from-brazil.com\",\n \"from-canada.com\",\n \"from-china.net\",\n \"from-england.com\",\n \"from-europe.com\",\n \"from-france.net\",\n \"from-germany.net\",\n \"from-holland.com\",\n \"from-israel.com\",\n \"from-italy.net\",\n \"from-japan.net\",\n \"from-korea.com\",\n \"from-mexico.com\",\n \"from-outerspace.com\",\n \"from-russia.com\",\n \"from-spain.net\",\n \"fromalabama.com\",\n \"fromalaska.com\",\n \"fromarizona.com\",\n \"fromarkansas.com\",\n \"fromcalifornia.com\",\n \"fromcolorado.com\",\n \"fromconnecticut.com\",\n \"fromdelaware.com\",\n \"fromflorida.net\",\n \"fromgeorgia.com\",\n \"fromhawaii.net\",\n \"fromidaho.com\",\n \"fromillinois.com\",\n \"fromindiana.com\",\n \"frominter.net\",\n \"fromiowa.com\",\n \"fromjupiter.com\",\n \"fromkansas.com\",\n \"fromkentucky.com\",\n \"fromlouisiana.com\",\n \"frommaine.net\",\n \"frommaryland.com\",\n \"frommassachusetts.com\",\n \"frommiami.com\",\n \"frommichigan.com\",\n \"fromminnesota.com\",\n \"frommississippi.com\",\n \"frommissouri.com\",\n \"frommontana.com\",\n \"fromnebraska.com\",\n \"fromnevada.com\",\n \"fromnewhampshire.com\",\n \"fromnewjersey.com\",\n \"fromnewmexico.com\",\n \"fromnewyork.net\",\n \"fromnorthcarolina.com\",\n \"fromnorthdakota.com\",\n \"fromohio.com\",\n \"fromoklahoma.com\",\n \"fromoregon.net\",\n \"frompennsylvania.com\",\n \"fromrhodeisland.com\",\n \"fromru.com\",\n \"fromru.ru\",\n \"fromsouthcarolina.com\",\n \"fromsouthdakota.com\",\n \"fromtennessee.com\",\n \"fromtexas.com\",\n \"fromthestates.com\",\n \"fromutah.com\",\n \"fromvermont.com\",\n \"fromvirginia.com\",\n \"fromwashington.com\",\n \"fromwashingtondc.com\",\n \"fromwestvirginia.com\",\n \"fromwisconsin.com\",\n \"fromwyoming.com\",\n \"front.ru\",\n \"frontier.com\",\n \"frontiernet.net\",\n \"frostbyte.uk.net\",\n \"fsmail.net\",\n \"ftc-i.net\",\n \"ftml.net\",\n \"fuckingduh.com\",\n \"fudgerub.com\",\n \"fullmail.com\",\n \"funiran.com\",\n \"funkfan.com\",\n \"funky4.com\",\n \"fuorissimo.com\",\n \"furnitureprovider.com\",\n \"fuse.net\",\n \"fusemail.com\",\n \"fut.es\",\n \"fux0ringduh.com\",\n \"fwnb.com\",\n \"fxsmails.com\",\n \"fyii.de\",\n \"galamb.net\",\n \"galaxy5.com\",\n \"galaxyhit.com\",\n \"gamebox.com\",\n \"gamebox.net\",\n \"gamegeek.com\",\n \"games.com\",\n \"gamespotmail.com\",\n \"gamil.com\",\n \"gamil.com.au\",\n \"gamno.config.work\",\n \"garbage.com\",\n \"gardener.com\",\n \"garliclife.com\",\n \"gatwickemail.com\",\n \"gawab.com\",\n \"gay.com\",\n \"gaybrighton.co.uk\",\n \"gaza.net\",\n \"gazeta.pl\",\n \"gazibooks.com\",\n \"gci.net\",\n \"gdi.net\",\n \"gee-wiz.com\",\n \"geecities.com\",\n \"geek.com\",\n \"geek.hu\",\n \"geeklife.com\",\n \"gehensiemirnichtaufdensack.de\",\n \"gelitik.in\",\n \"gencmail.com\",\n \"general-hospital.com\",\n \"gentlemansclub.de\",\n \"genxemail.com\",\n \"geocities.com\",\n \"geography.net\",\n \"geologist.com\",\n \"geopia.com\",\n \"germanymail.com\",\n \"get.pp.ua\",\n \"get1mail.com\",\n \"get2mail.fr\",\n \"getairmail.cf\",\n \"getairmail.com\",\n \"getairmail.ga\",\n \"getairmail.gq\",\n \"getmails.eu\",\n \"getonemail.com\",\n \"getonemail.net\",\n \"gfxartist.ru\",\n \"gh2000.com\",\n \"ghanamail.com\",\n \"ghostmail.com\",\n \"ghosttexter.de\",\n \"giantmail.de\",\n \"giantsfan.com\",\n \"giga4u.de\",\n \"gigileung.org\",\n \"girl4god.com\",\n \"girlsundertheinfluence.com\",\n \"gishpuppy.com\",\n \"givepeaceachance.com\",\n \"glay.org\",\n \"glendale.net\",\n \"globalfree.it\",\n \"globalpagan.com\",\n \"globalsite.com.br\",\n \"globetrotter.net\",\n \"globo.com\",\n \"globomail.com\",\n \"gmail.co.za\",\n \"gmail.com\",\n \"gmail.com.au\",\n \"gmail.com.br\",\n \"gmail.ru\",\n \"gmial.com\",\n \"gmx.at\",\n \"gmx.ch\",\n \"gmx.co.uk\",\n \"gmx.com\",\n \"gmx.de\",\n \"gmx.fr\",\n \"gmx.li\",\n \"gmx.net\",\n \"gmx.us\",\n \"gnwmail.com\",\n \"go.com\",\n \"go.ro\",\n \"go.ru\",\n \"go2.com.py\",\n \"go2net.com\",\n \"go4.it\",\n \"gobrainstorm.net\",\n \"gocollege.com\",\n \"gocubs.com\",\n \"godmail.dk\",\n \"goemailgo.com\",\n \"gofree.co.uk\",\n \"gol.com\",\n \"goldenmail.ru\",\n \"goldmail.ru\",\n \"goldtoolbox.com\",\n \"golfemail.com\",\n \"golfilla.info\",\n \"golfmail.be\",\n \"gonavy.net\",\n \"gonuts4free.com\",\n \"goodnewsmail.com\",\n \"goodstick.com\",\n \"google.com\",\n \"googlegroups.com\",\n \"googlemail.com\",\n \"goosemoose.com\",\n \"goplay.com\",\n \"gorillaswithdirtyarmpits.com\",\n \"gorontalo.net\",\n \"gospelfan.com\",\n \"gothere.uk.com\",\n \"gotmail.com\",\n \"gotmail.net\",\n \"gotmail.org\",\n \"gotomy.com\",\n \"gotti.otherinbox.com\",\n \"govolsfan.com\",\n \"gportal.hu\",\n \"grabmail.com\",\n \"graduate.org\",\n \"graffiti.net\",\n \"gramszu.net\",\n \"grandmamail.com\",\n \"grandmasmail.com\",\n \"graphic-designer.com\",\n \"grapplers.com\",\n \"gratisweb.com\",\n \"great-host.in\",\n \"greenmail.net\",\n \"greensloth.com\",\n \"groupmail.com\",\n \"grr.la\",\n \"grungecafe.com\",\n \"gsrv.co.uk\",\n \"gtemail.net\",\n \"gtmc.net\",\n \"gua.net\",\n \"guerillamail.biz\",\n \"guerillamail.com\",\n \"guerrillamail.biz\",\n \"guerrillamail.com\",\n \"guerrillamail.de\",\n \"guerrillamail.info\",\n \"guerrillamail.net\",\n \"guerrillamail.org\",\n \"guerrillamailblock.com\",\n \"guessmail.com\",\n \"guju.net\",\n \"gurlmail.com\",\n \"gustr.com\",\n \"guy.com\",\n \"guy2.com\",\n \"guyanafriends.com\",\n \"gwhsgeckos.com\",\n \"gyorsposta.com\",\n \"gyorsposta.hu\",\n \"h-mail.us\",\n \"hab-verschlafen.de\",\n \"hablas.com\",\n \"habmalnefrage.de\",\n \"hacccc.com\",\n \"hackermail.com\",\n \"hackermail.net\",\n \"hailmail.net\",\n \"hairdresser.com\",\n \"hairdresser.net\",\n \"haltospam.com\",\n \"hamptonroads.com\",\n \"handbag.com\",\n \"handleit.com\",\n \"hang-ten.com\",\n \"hangglidemail.com\",\n \"hanmail.net\",\n \"happemail.com\",\n \"happycounsel.com\",\n \"happypuppy.com\",\n \"harakirimail.com\",\n \"haramamba.ru\",\n \"hardcorefreak.com\",\n \"hardyoungbabes.com\",\n \"hartbot.de\",\n \"hat-geld.de\",\n \"hatespam.org\",\n \"hawaii.rr.com\",\n \"hawaiiantel.net\",\n \"headbone.com\",\n \"healthemail.net\",\n \"heartthrob.com\",\n \"heavynoize.net\",\n \"heerschap.com\",\n \"heesun.net\",\n \"hehe.com\",\n \"hello.hu\",\n \"hello.net.au\",\n \"hello.to\",\n \"hellokitty.com\",\n \"helter-skelter.com\",\n \"hempseed.com\",\n \"herediano.com\",\n \"heremail.com\",\n \"herono1.com\",\n \"herp.in\",\n \"herr-der-mails.de\",\n \"hetnet.nl\",\n \"hewgen.ru\",\n \"hey.to\",\n \"hhdevel.com\",\n \"hideakifan.com\",\n \"hidemail.de\",\n \"hidzz.com\",\n \"highmilton.com\",\n \"highquality.com\",\n \"highveldmail.co.za\",\n \"hilarious.com\",\n \"hinduhome.com\",\n \"hingis.org\",\n \"hiphopfan.com\",\n \"hispavista.com\",\n \"hitmail.com\",\n \"hitmanrecords.com\",\n \"hitthe.net\",\n \"hkg.net\",\n \"hkstarphoto.com\",\n \"hmamail.com\",\n \"hochsitze.com\",\n \"hockeymail.com\",\n \"hollywoodkids.com\",\n \"home-email.com\",\n \"home.de\",\n \"home.nl\",\n \"home.no.net\",\n \"home.ro\",\n \"home.se\",\n \"homeart.com\",\n \"homelocator.com\",\n \"homemail.com\",\n \"homenetmail.com\",\n \"homeonthethrone.com\",\n \"homestead.com\",\n \"homeworkcentral.com\",\n \"honduras.com\",\n \"hongkong.com\",\n \"hookup.net\",\n \"hoopsmail.com\",\n \"hopemail.biz\",\n \"horrormail.com\",\n \"host-it.com.sg\",\n \"hot-mail.gq\",\n \"hot-shop.com\",\n \"hot-shot.com\",\n \"hot.ee\",\n \"hotbot.com\",\n \"hotbox.ru\",\n \"hotbrev.com\",\n \"hotcoolmail.com\",\n \"hotepmail.com\",\n \"hotfire.net\",\n \"hotletter.com\",\n \"hotlinemail.com\",\n \"hotmail.be\",\n \"hotmail.ca\",\n \"hotmail.ch\",\n \"hotmail.co\",\n \"hotmail.co.il\",\n \"hotmail.co.jp\",\n \"hotmail.co.nz\",\n \"hotmail.co.uk\",\n \"hotmail.co.za\",\n \"hotmail.com\",\n \"hotmail.com.ar\",\n \"hotmail.com.au\",\n \"hotmail.com.br\",\n \"hotmail.com.mx\",\n \"hotmail.com.tr\",\n \"hotmail.de\",\n \"hotmail.es\",\n \"hotmail.fi\",\n \"hotmail.fr\",\n \"hotmail.it\",\n \"hotmail.kg\",\n \"hotmail.kz\",\n \"hotmail.my\",\n \"hotmail.nl\",\n \"hotmail.ro\",\n \"hotmail.roor\",\n \"hotmail.ru\",\n \"hotpop.com\",\n \"hotpop3.com\",\n \"hotvoice.com\",\n \"housefan.com\",\n \"housefancom\",\n \"housemail.com\",\n \"hsuchi.net\",\n \"html.tou.com\",\n \"hu2.ru\",\n \"hughes.net\",\n \"hulapla.de\",\n \"humanoid.net\",\n \"humanux.com\",\n \"humn.ws.gy\",\n \"humour.com\",\n \"hunsa.com\",\n \"hurting.com\",\n \"hush.com\",\n \"hushmail.com\",\n \"hypernautica.com\",\n \"i-connect.com\",\n \"i-france.com\",\n \"i-love-cats.com\",\n \"i-mail.com.au\",\n \"i-mailbox.net\",\n \"i-p.com\",\n \"i.am\",\n \"i.am.to\",\n \"i.amhey.to\",\n \"i.ua\",\n \"i12.com\",\n \"i2828.com\",\n \"i2pmail.org\",\n \"iam4msu.com\",\n \"iamawoman.com\",\n \"iamfinallyonline.com\",\n \"iamwaiting.com\",\n \"iamwasted.com\",\n \"iamyours.com\",\n \"icestorm.com\",\n \"ich-bin-verrueckt-nach-dir.de\",\n \"ich-will-net.de\",\n \"icloud.com\",\n \"icmsconsultants.com\",\n \"icq.com\",\n \"icqmail.com\",\n \"icrazy.com\",\n \"icu.md\",\n \"id-base.com\",\n \"id.ru\",\n \"ididitmyway.com\",\n \"idigjesus.com\",\n \"idirect.com\",\n \"ieatspam.eu\",\n \"ieatspam.info\",\n \"ieh-mail.de\",\n \"iespana.es\",\n \"ifoward.com\",\n \"ig.com.br\",\n \"ignazio.it\",\n \"ignmail.com\",\n \"ihateclowns.com\",\n \"ihateyoualot.info\",\n \"iheartspam.org\",\n \"iinet.net.au\",\n \"ijustdontcare.com\",\n \"ikbenspamvrij.nl\",\n \"ilkposta.com\",\n \"ilovechocolate.com\",\n \"ilovegiraffes.net\",\n \"ilovejesus.com\",\n \"ilovelionking.com\",\n \"ilovepokemonmail.com\",\n \"ilovethemovies.com\",\n \"ilovetocollect.net\",\n \"ilse.nl\",\n \"imaginemail.com\",\n \"imail.org\",\n \"imail.ru\",\n \"imailbox.com\",\n \"imails.info\",\n \"imap-mail.com\",\n \"imap.cc\",\n \"imapmail.org\",\n \"imel.org\",\n \"imgof.com\",\n \"imgv.de\",\n \"immo-gerance.info\",\n \"imneverwrong.com\",\n \"imposter.co.uk\",\n \"imstations.com\",\n \"imstressed.com\",\n \"imtoosexy.com\",\n \"in-box.net\",\n \"in2jesus.com\",\n \"iname.com\",\n \"inbax.tk\",\n \"inbound.plus\",\n \"inbox.com\",\n \"inbox.lv\",\n \"inbox.net\",\n \"inbox.ru\",\n \"inbox.si\",\n \"inboxalias.com\",\n \"inboxclean.com\",\n \"inboxclean.org\",\n \"incamail.com\",\n \"includingarabia.com\",\n \"incredimail.com\",\n \"indeedemail.com\",\n \"index.ua\",\n \"indexa.fr\",\n \"india.com\",\n \"indiatimes.com\",\n \"indo-mail.com\",\n \"indocities.com\",\n \"indomail.com\",\n \"indosat.net.id\",\n \"indus.ru\",\n \"indyracers.com\",\n \"inerted.com\",\n \"inet.com\",\n \"inet.net.au\",\n \"info-media.de\",\n \"info-radio.ml\",\n \"info.com\",\n \"info66.com\",\n \"infoapex.com\",\n \"infocom.zp.ua\",\n \"infohq.com\",\n \"infomail.es\",\n \"infomart.or.jp\",\n \"informaticos.com\",\n \"infospacemail.com\",\n \"infovia.com.ar\",\n \"inicia.es\",\n \"inmail.sk\",\n \"inmail24.com\",\n \"inmano.com\",\n \"inmynetwork.tk\",\n \"innocent.com\",\n \"inonesearch.com\",\n \"inorbit.com\",\n \"inoutbox.com\",\n \"insidebaltimore.net\",\n \"insight.rr.com\",\n \"inspectorjavert.com\",\n \"instant-mail.de\",\n \"instantemailaddress.com\",\n \"instantmail.fr\",\n \"instruction.com\",\n \"instructor.net\",\n \"insurer.com\",\n \"interburp.com\",\n \"interfree.it\",\n \"interia.pl\",\n \"interlap.com.ar\",\n \"intermail.co.il\",\n \"internet-club.com\",\n \"internet-e-mail.com\",\n \"internet-mail.org\",\n \"internet-police.com\",\n \"internetbiz.com\",\n \"internetdrive.com\",\n \"internetegypt.com\",\n \"internetemails.net\",\n \"internetmailing.net\",\n \"internode.on.net\",\n \"invalid.com\",\n \"investormail.com\",\n \"inwind.it\",\n \"iobox.com\",\n \"iobox.fi\",\n \"iol.it\",\n \"iol.pt\",\n \"iowaemail.com\",\n \"ip3.com\",\n \"ip4.pp.ua\",\n \"ip6.li\",\n \"ip6.pp.ua\",\n \"ipdeer.com\",\n \"ipex.ru\",\n \"ipoo.org\",\n \"iportalexpress.com\",\n \"iprimus.com.au\",\n \"iqemail.com\",\n \"irangate.net\",\n \"iraqmail.com\",\n \"ireland.com\",\n \"irelandmail.com\",\n \"irish2me.com\",\n \"irj.hu\",\n \"iroid.com\",\n \"iscooler.com\",\n \"isellcars.com\",\n \"iservejesus.com\",\n \"islamonline.net\",\n \"islandemail.net\",\n \"isleuthmail.com\",\n \"ismart.net\",\n \"isonfire.com\",\n \"isp9.net\",\n \"israelmail.com\",\n \"ist-allein.info\",\n \"ist-einmalig.de\",\n \"ist-ganz-allein.de\",\n \"ist-willig.de\",\n \"italymail.com\",\n \"itelefonica.com.br\",\n \"itloox.com\",\n \"itmom.com\",\n \"ivebeenframed.com\",\n \"ivillage.com\",\n \"iwan-fals.com\",\n \"iwi.net\",\n \"iwmail.com\",\n \"iwon.com\",\n \"izadpanah.com\",\n \"jabble.com\",\n \"jahoopa.com\",\n \"jakuza.hu\",\n \"japan.com\",\n \"jaydemail.com\",\n \"jazzandjava.com\",\n \"jazzfan.com\",\n \"jazzgame.com\",\n \"je-recycle.info\",\n \"jeanvaljean.com\",\n \"jerusalemmail.com\",\n \"jesusanswers.com\",\n \"jet-renovation.fr\",\n \"jetable.com\",\n \"jetable.de\",\n \"jetable.fr.nf\",\n \"jetable.net\",\n \"jetable.org\",\n \"jetable.pp.ua\",\n \"jetemail.net\",\n \"jewishmail.com\",\n \"jfkislanders.com\",\n \"jingjo.net\",\n \"jippii.fi\",\n \"jmail.co.za\",\n \"jnxjn.com\",\n \"job4u.com\",\n \"jobbikszimpatizans.hu\",\n \"joelonsoftware.com\",\n \"joinme.com\",\n \"jojomail.com\",\n \"jokes.com\",\n \"jordanmail.com\",\n \"journalist.com\",\n \"jourrapide.com\",\n \"jovem.te.pt\",\n \"joymail.com\",\n \"jpopmail.com\",\n \"jsrsolutions.com\",\n \"jubiimail.dk\",\n \"jump.com\",\n \"jumpy.it\",\n \"juniormail.com\",\n \"junk1e.com\",\n \"junkmail.com\",\n \"junkmail.gq\",\n \"juno.com\",\n \"justemail.net\",\n \"justicemail.com\",\n \"justmail.de\",\n \"justmailz.com\",\n \"justmarriedmail.com\",\n \"jwspamspy\",\n \"k.ro\",\n \"kaazoo.com\",\n \"kabissa.org\",\n \"kaduku.net\",\n \"kaffeeschluerfer.com\",\n \"kaffeeschluerfer.de\",\n \"kaixo.com\",\n \"kalpoint.com\",\n \"kansascity.com\",\n \"kapoorweb.com\",\n \"karachian.com\",\n \"karachioye.com\",\n \"karbasi.com\",\n \"kasmail.com\",\n \"kaspop.com\",\n \"katamail.com\",\n \"kayafmmail.co.za\",\n \"kbjrmail.com\",\n \"kcks.com\",\n \"kebi.com\",\n \"keftamail.com\",\n \"keg-party.com\",\n \"keinpardon.de\",\n \"keko.com.ar\",\n \"kellychen.com\",\n \"keptprivate.com\",\n \"keromail.com\",\n \"kewpee.com\",\n \"keyemail.com\",\n \"kgb.hu\",\n \"khosropour.com\",\n \"kichimail.com\",\n \"kickassmail.com\",\n \"killamail.com\",\n \"killergreenmail.com\",\n \"killermail.com\",\n \"killmail.com\",\n \"killmail.net\",\n \"kimo.com\",\n \"kimsdisk.com\",\n \"kinglibrary.net\",\n \"kinki-kids.com\",\n \"kismail.ru\",\n \"kissfans.com\",\n \"kitemail.com\",\n \"kittymail.com\",\n \"kitznet.at\",\n \"kiwibox.com\",\n \"kiwitown.com\",\n \"klassmaster.com\",\n \"klassmaster.net\",\n \"klzlk.com\",\n \"km.ru\",\n \"kmail.com.au\",\n \"knol-power.nl\",\n \"koko.com\",\n \"kolumbus.fi\",\n \"kommespaeter.de\",\n \"konkovo.net\",\n \"konsul.ru\",\n \"konx.com\",\n \"korea.com\",\n \"koreamail.com\",\n \"kosino.net\",\n \"koszmail.pl\",\n \"kozmail.com\",\n \"kpnmail.nl\",\n \"kreditor.ru\",\n \"krim.ws\",\n \"krongthip.com\",\n \"krovatka.net\",\n \"krunis.com\",\n \"ksanmail.com\",\n \"ksee24mail.com\",\n \"kube93mail.com\",\n \"kukamail.com\",\n \"kulturbetrieb.info\",\n \"kumarweb.com\",\n \"kurzepost.de\",\n \"kuwait-mail.com\",\n \"kuzminki.net\",\n \"kyokodate.com\",\n \"kyokofukada.net\",\n \"l33r.eu\",\n \"la.com\",\n \"labetteraverouge.at\",\n \"lackmail.ru\",\n \"ladyfire.com\",\n \"ladymail.cz\",\n \"lagerlouts.com\",\n \"lags.us\",\n \"lahoreoye.com\",\n \"lakmail.com\",\n \"lamer.hu\",\n \"land.ru\",\n \"langoo.com\",\n \"lankamail.com\",\n \"laoeq.com\",\n \"laposte.net\",\n \"lass-es-geschehen.de\",\n \"last-chance.pro\",\n \"lastmail.co\",\n \"latemodels.com\",\n \"latinmail.com\",\n \"latino.com\",\n \"lavabit.com\",\n \"lavache.com\",\n \"law.com\",\n \"lawlita.com\",\n \"lawyer.com\",\n \"lazyinbox.com\",\n \"learn2compute.net\",\n \"lebanonatlas.com\",\n \"leeching.net\",\n \"leehom.net\",\n \"lefortovo.net\",\n \"legalactions.com\",\n \"legalrc.loan\",\n \"legislator.com\",\n \"legistrator.com\",\n \"lenta.ru\",\n \"leonlai.net\",\n \"letsgomets.net\",\n \"letterbox.com\",\n \"letterboxes.org\",\n \"letthemeatspam.com\",\n \"levele.com\",\n \"levele.hu\",\n \"lex.bg\",\n \"lexis-nexis-mail.com\",\n \"lhsdv.com\",\n \"lianozovo.net\",\n \"libero.it\",\n \"liberomail.com\",\n \"lick101.com\",\n \"liebt-dich.info\",\n \"lifebyfood.com\",\n \"link2mail.net\",\n \"linkmaster.com\",\n \"linktrader.com\",\n \"linuxfreemail.com\",\n \"linuxmail.org\",\n \"lionsfan.com.au\",\n \"liontrucks.com\",\n \"liquidinformation.net\",\n \"lissamail.com\",\n \"list.ru\",\n \"listomail.com\",\n \"litedrop.com\",\n \"literaturelover.com\",\n \"littleapple.com\",\n \"littleblueroom.com\",\n \"live.at\",\n \"live.be\",\n \"live.ca\",\n \"live.cl\",\n \"live.cn\",\n \"live.co.uk\",\n \"live.co.za\",\n \"live.com\",\n \"live.com.ar\",\n \"live.com.au\",\n \"live.com.mx\",\n \"live.com.my\",\n \"live.com.pt\",\n \"live.com.sg\",\n \"live.de\",\n \"live.dk\",\n \"live.fr\",\n \"live.hk\",\n \"live.ie\",\n \"live.in\",\n \"live.it\",\n \"live.jp\",\n \"live.nl\",\n \"live.no\",\n \"live.ru\",\n \"live.se\",\n \"liveradio.tk\",\n \"liverpoolfans.com\",\n \"ljiljan.com\",\n \"llandudno.com\",\n \"llangollen.com\",\n \"lmxmail.sk\",\n \"lobbyist.com\",\n \"localbar.com\",\n \"localgenius.com\",\n \"locos.com\",\n \"login-email.ga\",\n \"loh.pp.ua\",\n \"lol.ovpn.to\",\n \"lolfreak.net\",\n \"lolito.tk\",\n \"lolnetwork.net\",\n \"london.com\",\n \"loobie.com\",\n \"looksmart.co.uk\",\n \"looksmart.com\",\n \"looksmart.com.au\",\n \"lookugly.com\",\n \"lopezclub.com\",\n \"lortemail.dk\",\n \"louiskoo.com\",\n \"lov.ru\",\n \"love.com\",\n \"love.cz\",\n \"loveable.com\",\n \"lovecat.com\",\n \"lovefall.ml\",\n \"lovefootball.com\",\n \"loveforlostcats.com\",\n \"lovelygirl.net\",\n \"lovemail.com\",\n \"lover-boy.com\",\n \"lovergirl.com\",\n \"lovesea.gq\",\n \"lovethebroncos.com\",\n \"lovethecowboys.com\",\n \"lovetocook.net\",\n \"lovetohike.com\",\n \"loveyouforever.de\",\n \"lovingjesus.com\",\n \"lowandslow.com\",\n \"lr7.us\",\n \"lr78.com\",\n \"lroid.com\",\n \"lubovnik.ru\",\n \"lukop.dk\",\n \"luso.pt\",\n \"luukku.com\",\n \"luv2.us\",\n \"luvrhino.com\",\n \"lvie.com.sg\",\n \"lvwebmail.com\",\n \"lycos.co.uk\",\n \"lycos.com\",\n \"lycos.es\",\n \"lycos.it\",\n \"lycos.ne.jp\",\n \"lycos.ru\",\n \"lycosemail.com\",\n \"lycosmail.com\",\n \"m-a-i-l.com\",\n \"m-hmail.com\",\n \"m21.cc\",\n \"m4.org\",\n \"m4ilweb.info\",\n \"mac.com\",\n \"macbox.com\",\n \"macbox.ru\",\n \"macfreak.com\",\n \"machinecandy.com\",\n \"macmail.com\",\n \"mad.scientist.com\",\n \"madcrazy.com\",\n \"madcreations.com\",\n \"madonnafan.com\",\n \"madrid.com\",\n \"maennerversteherin.com\",\n \"maennerversteherin.de\",\n \"maffia.hu\",\n \"magicmail.co.za\",\n \"mahmoodweb.com\",\n \"mail-awu.de\",\n \"mail-box.cz\",\n \"mail-center.com\",\n \"mail-central.com\",\n \"mail-easy.fr\",\n \"mail-filter.com\",\n \"mail-me.com\",\n \"mail-page.com\",\n \"mail-temporaire.fr\",\n \"mail-tester.com\",\n \"mail.austria.com\",\n \"mail.az\",\n \"mail.be\",\n \"mail.bg\",\n \"mail.bulgaria.com\",\n \"mail.by\",\n \"mail.byte.it\",\n \"mail.co.za\",\n \"mail.com\",\n \"mail.com.tr\",\n \"mail.ee\",\n \"mail.entrepeneurmag.com\",\n \"mail.freetown.com\",\n \"mail.gr\",\n \"mail.hitthebeach.com\",\n \"mail.htl22.at\",\n \"mail.kmsp.com\",\n \"mail.md\",\n \"mail.mezimages.net\",\n \"mail.misterpinball.de\",\n \"mail.nu\",\n \"mail.org.uk\",\n \"mail.pf\",\n \"mail.pharmacy.com\",\n \"mail.pt\",\n \"mail.r-o-o-t.com\",\n \"mail.ru\",\n \"mail.salu.net\",\n \"mail.sisna.com\",\n \"mail.spaceports.com\",\n \"mail.svenz.eu\",\n \"mail.theboys.com\",\n \"mail.usa.com\",\n \"mail.vasarhely.hu\",\n \"mail.vu\",\n \"mail.wtf\",\n \"mail.zp.ua\",\n \"mail114.net\",\n \"mail15.com\",\n \"mail1a.de\",\n \"mail1st.com\",\n \"mail2007.com\",\n \"mail21.cc\",\n \"mail2aaron.com\",\n \"mail2abby.com\",\n \"mail2abc.com\",\n \"mail2actor.com\",\n \"mail2admiral.com\",\n \"mail2adorable.com\",\n \"mail2adoration.com\",\n \"mail2adore.com\",\n \"mail2adventure.com\",\n \"mail2aeolus.com\",\n \"mail2aether.com\",\n \"mail2affection.com\",\n \"mail2afghanistan.com\",\n \"mail2africa.com\",\n \"mail2agent.com\",\n \"mail2aha.com\",\n \"mail2ahoy.com\",\n \"mail2aim.com\",\n \"mail2air.com\",\n \"mail2airbag.com\",\n \"mail2airforce.com\",\n \"mail2airport.com\",\n \"mail2alabama.com\",\n \"mail2alan.com\",\n \"mail2alaska.com\",\n \"mail2albania.com\",\n \"mail2alcoholic.com\",\n \"mail2alec.com\",\n \"mail2alexa.com\",\n \"mail2algeria.com\",\n \"mail2alicia.com\",\n \"mail2alien.com\",\n \"mail2allan.com\",\n \"mail2allen.com\",\n \"mail2allison.com\",\n \"mail2alpha.com\",\n \"mail2alyssa.com\",\n \"mail2amanda.com\",\n \"mail2amazing.com\",\n \"mail2amber.com\",\n \"mail2america.com\",\n \"mail2american.com\",\n \"mail2andorra.com\",\n \"mail2andrea.com\",\n \"mail2andy.com\",\n \"mail2anesthesiologist.com\",\n \"mail2angela.com\",\n \"mail2angola.com\",\n \"mail2ann.com\",\n \"mail2anna.com\",\n \"mail2anne.com\",\n \"mail2anthony.com\",\n \"mail2anything.com\",\n \"mail2aphrodite.com\",\n \"mail2apollo.com\",\n \"mail2april.com\",\n \"mail2aquarius.com\",\n \"mail2arabia.com\",\n \"mail2arabic.com\",\n \"mail2architect.com\",\n \"mail2ares.com\",\n \"mail2argentina.com\",\n \"mail2aries.com\",\n \"mail2arizona.com\",\n \"mail2arkansas.com\",\n \"mail2armenia.com\",\n \"mail2army.com\",\n \"mail2arnold.com\",\n \"mail2art.com\",\n \"mail2artemus.com\",\n \"mail2arthur.com\",\n \"mail2artist.com\",\n \"mail2ashley.com\",\n \"mail2ask.com\",\n \"mail2astronomer.com\",\n \"mail2athena.com\",\n \"mail2athlete.com\",\n \"mail2atlas.com\",\n \"mail2atom.com\",\n \"mail2attitude.com\",\n \"mail2auction.com\",\n \"mail2aunt.com\",\n \"mail2australia.com\",\n \"mail2austria.com\",\n \"mail2azerbaijan.com\",\n \"mail2baby.com\",\n \"mail2bahamas.com\",\n \"mail2bahrain.com\",\n \"mail2ballerina.com\",\n \"mail2ballplayer.com\",\n \"mail2band.com\",\n \"mail2bangladesh.com\",\n \"mail2bank.com\",\n \"mail2banker.com\",\n \"mail2bankrupt.com\",\n \"mail2baptist.com\",\n \"mail2bar.com\",\n \"mail2barbados.com\",\n \"mail2barbara.com\",\n \"mail2barter.com\",\n \"mail2basketball.com\",\n \"mail2batter.com\",\n \"mail2beach.com\",\n \"mail2beast.com\",\n \"mail2beatles.com\",\n \"mail2beauty.com\",\n \"mail2becky.com\",\n \"mail2beijing.com\",\n \"mail2belgium.com\",\n \"mail2belize.com\",\n \"mail2ben.com\",\n \"mail2bernard.com\",\n \"mail2beth.com\",\n \"mail2betty.com\",\n \"mail2beverly.com\",\n \"mail2beyond.com\",\n \"mail2biker.com\",\n \"mail2bill.com\",\n \"mail2billionaire.com\",\n \"mail2billy.com\",\n \"mail2bio.com\",\n \"mail2biologist.com\",\n \"mail2black.com\",\n \"mail2blackbelt.com\",\n \"mail2blake.com\",\n \"mail2blind.com\",\n \"mail2blonde.com\",\n \"mail2blues.com\",\n \"mail2bob.com\",\n \"mail2bobby.com\",\n \"mail2bolivia.com\",\n \"mail2bombay.com\",\n \"mail2bonn.com\",\n \"mail2bookmark.com\",\n \"mail2boreas.com\",\n \"mail2bosnia.com\",\n \"mail2boston.com\",\n \"mail2botswana.com\",\n \"mail2bradley.com\",\n \"mail2brazil.com\",\n \"mail2breakfast.com\",\n \"mail2brian.com\",\n \"mail2bride.com\",\n \"mail2brittany.com\",\n \"mail2broker.com\",\n \"mail2brook.com\",\n \"mail2bruce.com\",\n \"mail2brunei.com\",\n \"mail2brunette.com\",\n \"mail2brussels.com\",\n \"mail2bryan.com\",\n \"mail2bug.com\",\n \"mail2bulgaria.com\",\n \"mail2business.com\",\n \"mail2buy.com\",\n \"mail2ca.com\",\n \"mail2california.com\",\n \"mail2calvin.com\",\n \"mail2cambodia.com\",\n \"mail2cameroon.com\",\n \"mail2canada.com\",\n \"mail2cancer.com\",\n \"mail2capeverde.com\",\n \"mail2capricorn.com\",\n \"mail2cardinal.com\",\n \"mail2cardiologist.com\",\n \"mail2care.com\",\n \"mail2caroline.com\",\n \"mail2carolyn.com\",\n \"mail2casey.com\",\n \"mail2cat.com\",\n \"mail2caterer.com\",\n \"mail2cathy.com\",\n \"mail2catlover.com\",\n \"mail2catwalk.com\",\n \"mail2cell.com\",\n \"mail2chad.com\",\n \"mail2champaign.com\",\n \"mail2charles.com\",\n \"mail2chef.com\",\n \"mail2chemist.com\",\n \"mail2cherry.com\",\n \"mail2chicago.com\",\n \"mail2chile.com\",\n \"mail2china.com\",\n \"mail2chinese.com\",\n \"mail2chocolate.com\",\n \"mail2christian.com\",\n \"mail2christie.com\",\n \"mail2christmas.com\",\n \"mail2christy.com\",\n \"mail2chuck.com\",\n \"mail2cindy.com\",\n \"mail2clark.com\",\n \"mail2classifieds.com\",\n \"mail2claude.com\",\n \"mail2cliff.com\",\n \"mail2clinic.com\",\n \"mail2clint.com\",\n \"mail2close.com\",\n \"mail2club.com\",\n \"mail2coach.com\",\n \"mail2coastguard.com\",\n \"mail2colin.com\",\n \"mail2college.com\",\n \"mail2colombia.com\",\n \"mail2color.com\",\n \"mail2colorado.com\",\n \"mail2columbia.com\",\n \"mail2comedian.com\",\n \"mail2composer.com\",\n \"mail2computer.com\",\n \"mail2computers.com\",\n \"mail2concert.com\",\n \"mail2congo.com\",\n \"mail2connect.com\",\n \"mail2connecticut.com\",\n \"mail2consultant.com\",\n \"mail2convict.com\",\n \"mail2cook.com\",\n \"mail2cool.com\",\n \"mail2cory.com\",\n \"mail2costarica.com\",\n \"mail2country.com\",\n \"mail2courtney.com\",\n \"mail2cowboy.com\",\n \"mail2cowgirl.com\",\n \"mail2craig.com\",\n \"mail2crave.com\",\n \"mail2crazy.com\",\n \"mail2create.com\",\n \"mail2croatia.com\",\n \"mail2cry.com\",\n \"mail2crystal.com\",\n \"mail2cuba.com\",\n \"mail2culture.com\",\n \"mail2curt.com\",\n \"mail2customs.com\",\n \"mail2cute.com\",\n \"mail2cutey.com\",\n \"mail2cynthia.com\",\n \"mail2cyprus.com\",\n \"mail2czechrepublic.com\",\n \"mail2dad.com\",\n \"mail2dale.com\",\n \"mail2dallas.com\",\n \"mail2dan.com\",\n \"mail2dana.com\",\n \"mail2dance.com\",\n \"mail2dancer.com\",\n \"mail2danielle.com\",\n \"mail2danny.com\",\n \"mail2darlene.com\",\n \"mail2darling.com\",\n \"mail2darren.com\",\n \"mail2daughter.com\",\n \"mail2dave.com\",\n \"mail2dawn.com\",\n \"mail2dc.com\",\n \"mail2dealer.com\",\n \"mail2deanna.com\",\n \"mail2dearest.com\",\n \"mail2debbie.com\",\n \"mail2debby.com\",\n \"mail2deer.com\",\n \"mail2delaware.com\",\n \"mail2delicious.com\",\n \"mail2demeter.com\",\n \"mail2democrat.com\",\n \"mail2denise.com\",\n \"mail2denmark.com\",\n \"mail2dennis.com\",\n \"mail2dentist.com\",\n \"mail2derek.com\",\n \"mail2desert.com\",\n \"mail2devoted.com\",\n \"mail2devotion.com\",\n \"mail2diamond.com\",\n \"mail2diana.com\",\n \"mail2diane.com\",\n \"mail2diehard.com\",\n \"mail2dilemma.com\",\n \"mail2dillon.com\",\n \"mail2dinner.com\",\n \"mail2dinosaur.com\",\n \"mail2dionysos.com\",\n \"mail2diplomat.com\",\n \"mail2director.com\",\n \"mail2dirk.com\",\n \"mail2disco.com\",\n \"mail2dive.com\",\n \"mail2diver.com\",\n \"mail2divorced.com\",\n \"mail2djibouti.com\",\n \"mail2doctor.com\",\n \"mail2doglover.com\",\n \"mail2dominic.com\",\n \"mail2dominica.com\",\n \"mail2dominicanrepublic.com\",\n \"mail2don.com\",\n \"mail2donald.com\",\n \"mail2donna.com\",\n \"mail2doris.com\",\n \"mail2dorothy.com\",\n \"mail2doug.com\",\n \"mail2dough.com\",\n \"mail2douglas.com\",\n \"mail2dow.com\",\n \"mail2downtown.com\",\n \"mail2dream.com\",\n \"mail2dreamer.com\",\n \"mail2dude.com\",\n \"mail2dustin.com\",\n \"mail2dyke.com\",\n \"mail2dylan.com\",\n \"mail2earl.com\",\n \"mail2earth.com\",\n \"mail2eastend.com\",\n \"mail2eat.com\",\n \"mail2economist.com\",\n \"mail2ecuador.com\",\n \"mail2eddie.com\",\n \"mail2edgar.com\",\n \"mail2edwin.com\",\n \"mail2egypt.com\",\n \"mail2electron.com\",\n \"mail2eli.com\",\n \"mail2elizabeth.com\",\n \"mail2ellen.com\",\n \"mail2elliot.com\",\n \"mail2elsalvador.com\",\n \"mail2elvis.com\",\n \"mail2emergency.com\",\n \"mail2emily.com\",\n \"mail2engineer.com\",\n \"mail2english.com\",\n \"mail2environmentalist.com\",\n \"mail2eos.com\",\n \"mail2eric.com\",\n \"mail2erica.com\",\n \"mail2erin.com\",\n \"mail2erinyes.com\",\n \"mail2eris.com\",\n \"mail2eritrea.com\",\n \"mail2ernie.com\",\n \"mail2eros.com\",\n \"mail2estonia.com\",\n \"mail2ethan.com\",\n \"mail2ethiopia.com\",\n \"mail2eu.com\",\n \"mail2europe.com\",\n \"mail2eurus.com\",\n \"mail2eva.com\",\n \"mail2evan.com\",\n \"mail2evelyn.com\",\n \"mail2everything.com\",\n \"mail2exciting.com\",\n \"mail2expert.com\",\n \"mail2fairy.com\",\n \"mail2faith.com\",\n \"mail2fanatic.com\",\n \"mail2fancy.com\",\n \"mail2fantasy.com\",\n \"mail2farm.com\",\n \"mail2farmer.com\",\n \"mail2fashion.com\",\n \"mail2fat.com\",\n \"mail2feeling.com\",\n \"mail2female.com\",\n \"mail2fever.com\",\n \"mail2fighter.com\",\n \"mail2fiji.com\",\n \"mail2filmfestival.com\",\n \"mail2films.com\",\n \"mail2finance.com\",\n \"mail2finland.com\",\n \"mail2fireman.com\",\n \"mail2firm.com\",\n \"mail2fisherman.com\",\n \"mail2flexible.com\",\n \"mail2florence.com\",\n \"mail2florida.com\",\n \"mail2floyd.com\",\n \"mail2fly.com\",\n \"mail2fond.com\",\n \"mail2fondness.com\",\n \"mail2football.com\",\n \"mail2footballfan.com\",\n \"mail2found.com\",\n \"mail2france.com\",\n \"mail2frank.com\",\n \"mail2frankfurt.com\",\n \"mail2franklin.com\",\n \"mail2fred.com\",\n \"mail2freddie.com\",\n \"mail2free.com\",\n \"mail2freedom.com\",\n \"mail2french.com\",\n \"mail2freudian.com\",\n \"mail2friendship.com\",\n \"mail2from.com\",\n \"mail2fun.com\",\n \"mail2gabon.com\",\n \"mail2gabriel.com\",\n \"mail2gail.com\",\n \"mail2galaxy.com\",\n \"mail2gambia.com\",\n \"mail2games.com\",\n \"mail2gary.com\",\n \"mail2gavin.com\",\n \"mail2gemini.com\",\n \"mail2gene.com\",\n \"mail2genes.com\",\n \"mail2geneva.com\",\n \"mail2george.com\",\n \"mail2georgia.com\",\n \"mail2gerald.com\",\n \"mail2german.com\",\n \"mail2germany.com\",\n \"mail2ghana.com\",\n \"mail2gilbert.com\",\n \"mail2gina.com\",\n \"mail2girl.com\",\n \"mail2glen.com\",\n \"mail2gloria.com\",\n \"mail2goddess.com\",\n \"mail2gold.com\",\n \"mail2golfclub.com\",\n \"mail2golfer.com\",\n \"mail2gordon.com\",\n \"mail2government.com\",\n \"mail2grab.com\",\n \"mail2grace.com\",\n \"mail2graham.com\",\n \"mail2grandma.com\",\n \"mail2grandpa.com\",\n \"mail2grant.com\",\n \"mail2greece.com\",\n \"mail2green.com\",\n \"mail2greg.com\",\n \"mail2grenada.com\",\n \"mail2gsm.com\",\n \"mail2guard.com\",\n \"mail2guatemala.com\",\n \"mail2guy.com\",\n \"mail2hades.com\",\n \"mail2haiti.com\",\n \"mail2hal.com\",\n \"mail2handhelds.com\",\n \"mail2hank.com\",\n \"mail2hannah.com\",\n \"mail2harold.com\",\n \"mail2harry.com\",\n \"mail2hawaii.com\",\n \"mail2headhunter.com\",\n \"mail2heal.com\",\n \"mail2heather.com\",\n \"mail2heaven.com\",\n \"mail2hebe.com\",\n \"mail2hecate.com\",\n \"mail2heidi.com\",\n \"mail2helen.com\",\n \"mail2hell.com\",\n \"mail2help.com\",\n \"mail2helpdesk.com\",\n \"mail2henry.com\",\n \"mail2hephaestus.com\",\n \"mail2hera.com\",\n \"mail2hercules.com\",\n \"mail2herman.com\",\n \"mail2hermes.com\",\n \"mail2hespera.com\",\n \"mail2hestia.com\",\n \"mail2highschool.com\",\n \"mail2hindu.com\",\n \"mail2hip.com\",\n \"mail2hiphop.com\",\n \"mail2holland.com\",\n \"mail2holly.com\",\n \"mail2hollywood.com\",\n \"mail2homer.com\",\n \"mail2honduras.com\",\n \"mail2honey.com\",\n \"mail2hongkong.com\",\n \"mail2hope.com\",\n \"mail2horse.com\",\n \"mail2hot.com\",\n \"mail2hotel.com\",\n \"mail2houston.com\",\n \"mail2howard.com\",\n \"mail2hugh.com\",\n \"mail2human.com\",\n \"mail2hungary.com\",\n \"mail2hungry.com\",\n \"mail2hygeia.com\",\n \"mail2hyperspace.com\",\n \"mail2hypnos.com\",\n \"mail2ian.com\",\n \"mail2ice-cream.com\",\n \"mail2iceland.com\",\n \"mail2idaho.com\",\n \"mail2idontknow.com\",\n \"mail2illinois.com\",\n \"mail2imam.com\",\n \"mail2in.com\",\n \"mail2india.com\",\n \"mail2indian.com\",\n \"mail2indiana.com\",\n \"mail2indonesia.com\",\n \"mail2infinity.com\",\n \"mail2intense.com\",\n \"mail2iowa.com\",\n \"mail2iran.com\",\n \"mail2iraq.com\",\n \"mail2ireland.com\",\n \"mail2irene.com\",\n \"mail2iris.com\",\n \"mail2irresistible.com\",\n \"mail2irving.com\",\n \"mail2irwin.com\",\n \"mail2isaac.com\",\n \"mail2israel.com\",\n \"mail2italian.com\",\n \"mail2italy.com\",\n \"mail2jackie.com\",\n \"mail2jacob.com\",\n \"mail2jail.com\",\n \"mail2jaime.com\",\n \"mail2jake.com\",\n \"mail2jamaica.com\",\n \"mail2james.com\",\n \"mail2jamie.com\",\n \"mail2jan.com\",\n \"mail2jane.com\",\n \"mail2janet.com\",\n \"mail2janice.com\",\n \"mail2japan.com\",\n \"mail2japanese.com\",\n \"mail2jasmine.com\",\n \"mail2jason.com\",\n \"mail2java.com\",\n \"mail2jay.com\",\n \"mail2jazz.com\",\n \"mail2jed.com\",\n \"mail2jeffrey.com\",\n \"mail2jennifer.com\",\n \"mail2jenny.com\",\n \"mail2jeremy.com\",\n \"mail2jerry.com\",\n \"mail2jessica.com\",\n \"mail2jessie.com\",\n \"mail2jesus.com\",\n \"mail2jew.com\",\n \"mail2jeweler.com\",\n \"mail2jim.com\",\n \"mail2jimmy.com\",\n \"mail2joan.com\",\n \"mail2joann.com\",\n \"mail2joanna.com\",\n \"mail2jody.com\",\n \"mail2joe.com\",\n \"mail2joel.com\",\n \"mail2joey.com\",\n \"mail2john.com\",\n \"mail2join.com\",\n \"mail2jon.com\",\n \"mail2jonathan.com\",\n \"mail2jones.com\",\n \"mail2jordan.com\",\n \"mail2joseph.com\",\n \"mail2josh.com\",\n \"mail2joy.com\",\n \"mail2juan.com\",\n \"mail2judge.com\",\n \"mail2judy.com\",\n \"mail2juggler.com\",\n \"mail2julian.com\",\n \"mail2julie.com\",\n \"mail2jumbo.com\",\n \"mail2junk.com\",\n \"mail2justin.com\",\n \"mail2justme.com\",\n \"mail2k.ru\",\n \"mail2kansas.com\",\n \"mail2karate.com\",\n \"mail2karen.com\",\n \"mail2karl.com\",\n \"mail2karma.com\",\n \"mail2kathleen.com\",\n \"mail2kathy.com\",\n \"mail2katie.com\",\n \"mail2kay.com\",\n \"mail2kazakhstan.com\",\n \"mail2keen.com\",\n \"mail2keith.com\",\n \"mail2kelly.com\",\n \"mail2kelsey.com\",\n \"mail2ken.com\",\n \"mail2kendall.com\",\n \"mail2kennedy.com\",\n \"mail2kenneth.com\",\n \"mail2kenny.com\",\n \"mail2kentucky.com\",\n \"mail2kenya.com\",\n \"mail2kerry.com\",\n \"mail2kevin.com\",\n \"mail2kim.com\",\n \"mail2kimberly.com\",\n \"mail2king.com\",\n \"mail2kirk.com\",\n \"mail2kiss.com\",\n \"mail2kosher.com\",\n \"mail2kristin.com\",\n \"mail2kurt.com\",\n \"mail2kuwait.com\",\n \"mail2kyle.com\",\n \"mail2kyrgyzstan.com\",\n \"mail2la.com\",\n \"mail2lacrosse.com\",\n \"mail2lance.com\",\n \"mail2lao.com\",\n \"mail2larry.com\",\n \"mail2latvia.com\",\n \"mail2laugh.com\",\n \"mail2laura.com\",\n \"mail2lauren.com\",\n \"mail2laurie.com\",\n \"mail2lawrence.com\",\n \"mail2lawyer.com\",\n \"mail2lebanon.com\",\n \"mail2lee.com\",\n \"mail2leo.com\",\n \"mail2leon.com\",\n \"mail2leonard.com\",\n \"mail2leone.com\",\n \"mail2leslie.com\",\n \"mail2letter.com\",\n \"mail2liberia.com\",\n \"mail2libertarian.com\",\n \"mail2libra.com\",\n \"mail2libya.com\",\n \"mail2liechtenstein.com\",\n \"mail2life.com\",\n \"mail2linda.com\",\n \"mail2linux.com\",\n \"mail2lionel.com\",\n \"mail2lipstick.com\",\n \"mail2liquid.com\",\n \"mail2lisa.com\",\n \"mail2lithuania.com\",\n \"mail2litigator.com\",\n \"mail2liz.com\",\n \"mail2lloyd.com\",\n \"mail2lois.com\",\n \"mail2lola.com\",\n \"mail2london.com\",\n \"mail2looking.com\",\n \"mail2lori.com\",\n \"mail2lost.com\",\n \"mail2lou.com\",\n \"mail2louis.com\",\n \"mail2louisiana.com\",\n \"mail2lovable.com\",\n \"mail2love.com\",\n \"mail2lucky.com\",\n \"mail2lucy.com\",\n \"mail2lunch.com\",\n \"mail2lust.com\",\n \"mail2luxembourg.com\",\n \"mail2luxury.com\",\n \"mail2lyle.com\",\n \"mail2lynn.com\",\n \"mail2madagascar.com\",\n \"mail2madison.com\",\n \"mail2madrid.com\",\n \"mail2maggie.com\",\n \"mail2mail4.com\",\n \"mail2maine.com\",\n \"mail2malawi.com\",\n \"mail2malaysia.com\",\n \"mail2maldives.com\",\n \"mail2mali.com\",\n \"mail2malta.com\",\n \"mail2mambo.com\",\n \"mail2man.com\",\n \"mail2mandy.com\",\n \"mail2manhunter.com\",\n \"mail2mankind.com\",\n \"mail2many.com\",\n \"mail2marc.com\",\n \"mail2marcia.com\",\n \"mail2margaret.com\",\n \"mail2margie.com\",\n \"mail2marhaba.com\",\n \"mail2maria.com\",\n \"mail2marilyn.com\",\n \"mail2marines.com\",\n \"mail2mark.com\",\n \"mail2marriage.com\",\n \"mail2married.com\",\n \"mail2marries.com\",\n \"mail2mars.com\",\n \"mail2marsha.com\",\n \"mail2marshallislands.com\",\n \"mail2martha.com\",\n \"mail2martin.com\",\n \"mail2marty.com\",\n \"mail2marvin.com\",\n \"mail2mary.com\",\n \"mail2maryland.com\",\n \"mail2mason.com\",\n \"mail2massachusetts.com\",\n \"mail2matt.com\",\n \"mail2matthew.com\",\n \"mail2maurice.com\",\n \"mail2mauritania.com\",\n \"mail2mauritius.com\",\n \"mail2max.com\",\n \"mail2maxwell.com\",\n \"mail2maybe.com\",\n \"mail2mba.com\",\n \"mail2me4u.com\",\n \"mail2mechanic.com\",\n \"mail2medieval.com\",\n \"mail2megan.com\",\n \"mail2mel.com\",\n \"mail2melanie.com\",\n \"mail2melissa.com\",\n \"mail2melody.com\",\n \"mail2member.com\",\n \"mail2memphis.com\",\n \"mail2methodist.com\",\n \"mail2mexican.com\",\n \"mail2mexico.com\",\n \"mail2mgz.com\",\n \"mail2miami.com\",\n \"mail2michael.com\",\n \"mail2michelle.com\",\n \"mail2michigan.com\",\n \"mail2mike.com\",\n \"mail2milan.com\",\n \"mail2milano.com\",\n \"mail2mildred.com\",\n \"mail2milkyway.com\",\n \"mail2millennium.com\",\n \"mail2millionaire.com\",\n \"mail2milton.com\",\n \"mail2mime.com\",\n \"mail2mindreader.com\",\n \"mail2mini.com\",\n \"mail2minister.com\",\n \"mail2minneapolis.com\",\n \"mail2minnesota.com\",\n \"mail2miracle.com\",\n \"mail2missionary.com\",\n \"mail2mississippi.com\",\n \"mail2missouri.com\",\n \"mail2mitch.com\",\n \"mail2model.com\",\n \"mail2moldova.commail2molly.com\",\n \"mail2mom.com\",\n \"mail2monaco.com\",\n \"mail2money.com\",\n \"mail2mongolia.com\",\n \"mail2monica.com\",\n \"mail2montana.com\",\n \"mail2monty.com\",\n \"mail2moon.com\",\n \"mail2morocco.com\",\n \"mail2morpheus.com\",\n \"mail2mors.com\",\n \"mail2moscow.com\",\n \"mail2moslem.com\",\n \"mail2mouseketeer.com\",\n \"mail2movies.com\",\n \"mail2mozambique.com\",\n \"mail2mp3.com\",\n \"mail2mrright.com\",\n \"mail2msright.com\",\n \"mail2museum.com\",\n \"mail2music.com\",\n \"mail2musician.com\",\n \"mail2muslim.com\",\n \"mail2my.com\",\n \"mail2myboat.com\",\n \"mail2mycar.com\",\n \"mail2mycell.com\",\n \"mail2mygsm.com\",\n \"mail2mylaptop.com\",\n \"mail2mymac.com\",\n \"mail2mypager.com\",\n \"mail2mypalm.com\",\n \"mail2mypc.com\",\n \"mail2myphone.com\",\n \"mail2myplane.com\",\n \"mail2namibia.com\",\n \"mail2nancy.com\",\n \"mail2nasdaq.com\",\n \"mail2nathan.com\",\n \"mail2nauru.com\",\n \"mail2navy.com\",\n \"mail2neal.com\",\n \"mail2nebraska.com\",\n \"mail2ned.com\",\n \"mail2neil.com\",\n \"mail2nelson.com\",\n \"mail2nemesis.com\",\n \"mail2nepal.com\",\n \"mail2netherlands.com\",\n \"mail2network.com\",\n \"mail2nevada.com\",\n \"mail2newhampshire.com\",\n \"mail2newjersey.com\",\n \"mail2newmexico.com\",\n \"mail2newyork.com\",\n \"mail2newzealand.com\",\n \"mail2nicaragua.com\",\n \"mail2nick.com\",\n \"mail2nicole.com\",\n \"mail2niger.com\",\n \"mail2nigeria.com\",\n \"mail2nike.com\",\n \"mail2no.com\",\n \"mail2noah.com\",\n \"mail2noel.com\",\n \"mail2noelle.com\",\n \"mail2normal.com\",\n \"mail2norman.com\",\n \"mail2northamerica.com\",\n \"mail2northcarolina.com\",\n \"mail2northdakota.com\",\n \"mail2northpole.com\",\n \"mail2norway.com\",\n \"mail2notus.com\",\n \"mail2noway.com\",\n \"mail2nowhere.com\",\n \"mail2nuclear.com\",\n \"mail2nun.com\",\n \"mail2ny.com\",\n \"mail2oasis.com\",\n \"mail2oceanographer.com\",\n \"mail2ohio.com\",\n \"mail2ok.com\",\n \"mail2oklahoma.com\",\n \"mail2oliver.com\",\n \"mail2oman.com\",\n \"mail2one.com\",\n \"mail2onfire.com\",\n \"mail2online.com\",\n \"mail2oops.com\",\n \"mail2open.com\",\n \"mail2ophthalmologist.com\",\n \"mail2optometrist.com\",\n \"mail2oregon.com\",\n \"mail2oscars.com\",\n \"mail2oslo.com\",\n \"mail2painter.com\",\n \"mail2pakistan.com\",\n \"mail2palau.com\",\n \"mail2pan.com\",\n \"mail2panama.com\",\n \"mail2paraguay.com\",\n \"mail2paralegal.com\",\n \"mail2paris.com\",\n \"mail2park.com\",\n \"mail2parker.com\",\n \"mail2party.com\",\n \"mail2passion.com\",\n \"mail2pat.com\",\n \"mail2patricia.com\",\n \"mail2patrick.com\",\n \"mail2patty.com\",\n \"mail2paul.com\",\n \"mail2paula.com\",\n \"mail2pay.com\",\n \"mail2peace.com\",\n \"mail2pediatrician.com\",\n \"mail2peggy.com\",\n \"mail2pennsylvania.com\",\n \"mail2perry.com\",\n \"mail2persephone.com\",\n \"mail2persian.com\",\n \"mail2peru.com\",\n \"mail2pete.com\",\n \"mail2peter.com\",\n \"mail2pharmacist.com\",\n \"mail2phil.com\",\n \"mail2philippines.com\",\n \"mail2phoenix.com\",\n \"mail2phonecall.com\",\n \"mail2phyllis.com\",\n \"mail2pickup.com\",\n \"mail2pilot.com\",\n \"mail2pisces.com\",\n \"mail2planet.com\",\n \"mail2platinum.com\",\n \"mail2plato.com\",\n \"mail2pluto.com\",\n \"mail2pm.com\",\n \"mail2podiatrist.com\",\n \"mail2poet.com\",\n \"mail2poland.com\",\n \"mail2policeman.com\",\n \"mail2policewoman.com\",\n \"mail2politician.com\",\n \"mail2pop.com\",\n \"mail2pope.com\",\n \"mail2popular.com\",\n \"mail2portugal.com\",\n \"mail2poseidon.com\",\n \"mail2potatohead.com\",\n \"mail2power.com\",\n \"mail2presbyterian.com\",\n \"mail2president.com\",\n \"mail2priest.com\",\n \"mail2prince.com\",\n \"mail2princess.com\",\n \"mail2producer.com\",\n \"mail2professor.com\",\n \"mail2protect.com\",\n \"mail2psychiatrist.com\",\n \"mail2psycho.com\",\n \"mail2psychologist.com\",\n \"mail2qatar.com\",\n \"mail2queen.com\",\n \"mail2rabbi.com\",\n \"mail2race.com\",\n \"mail2racer.com\",\n \"mail2rachel.com\",\n \"mail2rage.com\",\n \"mail2rainmaker.com\",\n \"mail2ralph.com\",\n \"mail2randy.com\",\n \"mail2rap.com\",\n \"mail2rare.com\",\n \"mail2rave.com\",\n \"mail2ray.com\",\n \"mail2raymond.com\",\n \"mail2realtor.com\",\n \"mail2rebecca.com\",\n \"mail2recruiter.com\",\n \"mail2recycle.com\",\n \"mail2redhead.com\",\n \"mail2reed.com\",\n \"mail2reggie.com\",\n \"mail2register.com\",\n \"mail2rent.com\",\n \"mail2republican.com\",\n \"mail2resort.com\",\n \"mail2rex.com\",\n \"mail2rhodeisland.com\",\n \"mail2rich.com\",\n \"mail2richard.com\",\n \"mail2ricky.com\",\n \"mail2ride.com\",\n \"mail2riley.com\",\n \"mail2rita.com\",\n \"mail2rob.com\",\n \"mail2robert.com\",\n \"mail2roberta.com\",\n \"mail2robin.com\",\n \"mail2rock.com\",\n \"mail2rocker.com\",\n \"mail2rod.com\",\n \"mail2rodney.com\",\n \"mail2romania.com\",\n \"mail2rome.com\",\n \"mail2ron.com\",\n \"mail2ronald.com\",\n \"mail2ronnie.com\",\n \"mail2rose.com\",\n \"mail2rosie.com\",\n \"mail2roy.com\",\n \"mail2rss.org\",\n \"mail2rudy.com\",\n \"mail2rugby.com\",\n \"mail2runner.com\",\n \"mail2russell.com\",\n \"mail2russia.com\",\n \"mail2russian.com\",\n \"mail2rusty.com\",\n \"mail2ruth.com\",\n \"mail2rwanda.com\",\n \"mail2ryan.com\",\n \"mail2sa.com\",\n \"mail2sabrina.com\",\n \"mail2safe.com\",\n \"mail2sagittarius.com\",\n \"mail2sail.com\",\n \"mail2sailor.com\",\n \"mail2sal.com\",\n \"mail2salaam.com\",\n \"mail2sam.com\",\n \"mail2samantha.com\",\n \"mail2samoa.com\",\n \"mail2samurai.com\",\n \"mail2sandra.com\",\n \"mail2sandy.com\",\n \"mail2sanfrancisco.com\",\n \"mail2sanmarino.com\",\n \"mail2santa.com\",\n \"mail2sara.com\",\n \"mail2sarah.com\",\n \"mail2sat.com\",\n \"mail2saturn.com\",\n \"mail2saudi.com\",\n \"mail2saudiarabia.com\",\n \"mail2save.com\",\n \"mail2savings.com\",\n \"mail2school.com\",\n \"mail2scientist.com\",\n \"mail2scorpio.com\",\n \"mail2scott.com\",\n \"mail2sean.com\",\n \"mail2search.com\",\n \"mail2seattle.com\",\n \"mail2secretagent.com\",\n \"mail2senate.com\",\n \"mail2senegal.com\",\n \"mail2sensual.com\",\n \"mail2seth.com\",\n \"mail2sevenseas.com\",\n \"mail2sexy.com\",\n \"mail2seychelles.com\",\n \"mail2shane.com\",\n \"mail2sharon.com\",\n \"mail2shawn.com\",\n \"mail2ship.com\",\n \"mail2shirley.com\",\n \"mail2shoot.com\",\n \"mail2shuttle.com\",\n \"mail2sierraleone.com\",\n \"mail2simon.com\",\n \"mail2singapore.com\",\n \"mail2single.com\",\n \"mail2site.com\",\n \"mail2skater.com\",\n \"mail2skier.com\",\n \"mail2sky.com\",\n \"mail2sleek.com\",\n \"mail2slim.com\",\n \"mail2slovakia.com\",\n \"mail2slovenia.com\",\n \"mail2smile.com\",\n \"mail2smith.com\",\n \"mail2smooth.com\",\n \"mail2soccer.com\",\n \"mail2soccerfan.com\",\n \"mail2socialist.com\",\n \"mail2soldier.com\",\n \"mail2somalia.com\",\n \"mail2son.com\",\n \"mail2song.com\",\n \"mail2sos.com\",\n \"mail2sound.com\",\n \"mail2southafrica.com\",\n \"mail2southamerica.com\",\n \"mail2southcarolina.com\",\n \"mail2southdakota.com\",\n \"mail2southkorea.com\",\n \"mail2southpole.com\",\n \"mail2spain.com\",\n \"mail2spanish.com\",\n \"mail2spare.com\",\n \"mail2spectrum.com\",\n \"mail2splash.com\",\n \"mail2sponsor.com\",\n \"mail2sports.com\",\n \"mail2srilanka.com\",\n \"mail2stacy.com\",\n \"mail2stan.com\",\n \"mail2stanley.com\",\n \"mail2star.com\",\n \"mail2state.com\",\n \"mail2stephanie.com\",\n \"mail2steve.com\",\n \"mail2steven.com\",\n \"mail2stewart.com\",\n \"mail2stlouis.com\",\n \"mail2stock.com\",\n \"mail2stockholm.com\",\n \"mail2stockmarket.com\",\n \"mail2storage.com\",\n \"mail2store.com\",\n \"mail2strong.com\",\n \"mail2student.com\",\n \"mail2studio.com\",\n \"mail2studio54.com\",\n \"mail2stuntman.com\",\n \"mail2subscribe.com\",\n \"mail2sudan.com\",\n \"mail2superstar.com\",\n \"mail2surfer.com\",\n \"mail2suriname.com\",\n \"mail2susan.com\",\n \"mail2suzie.com\",\n \"mail2swaziland.com\",\n \"mail2sweden.com\",\n \"mail2sweetheart.com\",\n \"mail2swim.com\",\n \"mail2swimmer.com\",\n \"mail2swiss.com\",\n \"mail2switzerland.com\",\n \"mail2sydney.com\",\n \"mail2sylvia.com\",\n \"mail2syria.com\",\n \"mail2taboo.com\",\n \"mail2taiwan.com\",\n \"mail2tajikistan.com\",\n \"mail2tammy.com\",\n \"mail2tango.com\",\n \"mail2tanya.com\",\n \"mail2tanzania.com\",\n \"mail2tara.com\",\n \"mail2taurus.com\",\n \"mail2taxi.com\",\n \"mail2taxidermist.com\",\n \"mail2taylor.com\",\n \"mail2taz.com\",\n \"mail2teacher.com\",\n \"mail2technician.com\",\n \"mail2ted.com\",\n \"mail2telephone.com\",\n \"mail2teletubbie.com\",\n \"mail2tenderness.com\",\n \"mail2tennessee.com\",\n \"mail2tennis.com\",\n \"mail2tennisfan.com\",\n \"mail2terri.com\",\n \"mail2terry.com\",\n \"mail2test.com\",\n \"mail2texas.com\",\n \"mail2thailand.com\",\n \"mail2therapy.com\",\n \"mail2think.com\",\n \"mail2tickets.com\",\n \"mail2tiffany.com\",\n \"mail2tim.com\",\n \"mail2time.com\",\n \"mail2timothy.com\",\n \"mail2tina.com\",\n \"mail2titanic.com\",\n \"mail2toby.com\",\n \"mail2todd.com\",\n \"mail2togo.com\",\n \"mail2tom.com\",\n \"mail2tommy.com\",\n \"mail2tonga.com\",\n \"mail2tony.com\",\n \"mail2touch.com\",\n \"mail2tourist.com\",\n \"mail2tracey.com\",\n \"mail2tracy.com\",\n \"mail2tramp.com\",\n \"mail2travel.com\",\n \"mail2traveler.com\",\n \"mail2travis.com\",\n \"mail2trekkie.com\",\n \"mail2trex.com\",\n \"mail2triallawyer.com\",\n \"mail2trick.com\",\n \"mail2trillionaire.com\",\n \"mail2troy.com\",\n \"mail2truck.com\",\n \"mail2trump.com\",\n \"mail2try.com\",\n \"mail2tunisia.com\",\n \"mail2turbo.com\",\n \"mail2turkey.com\",\n \"mail2turkmenistan.com\",\n \"mail2tv.com\",\n \"mail2tycoon.com\",\n \"mail2tyler.com\",\n \"mail2u4me.com\",\n \"mail2uae.com\",\n \"mail2uganda.com\",\n \"mail2uk.com\",\n \"mail2ukraine.com\",\n \"mail2uncle.com\",\n \"mail2unsubscribe.com\",\n \"mail2uptown.com\",\n \"mail2uruguay.com\",\n \"mail2usa.com\",\n \"mail2utah.com\",\n \"mail2uzbekistan.com\",\n \"mail2v.com\",\n \"mail2vacation.com\",\n \"mail2valentines.com\",\n \"mail2valerie.com\",\n \"mail2valley.com\",\n \"mail2vamoose.com\",\n \"mail2vanessa.com\",\n \"mail2vanuatu.com\",\n \"mail2venezuela.com\",\n \"mail2venous.com\",\n \"mail2venus.com\",\n \"mail2vermont.com\",\n \"mail2vickie.com\",\n \"mail2victor.com\",\n \"mail2victoria.com\",\n \"mail2vienna.com\",\n \"mail2vietnam.com\",\n \"mail2vince.com\",\n \"mail2virginia.com\",\n \"mail2virgo.com\",\n \"mail2visionary.com\",\n \"mail2vodka.com\",\n \"mail2volleyball.com\",\n \"mail2waiter.com\",\n \"mail2wallstreet.com\",\n \"mail2wally.com\",\n \"mail2walter.com\",\n \"mail2warren.com\",\n \"mail2washington.com\",\n \"mail2wave.com\",\n \"mail2way.com\",\n \"mail2waycool.com\",\n \"mail2wayne.com\",\n \"mail2webmaster.com\",\n \"mail2webtop.com\",\n \"mail2webtv.com\",\n \"mail2weird.com\",\n \"mail2wendell.com\",\n \"mail2wendy.com\",\n \"mail2westend.com\",\n \"mail2westvirginia.com\",\n \"mail2whether.com\",\n \"mail2whip.com\",\n \"mail2white.com\",\n \"mail2whitehouse.com\",\n \"mail2whitney.com\",\n \"mail2why.com\",\n \"mail2wilbur.com\",\n \"mail2wild.com\",\n \"mail2willard.com\",\n \"mail2willie.com\",\n \"mail2wine.com\",\n \"mail2winner.com\",\n \"mail2wired.com\",\n \"mail2wisconsin.com\",\n \"mail2woman.com\",\n \"mail2wonder.com\",\n \"mail2world.com\",\n \"mail2worship.com\",\n \"mail2wow.com\",\n \"mail2www.com\",\n \"mail2wyoming.com\",\n \"mail2xfiles.com\",\n \"mail2xox.com\",\n \"mail2yachtclub.com\",\n \"mail2yahalla.com\",\n \"mail2yemen.com\",\n \"mail2yes.com\",\n \"mail2yugoslavia.com\",\n \"mail2zack.com\",\n \"mail2zambia.com\",\n \"mail2zenith.com\",\n \"mail2zephir.com\",\n \"mail2zeus.com\",\n \"mail2zipper.com\",\n \"mail2zoo.com\",\n \"mail2zoologist.com\",\n \"mail2zurich.com\",\n \"mail3000.com\",\n \"mail333.com\",\n \"mail4trash.com\",\n \"mail4u.info\",\n \"mail8.com\",\n \"mailandftp.com\",\n \"mailandnews.com\",\n \"mailas.com\",\n \"mailasia.com\",\n \"mailbidon.com\",\n \"mailbiz.biz\",\n \"mailblocks.com\",\n \"mailbolt.com\",\n \"mailbomb.net\",\n \"mailboom.com\",\n \"mailbox.as\",\n \"mailbox.co.za\",\n \"mailbox.gr\",\n \"mailbox.hu\",\n \"mailbox72.biz\",\n \"mailbox80.biz\",\n \"mailbr.com.br\",\n \"mailbucket.org\",\n \"mailc.net\",\n \"mailcan.com\",\n \"mailcat.biz\",\n \"mailcatch.com\",\n \"mailcc.com\",\n \"mailchoose.co\",\n \"mailcity.com\",\n \"mailclub.fr\",\n \"mailclub.net\",\n \"mailde.de\",\n \"mailde.info\",\n \"maildrop.cc\",\n \"maildrop.gq\",\n \"maildx.com\",\n \"mailed.ro\",\n \"maileimer.de\",\n \"mailexcite.com\",\n \"mailexpire.com\",\n \"mailfa.tk\",\n \"mailfly.com\",\n \"mailforce.net\",\n \"mailforspam.com\",\n \"mailfree.gq\",\n \"mailfreeonline.com\",\n \"mailfreeway.com\",\n \"mailfs.com\",\n \"mailftp.com\",\n \"mailgate.gr\",\n \"mailgate.ru\",\n \"mailgenie.net\",\n \"mailguard.me\",\n \"mailhaven.com\",\n \"mailhood.com\",\n \"mailimate.com\",\n \"mailin8r.com\",\n \"mailinatar.com\",\n \"mailinater.com\",\n \"mailinator.com\",\n \"mailinator.net\",\n \"mailinator.org\",\n \"mailinator.us\",\n \"mailinator2.com\",\n \"mailinblack.com\",\n \"mailincubator.com\",\n \"mailingaddress.org\",\n \"mailingweb.com\",\n \"mailisent.com\",\n \"mailismagic.com\",\n \"mailite.com\",\n \"mailmate.com\",\n \"mailme.dk\",\n \"mailme.gq\",\n \"mailme.ir\",\n \"mailme.lv\",\n \"mailme24.com\",\n \"mailmetrash.com\",\n \"mailmight.com\",\n \"mailmij.nl\",\n \"mailmoat.com\",\n \"mailms.com\",\n \"mailnator.com\",\n \"mailnesia.com\",\n \"mailnew.com\",\n \"mailnull.com\",\n \"mailops.com\",\n \"mailorg.org\",\n \"mailoye.com\",\n \"mailpanda.com\",\n \"mailpick.biz\",\n \"mailpokemon.com\",\n \"mailpost.zzn.com\",\n \"mailpride.com\",\n \"mailproxsy.com\",\n \"mailpuppy.com\",\n \"mailquack.com\",\n \"mailrock.biz\",\n \"mailroom.com\",\n \"mailru.com\",\n \"mailsac.com\",\n \"mailscrap.com\",\n \"mailseal.de\",\n \"mailsent.net\",\n \"mailserver.ru\",\n \"mailservice.ms\",\n \"mailshell.com\",\n \"mailshuttle.com\",\n \"mailsiphon.com\",\n \"mailslapping.com\",\n \"mailsnare.net\",\n \"mailstart.com\",\n \"mailstartplus.com\",\n \"mailsurf.com\",\n \"mailtag.com\",\n \"mailtemp.info\",\n \"mailto.de\",\n \"mailtome.de\",\n \"mailtothis.com\",\n \"mailtrash.net\",\n \"mailtv.net\",\n \"mailtv.tv\",\n \"mailueberfall.de\",\n \"mailup.net\",\n \"mailwire.com\",\n \"mailworks.org\",\n \"mailzi.ru\",\n \"mailzilla.com\",\n \"mailzilla.org\",\n \"makemetheking.com\",\n \"maktoob.com\",\n \"malayalamtelevision.net\",\n \"malayalapathram.com\",\n \"male.ru\",\n \"maltesemail.com\",\n \"mamber.net\",\n \"manager.de\",\n \"manager.in.th\",\n \"mancity.net\",\n \"manlymail.net\",\n \"mantrafreenet.com\",\n \"mantramail.com\",\n \"mantraonline.com\",\n \"manutdfans.com\",\n \"manybrain.com\",\n \"marchmail.com\",\n \"marfino.net\",\n \"margarita.ru\",\n \"mariah-carey.ml.org\",\n \"mariahc.com\",\n \"marijuana.com\",\n \"marijuana.nl\",\n \"marketing.lu\",\n \"marketingfanatic.com\",\n \"marketweighton.com\",\n \"married-not.com\",\n \"marriedandlovingit.com\",\n \"marry.ru\",\n \"marsattack.com\",\n \"martindalemail.com\",\n \"martinguerre.net\",\n \"mash4077.com\",\n \"masrawy.com\",\n \"matmail.com\",\n \"mauimail.com\",\n \"mauritius.com\",\n \"maximumedge.com\",\n \"maxleft.com\",\n \"maxmail.co.uk\",\n \"mayaple.ru\",\n \"mbox.com.au\",\n \"mbx.cc\",\n \"mchsi.com\",\n \"mcrmail.com\",\n \"me-mail.hu\",\n \"me.com\",\n \"meanpeoplesuck.com\",\n \"meatismurder.net\",\n \"medical.net.au\",\n \"medmail.com\",\n \"medscape.com\",\n \"meetingmall.com\",\n \"mega.zik.dj\",\n \"megago.com\",\n \"megamail.pt\",\n \"megapoint.com\",\n \"mehrani.com\",\n \"mehtaweb.com\",\n \"meine-dateien.info\",\n \"meine-diashow.de\",\n \"meine-fotos.info\",\n \"meine-urlaubsfotos.de\",\n \"meinspamschutz.de\",\n \"mekhong.com\",\n \"melodymail.com\",\n \"meloo.com\",\n \"meltmail.com\",\n \"members.student.com\",\n \"menja.net\",\n \"merda.flu.cc\",\n \"merda.igg.biz\",\n \"merda.nut.cc\",\n \"merda.usa.cc\",\n \"merseymail.com\",\n \"mesra.net\",\n \"message.hu\",\n \"message.myspace.com\",\n \"messagebeamer.de\",\n \"messages.to\",\n \"messagez.com\",\n \"metacrawler.com\",\n \"metalfan.com\",\n \"metaping.com\",\n \"metta.lk\",\n \"mexicomail.com\",\n \"mezimages.net\",\n \"mfsa.ru\",\n \"miatadriver.com\",\n \"mierdamail.com\",\n \"miesto.sk\",\n \"mighty.co.za\",\n \"migmail.net\",\n \"migmail.pl\",\n \"migumail.com\",\n \"miho-nakayama.com\",\n \"mikrotamanet.com\",\n \"millionaireintraining.com\",\n \"millionairemail.com\",\n \"milmail.com\",\n \"milmail.com15\",\n \"mindless.com\",\n \"mindspring.com\",\n \"minermail.com\",\n \"mini-mail.com\",\n \"minister.com\",\n \"ministry-of-silly-walks.de\",\n \"mintemail.com\",\n \"misery.net\",\n \"misterpinball.de\",\n \"mit.tc\",\n \"mittalweb.com\",\n \"mixmail.com\",\n \"mjfrogmail.com\",\n \"ml1.net\",\n \"mlanime.com\",\n \"mlb.bounce.ed10.net\",\n \"mm.st\",\n \"mmail.com\",\n \"mns.ru\",\n \"mo3gov.net\",\n \"moakt.com\",\n \"mobico.ru\",\n \"mobilbatam.com\",\n \"mobileninja.co.uk\",\n \"mochamail.com\",\n \"modemnet.net\",\n \"modernenglish.com\",\n \"modomail.com\",\n \"mohammed.com\",\n \"mohmal.com\",\n \"moldova.cc\",\n \"moldova.com\",\n \"moldovacc.com\",\n \"mom-mail.com\",\n \"momslife.com\",\n \"moncourrier.fr.nf\",\n \"monemail.com\",\n \"monemail.fr.nf\",\n \"money.net\",\n \"mongol.net\",\n \"monmail.fr.nf\",\n \"monsieurcinema.com\",\n \"montevideo.com.uy\",\n \"monumentmail.com\",\n \"moomia.com\",\n \"moonman.com\",\n \"moose-mail.com\",\n \"mor19.uu.gl\",\n \"mortaza.com\",\n \"mosaicfx.com\",\n \"moscowmail.com\",\n \"mosk.ru\",\n \"most-wanted.com\",\n \"mostlysunny.com\",\n \"motorcyclefan.net\",\n \"motormania.com\",\n \"movemail.com\",\n \"movieemail.net\",\n \"movieluver.com\",\n \"mox.pp.ua\",\n \"mozartmail.com\",\n \"mozhno.net\",\n \"mp3haze.com\",\n \"mp4.it\",\n \"mr-potatohead.com\",\n \"mrpost.com\",\n \"mrspender.com\",\n \"mscold.com\",\n \"msgbox.com\",\n \"msn.cn\",\n \"msn.com\",\n \"msn.nl\",\n \"msx.ru\",\n \"mt2009.com\",\n \"mt2014.com\",\n \"mt2015.com\",\n \"mt2016.com\",\n \"mttestdriver.com\",\n \"muehlacker.tk\",\n \"multiplechoices\",\n \"mundomail.net\",\n \"munich.com\",\n \"music.com\",\n \"music.com19\",\n \"music.maigate.ru\",\n \"musician.com\",\n \"musician.org\",\n \"musicscene.org\",\n \"muskelshirt.de\",\n \"muslim.com\",\n \"muslimemail.com\",\n \"muslimsonline.com\",\n \"mutantweb.com\",\n \"mvrht.com\",\n \"my.com\",\n \"my10minutemail.com\",\n \"mybox.it\",\n \"mycabin.com\",\n \"mycampus.com\",\n \"mycard.net.ua\",\n \"mycity.com\",\n \"mycleaninbox.net\",\n \"mycool.com\",\n \"mydomain.com\",\n \"mydotcomaddress.com\",\n \"myfairpoint.net\",\n \"myfamily.com\",\n \"myfastmail.com\",\n \"myfunnymail.com\",\n \"mygo.com\",\n \"myiris.com\",\n \"myjazzmail.com\",\n \"mymac.ru\",\n \"mymacmail.com\",\n \"mymail-in.net\",\n \"mymail.ro\",\n \"mynamedot.com\",\n \"mynet.com\",\n \"mynetaddress.com\",\n \"mynetstore.de\",\n \"myotw.net\",\n \"myownemail.com\",\n \"myownfriends.com\",\n \"mypacks.net\",\n \"mypad.com\",\n \"mypartyclip.de\",\n \"mypersonalemail.com\",\n \"myphantomemail.com\",\n \"myplace.com\",\n \"myrambler.ru\",\n \"myrealbox.com\",\n \"myremarq.com\",\n \"mysamp.de\",\n \"myself.com\",\n \"myspaceinc.net\",\n \"myspamless.com\",\n \"mystupidjob.com\",\n \"mytemp.email\",\n \"mytempemail.com\",\n \"mytempmail.com\",\n \"mythirdage.com\",\n \"mytrashmail.com\",\n \"myway.com\",\n \"myworldmail.com\",\n \"n2.com\",\n \"n2baseball.com\",\n \"n2business.com\",\n \"n2mail.com\",\n \"n2soccer.com\",\n \"n2software.com\",\n \"nabc.biz\",\n \"nabuma.com\",\n \"nafe.com\",\n \"nagarealm.com\",\n \"nagpal.net\",\n \"nakedgreens.com\",\n \"name.com\",\n \"nameplanet.com\",\n \"nanaseaikawa.com\",\n \"nandomail.com\",\n \"naplesnews.net\",\n \"naseej.com\",\n \"nate.com\",\n \"nativestar.net\",\n \"nativeweb.net\",\n \"naui.net\",\n \"naver.com\",\n \"navigator.lv\",\n \"navy.org\",\n \"naz.com\",\n \"nc.rr.com\",\n \"nc.ru\",\n \"nchoicemail.com\",\n \"neeva.net\",\n \"nekto.com\",\n \"nekto.net\",\n \"nekto.ru\",\n \"nemra1.com\",\n \"nenter.com\",\n \"neo.rr.com\",\n \"neomailbox.com\",\n \"nepwk.com\",\n \"nervhq.org\",\n \"nervmich.net\",\n \"nervtmich.net\",\n \"net-c.be\",\n \"net-c.ca\",\n \"net-c.cat\",\n \"net-c.com\",\n \"net-c.es\",\n \"net-c.fr\",\n \"net-c.it\",\n \"net-c.lu\",\n \"net-c.nl\",\n \"net-c.pl\",\n \"net-pager.net\",\n \"net-shopping.com\",\n \"net.tf\",\n \"net4b.pt\",\n \"net4you.at\",\n \"netaddres.ru\",\n \"netaddress.ru\",\n \"netbounce.com\",\n \"netbroadcaster.com\",\n \"netby.dk\",\n \"netc.eu\",\n \"netc.fr\",\n \"netc.it\",\n \"netc.lu\",\n \"netc.pl\",\n \"netcenter-vn.net\",\n \"netcity.ru\",\n \"netcmail.com\",\n \"netcourrier.com\",\n \"netexecutive.com\",\n \"netexpressway.com\",\n \"netfirms.com\",\n \"netgenie.com\",\n \"netian.com\",\n \"netizen.com.ar\",\n \"netkushi.com\",\n \"netlane.com\",\n \"netlimit.com\",\n \"netmail.kg\",\n \"netmails.com\",\n \"netmails.net\",\n \"netman.ru\",\n \"netmanor.com\",\n \"netmongol.com\",\n \"netnet.com.sg\",\n \"netnoir.net\",\n \"netpiper.com\",\n \"netposta.net\",\n \"netradiomail.com\",\n \"netralink.com\",\n \"netscape.net\",\n \"netscapeonline.co.uk\",\n \"netspace.net.au\",\n \"netspeedway.com\",\n \"netsquare.com\",\n \"netster.com\",\n \"nettaxi.com\",\n \"nettemail.com\",\n \"netterchef.de\",\n \"netti.fi\",\n \"netvigator.com\",\n \"netzero.com\",\n \"netzero.net\",\n \"netzidiot.de\",\n \"netzoola.com\",\n \"neue-dateien.de\",\n \"neuf.fr\",\n \"neuro.md\",\n \"neustreet.com\",\n \"neverbox.com\",\n \"newap.ru\",\n \"newarbat.net\",\n \"newmail.com\",\n \"newmail.net\",\n \"newmail.ru\",\n \"newsboysmail.com\",\n \"newyork.com\",\n \"newyorkcity.com\",\n \"nextmail.ru\",\n \"nexxmail.com\",\n \"nfmail.com\",\n \"ngs.ru\",\n \"nhmail.com\",\n \"nice-4u.com\",\n \"nicebush.com\",\n \"nicegal.com\",\n \"nicholastse.net\",\n \"nicolastse.com\",\n \"niepodam.pl\",\n \"nightimeuk.com\",\n \"nightmail.com\",\n \"nightmail.ru\",\n \"nikopage.com\",\n \"nikulino.net\",\n \"nimail.com\",\n \"nincsmail.hu\",\n \"ninfan.com\",\n \"nirvanafan.com\",\n \"nm.ru\",\n \"nmail.cf\",\n \"nnh.com\",\n \"nnov.ru\",\n \"no-spam.ws\",\n \"no4ma.ru\",\n \"noavar.com\",\n \"noblepioneer.com\",\n \"nogmailspam.info\",\n \"nomail.pw\",\n \"nomail.xl.cx\",\n \"nomail2me.com\",\n \"nomorespamemails.com\",\n \"nonpartisan.com\",\n \"nonspam.eu\",\n \"nonspammer.de\",\n \"nonstopcinema.com\",\n \"norika-fujiwara.com\",\n \"norikomail.com\",\n \"northgates.net\",\n \"nospam.ze.tc\",\n \"nospam4.us\",\n \"nospamfor.us\",\n \"nospammail.net\",\n \"nospamthanks.info\",\n \"notmailinator.com\",\n \"notsharingmy.info\",\n \"notyouagain.com\",\n \"novogireevo.net\",\n \"novokosino.net\",\n \"nowhere.org\",\n \"nowmymail.com\",\n \"ntelos.net\",\n \"ntlhelp.net\",\n \"ntlworld.com\",\n \"ntscan.com\",\n \"null.net\",\n \"nullbox.info\",\n \"numep.ru\",\n \"nur-fuer-spam.de\",\n \"nurfuerspam.de\",\n \"nus.edu.sg\",\n \"nuvse.com\",\n \"nwldx.com\",\n \"nxt.ru\",\n \"ny.com\",\n \"nybce.com\",\n \"nybella.com\",\n \"nyc.com\",\n \"nycmail.com\",\n \"nz11.com\",\n \"nzoomail.com\",\n \"o-tay.com\",\n \"o2.co.uk\",\n \"o2.pl\",\n \"oaklandas-fan.com\",\n \"oath.com\",\n \"objectmail.com\",\n \"obobbo.com\",\n \"oceanfree.net\",\n \"ochakovo.net\",\n \"odaymail.com\",\n \"oddpost.com\",\n \"odmail.com\",\n \"odnorazovoe.ru\",\n \"office-dateien.de\",\n \"office-email.com\",\n \"officedomain.com\",\n \"offroadwarrior.com\",\n \"oi.com.br\",\n \"oicexchange.com\",\n \"oikrach.com\",\n \"ok.kz\",\n \"ok.net\",\n \"ok.ru\",\n \"okbank.com\",\n \"okhuman.com\",\n \"okmad.com\",\n \"okmagic.com\",\n \"okname.net\",\n \"okuk.com\",\n \"oldbuthealthy.com\",\n \"oldies1041.com\",\n \"oldies104mail.com\",\n \"ole.com\",\n \"olemail.com\",\n \"oligarh.ru\",\n \"olympist.net\",\n \"olypmall.ru\",\n \"omaninfo.com\",\n \"omen.ru\",\n \"ondikoi.com\",\n \"onebox.com\",\n \"onenet.com.ar\",\n \"oneoffemail.com\",\n \"oneoffmail.com\",\n \"onet.com.pl\",\n \"onet.eu\",\n \"onet.pl\",\n \"onewaymail.com\",\n \"oninet.pt\",\n \"onlatedotcom.info\",\n \"online.de\",\n \"online.ie\",\n \"online.ms\",\n \"online.nl\",\n \"online.ru\",\n \"onlinecasinogamblings.com\",\n \"onlinewiz.com\",\n \"onmicrosoft.com\",\n \"onmilwaukee.com\",\n \"onobox.com\",\n \"onvillage.com\",\n \"oopi.org\",\n \"op.pl\",\n \"opayq.com\",\n \"opendiary.com\",\n \"openmailbox.org\",\n \"operafan.com\",\n \"operamail.com\",\n \"opoczta.pl\",\n \"optician.com\",\n \"optonline.net\",\n \"optusnet.com.au\",\n \"orange.fr\",\n \"orange.net\",\n \"orbitel.bg\",\n \"ordinaryamerican.net\",\n \"orgmail.net\",\n \"orthodontist.net\",\n \"osite.com.br\",\n \"oso.com\",\n \"otakumail.com\",\n \"otherinbox.com\",\n \"our-computer.com\",\n \"our-office.com\",\n \"our.st\",\n \"ourbrisbane.com\",\n \"ourklips.com\",\n \"ournet.md\",\n \"outel.com\",\n \"outgun.com\",\n \"outlawspam.com\",\n \"outlook.at\",\n \"outlook.be\",\n \"outlook.cl\",\n \"outlook.co.id\",\n \"outlook.co.il\",\n \"outlook.co.nz\",\n \"outlook.co.th\",\n \"outlook.com\",\n \"outlook.com.au\",\n \"outlook.com.br\",\n \"outlook.com.gr\",\n \"outlook.com.pe\",\n \"outlook.com.tr\",\n \"outlook.com.vn\",\n \"outlook.cz\",\n \"outlook.de\",\n \"outlook.dk\",\n \"outlook.es\",\n \"outlook.fr\",\n \"outlook.hu\",\n \"outlook.ie\",\n \"outlook.in\",\n \"outlook.it\",\n \"outlook.jp\",\n \"outlook.kr\",\n \"outlook.lv\",\n \"outlook.my\",\n \"outlook.nl\",\n \"outlook.ph\",\n \"outlook.pt\",\n \"outlook.sa\",\n \"outlook.sg\",\n \"outlook.sk\",\n \"outloook.com\",\n \"over-the-rainbow.com\",\n \"ovi.com\",\n \"ovpn.to\",\n \"owlpic.com\",\n \"ownmail.net\",\n \"ozbytes.net.au\",\n \"ozemail.com.au\",\n \"ozz.ru\",\n \"pacbell.net\",\n \"pacific-ocean.com\",\n \"pacific-re.com\",\n \"pacificwest.com\",\n \"packersfan.com\",\n \"pagina.de\",\n \"pagons.org\",\n \"paidforsurf.com\",\n \"pakistanmail.com\",\n \"pakistanoye.com\",\n \"palestinemail.com\",\n \"pancakemail.com\",\n \"pandawa.com\",\n \"pandora.be\",\n \"paradiseemail.com\",\n \"paris.com\",\n \"parkjiyoon.com\",\n \"parrot.com\",\n \"parsmail.com\",\n \"partlycloudy.com\",\n \"partybombe.de\",\n \"partyheld.de\",\n \"partynight.at\",\n \"parvazi.com\",\n \"passwordmail.com\",\n \"pathfindermail.com\",\n \"patmail.com\",\n \"patra.net\",\n \"pconnections.net\",\n \"pcpostal.com\",\n \"pcsrock.com\",\n \"pcusers.otherinbox.com\",\n \"peachworld.com\",\n \"pechkin.ru\",\n \"pediatrician.com\",\n \"pekklemail.com\",\n \"pemail.net\",\n \"penpen.com\",\n \"peoplepc.com\",\n \"peopleweb.com\",\n \"pepbot.com\",\n \"perfectmail.com\",\n \"perovo.net\",\n \"perso.be\",\n \"personal.ro\",\n \"personales.com\",\n \"petlover.com\",\n \"petml.com\",\n \"petr.ru\",\n \"pettypool.com\",\n \"pezeshkpour.com\",\n \"pfui.ru\",\n \"phayze.com\",\n \"phone.net\",\n \"photo-impact.eu\",\n \"photographer.net\",\n \"phpbb.uu.gl\",\n \"phreaker.net\",\n \"phus8kajuspa.cu.cc\",\n \"physicist.net\",\n \"pianomail.com\",\n \"pickupman.com\",\n \"picusnet.com\",\n \"piercedallover.com\",\n \"pigeonportal.com\",\n \"pigmail.net\",\n \"pigpig.net\",\n \"pilotemail.com\",\n \"pimagop.com\",\n \"pinoymail.com\",\n \"piracha.net\",\n \"pisem.net\",\n \"pjjkp.com\",\n \"planet-mail.com\",\n \"planet.nl\",\n \"planetaccess.com\",\n \"planetall.com\",\n \"planetarymotion.net\",\n \"planetdirect.com\",\n \"planetearthinter.net\",\n \"planetmail.com\",\n \"planetmail.net\",\n \"planetout.com\",\n \"plasa.com\",\n \"playersodds.com\",\n \"playful.com\",\n \"playstation.sony.com\",\n \"plexolan.de\",\n \"pluno.com\",\n \"plus.com\",\n \"plus.google.com\",\n \"plusmail.com.br\",\n \"pmail.net\",\n \"pobox.com\",\n \"pobox.hu\",\n \"pobox.ru\",\n \"pobox.sk\",\n \"pochta.by\",\n \"pochta.ru\",\n \"pochta.ws\",\n \"pochtamt.ru\",\n \"poczta.fm\",\n \"poczta.onet.pl\",\n \"poetic.com\",\n \"pokemail.net\",\n \"pokemonpost.com\",\n \"pokepost.com\",\n \"polandmail.com\",\n \"polbox.com\",\n \"policeoffice.com\",\n \"politician.com\",\n \"politikerclub.de\",\n \"polizisten-duzer.de\",\n \"polyfaust.com\",\n \"poofy.org\",\n \"poohfan.com\",\n \"pookmail.com\",\n \"pool-sharks.com\",\n \"poond.com\",\n \"pop3.ru\",\n \"popaccount.com\",\n \"popmail.com\",\n \"popsmail.com\",\n \"popstar.com\",\n \"populus.net\",\n \"portableoffice.com\",\n \"portugalmail.com\",\n \"portugalmail.pt\",\n \"portugalnet.com\",\n \"positive-thinking.com\",\n \"post.com\",\n \"post.cz\",\n \"post.sk\",\n \"posta.net\",\n \"posta.ro\",\n \"posta.rosativa.ro.org\",\n \"postaccesslite.com\",\n \"postafiok.hu\",\n \"postafree.com\",\n \"postaweb.com\",\n \"poste.it\",\n \"postfach.cc\",\n \"postinbox.com\",\n \"postino.ch\",\n \"postino.it\",\n \"postmark.net\",\n \"postmaster.co.uk\",\n \"postmaster.twitter.com\",\n \"postpro.net\",\n \"pousa.com\",\n \"powerdivas.com\",\n \"powerfan.com\",\n \"pp.inet.fi\",\n \"praize.com\",\n \"pray247.com\",\n \"predprinimatel.ru\",\n \"premium-mail.fr\",\n \"premiumproducts.com\",\n \"premiumservice.com\",\n \"prepodavatel.ru\",\n \"presidency.com\",\n \"presnya.net\",\n \"press.co.jp\",\n \"prettierthanher.com\",\n \"priest.com\",\n \"primposta.com\",\n \"primposta.hu\",\n \"printesamargareta.ro\",\n \"privacy.net\",\n \"privatdemail.net\",\n \"privy-mail.com\",\n \"privymail.de\",\n \"pro.hu\",\n \"probemail.com\",\n \"prodigy.net\",\n \"prodigy.net.mx\",\n \"professor.ru\",\n \"progetplus.it\",\n \"programist.ru\",\n \"programmer.net\",\n \"programozo.hu\",\n \"proinbox.com\",\n \"project2k.com\",\n \"prokuratura.ru\",\n \"prolaunch.com\",\n \"promessage.com\",\n \"prontomail.com\",\n \"prontomail.compopulus.net\",\n \"protestant.com\",\n \"protonmail.com\",\n \"proxymail.eu\",\n \"prtnx.com\",\n \"prydirect.info\",\n \"psv-supporter.com\",\n \"ptd.net\",\n \"public-files.de\",\n \"public.usa.com\",\n \"publicist.com\",\n \"pulp-fiction.com\",\n \"punkass.com\",\n \"puppy.com.my\",\n \"purinmail.com\",\n \"purpleturtle.com\",\n \"put2.net\",\n \"putthisinyourspamdatabase.com\",\n \"pwrby.com\",\n \"q.com\",\n \"qatar.io\",\n \"qatarmail.com\",\n \"qdice.com\",\n \"qip.ru\",\n \"qmail.com\",\n \"qprfans.com\",\n \"qq.com\",\n \"qrio.com\",\n \"quackquack.com\",\n \"quake.ru\",\n \"quakemail.com\",\n \"qualityservice.com\",\n \"quantentunnel.de\",\n \"qudsmail.com\",\n \"quepasa.com\",\n \"quickhosts.com\",\n \"quickinbox.com\",\n \"quickmail.nl\",\n \"quickmail.ru\",\n \"quicknet.nl\",\n \"quickwebmail.com\",\n \"quiklinks.com\",\n \"quikmail.com\",\n \"qv7.info\",\n \"qwest.net\",\n \"qwestoffice.net\",\n \"r-o-o-t.com\",\n \"r7.com\",\n \"raakim.com\",\n \"racedriver.com\",\n \"racefanz.com\",\n \"racingfan.com.au\",\n \"racingmail.com\",\n \"radicalz.com\",\n \"radiku.ye.vc\",\n \"radiologist.net\",\n \"ragingbull.com\",\n \"ralib.com\",\n \"rambler.ru\",\n \"ranmamail.com\",\n \"rastogi.net\",\n \"ratt-n-roll.com\",\n \"rattle-snake.com\",\n \"raubtierbaendiger.de\",\n \"ravearena.com\",\n \"ravefan.com\",\n \"ravemail.co.za\",\n \"ravemail.com\",\n \"razormail.com\",\n \"rccgmail.org\",\n \"rcn.com\",\n \"rcpt.at\",\n \"realemail.net\",\n \"realestatemail.net\",\n \"reality-concept.club\",\n \"reallyfast.biz\",\n \"reallyfast.info\",\n \"reallymymail.com\",\n \"realradiomail.com\",\n \"realtyagent.com\",\n \"realtyalerts.ca\",\n \"reborn.com\",\n \"recode.me\",\n \"reconmail.com\",\n \"recursor.net\",\n \"recycledmail.com\",\n \"recycler.com\",\n \"recyclermail.com\",\n \"rediff.com\",\n \"rediffmail.com\",\n \"rediffmailpro.com\",\n \"rednecks.com\",\n \"redseven.de\",\n \"redsfans.com\",\n \"redwhitearmy.com\",\n \"regbypass.com\",\n \"reggaefan.com\",\n \"reggafan.com\",\n \"regiononline.com\",\n \"registerednurses.com\",\n \"regspaces.tk\",\n \"reincarnate.com\",\n \"relia.com\",\n \"reliable-mail.com\",\n \"religious.com\",\n \"remail.ga\",\n \"renren.com\",\n \"repairman.com\",\n \"reply.hu\",\n \"reply.ticketmaster.com\",\n \"represantive.com\",\n \"representative.com\",\n \"rescueteam.com\",\n \"resgedvgfed.tk\",\n \"resource.calendar.google.com\",\n \"resumemail.com\",\n \"retailfan.com\",\n \"rexian.com\",\n \"rezai.com\",\n \"rhyta.com\",\n \"richmondhill.com\",\n \"rickymail.com\",\n \"rin.ru\",\n \"ring.by\",\n \"riopreto.com.br\",\n \"rklips.com\",\n \"rmqkr.net\",\n \"rn.com\",\n \"ro.ru\",\n \"roadrunner.com\",\n \"roanokemail.com\",\n \"rock.com\",\n \"rocketmail.com\",\n \"rocketship.com\",\n \"rockfan.com\",\n \"rodrun.com\",\n \"rogers.com\",\n \"rojname.com\",\n \"rol.ro\",\n \"rome.com\",\n \"romymichele.com\",\n \"roosh.com\",\n \"rootprompt.org\",\n \"rotfl.com\",\n \"roughnet.com\",\n \"royal.net\",\n \"rpharmacist.com\",\n \"rr.com\",\n \"rrohio.com\",\n \"rsub.com\",\n \"rt.nl\",\n \"rtrtr.com\",\n \"ru.ru\",\n \"rubyridge.com\",\n \"runbox.com\",\n \"rushpost.com\",\n \"ruttolibero.com\",\n \"rvshop.com\",\n \"rxdoc.biz\",\n \"s-mail.com\",\n \"s0ny.net\",\n \"sabreshockey.com\",\n \"sacbeemail.com\",\n \"saeuferleber.de\",\n \"safarimail.com\",\n \"safe-mail.net\",\n \"safersignup.de\",\n \"safetymail.info\",\n \"safetypost.de\",\n \"safrica.com\",\n \"sagra.lu\",\n \"sagra.lu.lu\",\n \"sagra.lumarketing.lu\",\n \"sags-per-mail.de\",\n \"sailormoon.com\",\n \"saint-mike.org\",\n \"saintly.com\",\n \"saintmail.net\",\n \"sale-sale-sale.com\",\n \"salehi.net\",\n \"salesperson.net\",\n \"samerica.com\",\n \"samilan.net\",\n \"samiznaetekogo.net\",\n \"sammimail.com\",\n \"sanchezsharks.com\",\n \"sandelf.de\",\n \"sanfranmail.com\",\n \"sanook.com\",\n \"sanriotown.com\",\n \"santanmail.com\",\n \"sapo.pt\",\n \"sativa.ro.org\",\n \"saturnfans.com\",\n \"saturnperformance.com\",\n \"saudia.com\",\n \"savecougars.com\",\n \"savelife.ml\",\n \"saveowls.com\",\n \"sayhi.net\",\n \"saynotospams.com\",\n \"sbcglbal.net\",\n \"sbcglobal.com\",\n \"sbcglobal.net\",\n \"scandalmail.com\",\n \"scanova.in\",\n \"scanova.io\",\n \"scarlet.nl\",\n \"scfn.net\",\n \"schafmail.de\",\n \"schizo.com\",\n \"schmusemail.de\",\n \"schoolemail.com\",\n \"schoolmail.com\",\n \"schoolsucks.com\",\n \"schreib-doch-mal-wieder.de\",\n \"schrott-email.de\",\n \"schweiz.org\",\n \"sci.fi\",\n \"science.com.au\",\n \"scientist.com\",\n \"scifianime.com\",\n \"scotland.com\",\n \"scotlandmail.com\",\n \"scottishmail.co.uk\",\n \"scottishtories.com\",\n \"scottsboro.org\",\n \"scrapbookscrapbook.com\",\n \"scubadiving.com\",\n \"seanet.com\",\n \"search.ua\",\n \"search417.com\",\n \"searchwales.com\",\n \"sebil.com\",\n \"seckinmail.com\",\n \"secret-police.com\",\n \"secretarias.com\",\n \"secretary.net\",\n \"secretemail.de\",\n \"secretservices.net\",\n \"secure-mail.biz\",\n \"secure-mail.cc\",\n \"seductive.com\",\n \"seekstoyboy.com\",\n \"seguros.com.br\",\n \"sekomaonline.com\",\n \"selfdestructingmail.com\",\n \"sellingspree.com\",\n \"send.hu\",\n \"sendmail.ru\",\n \"sendme.cz\",\n \"sendspamhere.com\",\n \"senseless-entertainment.com\",\n \"sent.as\",\n \"sent.at\",\n \"sent.com\",\n \"sentrismail.com\",\n \"serga.com.ar\",\n \"servemymail.com\",\n \"servermaps.net\",\n \"services391.com\",\n \"sesmail.com\",\n \"sexmagnet.com\",\n \"seznam.cz\",\n \"sfr.fr\",\n \"shahweb.net\",\n \"shaniastuff.com\",\n \"shared-files.de\",\n \"sharedmailbox.org\",\n \"sharewaredevelopers.com\",\n \"sharklasers.com\",\n \"sharmaweb.com\",\n \"shaw.ca\",\n \"she.com\",\n \"shellov.net\",\n \"shieldedmail.com\",\n \"shieldemail.com\",\n \"shiftmail.com\",\n \"shinedyoureyes.com\",\n \"shitaway.cf\",\n \"shitaway.cu.cc\",\n \"shitaway.ga\",\n \"shitaway.gq\",\n \"shitaway.ml\",\n \"shitaway.tk\",\n \"shitaway.usa.cc\",\n \"shitmail.de\",\n \"shitmail.me\",\n \"shitmail.org\",\n \"shitware.nl\",\n \"shmeriously.com\",\n \"shockinmytown.cu.cc\",\n \"shootmail.com\",\n \"shortmail.com\",\n \"shortmail.net\",\n \"shotgun.hu\",\n \"showfans.com\",\n \"showslow.de\",\n \"shqiptar.eu\",\n \"shuf.com\",\n \"sialkotcity.com\",\n \"sialkotian.com\",\n \"sialkotoye.com\",\n \"sibmail.com\",\n \"sify.com\",\n \"sigaret.net\",\n \"silkroad.net\",\n \"simbamail.fm\",\n \"sina.cn\",\n \"sina.com\",\n \"sinamail.com\",\n \"singapore.com\",\n \"singles4jesus.com\",\n \"singmail.com\",\n \"singnet.com.sg\",\n \"singpost.com\",\n \"sinnlos-mail.de\",\n \"sirindia.com\",\n \"siteposter.net\",\n \"skafan.com\",\n \"skeefmail.com\",\n \"skim.com\",\n \"skizo.hu\",\n \"skrx.tk\",\n \"skunkbox.com\",\n \"sky.com\",\n \"skynet.be\",\n \"slamdunkfan.com\",\n \"slapsfromlastnight.com\",\n \"slaskpost.se\",\n \"slave-auctions.net\",\n \"slickriffs.co.uk\",\n \"slingshot.com\",\n \"slippery.email\",\n \"slipry.net\",\n \"slo.net\",\n \"slotter.com\",\n \"sm.westchestergov.com\",\n \"smap.4nmv.ru\",\n \"smapxsmap.net\",\n \"smashmail.de\",\n \"smellfear.com\",\n \"smellrear.com\",\n \"smileyface.comsmithemail.net\",\n \"sminkymail.com\",\n \"smoothmail.com\",\n \"sms.at\",\n \"smtp.ru\",\n \"snail-mail.net\",\n \"snail-mail.ney\",\n \"snakebite.com\",\n \"snakemail.com\",\n \"sndt.net\",\n \"sneakemail.com\",\n \"sneakmail.de\",\n \"snet.net\",\n \"sniper.hu\",\n \"snkmail.com\",\n \"snoopymail.com\",\n \"snowboarding.com\",\n \"snowdonia.net\",\n \"so-simple.org\",\n \"socamail.com\",\n \"socceraccess.com\",\n \"socceramerica.net\",\n \"soccermail.com\",\n \"soccermomz.com\",\n \"social-mailer.tk\",\n \"socialworker.net\",\n \"sociologist.com\",\n \"sofimail.com\",\n \"sofort-mail.de\",\n \"sofortmail.de\",\n \"softhome.net\",\n \"sogetthis.com\",\n \"sogou.com\",\n \"sohu.com\",\n \"sokolniki.net\",\n \"sol.dk\",\n \"solar-impact.pro\",\n \"solcon.nl\",\n \"soldier.hu\",\n \"solution4u.com\",\n \"solvemail.info\",\n \"songwriter.net\",\n \"sonnenkinder.org\",\n \"soodomail.com\",\n \"soodonims.com\",\n \"soon.com\",\n \"soulfoodcookbook.com\",\n \"soundofmusicfans.com\",\n \"southparkmail.com\",\n \"sovsem.net\",\n \"sp.nl\",\n \"space-bank.com\",\n \"space-man.com\",\n \"space-ship.com\",\n \"space-travel.com\",\n \"space.com\",\n \"spaceart.com\",\n \"spacebank.com\",\n \"spacemart.com\",\n \"spacetowns.com\",\n \"spacewar.com\",\n \"spainmail.com\",\n \"spam.2012-2016.ru\",\n \"spam4.me\",\n \"spamail.de\",\n \"spamarrest.com\",\n \"spamavert.com\",\n \"spambob.com\",\n \"spambob.net\",\n \"spambob.org\",\n \"spambog.com\",\n \"spambog.de\",\n \"spambog.net\",\n \"spambog.ru\",\n \"spambooger.com\",\n \"spambox.info\",\n \"spambox.us\",\n \"spamcannon.com\",\n \"spamcannon.net\",\n \"spamcero.com\",\n \"spamcon.org\",\n \"spamcorptastic.com\",\n \"spamcowboy.com\",\n \"spamcowboy.net\",\n \"spamcowboy.org\",\n \"spamday.com\",\n \"spamdecoy.net\",\n \"spameater.com\",\n \"spameater.org\",\n \"spamex.com\",\n \"spamfree.eu\",\n \"spamfree24.com\",\n \"spamfree24.de\",\n \"spamfree24.info\",\n \"spamfree24.net\",\n \"spamfree24.org\",\n \"spamgoes.in\",\n \"spamgourmet.com\",\n \"spamgourmet.net\",\n \"spamgourmet.org\",\n \"spamherelots.com\",\n \"spamhereplease.com\",\n \"spamhole.com\",\n \"spamify.com\",\n \"spaminator.de\",\n \"spamkill.info\",\n \"spaml.com\",\n \"spaml.de\",\n \"spammotel.com\",\n \"spamobox.com\",\n \"spamoff.de\",\n \"spamslicer.com\",\n \"spamspot.com\",\n \"spamstack.net\",\n \"spamthis.co.uk\",\n \"spamtroll.net\",\n \"spankthedonkey.com\",\n \"spartapiet.com\",\n \"spazmail.com\",\n \"speed.1s.fr\",\n \"speedemail.net\",\n \"speedpost.net\",\n \"speedrules.com\",\n \"speedrulz.com\",\n \"speedy.com.ar\",\n \"speedymail.org\",\n \"sperke.net\",\n \"spils.com\",\n \"spinfinder.com\",\n \"spiritseekers.com\",\n \"spl.at\",\n \"spoko.pl\",\n \"spoofmail.de\",\n \"sportemail.com\",\n \"sportmail.ru\",\n \"sportsmail.com\",\n \"sporttruckdriver.com\",\n \"spray.no\",\n \"spray.se\",\n \"spybox.de\",\n \"spymac.com\",\n \"sraka.xyz\",\n \"srilankan.net\",\n \"ssl-mail.com\",\n \"st-davids.net\",\n \"stade.fr\",\n \"stalag13.com\",\n \"standalone.net\",\n \"starbuzz.com\",\n \"stargateradio.com\",\n \"starmail.com\",\n \"starmail.org\",\n \"starmedia.com\",\n \"starplace.com\",\n \"starspath.com\",\n \"start.com.au\",\n \"starting-point.com\",\n \"startkeys.com\",\n \"startrekmail.com\",\n \"starwars-fans.com\",\n \"stealthmail.com\",\n \"stillchronic.com\",\n \"stinkefinger.net\",\n \"stipte.nl\",\n \"stockracer.com\",\n \"stockstorm.com\",\n \"stoned.com\",\n \"stones.com\",\n \"stop-my-spam.pp.ua\",\n \"stopdropandroll.com\",\n \"storksite.com\",\n \"streber24.de\",\n \"streetwisemail.com\",\n \"stribmail.com\",\n \"strompost.com\",\n \"strongguy.com\",\n \"student.su\",\n \"studentcenter.org\",\n \"stuffmail.de\",\n \"subnetwork.com\",\n \"subram.com\",\n \"sudanmail.net\",\n \"sudolife.me\",\n \"sudolife.net\",\n \"sudomail.biz\",\n \"sudomail.com\",\n \"sudomail.net\",\n \"sudoverse.com\",\n \"sudoverse.net\",\n \"sudoweb.net\",\n \"sudoworld.com\",\n \"sudoworld.net\",\n \"sueddeutsche.de\",\n \"suhabi.com\",\n \"suisse.org\",\n \"sukhumvit.net\",\n \"sul.com.br\",\n \"sunmail1.com\",\n \"sunpoint.net\",\n \"sunrise-sunset.com\",\n \"sunsgame.com\",\n \"sunumail.sn\",\n \"suomi24.fi\",\n \"super-auswahl.de\",\n \"superdada.com\",\n \"supereva.it\",\n \"supergreatmail.com\",\n \"supermail.ru\",\n \"supermailer.jp\",\n \"superman.ru\",\n \"superposta.com\",\n \"superrito.com\",\n \"superstachel.de\",\n \"surat.com\",\n \"suremail.info\",\n \"surf3.net\",\n \"surfree.com\",\n \"surfsupnet.net\",\n \"surfy.net\",\n \"surgical.net\",\n \"surimail.com\",\n \"survivormail.com\",\n \"susi.ml\",\n \"sviblovo.net\",\n \"svk.jp\",\n \"swbell.net\",\n \"sweb.cz\",\n \"swedenmail.com\",\n \"sweetville.net\",\n \"sweetxxx.de\",\n \"swift-mail.com\",\n \"swiftdesk.com\",\n \"swingeasyhithard.com\",\n \"swingfan.com\",\n \"swipermail.zzn.com\",\n \"swirve.com\",\n \"swissinfo.org\",\n \"swissmail.com\",\n \"swissmail.net\",\n \"switchboardmail.com\",\n \"switzerland.org\",\n \"sx172.com\",\n \"sympatico.ca\",\n \"syom.com\",\n \"syriamail.com\",\n \"t-online.de\",\n \"t.psh.me\",\n \"t2mail.com\",\n \"tafmail.com\",\n \"takoe.com\",\n \"takoe.net\",\n \"takuyakimura.com\",\n \"talk21.com\",\n \"talkcity.com\",\n \"talkinator.com\",\n \"talktalk.co.uk\",\n \"tamb.ru\",\n \"tamil.com\",\n \"tampabay.rr.com\",\n \"tangmonkey.com\",\n \"tankpolice.com\",\n \"taotaotano.com\",\n \"tatanova.com\",\n \"tattooedallover.com\",\n \"tattoofanatic.com\",\n \"tbwt.com\",\n \"tcc.on.ca\",\n \"tds.net\",\n \"teacher.com\",\n \"teachermail.net\",\n \"teachers.org\",\n \"teamdiscovery.com\",\n \"teamtulsa.net\",\n \"tech-center.com\",\n \"tech4peace.org\",\n \"techemail.com\",\n \"techie.com\",\n \"technisamail.co.za\",\n \"technologist.com\",\n \"technologyandstocks.com\",\n \"techpointer.com\",\n \"techscout.com\",\n \"techseek.com\",\n \"techsniper.com\",\n \"techspot.com\",\n \"teenagedirtbag.com\",\n \"teewars.org\",\n \"tele2.nl\",\n \"telebot.com\",\n \"telebot.net\",\n \"telefonica.net\",\n \"teleline.es\",\n \"telenet.be\",\n \"telepac.pt\",\n \"telerymd.com\",\n \"teleserve.dynip.com\",\n \"teletu.it\",\n \"teleworm.com\",\n \"teleworm.us\",\n \"telfort.nl\",\n \"telfortglasvezel.nl\",\n \"telinco.net\",\n \"telkom.net\",\n \"telpage.net\",\n \"telstra.com\",\n \"telstra.com.au\",\n \"temp-mail.com\",\n \"temp-mail.de\",\n \"temp-mail.org\",\n \"temp-mail.ru\",\n \"temp.headstrong.de\",\n \"tempail.com\",\n \"tempe-mail.com\",\n \"tempemail.biz\",\n \"tempemail.co.za\",\n \"tempemail.com\",\n \"tempemail.net\",\n \"tempinbox.co.uk\",\n \"tempinbox.com\",\n \"tempmail.eu\",\n \"tempmail.it\",\n \"tempmail.us\",\n \"tempmail2.com\",\n \"tempmaildemo.com\",\n \"tempmailer.com\",\n \"tempmailer.de\",\n \"tempomail.fr\",\n \"temporarioemail.com.br\",\n \"temporaryemail.net\",\n \"temporaryemail.us\",\n \"temporaryforwarding.com\",\n \"temporaryinbox.com\",\n \"temporarymailaddress.com\",\n \"tempthe.net\",\n \"tempymail.com\",\n \"temtulsa.net\",\n \"tenchiclub.com\",\n \"tenderkiss.com\",\n \"tennismail.com\",\n \"terminverpennt.de\",\n \"terra.cl\",\n \"terra.com\",\n \"terra.com.ar\",\n \"terra.com.br\",\n \"terra.com.pe\",\n \"terra.es\",\n \"test.com\",\n \"test.de\",\n \"tfanus.com.er\",\n \"tfbnw.net\",\n \"tfz.net\",\n \"tgasa.ru\",\n \"tgma.ru\",\n \"tgngu.ru\",\n \"tgu.ru\",\n \"thai.com\",\n \"thaimail.com\",\n \"thaimail.net\",\n \"thanksnospam.info\",\n \"thankyou2010.com\",\n \"thc.st\",\n \"the-african.com\",\n \"the-airforce.com\",\n \"the-aliens.com\",\n \"the-american.com\",\n \"the-animal.com\",\n \"the-army.com\",\n \"the-astronaut.com\",\n \"the-beauty.com\",\n \"the-big-apple.com\",\n \"the-biker.com\",\n \"the-boss.com\",\n \"the-brazilian.com\",\n \"the-canadian.com\",\n \"the-canuck.com\",\n \"the-captain.com\",\n \"the-chinese.com\",\n \"the-country.com\",\n \"the-cowboy.com\",\n \"the-davis-home.com\",\n \"the-dutchman.com\",\n \"the-eagles.com\",\n \"the-englishman.com\",\n \"the-fastest.net\",\n \"the-fool.com\",\n \"the-frenchman.com\",\n \"the-galaxy.net\",\n \"the-genius.com\",\n \"the-gentleman.com\",\n \"the-german.com\",\n \"the-gremlin.com\",\n \"the-hooligan.com\",\n \"the-italian.com\",\n \"the-japanese.com\",\n \"the-lair.com\",\n \"the-madman.com\",\n \"the-mailinglist.com\",\n \"the-marine.com\",\n \"the-master.com\",\n \"the-mexican.com\",\n \"the-ministry.com\",\n \"the-monkey.com\",\n \"the-newsletter.net\",\n \"the-pentagon.com\",\n \"the-police.com\",\n \"the-prayer.com\",\n \"the-professional.com\",\n \"the-quickest.com\",\n \"the-russian.com\",\n \"the-seasiders.com\",\n \"the-snake.com\",\n \"the-spaceman.com\",\n \"the-stock-market.com\",\n \"the-student.net\",\n \"the-whitehouse.net\",\n \"the-wild-west.com\",\n \"the18th.com\",\n \"thecoolguy.com\",\n \"thecriminals.com\",\n \"thedoghousemail.com\",\n \"thedorm.com\",\n \"theend.hu\",\n \"theglobe.com\",\n \"thegolfcourse.com\",\n \"thegooner.com\",\n \"theheadoffice.com\",\n \"theinternetemail.com\",\n \"thelanddownunder.com\",\n \"thelimestones.com\",\n \"themail.com\",\n \"themillionare.net\",\n \"theoffice.net\",\n \"theplate.com\",\n \"thepokerface.com\",\n \"thepostmaster.net\",\n \"theraces.com\",\n \"theracetrack.com\",\n \"therapist.net\",\n \"thereisnogod.com\",\n \"thesimpsonsfans.com\",\n \"thestreetfighter.com\",\n \"theteebox.com\",\n \"thewatercooler.com\",\n \"thewebpros.co.uk\",\n \"thewizzard.com\",\n \"thewizzkid.com\",\n \"thexyz.ca\",\n \"thexyz.cn\",\n \"thexyz.com\",\n \"thexyz.es\",\n \"thexyz.fr\",\n \"thexyz.in\",\n \"thexyz.mobi\",\n \"thexyz.net\",\n \"thexyz.org\",\n \"thezhangs.net\",\n \"thirdage.com\",\n \"thisgirl.com\",\n \"thisisnotmyrealemail.com\",\n \"thismail.net\",\n \"thoic.com\",\n \"thraml.com\",\n \"thrott.com\",\n \"throwam.com\",\n \"throwawayemailaddress.com\",\n \"thundermail.com\",\n \"tibetemail.com\",\n \"tidni.com\",\n \"tilien.com\",\n \"timein.net\",\n \"timormail.com\",\n \"tin.it\",\n \"tipsandadvice.com\",\n \"tiran.ru\",\n \"tiscali.at\",\n \"tiscali.be\",\n \"tiscali.co.uk\",\n \"tiscali.it\",\n \"tiscali.lu\",\n \"tiscali.se\",\n \"tittbit.in\",\n \"tizi.com\",\n \"tkcity.com\",\n \"tlcfan.com\",\n \"tmail.ws\",\n \"tmailinator.com\",\n \"tmicha.net\",\n \"toast.com\",\n \"toke.com\",\n \"tokyo.com\",\n \"tom.com\",\n \"toolsource.com\",\n \"toomail.biz\",\n \"toothfairy.com\",\n \"topchat.com\",\n \"topgamers.co.uk\",\n \"topletter.com\",\n \"topmail-files.de\",\n \"topmail.com.ar\",\n \"topranklist.de\",\n \"topsurf.com\",\n \"topteam.bg\",\n \"toquedequeda.com\",\n \"torba.com\",\n \"torchmail.com\",\n \"torontomail.com\",\n \"tortenboxer.de\",\n \"totalmail.com\",\n \"totalmail.de\",\n \"totalmusic.net\",\n \"totalsurf.com\",\n \"toughguy.net\",\n \"townisp.com\",\n \"tpg.com.au\",\n \"tradermail.info\",\n \"trainspottingfan.com\",\n \"trash-amil.com\",\n \"trash-mail.at\",\n \"trash-mail.com\",\n \"trash-mail.de\",\n \"trash-mail.ga\",\n \"trash-mail.ml\",\n \"trash2009.com\",\n \"trash2010.com\",\n \"trash2011.com\",\n \"trashdevil.com\",\n \"trashdevil.de\",\n \"trashemail.de\",\n \"trashmail.at\",\n \"trashmail.com\",\n \"trashmail.de\",\n \"trashmail.me\",\n \"trashmail.net\",\n \"trashmail.org\",\n \"trashmailer.com\",\n \"trashymail.com\",\n \"trashymail.net\",\n \"travel.li\",\n \"trayna.com\",\n \"trbvm.com\",\n \"trbvn.com\",\n \"trevas.net\",\n \"trialbytrivia.com\",\n \"trialmail.de\",\n \"trickmail.net\",\n \"trillianpro.com\",\n \"trimix.cn\",\n \"tritium.net\",\n \"trjam.net\",\n \"trmailbox.com\",\n \"tropicalstorm.com\",\n \"truckeremail.net\",\n \"truckers.com\",\n \"truckerz.com\",\n \"truckracer.com\",\n \"truckracers.com\",\n \"trust-me.com\",\n \"truth247.com\",\n \"truthmail.com\",\n \"tsamail.co.za\",\n \"ttml.co.in\",\n \"tulipsmail.net\",\n \"tunisiamail.com\",\n \"turboprinz.de\",\n \"turboprinzessin.de\",\n \"turkey.com\",\n \"turual.com\",\n \"tushino.net\",\n \"tut.by\",\n \"tvcablenet.be\",\n \"tverskie.net\",\n \"tverskoe.net\",\n \"tvnet.lv\",\n \"tvstar.com\",\n \"twc.com\",\n \"twcny.com\",\n \"twentylove.com\",\n \"twinmail.de\",\n \"twinstarsmail.com\",\n \"tx.rr.com\",\n \"tycoonmail.com\",\n \"tyldd.com\",\n \"typemail.com\",\n \"tyt.by\",\n \"u14269.ml\",\n \"u2club.com\",\n \"ua.fm\",\n \"uae.ac\",\n \"uaemail.com\",\n \"ubbi.com\",\n \"ubbi.com.br\",\n \"uboot.com\",\n \"uggsrock.com\",\n \"uk2.net\",\n \"uk2k.com\",\n \"uk2net.com\",\n \"uk7.net\",\n \"uk8.net\",\n \"ukbuilder.com\",\n \"ukcool.com\",\n \"ukdreamcast.com\",\n \"ukmail.org\",\n \"ukmax.com\",\n \"ukr.net\",\n \"ukrpost.net\",\n \"ukrtop.com\",\n \"uku.co.uk\",\n \"ultapulta.com\",\n \"ultimatelimos.com\",\n \"ultrapostman.com\",\n \"umail.net\",\n \"ummah.org\",\n \"umpire.com\",\n \"unbounded.com\",\n \"underwriters.com\",\n \"unforgettable.com\",\n \"uni.de\",\n \"uni.de.de\",\n \"uni.demailto.de\",\n \"unican.es\",\n \"unihome.com\",\n \"universal.pt\",\n \"uno.ee\",\n \"uno.it\",\n \"unofree.it\",\n \"unomail.com\",\n \"unterderbruecke.de\",\n \"uogtritons.com\",\n \"uol.com.ar\",\n \"uol.com.br\",\n \"uol.com.co\",\n \"uol.com.mx\",\n \"uol.com.ve\",\n \"uole.com\",\n \"uole.com.ve\",\n \"uolmail.com\",\n \"uomail.com\",\n \"upc.nl\",\n \"upcmail.nl\",\n \"upf.org\",\n \"upliftnow.com\",\n \"uplipht.com\",\n \"uraniomail.com\",\n \"ureach.com\",\n \"urgentmail.biz\",\n \"uroid.com\",\n \"us.af\",\n \"usa.com\",\n \"usa.net\",\n \"usaaccess.net\",\n \"usanetmail.com\",\n \"used-product.fr\",\n \"userbeam.com\",\n \"usermail.com\",\n \"username.e4ward.com\",\n \"userzap.com\",\n \"usma.net\",\n \"usmc.net\",\n \"uswestmail.net\",\n \"uymail.com\",\n \"uyuyuy.com\",\n \"uzhe.net\",\n \"v-sexi.com\",\n \"v8email.com\",\n \"vaasfc4.tk\",\n \"vahoo.com\",\n \"valemail.net\",\n \"valudeal.net\",\n \"vampirehunter.com\",\n \"varbizmail.com\",\n \"vcmail.com\",\n \"velnet.co.uk\",\n \"velnet.com\",\n \"velocall.com\",\n \"veloxmail.com.br\",\n \"venompen.com\",\n \"verizon.net\",\n \"verizonmail.com\",\n \"verlass-mich-nicht.de\",\n \"versatel.nl\",\n \"verticalheaven.com\",\n \"veryfast.biz\",\n \"veryrealemail.com\",\n \"veryspeedy.net\",\n \"vfemail.net\",\n \"vickaentb.tk\",\n \"videotron.ca\",\n \"viditag.com\",\n \"viewcastmedia.com\",\n \"viewcastmedia.net\",\n \"vinbazar.com\",\n \"violinmakers.co.uk\",\n \"vip.126.com\",\n \"vip.21cn.com\",\n \"vip.citiz.net\",\n \"vip.gr\",\n \"vip.onet.pl\",\n \"vip.qq.com\",\n \"vip.sina.com\",\n \"vipmail.ru\",\n \"viralplays.com\",\n \"virgilio.it\",\n \"virgin.net\",\n \"virginbroadband.com.au\",\n \"virginmedia.com\",\n \"virtual-mail.com\",\n \"virtualactive.com\",\n \"virtualguam.com\",\n \"virtualmail.com\",\n \"visitmail.com\",\n \"visitweb.com\",\n \"visto.com\",\n \"visualcities.com\",\n \"vivavelocity.com\",\n \"vivianhsu.net\",\n \"viwanet.ru\",\n \"vjmail.com\",\n \"vjtimail.com\",\n \"vkcode.ru\",\n \"vlcity.ru\",\n \"vlmail.com\",\n \"vnet.citiz.net\",\n \"vnn.vn\",\n \"vnukovo.net\",\n \"vodafone.nl\",\n \"vodafonethuis.nl\",\n \"voila.fr\",\n \"volcanomail.com\",\n \"vollbio.de\",\n \"volloeko.de\",\n \"vomoto.com\",\n \"voo.be\",\n \"vorsicht-bissig.de\",\n \"vorsicht-scharf.de\",\n \"vote-democrats.com\",\n \"vote-hillary.com\",\n \"vote-republicans.com\",\n \"vote4gop.org\",\n \"votenet.com\",\n \"vovan.ru\",\n \"vp.pl\",\n \"vpn.st\",\n \"vr9.com\",\n \"vsimcard.com\",\n \"vubby.com\",\n \"vyhino.net\",\n \"w3.to\",\n \"wahoye.com\",\n \"walala.org\",\n \"wales2000.net\",\n \"walkmail.net\",\n \"walkmail.ru\",\n \"walla.co.il\",\n \"wam.co.za\",\n \"wanaboo.com\",\n \"wanadoo.co.uk\",\n \"wanadoo.es\",\n \"wanadoo.fr\",\n \"wapda.com\",\n \"war-im-urlaub.de\",\n \"warmmail.com\",\n \"warpmail.net\",\n \"warrior.hu\",\n \"wasteland.rfc822.org\",\n \"watchmail.com\",\n \"waumail.com\",\n \"wazabi.club\",\n \"wbdet.com\",\n \"wearab.net\",\n \"web-contact.info\",\n \"web-emailbox.eu\",\n \"web-ideal.fr\",\n \"web-mail.com.ar\",\n \"web-mail.pp.ua\",\n \"web-police.com\",\n \"web.de\",\n \"webaddressbook.com\",\n \"webadicta.org\",\n \"webave.com\",\n \"webbworks.com\",\n \"webcammail.com\",\n \"webcity.ca\",\n \"webcontact-france.eu\",\n \"webdream.com\",\n \"webemail.me\",\n \"webemaillist.com\",\n \"webinbox.com\",\n \"webindia123.com\",\n \"webjump.com\",\n \"webm4il.info\",\n \"webmail.bellsouth.net\",\n \"webmail.blue\",\n \"webmail.co.yu\",\n \"webmail.co.za\",\n \"webmail.fish\",\n \"webmail.hu\",\n \"webmail.lawyer\",\n \"webmail.ru\",\n \"webmail.wiki\",\n \"webmails.com\",\n \"webmailv.com\",\n \"webname.com\",\n \"webprogramming.com\",\n \"webskulker.com\",\n \"webstation.com\",\n \"websurfer.co.za\",\n \"webtopmail.com\",\n \"webtribe.net\",\n \"webuser.in\",\n \"wee.my\",\n \"weedmail.com\",\n \"weekmail.com\",\n \"weekonline.com\",\n \"wefjo.grn.cc\",\n \"weg-werf-email.de\",\n \"wegas.ru\",\n \"wegwerf-emails.de\",\n \"wegwerfadresse.de\",\n \"wegwerfemail.com\",\n \"wegwerfemail.de\",\n \"wegwerfmail.de\",\n \"wegwerfmail.info\",\n \"wegwerfmail.net\",\n \"wegwerfmail.org\",\n \"wegwerpmailadres.nl\",\n \"wehshee.com\",\n \"weibsvolk.de\",\n \"weibsvolk.org\",\n \"weinenvorglueck.de\",\n \"welsh-lady.com\",\n \"wesleymail.com\",\n \"westnet.com\",\n \"westnet.com.au\",\n \"wetrainbayarea.com\",\n \"wfgdfhj.tk\",\n \"wh4f.org\",\n \"whale-mail.com\",\n \"whartontx.com\",\n \"whatiaas.com\",\n \"whatpaas.com\",\n \"wheelweb.com\",\n \"whipmail.com\",\n \"whoever.com\",\n \"wholefitness.com\",\n \"whoopymail.com\",\n \"whtjddn.33mail.com\",\n \"whyspam.me\",\n \"wickedmail.com\",\n \"wickmail.net\",\n \"wideopenwest.com\",\n \"wildmail.com\",\n \"wilemail.com\",\n \"will-hier-weg.de\",\n \"willhackforfood.biz\",\n \"willselfdestruct.com\",\n \"windowslive.com\",\n \"windrivers.net\",\n \"windstream.com\",\n \"windstream.net\",\n \"winemaven.info\",\n \"wingnutz.com\",\n \"winmail.com.au\",\n \"winning.com\",\n \"winrz.com\",\n \"wir-haben-nachwuchs.de\",\n \"wir-sind-cool.org\",\n \"wirsindcool.de\",\n \"witty.com\",\n \"wiz.cc\",\n \"wkbwmail.com\",\n \"wmail.cf\",\n \"wo.com.cn\",\n \"woh.rr.com\",\n \"wolf-web.com\",\n \"wolke7.net\",\n \"wollan.info\",\n \"wombles.com\",\n \"women-at-work.org\",\n \"women-only.net\",\n \"wonder-net.com\",\n \"wongfaye.com\",\n \"wooow.it\",\n \"work4teens.com\",\n \"worker.com\",\n \"workmail.co.za\",\n \"workmail.com\",\n \"worldbreak.com\",\n \"worldemail.com\",\n \"worldmailer.com\",\n \"worldnet.att.net\",\n \"wormseo.cn\",\n \"wosaddict.com\",\n \"wouldilie.com\",\n \"wovz.cu.cc\",\n \"wow.com\",\n \"wowgirl.com\",\n \"wowmail.com\",\n \"wowway.com\",\n \"wp.pl\",\n \"wptamail.com\",\n \"wrestlingpages.com\",\n \"wrexham.net\",\n \"writeme.com\",\n \"writemeback.com\",\n \"writeremail.com\",\n \"wronghead.com\",\n \"wrongmail.com\",\n \"wtvhmail.com\",\n \"wwdg.com\",\n \"www.com\",\n \"www.e4ward.com\",\n \"www.mailinator.com\",\n \"www2000.net\",\n \"wwwnew.eu\",\n \"wx88.net\",\n \"wxs.net\",\n \"wyrm.supernews.com\",\n \"x-mail.net\",\n \"x-networks.net\",\n \"x.ip6.li\",\n \"x5g.com\",\n \"xagloo.com\",\n \"xaker.ru\",\n \"xd.ae\",\n \"xemaps.com\",\n \"xents.com\",\n \"xing886.uu.gl\",\n \"xmail.com\",\n \"xmaily.com\",\n \"xmastime.com\",\n \"xmenfans.com\",\n \"xms.nl\",\n \"xmsg.com\",\n \"xoom.com\",\n \"xoommail.com\",\n \"xoxox.cc\",\n \"xoxy.net\",\n \"xpectmore.com\",\n \"xpressmail.zzn.com\",\n \"xs4all.nl\",\n \"xsecurity.org\",\n \"xsmail.com\",\n \"xtra.co.nz\",\n \"xtram.com\",\n \"xuno.com\",\n \"xww.ro\",\n \"xy9ce.tk\",\n \"xyz.am\",\n \"xyzfree.net\",\n \"xzapmail.com\",\n \"y7mail.com\",\n \"ya.ru\",\n \"yada-yada.com\",\n \"yaho.com\",\n \"yahoo.ae\",\n \"yahoo.at\",\n \"yahoo.be\",\n \"yahoo.ca\",\n \"yahoo.ch\",\n \"yahoo.cn\",\n \"yahoo.co\",\n \"yahoo.co.id\",\n \"yahoo.co.il\",\n \"yahoo.co.in\",\n \"yahoo.co.jp\",\n \"yahoo.co.kr\",\n \"yahoo.co.nz\",\n \"yahoo.co.th\",\n \"yahoo.co.uk\",\n \"yahoo.co.za\",\n \"yahoo.com\",\n \"yahoo.com.ar\",\n \"yahoo.com.au\",\n \"yahoo.com.br\",\n \"yahoo.com.cn\",\n \"yahoo.com.co\",\n \"yahoo.com.hk\",\n \"yahoo.com.is\",\n \"yahoo.com.mx\",\n \"yahoo.com.my\",\n \"yahoo.com.ph\",\n \"yahoo.com.ru\",\n \"yahoo.com.sg\",\n \"yahoo.com.tr\",\n \"yahoo.com.tw\",\n \"yahoo.com.vn\",\n \"yahoo.cz\",\n \"yahoo.de\",\n \"yahoo.dk\",\n \"yahoo.es\",\n \"yahoo.fi\",\n \"yahoo.fr\",\n \"yahoo.gr\",\n \"yahoo.hu\",\n \"yahoo.ie\",\n \"yahoo.in\",\n \"yahoo.it\",\n \"yahoo.jp\",\n \"yahoo.net\",\n \"yahoo.nl\",\n \"yahoo.no\",\n \"yahoo.pl\",\n \"yahoo.pt\",\n \"yahoo.ro\",\n \"yahoo.ru\",\n \"yahoo.se\",\n \"yahoofs.com\",\n \"yahoomail.com\",\n \"yalla.com\",\n \"yalla.com.lb\",\n \"yalook.com\",\n \"yam.com\",\n \"yandex.com\",\n \"yandex.mail\",\n \"yandex.pl\",\n \"yandex.ru\",\n \"yandex.ua\",\n \"yapost.com\",\n \"yapped.net\",\n \"yawmail.com\",\n \"yclub.com\",\n \"yeah.net\",\n \"yebox.com\",\n \"yeehaa.com\",\n \"yehaa.com\",\n \"yehey.com\",\n \"yemenmail.com\",\n \"yep.it\",\n \"yepmail.net\",\n \"yert.ye.vc\",\n \"yesbox.net\",\n \"yesey.net\",\n \"yeswebmaster.com\",\n \"ygm.com\",\n \"yifan.net\",\n \"ymail.com\",\n \"ynnmail.com\",\n \"yogamaven.com\",\n \"yogotemail.com\",\n \"yomail.info\",\n \"yopmail.com\",\n \"yopmail.fr\",\n \"yopmail.net\",\n \"yopmail.org\",\n \"yopmail.pp.ua\",\n \"yopolis.com\",\n \"yopweb.com\",\n \"youareadork.com\",\n \"youmailr.com\",\n \"youpy.com\",\n \"your-house.com\",\n \"your-mail.com\",\n \"yourdomain.com\",\n \"yourinbox.com\",\n \"yourlifesucks.cu.cc\",\n \"yourlover.net\",\n \"yournightmare.com\",\n \"yours.com\",\n \"yourssincerely.com\",\n \"yourteacher.net\",\n \"yourwap.com\",\n \"youthfire.com\",\n \"youthpost.com\",\n \"youvegotmail.net\",\n \"yuuhuu.net\",\n \"yuurok.com\",\n \"yyhmail.com\",\n \"z1p.biz\",\n \"z6.com\",\n \"z9mail.com\",\n \"za.com\",\n \"zahadum.com\",\n \"zaktouni.fr\",\n \"zcities.com\",\n \"zdnetmail.com\",\n \"zdorovja.net\",\n \"zeeks.com\",\n \"zeepost.nl\",\n \"zehnminuten.de\",\n \"zehnminutenmail.de\",\n \"zensearch.com\",\n \"zensearch.net\",\n \"zerocrime.org\",\n \"zetmail.com\",\n \"zhaowei.net\",\n \"zhouemail.510520.org\",\n \"ziggo.nl\",\n \"zing.vn\",\n \"zionweb.org\",\n \"zip.net\",\n \"zipido.com\",\n \"ziplip.com\",\n \"zipmail.com\",\n \"zipmail.com.br\",\n \"zipmax.com\",\n \"zippymail.info\",\n \"zmail.pt\",\n \"zmail.ru\",\n \"zoemail.com\",\n \"zoemail.net\",\n \"zoemail.org\",\n \"zoho.com\",\n \"zomg.info\",\n \"zonai.com\",\n \"zoneview.net\",\n \"zonnet.nl\",\n \"zooglemail.com\",\n \"zoominternet.net\",\n \"zubee.com\",\n \"zuvio.com\",\n \"zuzzurello.com\",\n \"zvmail.com\",\n \"zwallet.com\",\n \"zweb.in\",\n \"zxcv.com\",\n \"zxcvbnm.com\",\n \"zybermail.com\",\n \"zydecofan.com\",\n \"zzn.com\",\n \"zzom.co.uk\",\n \"zzz.com\",\n];\n\nexport default function checkBlockedDomain(userDomain) {\n return BLOCKED_DOMAINS.indexOf(userDomain) == -1;\n}\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { TokenId } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const signInUser = createAsyncThunk(\n \"authToken/signInUserWithGoogle\",\n async (token: TokenId) => {\n try {\n let response;\n\n if(token.isCorporate){\n\n const options = {\n method: \"post\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(token),\n };\n\n response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/otp/validate`,options\n );\n\n if (response.status === HttpStatus.OK) {\n const tokenResponse = await response.json();\n return {\n status: HttpStatus.OK,\n token: tokenResponse.auth,\n name: tokenResponse.firstName+' '+tokenResponse.lastName,\n imageUrl: tokenResponse.imageUrl,\n email: token.email,\n message: \"\",\n };\n }\n return {\n status: response.status,\n token: response.statusText,\n name: token.name,\n imageUrl: token.imageUrl,\n email: token.email,\n message: await response.text(),\n };\n }else{\n response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/sign-in`,\n { method: \"GET\", headers: { id_token: token.id_token } }\n );\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n token: await response.text(),\n name: token.name,\n imageUrl: token.imageUrl,\n email: token.email,\n message: \"\",\n };\n }\n return {\n status: response.status,\n token: response.statusText,\n name: token.name,\n imageUrl: token.imageUrl,\n email: token.email,\n message: await response.text(),\n };\n }\n\n\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst authSlice = createSlice({\n name: \"auth\",\n initialState: {\n token: null as string | null,\n status: null as number | null,\n loading: false as boolean,\n name: null as string | null,\n imageUrl: null as string | null,\n email: null as string | null,\n message: null as string | null,\n isExpired: null as boolean | null,\n },\n reducers: {\n signInFailed: (state) => {\n state.token = null;\n state.status = 401;\n state.loading = false;\n state.name = null;\n state.imageUrl = null;\n state.email = null;\n state.message = null;\n state.isExpired = null;\n },\n clearData: (state) => {\n state.token = null;\n state.status = null;\n state.loading = false;\n state.name = null;\n state.imageUrl = null;\n state.email = null;\n state.message = null;\n },\n sessionExpired: (state) => {\n state.status = null;\n state.loading = false;\n state.name = null;\n state.imageUrl = null;\n state.email = null;\n state.message = null;\n state.isExpired = true;\n }\n },\n extraReducers: (builder) => {\n builder.addCase(\n signInUser.fulfilled,\n (\n state,\n {\n payload,\n }: PayloadAction<{\n status: number;\n token: string;\n name: string;\n imageUrl: string;\n email: string;\n message: string;\n }>\n ) => {\n state.status = payload.status;\n state.token = payload.token;\n state.loading = false;\n state.name = payload.name;\n state.imageUrl = payload.imageUrl;\n state.email = payload.email;\n state.message = payload.message;\n state.isExpired = null;\n }\n );\n builder.addCase(signInUser.pending, (state) => {\n state.loading = true;\n state.token = null;\n state.status = null;\n });\n builder.addCase(signInUser.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.token = null;\n state.name = null;\n state.imageUrl = null;\n state.email = null;\n state.message = null;\n state.isExpired = null;\n });\n },\n});\n\nexport const { clearData, signInFailed, sessionExpired } = authSlice.actions;\n\nexport default authSlice;\n","export enum HttpStatus {\n OK = 200,\n CREATED = 201,\n BAD_REQUEST = 400,\n NOT_FOUND = 404,\n INTERNAL_SERVER_ERROR = 500,\n SERVICE_UNAVAILABLE = 503,\n}\n","import { createMuiTheme } from \"@material-ui/core/styles\";\n\n// A custom theme for this app\nconst theme = createMuiTheme({\n typography: {\n h1: {\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n fontSize: \"24px\",\n },\n h2: {\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n fontSize: \"18px\",\n },\n h3: {\n color: \"#FFFFFF\",\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n },\n h4: {\n color: \"#A0A0A0\",\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n },\n h5: {\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n fontSize: \"14px\",\n },\n h6: {\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n color: \"#272727\",\n },\n body1: {\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n fontSize: \"16px\",\n },\n body2: {\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n color: \"#868686\",\n }\n },\n overrides: {\n MuiFormLabel: {\n asterisk: {\n color: '#db3131',\n '&$error': {\n color: '#db3131'\n },\n }\n }\n }\n});\n\nexport default theme;\n","import { Grid } from \"@material-ui/core\"\nimport React from \"react\"\nimport theme from \"../../../theme\"\n\nexport const CustomDivider = () => {\n return (\n
\n)\n}","export const appColor = {\n \"activeRegularColor\": \"#576BEA\",\n \"regularBackgroundColor\": \"#576BEA\",\n \"whiteBackground\": \"#FFFFFF\",\n \"regularBorder\": \"#576BEA\",\n \"pureWhite\": \"#FFFFFF\",\n \"pureBlack\": \"#272727\",\n \"themeBlueHeader\": \"#576BEA\",\n \"customError\": \"#c40808\",\n \"darkGray\": \"#868686\",\n \"lightGrey\": \"#A0A0A0\",\n \"redWarn\": \"#DC0101\",\n \"adminThemeColor\": \"#7C69EC\",\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport { appColor } from \"./modules/constants/customThemeColor\";\n\nexport const useCustomStyle = makeStyles((theme)=>({\n remainingChar: {\n fontSize: theme.spacing(1.5),\n textAlign: \"end\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.125),\n },\n },\n typography_font_14_8_500: {\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1),\n },\n },\n typography_font_14_8: {\n fontWeight: 600,\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1),\n },\n },\n typography_font_14_10: {\n textAlign: \"left\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n typography_font_14_10_600: {\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },typography_font_14_12_500: {\n textTransform: \"none\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n },\n },typography_font_14_12_600: {\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n },\n },\n typography_font_18_12_500: {\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n fontSize: \"18px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n typography_font_18_12_600: {\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: \"18px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n typography_font_18_14_500: {\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n fontSize: \"18px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n },\n },\n typography_font_18_14_600: {\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: \"18px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n },\n },\n typography_font_20_14_600: {\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(2.5),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n },\n },\n typography_font_20_14_500: {\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(2.5),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n },\n },typography_font_24_14_500: {\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(3),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n },\n },\n typography_font_24_14_600: {\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(3),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n },\n },\n popper: {\n border: `1px solid #E7E7E7 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: `${appColor.whiteBackground}`,\n width: \"-webkit-fill-available\",\n fontSize: 13,\n \"&:focus\": {\n borderColor: `${appColor.regularBorder} !important`,\n },\n \"&:hover\": {\n borderColor: `${appColor.regularBorder} !important`,\n },\n },\n popperWidth: {\n width: \"-moz-available\",\n },\n avatarSmall: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n sendCTA: {\n margin: theme.spacing(2, 0, 0, 0),\n padding: theme.spacing(1.375, 4.125, 1.375, 4.125),\n backgroundColor: `${appColor.regularBackgroundColor}`,\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n}));\n","import { Grid, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useCustomStyle } from \"../../../styles\";\n\nexport const RightsText = () => {\n const classes = useCustomStyle();\n return (\n \n \n \"c\"\n \n \n \n {`${new Date().getFullYear()} Grow-Wize. All rights reserved`}\n \n \n \n );\n};\n","import { Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport {\n CannotFindPageProps,\n Error404Props,\n ErrorCode,\n} from \"./typeErrorPages\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n marginTop: theme.spacing(8),\n },\n typography_head: {\n color: \"#E4E8FB\",\n position: \"relative\",\n zIndex: 3,\n fontWeight: 600,\n fontSize: \"100px\",\n padding: theme.spacing(5, 0, 0, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"40px\",\n padding: theme.spacing(7.5, 0, 0, 0),\n },\n },\n typography_body: {\n color: \"#576BEA\",\n position: \"relative\",\n zIndex: 3,\n fontWeight: 600,\n fontSize: \"24px\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 5, 0, 5),\n fontSize: \"14px\",\n },\n },\n buttonText: {\n color: \"#FFFFFF\",\n fontWeight: 600,\n fontSize: \"14px\",\n padding: theme.spacing(1, 6, 1, 6),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0.5, 3.25, 0.5, 3.25),\n fontSize: \"10px\",\n },\n },\n typography_error_code: {\n color: \"#E4E8FB\",\n fontWeight: 600,\n fontSize: \"100px\",\n padding: theme.spacing(6.25, 0, 5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"40px\",\n padding: theme.spacing(5, 0, 3.75, 0),\n },\n },\n\n typography_error_message: {\n color: \"#576BEA\",\n fontWeight: 600,\n fontSize: \"24px\",\n textAlign: \"center\",\n padding: theme.spacing(7.5, 0, 2.5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n padding: theme.spacing(5, 0, 2.25, 0),\n },\n },\n typography_sec_error_message: {\n color: \"#BFBFBF\",\n fontWeight: 500,\n fontSize: \"14px\",\n textAlign: \"center\",\n margin: theme.spacing(0, 10),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n marginLeft: theme.spacing(4),\n marginRight: theme.spacing(4),\n },\n },\n errorButtonText: {\n color: \"#FFFFFF\",\n fontWeight: 600,\n fontSize: \"14px\",\n textAlign: \"center\",\n padding: theme.spacing(1.25, 5, 1.25, 5),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0.75, 1.25, 0.75, 1.25),\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const Error404: React.FC = ({ client }) => {\n const classes = useStyle();\n return (\n \n {client ? \"Whoops! Error 400\" : \"Whoops! Error 404\"}\n \n );\n};\n\nexport const CannotFindPage: React.FC = ({\n client,\n status,\n}) => {\n const classes = useStyle();\n return (\n \n {client ? status : \"We cannot find the page you’re looking for\"}\n \n );\n};\n\nexport const ButtonText = () => {\n const classes = useStyle();\n return (\n \n BACK TO HOME\n \n );\n};\n\nexport const ErrorMessage: React.FC = ({ statusCode }) => {\n const classes = useStyle();\n let str = \"\";\n if (statusCode === 403) str = \"Access denied\";\n else if (statusCode === 401) str = \"Login required\";\n else if (statusCode === 101) str = \"Cookies are disabled!\";\n else str = \"Something went wrong\";\n\n return (\n \n {str}\n \n );\n};\n\nexport const SecondaryErrorMessage: React.FC = ({\n statusCode,\n customErrorMessage,\n}) => {\n const classes = useStyle();\n let str = \"\";\n if (statusCode === 403)\n str =\n \"Sorry, but you do not have permission to access the requested information\";\n else if (statusCode === 401) str = \"Please log in and try again\";\n else if (statusCode === 101)\n str =\n \"Cookies are currently disabled/blocked for your browser. You must allow cookies to use Grow-Wize. You can enable cookies in the privacy settings of your browser.\";\n else\n str =\n \"We are sorry!!! There is a problem with our server. Please try again later\";\n\n console.log(\"Custom error message : \", customErrorMessage);\n\n return (\n \n {customErrorMessage && customErrorMessage.length > 0\n ? customErrorMessage\n : str}\n \n );\n};\n\nexport const ErrorButtonText: React.FC = ({ statusCode }) => {\n const classes = useStyle();\n let str = \"\";\n if (statusCode === 403) str = \"GO BACK\";\n else if (statusCode === 401) str = \"SIGN IN\";\n else str = \"OKAY\";\n\n return (\n \n {str}\n \n );\n};\n","import { Box, Button, Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { Redirect } from \"react-router\";\nimport { CustomDivider } from \"../../client/share_feedback/LocalDivider\";\nimport { RightsText } from \"../../client/share_feedback/RightsText\";\nimport { ButtonText, CannotFindPage, Error404 } from \"./TextFile\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n backgroundColor: \"white\",\n width: \"inherit\",\n minHeight: \"100vh\",\n },\n btn: {\n margin: theme.spacing(3, 0, 6, 0),\n backgroundColor: \"#576BEA\",\n position: \"relative\",\n zIndex: 3,\n },\n img: {\n width: theme.spacing(62.5),\n height: theme.spacing(62.5),\n marginTop: \"calc(-16%)\",\n marginBottom: \"calc(-12%)\",\n marginLeft: \"calc(-2%)\",\n marginRight: \"calc(-2%)\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(33.5),\n height: theme.spacing(33.5),\n marginTop: \"calc(-6%)\",\n marginBottom: \"calc(-2%)\",\n marginLeft: \"calc(0%)\",\n marginRight: \"calc(0%)\",\n },\n },\n}));\n\nexport const PageNotFound = (props) => {\n const classes = useStyle();\n const [clicked, setClicked] = React.useState(false);\n const status: string = props?.location?.state?.status;\n\n if (props.location.pathname !== \"/error\") return ;\n else if (clicked) return ;\n else\n return (\n \n {status ? : }\n \n \n \n \n \n {status ? (\n \n ) : (\n \n )}\n {status ? (\n <>\n ) : (\n setClicked(true)}\n className={classes.btn}\n >\n \n \n )}\n {status ? (\n \n \n \n ) : null}\n {status ? (\n \n \n \n ) : null}\n \n );\n};\n","function datediff(first: Date, second: Date) {\n return Math.round(\n (second.getTime() - first.getTime()) / (1000 * 60 * 60 * 24)\n );\n}\n\nexport function getDateInActivityFormat(date: Date) {\n let diff = datediff(date,new Date());\n let str: string = \"\";\n if(diff === 0) str += \"Today, \"\n else if(diff === 1) str += \"Yesterday, \"\n else str += `${diff} days ago, `\n str += date.getHours() < 10 ? \"0\"+date.getHours() : date.getHours();\n str += \":\";\n str += date.getMinutes() < 10 ? \"0\"+date.getMinutes() : date.getMinutes();\n return str;\n}\n\nexport function getTimeInDesiredFormat(date: Date) {\n let diff = datediff(date,new Date());\n let str: string = \"\";\n if(diff === 0) str += \"today, \"\n else if(diff === 1) str += \"yesterday, \"\n else str += `${diff} days ago, `\n str += \"at \"\n str += date.getHours() < 10 ? \"0\"+date.getHours() : date.getHours();\n str += \":\";\n str += date.getMinutes() < 10 ? \"0\"+date.getMinutes() : date.getMinutes();\n return str;\n}\n","/* eslint-disable no-param-reassign */\n// redux toolkit lib uses immer lib to which allows us to use mutable syntax\n// the state here is nested, it is easier to use a mutable syntax to uppdate the state\n\nimport { createSlice} from '@reduxjs/toolkit';\n\n \nconst coachMarkSlice = createSlice({\n name: 'coachMarks',\n initialState: {\n showTour: false,\n dashboardTour: {\n requestNowButtonTour : \"PENDING\",\n shareFeedbackButtonTour : \"PENDING\",\n shareNuggetTour : \"PENDING\",\n requestClientTour : \"PENDING\",\n myTeamsButtonTour : \"PENDING\",\n dashboardVisitCount : 0,\n requestNowPageVisitCount : 0\n\n } \n },\n reducers: {\n markRequestFeedbackTourDone : (state) => {\n state.dashboardTour.requestNowButtonTour = \"DONE\";\n },\n markShareFeedbackTourDone : (state) => {\n state.dashboardTour.shareFeedbackButtonTour = \"DONE\";\n },\n markShareNuggetTourDone : (state) => {\n state.dashboardTour.shareNuggetTour = \"DONE\";\n },\n markRequestClientTourDone : (state) => {\n state.dashboardTour.requestClientTour = \"DONE\";\n },\n markMyTeamsTourDone : (state) => {\n state.dashboardTour.myTeamsButtonTour = \"DONE\";\n },\n dashboardVisitIncrementCounter : (state) => {\n state.dashboardTour.dashboardVisitCount += 1;\n },\n requestNowPageVisitIncrementCounter : (state) => {\n state.dashboardTour.requestNowPageVisitCount += 1;\n }\n } \n});\n\nexport const { markRequestFeedbackTourDone, markShareFeedbackTourDone, markShareNuggetTourDone, markRequestClientTourDone, markMyTeamsTourDone, dashboardVisitIncrementCounter,requestNowPageVisitIncrementCounter} = coachMarkSlice.actions;\nexport default coachMarkSlice;\n","import { Button, Grid, Typography } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport theme from \"../../theme\";\nimport { HeaderDisplayProps, NavValueProps, State } from \"../../type\";\nimport { getTimeInDesiredFormat } from \"../../util/GetDateInActitivityFormat\";\nimport Shepherd from 'shepherd.js';\nimport 'shepherd.js/dist/css/shepherd.css';\nimport { markShareFeedbackTourDone, markMyTeamsTourDone } from \"../../redux/slices/CoachMarkSlice\";\nimport \"../../App.css\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n typography_h2: {\n color: \"#272727\",\n padding: theme.spacing(4, 0, 4, 7),\n margin: theme.spacing(0, 0, 0, -5),\n fontSize: theme.spacing(3),\n fontWeight: 600,\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(4, 0, 4, 2),\n margin: theme.spacing(0, 0, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(4, 0),\n margin: theme.spacing(0),\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.75),\n padding: theme.spacing(0),\n margin: theme.spacing(0),\n },\n },\n typography_body_black: {\n color: \"#313030\",\n textTransform: \"none\",\n textAlign: \"start\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n paddingLeft: theme.spacing(1),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n typography_body_white: {\n textTransform: \"none\",\n textAlign: \"start\",\n fontWeight: \"bold\",\n fontSize: theme.spacing(1.75),\n paddingLeft: theme.spacing(2.25),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n paddingLeft: theme.spacing(2.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n paddingLeft: theme.spacing(1),\n },\n },\n activeUserTabFontColor: {\n color: \"#576BEA\",\n },\n activeAdminTabFontColor: {\n color: \"#7C69EC\",\n },\n typograph_saving: {\n margin: theme.spacing(0, 0, 0.35, 0.75),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#A0A0A0\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 0.25, 0),\n },\n },\n typograph_saved: {\n margin: theme.spacing(0, 0, 0.35, 0.75),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#2C8100\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 0.25, 0),\n },\n },\n typograph_error: {\n margin: theme.spacing(0, 0, 0.35, 0.75),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#F04D4D\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 0.25, 0),\n },\n },\n btn_: {\n textTransform: \"none\",\n border: \"1px solid #576BEA\",\n color: \"#576BEA\",\n backgroundColor: \"#FFFFFF\",\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n marginLeft: theme.spacing(1),\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n btn_Hover: {\n textTransform: \"none\",\n border: \"1px solid #576BEA\",\n color: \"#FFFFFF\",\n backgroundColor: \"#576BEA\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n marginLeft: theme.spacing(1),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n saveIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(1),\n width: theme.spacing(1),\n margin: theme.spacing(0, 0, 0.25, 0),\n },\n },\n })\n);\ninterface SideLabelTextProp {\n idx: number;\n value: number;\n name: string;\n}\n\nexport const SideLabelText: React.FC = ({\n idx,\n value,\n name,\n}) => {\n const classes = useStyles();\n const [showTour, setShowTour] = useState(false);\n const [showTeamsTour, setShowTeamsTour] = useState(false);\n const shareFeedbackButtonTourStatus = useSelector((state: State) => state.coachMarks.dashboardTour.shareFeedbackButtonTour);\n const myTeamsButtonTourStatus = useSelector((state: State) => state.coachMarks.dashboardTour.myTeamsButtonTour);\n const dashboardVisitCount = useSelector((state: State) => state.coachMarks.dashboardTour.dashboardVisitCount);\n const dispatch = useDispatch();\n const tourRef = useRef(null);\n const history = useHistory();\n const isElementInViewport = (el) => {\n if (!el) return false;\n const rect = el.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n };\n\n\n \n useEffect(() => {\n if (shareFeedbackButtonTourStatus === \"PENDING\" && dashboardVisitCount === 1) {\n setShowTour(true);\n dispatch(markShareFeedbackTourDone()); \n } else {\n setShowTour(false);\n }\n }, [shareFeedbackButtonTourStatus, dashboardVisitCount]);\n \n useEffect(() => {\n if (showTour) {\n tourRef.current = new Shepherd.Tour({\n defaultStepOptions: {\n classes: 'custom-class-sm',\n scrollTo: { behavior: 'smooth', block: 'center' },\n }\n });\n \n const attachToOptions = {\n element: '.share-feedback-button',\n on: 'right'\n };\n \n if (window.innerWidth <= 767) {\n attachToOptions.on = 'bottom';\n }\n \n tourRef.current.addSteps([\n // Tour steps\n {\n text: 'Share feedback with your peers from here',\n attachTo: attachToOptions,\n id: 'step2',\n scrollTo: true,\n when: {\n show: () => {\n setTimeout(() => {\n tourRef.current?.next();\n }, 5000);\n }\n },\n classes: 'shared-feedback-coachmark'\n }\n ]);\n \n tourRef.current.start();\n }\n }, [showTour]);\n\n useEffect(() => {\n const myTeamsButton = document.querySelector('.my-teams-button');\n const isMyTeamsButtonVisible = isElementInViewport(myTeamsButton);\n\n if (myTeamsButtonTourStatus === \"PENDING\" && dashboardVisitCount === 3 && isMyTeamsButtonVisible) {\n setShowTeamsTour(true);\n dispatch(markMyTeamsTourDone()); \n } else {\n setShowTeamsTour(false);\n }\n }, [myTeamsButtonTourStatus, dashboardVisitCount]);\n \n useEffect(() => {\n if (showTeamsTour) {\n \n tourRef.current = new Shepherd.Tour({\n defaultStepOptions: {\n classes: 'custom-class-sm',\n scrollTo: { behavior: 'smooth', block: 'center' },\n }\n });\n \n const attachToOptions = {\n element: '.my-teams-button',\n on: 'right'\n };\n \n if (window.innerWidth <= 767) {\n attachToOptions.on = 'bottom';\n }\n \n tourRef.current.addSteps([\n {\n text: 'You can manage feedback for your teams from here',\n attachTo: attachToOptions,\n id: 'step5',\n scrollTo: true,\n when: {\n show: () => {\n setTimeout(() => {\n tourRef.current?.next();\n }, 5000);\n }\n },\n classes: 'my-teams-coachmark'\n }\n ]);\n \n tourRef.current.start();\n }\n }, [showTeamsTour]);\n\n useEffect(() => {\n return history.listen(() => {\n if (tourRef.current) {\n tourRef.current?.cancel();\n }\n });\n }, [history]);\n\n return (\n \n {name}\n \n );\n};\n\nexport const SideLabelAdminDashboardText: React.FC = ({\n value,\n}) => {\n const classes = useStyles();\n\n return (\n \n {value === 0 ? (\n \n ) : (\n \"dashboard_icon\"\n )}\n \n Dashboard\n \n \n );\n};\n\nexport const SideLabelAllMembersText: React.FC = ({ value }) => {\n const classes = useStyles();\n return (\n \n {value === 1 ? (\n \n ) : (\n \"members_icon\"\n )}\n \n All Members\n \n \n );\n};\n\nexport const SideLabelManageTeamsText: React.FC = ({\n value,\n}) => {\n const classes = useStyles();\n return (\n \n {value === 2 ? (\n \n ) : (\n \"teams_icon\"\n )}\n \n Teams\n \n \n );\n};\n\n\nexport const SideLabelManageQuestionsText: React.FC = ({\n value,\n}) => {\n const classes = useStyles();\n return (\n \n {value === 3 ? (\n \n ) : (\n \"attributes_icon\"\n )}\n \n Attributes\n \n \n );\n};\n\nexport const SideLabelSettings: React.FC = ({\n value,\n}) => {\n const classes = useStyles();\n return (\n \n {value === 4 ? (\n \n ) : (\n \"settings_icon\"\n )}\n \n Settings\n \n \n );\n};\n\nexport const HeaderDisplayText: React.FC = ({\n headerName,\n}) => {\n const classes = useStyles();\n\n return (\n {headerName}\n );\n};\n\nexport const StatusText = ({\n value,\n setValue,\n tabValue,\n validLength,\n isDataChange,\n savedDraftDate,\n onAnyChange,\n}) => {\n const classes = useStyles();\n const [isHover, setIsHover] = React.useState(false);\n const loading: Boolean = useSelector(\n (state: State) =>\n state.shareFeedback.loading || state.shareAssessment.loading\n );\n\n const status: number | null = useSelector(\n (state: State) => state.shareFeedback.status || state.shareAssessment.status\n );\n return (\n <>\n {value === 6 && loading && tabValue === 0 && validLength && (\n \n \n \n \n \n \n Saving...\n \n \n \n )}\n {value === 6 &&\n !loading &&\n status === 201 &&\n tabValue === 0 &&\n validLength && (\n \n \n \n \n \n Saved\n \n \n )}\n {value === 5 &&\n !loading &&\n status !== 201 &&\n tabValue === 0 &&\n validLength && (\n \n \n \n \n \n \n \n Failed to save draft\n \n \n \n setValue(6)}\n variant=\"outlined\"\n className={classes.btn_}\n style={{\n padding: theme.spacing(0, 0, 0, 0),\n marginBottom: theme.spacing(0.5),\n }}\n >\n Retry\n \n \n \n \n )}\n {value === -1 && tabValue === 0 && validLength && isDataChange && (\n \n }\n onClick={() => {\n setValue(6);\n onAnyChange(false);\n }}\n type=\"submit\"\n variant=\"outlined\"\n className={isHover ? classes.btn_Hover : classes.btn_}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n Save as draft\n \n )}\n {value === -1 && tabValue === 0 && validLength && !isDataChange && (\n {`last saved ${getTimeInDesiredFormat(savedDraftDate)}`}\n )}\n \n );\n};\n","import jwt_decode from \"jwt-decode\";\nimport { HttpStatus } from \"../enums/httpStatus\";\nimport { sessionExpired } from \"../redux/slices/AuthSlice\";\n\nexport const isTokenExpired = (token: any) => {\n if (!token) return true;\n try {\n const tokenData: any = jwt_decode(token);\n const expiration = new Date(tokenData?.exp * 1000);\n return expiration < new Date();\n } catch (e) {\n console.log(e);\n return true;\n }\n};\n\nexport const post = async (url: string, data: any, { getState, dispatch }) => {\n const state = getState();\n const token = state?.auth?.token;\n const isExpired = isTokenExpired(token);\n\n if (isExpired) {\n dispatch(sessionExpired());\n return;\n }\n if (!isExpired) {\n const options = {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\",\n authToken: token,\n },\n body: JSON.stringify(data),\n };\n\n try {\n const response = await fetch(`${process.env.REACT_APP_API_URL}/${url}`, options);\n return response;\n\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n}\n\nexport const get = async (url, { getState, dispatch }) => {\n const state = getState();\n const token = state?.auth?.token;\n const isExpired = isTokenExpired(token);\n\n if (isExpired) {\n dispatch(sessionExpired());\n return;\n }\n if (!isExpired) {\n const options = {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n authToken: token,\n },\n };\n\n try {\n const response = await fetch(`${process.env.REACT_APP_API_URL}/${url}`, options);\n return response;\n\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n}\n\nexport const patch = async (url, data, { getState, dispatch }) => {\n const state = getState();\n const token = state?.auth?.token;\n const isExpired = isTokenExpired(token);\n\n if (isExpired) {\n dispatch(sessionExpired());\n return;\n }\n\n if (!isExpired) {\n const options = {\n method: \"PATCH\",\n headers: {\n \"Content-Type\": \"application/json\",\n authToken: token,\n },\n body: JSON.stringify(data),\n };\n\n try {\n const response = await fetch(`${process.env.REACT_APP_API_URL}/${url}`, options);\n return response;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n}\n\nexport const put = async (url, data, { getState, dispatch }) => {\n const state = getState();\n const token = state?.auth?.token;\n const isExpired = isTokenExpired(token);\n\n if (isExpired) {\n dispatch(sessionExpired());\n return;\n }\n\n if (!isExpired) {\n const options = {\n method: \"PUT\",\n headers: {\n \"Content-Type\": \"application/json\",\n authToken: token,\n },\n body: JSON.stringify(data),\n };\n\n try {\n const response = await fetch(`${process.env.REACT_APP_API_URL}/${url}`, options);\n return response;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n}\n\nexport const deleteApi = async (url, { getState, dispatch }) => {\n const state = getState();\n const token = state?.auth?.token;\n const isExpired = isTokenExpired(token);\n\n if (isExpired) {\n dispatch(sessionExpired());\n return;\n }\n\n if (!isExpired) {\n const options = {\n method: \"DELETE\",\n headers: {\n \"Content-Type\": \"application/json\",\n authToken: token,\n },\n };\n\n try {\n const response = await fetch(`${process.env.REACT_APP_API_URL}/${url}`, options);\n return response;\n } catch (error) {\n console.error(error);\n throw error;\n }\n }\n}","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ShareFeedbackProps } from \"../../../src/type\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const shareFeedback = createAsyncThunk(\n \"shareFeedback/sendFeedback\",\n async (requestData: ShareFeedbackProps, storeActions) => {\n const url = `api/v1/user/feedbacks`;\n const response: any = await post(url, requestData, storeActions);\n\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n }\n);\n\nconst shareFeedbackSlice = createSlice({\n name: \"shareFeedback\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n unsavedChanges: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n setUnsavedChanges: (state, action) => {\n state.unsavedChanges = action.payload;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n shareFeedback.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(shareFeedback.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(shareFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData, setUnsavedChanges } = shareFeedbackSlice.actions;\n\nexport default shareFeedbackSlice;\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nconst updateAttributeStatusModalStyles = makeStyles((theme) => ({\n text: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\"\n }\n}));\n\nexport default updateAttributeStatusModalStyles;","import { Grid, makeStyles } from '@material-ui/core';\nimport React from 'react';\n\nconst useStyle = makeStyles((theme) => ({\n modalBody: {\n padding: theme.spacing(2),\n },\n}))\n\nexport const ModalBody = ({ children }) => {\n const classes = useStyle()\n return (\n \n {children}\n \n )\n}","import { Button, Grid, Typography, makeStyles } from '@material-ui/core';\nimport React from 'react';\n\nconst useStyle = makeStyles((theme) => ({\n modalFooter: {\n paddingRight: theme.spacing(2),\n paddingBottom: theme.spacing(2.5),\n alignSelf: \"flex-end\"\n },\n cancelText: {\n alignItems: \"center\",\n color: \"#868686\",\n textTransform: \"none\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n submitText: {\n alignItems: \"center\",\n textTransform: \"none\",\n color: \"#FFFFFF\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n submitButton: {\n margin: theme.spacing(2, 0, 0, 0),\n padding: theme.spacing(1.375, 4.95, 1.375, 4.95),\n backgroundColor: \"#7C69EC\",\n \"&:hover\": {\n backgroundColor: \"#5c49cc\",\n },\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n cancelButton: {\n margin: theme.spacing(2, 2, 0, 0),\n padding: theme.spacing(1.125, 4.95, 1.375, 4.95),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n}))\n\nexport const ModalFooter = ({ handleCancel, handleSubmit, buttonLabel, secondaryLabel = \"Cancel\", disableActions = false }) => {\n const classes = useStyle()\n return (\n \n \n \n \n {secondaryLabel}\n \n \n \n \n \n \n {buttonLabel}\n \n \n \n \n )\n}\n","import { Grid, IconButton, Typography, makeStyles } from '@material-ui/core';\nimport React from 'react';\n\nconst useStyle = makeStyles((theme) => ({\n modalHeader: {\n padding: theme.spacing(2),\n },\n headerBackground: {\n background: \"#7C69EC0D\",\n },\n title: {\n fontWeight: 600,\n fontSize: theme.spacing(3),\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.75),\n },\n },\n}))\n\nexport const ModalHeader = ({ title, showBackground = true, handleCancel }) => {\n const classes = useStyle()\n return (\n \n \n {title}\n \n \n \"close\"\n \n \n )\n}","import React, { FunctionComponent } from 'react';\nimport MuiModal from \"@material-ui/core/Modal\";\nimport { Backdrop, CircularProgress, Fade, Grid, makeStyles } from '@material-ui/core';\n\nconst useStyles = makeStyles((theme) => ({\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n modalGrid: {\n display: \"flex\",\n flexDirection: \"column\",\n width: theme.spacing(112),\n backgroundColor: \"#FFFFFF\",\n border: \"4px solid rgba(175,175,175,0.3)\",\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n padding: theme.spacing(0, 0, 6, 0),\n },\n position: \"relative\"\n },\n loaderBackground: {\n position: \"absolute\",\n height: \"100%\"\n },\n fadedWrapper: {\n opacity: 0.4,\n pointerEvents: \"none\"\n }\n}))\n\ntype ModalProps = {\n open: boolean,\n loading?: Boolean | undefined,\n onClose?: () => {},\n className?: string,\n}\n\nexport const Loader = () => {\n const classes = useStyles();\n return (\n \n \n \n \n \n );\n};\n\nexport const Modal: FunctionComponent = ({ open, children, loading, onClose, className = \"\" }) => {\n const classes = useStyles()\n return (\n \n \n \n {loading && (\n \n )}\n \n {children}\n \n \n \n \n );\n}","import React, { useEffect, useState } from \"react\";\nimport { Typography } from \"@material-ui/core\";\nimport updateAttributeStatusModalStyles from \"../../admin/customAttributeAndQuestions/updateAttributeStatusModal/helper\";\nimport { ModalBody } from \"../Modal/ModalBody\";\nimport { ModalFooter } from \"../Modal/ModalFooter\";\nimport { ModalHeader } from \"../Modal/ModalHeader\";\nimport { Modal } from \"../Modal/Modal\";\n\nexport const DiscardContentModal = ({ open, handleCancel, handleConfirm, onClose }) => {\n const [submitted, setSubmitted] = useState(false);\n\n const classes = updateAttributeStatusModalStyles()\n\n useEffect(() => {\n if (submitted) {\n onClose();\n }\n }, [submitted])\n\n const handleSubmit = () => {\n\n setSubmitted(true);\n handleConfirm()\n }\n\n return (\n \n \n \n \n Are you sure, you want to discard changes?\n \n \n \n \n );\n};","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { ResponseTeam } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllTeamsOfTeamLead = createAsyncThunk(\n \"teamsData/getAllTeams\",\n async (_, storeActions) => {\n const url = `api/v1/admin/teams/userTeamList`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst teamLeadTeamDataSlice = createSlice({\n name: \"teamLeadTeamData\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n teams: [] as ResponseTeam[] | [],\n loaded: false as boolean,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.loaded = false;\n state.text = null;\n state.teams = [];\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllTeamsOfTeamLead.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.teams = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.teams = [];\n state.text = action.payload.text;\n }\n state.loaded = true;\n state.loading = false;\n });\n builder.addCase(getAllTeamsOfTeamLead.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.teams = state.teams?.length > 0 ? state.teams : [];\n state.loaded = false;\n });\n builder.addCase(getAllTeamsOfTeamLead.rejected, (state, action) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.text = null;\n state.teams = [];\n state.loaded = false;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = teamLeadTeamDataSlice.actions;\n\nexport default teamLeadTeamDataSlice;\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const createTeamCancelModalStyles = makeStyles((theme) => ({\n confirmationInfo: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\",\n }\n}));\n\n","import {\n Typography,\n } from \"@material-ui/core\";\n import { Modal } from \"../../../../components/Modal/Modal\";\n import { ModalHeader } from \"../../../../components/Modal/ModalHeader\";\n import { ModalBody } from \"../../../../components/Modal/ModalBody\";\n import { ModalFooter } from \"../../../../components/Modal/ModalFooter\";\n import { createTeamCancelModalStyles } from \"./helper\";\n \n export const CreateTeamCancelModal = ({\n open,\n handleCancel,\n handleSuccess,\n disableActions\n }) => {\n const classes = createTeamCancelModalStyles();\n \n return (\n \n \n \n
\n \n If you exit this page, any data will be lost, and you will need to initiate the team creation process from the start.\n \n \n Are you sure you want to leave the page?\n \n
\n
\n \n
\n );\n };\n ","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AnswerTypeEnum } from \"../../enums/answerTypeEnums\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { CreateTeamProps } from \"../../type\";\n\nexport const createTeam = createAsyncThunk(\n \"admin/teams/create\",\n async (params: CreateTeamProps, storeActions) => {\n const response: any = await post('api/v1/admin/teams', params, storeActions);\n if (response.status === HttpStatus.CREATED) {\n return {\n status: response.status,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst createTeamSlice = createSlice({\n name: \"createTeamDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n unsavedTeamChanges: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n setUnsavedTeamChanges: (state, action) => {\n state.unsavedTeamChanges = action.payload;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(createTeam.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(createTeam.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(createTeam.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData, setUnsavedTeamChanges } = createTeamSlice.actions;\n\nexport default createTeamSlice;\n","import {\n Button,\n Grid,\n Hidden,\n IconButton,\n Tab,\n Tabs,\n Typography,\n} from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React, { useEffect, useState } from \"react\";\nimport ClearIcon from \"@material-ui/icons/Clear\";\nimport jwt_decode from \"jwt-decode\";\nimport {\n SideLabelAdminDashboardText,\n SideLabelAllMembersText,\n SideLabelManageQuestionsText,\n SideLabelManageTeamsText,\n SideLabelSettings,\n SideLabelText,\n} from \"./HomeText\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { State } from \"../../type\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { useCustomStyle } from \"../../styles\";\nimport { setUnsavedChanges } from \"../../redux/slices/ShareFeedbackSlice\";\nimport { DiscardContentModal } from \"../components/ErrorPages/DiscardExistingContent\";\nimport { getAllTeamsOfTeamLead } from \"../../redux/slices/TeamLeadTeams\";\nimport { CreateTeamCancelModal } from \"../admin/teams/createTeams/createTeamCancelModal/createTeamCancelModal\";\nimport { setUnsavedTeamChanges } from \"../../redux/slices/CreateTeamSlice\";\nimport { dashboardVisitIncrementCounter, requestNowPageVisitIncrementCounter } from \"../../redux/slices/CoachMarkSlice\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n default_tabStyle: {\n display: \"inline-grid\",\n alignItems: \"center\",\n justifyContent: \"flex-start\",\n margin: theme.spacing(0.75, 0, 0.75, 2),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0.25, 0, 0.25, 0.75),\n },\n },\n active_tabStyle: {\n display: \"inline-grid\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n backgroundColor: \"#E4E8FB\",\n margin: theme.spacing(0.75, 0, 0.75, 0),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0.25, 0, 0.25, 0),\n },\n },\n leftInficatorUserView: {\n borderLeft: \"5px solid #576BEA\",\n },\n leftInficatorAdminView: {\n borderLeft: \"5px solid #7C69EC\",\n },\n indicator: {\n backgroundColor: \"#E4E8FB\",\n },\n logo: {\n margin: theme.spacing(2.5, 0, 7, 0.25),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(2.5, 0, 6, 0.125),\n },\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(2.5, 0, 5, 0),\n },\n },\n logoName: {\n color: \"#21395E\",\n fontSize: theme.spacing(2),\n fontWeight: 800,\n fontFamily: \"Nunito\",\n marginLeft: theme.spacing(1),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n marginLeft: theme.spacing(1.5),\n },\n },\n logoImg: {\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(4),\n width: theme.spacing(4),\n },\n },\n closeCta: {\n height: theme.spacing(1.5),\n width: theme.spacing(1.5),\n color: \"#353131\",\n },\n roleGridUserView: {\n position: \"fixed\",\n bottom: `${window.innerHeight / 12 - 40}px`,\n [theme.breakpoints.down(\"xs\")]: {\n bottom: `${window.innerHeight / 28}px`,\n },\n },\n roleGridAdminView: {\n position: \"fixed\",\n bottom: `${window.innerHeight / 12 - 40}px`,\n [theme.breakpoints.down(\"xs\")]: {\n bottom: `${window.innerHeight / 28}px`,\n },\n width:\"fit-content\",\n },\n logoCta: {\n width: \"-webkit-fill-available\",\n padding: theme.spacing(0),\n textTransform: \"none\",\n \"&:hover\": {\n backgroundColor: \"#FFFFFF\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: theme.spacing(-2.5),\n },\n },\n toggleViewUserCTA: {\n color: \"#7C69EC\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n fontSize: theme.spacing(1.75),\n border: \"1px solid #7C69EC\",\n borderRadius: theme.spacing(0.5),\n \"&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: \"#7C69EC\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n toggleViewAdminCTA: {\n color: \"#576BEA\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n fontSize: theme.spacing(1.75),\n border: \"1px solid #576BEA\",\n borderRadius: theme.spacing(0.5),\n \"&:hover\": {\n color: \"#FFFFFF\",\n backgroundColor: \"#576BEA\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n navScrollStyle: {\n height: `${(11 / 12) * window.innerHeight - 120}px`,\n overflowY: \"scroll\",\n [theme.breakpoints.down(\"md\")]: {\n height: `${(11 / 12) * window.innerHeight - 200}px`,\n },\n },\n })\n);\n\nconst SIDE_LABEL_DATA = [\n \"Dashboard\",\n \"Share Feedback\",\n \"Request Feedback\",\n \"Shared Feedback\",\n \"Received Feedback\",\n \"Feedback Requests\",\n \"Self Assessment\",\n \"Feedback Summary\",\n \"My Teams\",\n];\n\nexport interface TokenDataProps {\n iat: number;\n exp: number;\n sub: number;\n role: string;\n org_id?: number;\n status?: string;\n}\n\nexport const LocalDrawer = ({ props, handleDrawerToggle }) => {\n const classes = useStyles();\n const customClasses = useCustomStyle();\n const dispatch = useDispatch();\n const [isSwitchModalOpen, setIsSwitchModalOpen] = useState(false);\n const [isTabModalOpen, setIsTabModalOpen] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n const [switchViewClicked, setSwitchViewClicked] = useState(false);\n const [newTabValue, setNewTabValue] = useState(null);\n\n const token = useSelector((state: State) => state.auth.token);\n\n const userTeams = useSelector((state: State) => state.teamLeadTeamData.teams);\n\n const currentLocation = useLocation();\n const currentPagePath = currentLocation.pathname;\n\n useEffect(() => {\n if (currentPagePath === \"/home\" || currentPagePath === \"/teams\"){\n const fetchUserTeams = async () => {\n try {\n dispatch(getAllTeamsOfTeamLead());\n \n } catch (error) {\n console.error(\"Error fetching user teams:\", error);\n }\n };\n fetchUserTeams();\n }\n }, [dispatch]);\n\n const unsavedChanges = useSelector(\n (state: State) => state.shareFeedback.unsavedChanges\n );\n const unsavedTeamChanges = useSelector(\n (state: State) => state.createTeamDetails.unsavedTeamChanges\n );\n\n useEffect(() => {\n dispatch(setUnsavedTeamChanges(false));\n }, []);\n\n useEffect(() => {\n dispatch(setUnsavedChanges(false));\n }, []);\n\n const history = useHistory();\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n };\n try {\n tokenData = jwt_decode(token);\n } catch (err) {\n console.error((err as Error).message);\n }\n const indexToTab = {\n 0: \"/home\",\n 1: \"/feedback/share/:id\",\n 2: \"/feedback/requests/employee\",\n 3: \"/feedback/shared\",\n 4: \"/feedback/received\",\n 5: \"/feedback/requests/received/pending\",\n 6: \"/home/self-assessment\",\n 7: \"/report\",\n 8: \"/teams\"\n };\n\n const indexToTabForAdmin = {\n 0: \"/admin/dashboard\",\n 1: \"/admin/members\",\n 2: \"/admin/teams\",\n 3: \"/admin/manage/attributes\",\n 4: \"/admin/settings\",\n };\n\n const tabToIndex = {\n \"/home\": 0,\n \"/feedback/share/:id\": 1,\n \"/feedback/requests/:STATUS\": 2,\n \"/feedback/request/sent/detail/:id/:uid\": 2,\n \"/feedback/shared\": 3,\n \"/feedback/shared/detail/:id\": 3,\n \"/feedback/received\": 4,\n \"/feedback/requests/received/:STATUS\": 5,\n \"/feedback/requests/received/detail/:id\": 5,\n \"/feedback/received/detail/:id\": 4,\n \"/home/self-assessment\": 6,\n \"/home/self-assessment/:id\": 6,\n \"/report\": 7,\n \"/teams\": 8,\n \"/teams/details/:teamId\":8,\n \"/member/detail/:id\":8,\n \"/members/report/feedback/received/:id\":8,\n \"/detail/view\":8\n };\n\n const tabToIndexForAdmin = {\n \"/admin/dashboard\": 0,\n \"/admin/nudge\": 0,\n \"/admin/members\": 1,\n \"/admin/teams\": 2,\n \"/admin/teams/create\": 2,\n \"/admin/teams/edit/:teamId\": 2,\n \"/admin/teams/details/:teamId\": 2,\n \"/admin/manage/attributes\": 3,\n \"/admin/manage/attributes/:attributeId\": 3,\n \"/admin/settings\": 4,\n \"/admin/members/report/feedback/received/:id\": 1,\n \"/admin/member/detail/:id\": 1,\n \"/admin/detail/view\": 1,\n };\n\n const path: string = props.match.path;\n let index = path[1] === \"a\" ? tabToIndexForAdmin[path] : tabToIndex[path];\n\n const [value, setValue] = React.useState(index);\n const [adminRole, setAdminRole] = React.useState(\n path[1] === \"a\" ? true : false\n );\n\n const [isToggleCTAHovered, setToggleCTAHovered] =\n React.useState(false);\n\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setNewTabValue(newValue);\n if (unsavedChanges) {\n setIsTabModalOpen(true);\n }\n else if(unsavedTeamChanges){\n setOpenModal(true);\n }\n else {\n window.scrollTo(0, 0);\n const prevLength = history.length;\n if (adminRole) {\n props.history.push(indexToTabForAdmin[newValue]);\n setValue(newValue);\n } else {\n props.history.push(indexToTab[newValue]);\n const nextLength = history.length;\n if (nextLength - prevLength > 0) setValue(newValue);\n }\n }\n };\n const renderSwitchViewModal = () => ( \n setIsSwitchModalOpen(false)}\n handleConfirm={handleConfirmSwitchModal}\n onClose={() => setIsSwitchModalOpen(false)}\n />\n );\n\n const renderSwitchViewTeamModal = () => {\n return (\n \n );\n };\n\n const handleConfirmTeamTabModal = () => {\n setSubmitted(true);\n setOpenModal(false);\n dispatch(setUnsavedTeamChanges(false));\n swtichTabOnClick();\n \n };\n\n const handleConfirmTeamSwitchModal = () => {\n setSubmitted(true);\n setOpenModal(false);\n dispatch(setUnsavedTeamChanges(false));\n switchPageOnClick()\n };\n\n const handleCancelModal = () => {\n setOpenModal(false);\n };\n \n const location = useLocation();\n const currentPath = location.pathname;\n\n\n const renderSwitchTabModal = () => {\n if (currentPath === \"/admin/teams/create\") {\n return (\n \n );\n } else {\n return (\n setIsTabModalOpen(false)}\n handleConfirm={handleConfirmTabModal}\n onClose={() => setIsTabModalOpen(false)}\n />\n );\n }\n };\n \n const switchPageOnClick = () => {\n if (!adminRole) {\n props.history.push(indexToTabForAdmin[0]);\n } else {\n props.history.push(indexToTab[0]);\n }\n setValue(0);\n setAdminRole(!adminRole);\n };\n\n const swtichTabOnClick = () => {\n window.scrollTo(0, 0);\n const newValue : number = newTabValue as number;\n if (adminRole) {\n props.history.push(indexToTabForAdmin[newValue]);\n setValue(newValue);\n setNewTabValue(null);\n } else {\n props.history.push(indexToTab[newValue]);\n setValue(newValue);\n setNewTabValue(null);\n }\n };\n const handleConfirmSwitchModal = () => {\n dispatch(setUnsavedChanges(false));\n setIsSwitchModalOpen(false);\n switchPageOnClick();\n };\n const handleConfirmTabModal = () => {\n dispatch(setUnsavedChanges(false));\n swtichTabOnClick();\n };\n\n const shouldRenderTab = (label: string) => {\n if (label === \"My Teams\") {\n return userTeams.length > 0;\n } else {\n return true;\n }\n }\n\n const dashboardClicked = () => {\n dispatch(dashboardVisitIncrementCounter());\n }\n\n const requestNowClicked = () => {\n dispatch(requestNowPageVisitIncrementCounter());\n }\n\n return (\n <>\n {renderSwitchViewModal()}\n {renderSwitchTabModal()}\n {renderSwitchViewTeamModal()}\n \n \n \n \n \n tabToIndex[path] !== 0 && props.history.push(\"/home\")\n }\n className={`${customClasses.popperWidth} ${classes.logoCta}`}\n >\n \n \n \n \n \n {\"Grow-Wize\"}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n tabToIndex[path] !== 0 && props.history.push(\"/home\")\n }\n className={classes.logoCta}\n >\n \n \n \n \n \n {\"Grow-Wize\"}\n \n \n \n \n \n {!adminRole && (\n
\n \n {SIDE_LABEL_DATA.map((label, idx) => (\n shouldRenderTab(label) && \n }\n className={\n value === idx\n ? `${classes.active_tabStyle} ${classes.leftInficatorUserView}`\n : classes.default_tabStyle\n }\n onClick={() => {\n if (label === 'Dashboard') {\n dashboardClicked();\n } else if (label === 'Request Feedback') {\n requestNowClicked();\n }\n }}\n />\n ))}\n \n
\n )}\n {adminRole && (\n \n \n }\n className={\n value === 0\n ? `${classes.active_tabStyle} ${classes.leftInficatorAdminView}`\n : classes.default_tabStyle\n }\n />\n \n }\n className={\n value === 1\n ? `${classes.active_tabStyle} ${classes.leftInficatorAdminView}`\n : classes.default_tabStyle\n }\n />\n \n }\n className={\n value === 2\n ? `${classes.active_tabStyle} ${classes.leftInficatorAdminView}`\n : classes.default_tabStyle\n }\n />\n \n }\n className={\n value === 3\n ? `${classes.active_tabStyle} ${classes.leftInficatorAdminView}`\n : classes.default_tabStyle\n }\n />\n }\n className={\n value === 4\n ? `${classes.active_tabStyle} ${classes.leftInficatorAdminView}`\n : classes.default_tabStyle\n }\n />\n \n )}\n\n {tokenData?.role === \"ADMIN\" && (\n \n \n \n ) : adminRole ? (\n \"toggle\"\n ) : (\n \"toggle\"\n )\n }\n onClick={() => {\n setSwitchViewClicked(true);\n if (unsavedChanges) {\n setIsSwitchModalOpen(true);\n } else if (unsavedTeamChanges) {\n setOpenModal(true);\n } else {\n switchPageOnClick();\n }\n }}\n variant=\"outlined\"\n className={\n adminRole\n ? classes.toggleViewAdminCTA\n : classes.toggleViewUserCTA\n }\n onMouseEnter={() => setToggleCTAHovered(true)}\n onMouseLeave={() => setToggleCTAHovered(false)}\n >\n SWITCH VIEW\n \n \n \n )}\n \n \n );\n};\n","import Drawer from \"@material-ui/core/Drawer\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport {\n createStyles,\n makeStyles,\n Theme,\n} from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport theme from \"../../theme\";\nimport { LocalDrawer } from \"./Drawer\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n drawerPaper: {\n width: theme.spacing(28),\n boxShadow: \"2px 0 10px 0 rgba(175,175,175,0.3)\",\n },\n })\n);\n\nfunction dummyFunction() { }\n\nexport const HiddenNavWhenLarge = ({ mobileOpen, handleDrawerToggle, props }) => {\n const classes = useStyles();\n return (\n \n \n \n )\n};\n\nexport const HiddenNavWhenSmall = ({ props }) => {\n const classes = useStyles();\n return (\n \n \n \n )\n};\n","import { CircularProgress, Grid } from \"@material-ui/core\";\nimport AppBar from \"@material-ui/core/AppBar\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport {\n HiddenNavWhenLarge,\n HiddenNavWhenSmall,\n} from \"../../modules/home/NavBar\";\nimport { HomeLayoutProps } from \"../../type\";\n\nconst drawerWidth = 224;\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n background: \"inherit\",\n },\n drawer: {\n [theme.breakpoints.up(\"sm\")]: {\n width: drawerWidth,\n flexShrink: 0,\n },\n },\n appBar: {\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 2px 10px 0 rgba(175,175,175,0.3)\",\n height: theme.spacing(10),\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(100% - ${drawerWidth}px)`,\n marginLeft: drawerWidth,\n },\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(12.65)\n },\n },\n loaderBackground: {\n minHeight: `${window.innerHeight - 48}px`,\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n background: \"#FFFFFF\",\n },\n mainSection: {\n width: \"100%\",\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(100% - ${drawerWidth}px)`,\n },\n },\n })\n);\n\nexport const Loader = () => {\n const classes = useStyles();\n return (\n \n \n \n \n \n );\n};\n\nexport const HomeLayout: React.FC = ({\n loading,\n props,\n mobileOpen,\n handleDrawerToggle,\n renderToolBar,\n renderSelectedOption,\n}) => {\n const classes = useStyles();\n return (\n
\n \n {renderToolBar()}\n \n \n
{renderSelectedOption()}
\n
\n );\n};\n","export const avatarColor = [\"#18aed2\",\"#cf7fd8\",\"#77a577\",\"#a58077\",\"#e89cca\",\"#6C7A02\",\"#860cf3\",\"#ec8da7\",\"#13b9b2\",\"#8668dc\"];\n","const month = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\",\n];\n\nexport function getDateInDesiredFormat(date: Date) {\n return (\n (date.getDate() < 10 ? \"0\" + date.getDate() : date.getDate()) +\n \" \" +\n month[date.getMonth()] +\n \" \" +\n date.getFullYear()\n ).toString();\n}\n\nexport function getDateInLeaderBoardFormat(date: Date) {\n let day = date.getDate();\n let month = date.getMonth() + 1;\n let year = date.getFullYear();\n let str = day + \"/\" + month + \"/\" + year;\n return str;\n}\n\nexport function getMonthAndYearFormat(monthYear: string) {\n let array = monthYear.split(\"-\");\n return (month[parseInt(array[0]) - 1] + \"' \" + array[1].substr(2)).toString();\n}\n\nexport function getStartAndEndDateForCalendarDateRange() {\n return (\n {\n startDate : getDateInLeaderBoardFormat(new Date(new Date().setFullYear(new Date().getFullYear() - 1))), // last year\n endDate : getDateInLeaderBoardFormat(new Date()) // current date\n }\n );\n}\n","import { Divider, Grid, Icon, IconButton, Snackbar, Typography, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n top: theme.spacing(11.5)\n },\n grid: {\n background: (props: any) =>\n props?.type === MESSAGE_TYPE.SUCCESS ? \"#E6FAF8\" : \"#E5F6FD\",\n padding: theme.spacing(2),\n gap: theme.spacing(1),\n boxShadow: \"0px 8px 34px 0px rgba(0, 0, 0, 0.25)\",\n minWidth: 400,\n display: \"grid\",\n gridTemplateColumns: \"24px auto max-content max-content\"\n },\n message: {\n fontSize: 14,\n fontWeight: 400,\n color: (props: any) =>\n props?.type === MESSAGE_TYPE.SUCCESS ? \"#01BDB3\" : \"#0288D1\",\n lineHeight: \"21px\",\n marginRight: theme.spacing(3)\n },\n divider: {\n height: theme.spacing(3),\n background: (props: any) =>\n props?.type === MESSAGE_TYPE.SUCCESS ? \"#01BDB3\" : \"#0288D1\",\n opacity: \"30%\"\n }\n}));\n\nexport enum MESSAGE_TYPE {\n SUCCESS = \"SUCCESS\",\n INFO = \"INFO\",\n}\n\nexport interface MessageObject {\n message: string;\n type?: MESSAGE_TYPE;\n }\n\nconst MESSAGE_ICONS = {\n SUCCESS: \"/CheckCircleIcon.svg\",\n INFO: \"/infoBlue.svg\"\n}\n\nconst CANCEL_ICONS = {\n SUCCESS: \"/CancelGreen.svg\",\n INFO: \"/CancelBlue.svg\",\n}\n\nconst ToastMessage = (props) => {\n const { open, handleClose, message, type = MESSAGE_TYPE.SUCCESS } = props;\n const classes = useStyle({ type });\n\n return (\n \n \n \n \"success\"\n \n {message}\n \n \n \"close\"\n \n \n\n \n );\n}\n\nexport default ToastMessage;\n","import { Avatar, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\n\nconst useStyle = makeStyles((theme) => ({\n likertChip: {\n border: \"1px solid\",\n height: theme.spacing(6),\n width: theme.spacing(10),\n borderRadius: theme.spacing(3),\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(3.75),\n width: theme.spacing(6.25),\n },\n },\n avatarIcon: {\n height: theme.spacing(3.75),\n width: theme.spacing(3.75),\n borderRadius: 0,\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(2.5),\n width: theme.spacing(2.5),\n },\n },\n container: {\n padding: theme.spacing(0, 2.5, 0, 2.5),\n margin: theme.spacing(1.5, 0, 1.5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 1.5, 0, 1.5),\n margin: theme.spacing(1, 0, 1, 0),\n },\n },\n avatarLikertText: {\n color: \"#576BEA\",\n margin: theme.spacing(0, 0, 0, 1.75),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 0, 0, 0.75),\n },\n },\n avatarLikertNaText: {\n color: \"#272727\",\n margin: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 0, 0, 0),\n },\n },\n commonStyle: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n textAlign: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n}));\n\nexport const ResponseValue = ({ answer }) => {\n const classes = useStyle();\n\n return (\n \n {answer[1] !== \"/NA.svg\" && (\n \n {}\n \n )}\n \n \n {answer[0]}\n \n \n \n );\n};\n","import {\n Button,\n Divider,\n Grid,\n IconButton,\n makeStyles,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport theme from \"../../../../theme\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport {\n QuestionDetail,\n ResponseProp,\n ResponseScaleProp,\n} from \"../../../../type\";\nimport { ResponseValue } from \"./renderResponse\";\nimport { appColor } from \"../../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport { AttributeCardProp } from \"../../../user/shared_feedback/typeSharedFeedbacks\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_1: {\n textAlign: \"justify\",\n padding: theme.spacing(1.5, 0, 3.75, 0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0.875, 0, 2.25, 0),\n },\n },\n typography_body_2: {\n color: `${appColor.pureBlack}`,\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: \"10px\",\n },\n },\n attributeTitleBar: {\n backgroundColor: \"rgba(87,107,234,0.05)\",\n width: \"-webkit-fill-available\",\n textTransform: \"none\",\n \"&:hover\": {\n backgroundColor: \"rgba(87,107,234,0.05)\",\n },\n padding: theme.spacing(1, 1.25, 1, 2.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0.25, 0, 1),\n },\n },\n typography_body_4: {\n textAlign: \"justify\",\n padding: theme.spacing(2, 0, 0.6, 0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(2, 0, 0.6, 0),\n },\n },\n typography_inner_title: {\n padding: theme.spacing(2.5, 0, 0, 0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0.875, 0, 0.875, 0),\n },\n },\n paper: {\n textAlign: \"start\",\n margin: theme.spacing(0, 0, 3, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 2, 0),\n },\n },\n container: {\n padding: theme.spacing(0, 2.5, 0, 2.5),\n margin: theme.spacing(1.5, 0, 1.5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 1.5, 0, 1.5),\n margin: theme.spacing(1, 0, 1, 0),\n },\n },\n divider: {\n backgroundColor: \"rgb(140 142 154 / 48%)\",\n height: theme.spacing(0.125),\n margin: theme.spacing(0, 0, 2.25, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 1.375, 0),\n },\n },\n}));\n\nconst getAnswerPropertiesByAnswerValue = (\n index: number,\n que: QuestionDetail,\n responseScales: Array\n) => {\n const currentScale: Array | undefined = responseScales.find(\n (scale) =>\n scale.scaleName === que.answerType &&\n scale.scaleVersion === que.scaleVersion\n )?.scaleResponses;\n const response: ResponseProp | undefined = currentScale?.find(\n (response) => response.url === que.answer\n );\n return [\n response?.name,\n response?.url,\n response?.color,\n response?.borderColor,\n ];\n};\n\nexport const AttributeCard: React.FC = ({\n attribute,\n id,\n showDetails,\n setShowDetails,\n responseScales,\n from,\n faq,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n let answer;\n\n const handleClickDetail = (showDetails, setShowDetails, idx) => {\n let newValue = [...showDetails];\n newValue[idx] = !newValue[idx];\n setShowDetails(newValue);\n };\n return (\n \n {\n \n handleClickDetail(showDetails, setShowDetails, id)}\n className={`${customClasses.popperWidth} ${classes.attributeTitleBar}`}\n >\n \n \n \n {from === \"FAQ\" ? faq?.question : attribute.name}\n \n \n \n \n {showDetails && showDetails[id] ? (\n \n ) : (\n \n )}\n \n \n \n \n \n }\n {showDetails && showDetails[id] && (\n \n {from !== \"ASSESSMENT_SUBMITTED\" && from !== \"FAQ\" && (\n \n {attribute?.questions.map(\n (que, index) =>\n que.answer !== \"Skipped\" && (\n \n \n {que.questionText}\n \n {(que.answerType === \"STRING\" ||\n que.answer === \"Skipped\") && (\n \n )}\n {que.answer !== \"Skipped\" && que.answerType !== \"STRING\" && (\n \n <>\n {(answer = getAnswerPropertiesByAnswerValue(\n index,\n que,\n responseScales\n )) && (\n \n )}\n \n \n )}\n \n )\n )}\n \n )}\n {attribute?.questions?.filter((q) => q.answer !== \"Skipped\").length >\n 0 && }\n \n {from !== \"FAQ\" && (\n \n {from === \"ASSESSMENT_SUBMITTED\"\n ? \"What went well?\"\n : \"Feedback Message\"}\n \n )}\n \n \n {attribute.suggestions && (\n <>\n {\" \"}\n \n \n \n {from === \"ASSESSMENT_SUBMITTED\"\n ? \"What needs to be improved?\"\n : \"Suggestions\"}\n \n \n \n \n )}\n {attribute?.resources && (\n <>\n {\" \"}\n \n \n References\n \n \n \n \n )}\n \n )}\n \n );\n};\n","import {\n Button,\n Divider,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport { appColor } from \"../../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport { AttributeCardProp } from \"../../../user/shared_feedback/typeSharedFeedbacks\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_1: {\n textAlign: \"justify\",\n margin: theme.spacing(0),\n letterSpacing: \"1px\",\n fontSize: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0.875, 0, 2.25, 0),\n fontSize: theme.spacing(1.25),\n },\n },\n typography_body_2: {\n color: `${appColor.pureBlack}`,\n letterSpacing: \"1px\",\n padding: theme.spacing(0),\n fontSize: theme.spacing(2.25),\n textAlign: \"left\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n },\n },\n attributeTitleBar: {\n backgroundColor: \"#FFFFFF\",\n padding: theme.spacing(0),\n width: \"-webkit-fill-available\",\n textTransform: \"none\",\n \"&:hover\": {\n backgroundColor: \"rgba(87,107,234,0.05)\",\n },\n },\n container: {\n padding: theme.spacing(0, 2.5, 0, 2.5),\n margin: theme.spacing(1.5, 0, 1.5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 1.5, 0, 1.5),\n margin: theme.spacing(1, 0, 1, 0),\n },\n },\n}));\n\nexport const FAQCard: React.FC = ({\n attribute,\n id,\n showDetails,\n setShowDetails,\n from,\n faq,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n const handleClickDetail = (showDetails, setShowDetails, idx) => {\n let newValue = [...showDetails];\n newValue[idx] = !newValue[idx];\n setShowDetails(newValue);\n };\n return (\n <>\n {\n \n handleClickDetail(showDetails, setShowDetails, id)}\n className={`${customClasses.popperWidth} ${classes.attributeTitleBar}`}\n >\n \n \n \n {from === \"FAQ\" ? faq?.question : attribute.name}\n \n \n \n \n {showDetails && showDetails[id] ? (\n \n ) : (\n \n )}\n \n \n \n \n \n }\n {showDetails && showDetails[id] && (\n \n \n \n \n \n )}\n \n );\n};\n","import {\n Avatar,\n Button,\n Chip,\n Divider,\n Grid,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { avatarColor } from \"../../../constants/avatarBackgroundColor\";\nimport { appColor } from \"../../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport theme from \"../../../../theme\";\nimport { ResponseScaleProp, State } from \"../../../../type\";\nimport { getDateInDesiredFormat } from \"../../../../util/GetDateInDesiredFormat\";\nimport { AttributeCard } from \"./AttributeCard\";\nimport {\n UserNameProp,\n DateProp,\n AttributesHeadingProp,\n ActionCtaProp,\n RequestTypeProp,\n ContextTextProp,\n AttributeChipComponentProp,\n RequestStatusProp,\n} from \"./type\";\nimport { FAQCard } from \"./FAQCard\";\n\nconst useStyle = makeStyles((theme) => ({\n userNameGrid: {\n margin: theme.spacing(3, 0, 4.9375, 1),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(1.5, 0, 2.4375, 1),\n },\n },\n avatar: {\n width: theme.spacing(9.25),\n height: theme.spacing(9.25),\n margin: theme.spacing(0, 1.75, 0, 0),\n fontSize: \"xxx-large\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(5),\n height: theme.spacing(5),\n margin: theme.spacing(0, 1.25, 0, 0),\n fontSize: \"x-large\",\n },\n },\n typography_body_1: {\n fontSize: theme.spacing(1.75),\n padding: theme.spacing(1, 1.25, 1, 1),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0.5, 0.75, 0.5, 0.5),\n },\n },\n typography_body_2: {\n color: \"#272727\",\n letterSpacing: theme.spacing(0),\n margin: theme.spacing(5, 0, 1, 1),\n fontSize: theme.spacing(2.25),\n fontWeight: 600,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n margin: theme.spacing(2.875, 0, 1.75, 1),\n },\n },\n typography_body_3: {\n color: \"#272727\",\n margin: theme.spacing(0, 0, 0, 0),\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n typography_body_4: {\n fontSize: theme.spacing(1.75),\n padding: theme.spacing(0.75, 1, 0.75, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0.5, 0.5, 0.5, 0),\n },\n },\n typography_body_5: {\n color: \"#272727\",\n letterSpacing: theme.spacing(0),\n fontSize: theme.spacing(2.25),\n margin: theme.spacing(4.9375, 0, 3, 1),\n fontWeight: 500,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.75),\n margin: theme.spacing(2.4375, 0, 1.75, 1),\n },\n },\n btn: {\n margin: theme.spacing(6.25, 0, 4.25, 0),\n padding: theme.spacing(1.125, 3, 1.125, 2.875),\n backgroundColor: \"#576BEA\",\n color: \"white\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(3.75, 0, 5, 0),\n padding: theme.spacing(1, 1, 1, 1),\n },\n },\n btn_text: {\n fontWeight: 600,\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1),\n },\n },\n receivedDateGrid: {\n width: theme.spacing(26.25),\n margin: theme.spacing(0, 0, 0, 1),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(18.125),\n },\n },\n typeGrid: {\n width: theme.spacing(18.5),\n margin: theme.spacing(0, 1.5, 0, 1),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(13.125),\n margin: theme.spacing(0, 0.75, 0, 1),\n },\n },\n gridStyle: {\n backgroundColor: \"rgba(87,107,234,0.05)\",\n height: theme.spacing(4.25),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(2.75),\n borderRadius: theme.spacing(0.25),\n },\n },\n typography_body_context: {\n color: `${appColor.pureBlack}`,\n textAlign: \"justify\",\n margin: theme.spacing(2, 1, 3, 1),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0.5, 0.5, 0.5),\n },\n },\n chips: {\n borderColor: \"rgba(87,107,234,0.5)\",\n padding: theme.spacing(2.1, 0, 2.1, 0),\n margin: theme.spacing(0.75, 0.75, 3, 0.75),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0.375),\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n divider: {\n backgroundColor: \"rgb(140 142 154 / 48%)\",\n height: theme.spacing(0.125),\n marginTop: theme.spacing(1),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(2.5, 0, 1, 0),\n },\n },\n typography_closed: {\n color: \"#01BDB3\",\n textAlign: \"center\",\n backgroundColor: \"#E6FAF8\",\n padding: theme.spacing(0.75),\n fontWeight: 500,\n borderRadius: theme.spacing(0.5),\n width: theme.spacing(11.25),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(8),\n fontSize: \"10px\",\n },\n },\n divider2: {\n backgroundColor: \"rgb(140 142 154 / 48%)\",\n height: theme.spacing(0.125),\n margin: theme.spacing(0, 0, 2.25, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 1.375, 0),\n },\n },\n}));\n\nexport const CustomDivider = () => {\n const classes = useStyle();\n return ;\n};\n\nexport const UserName: React.FC = ({ user, headerName }) => {\n const classes = useStyle();\n return (\n <>\n \n \n {headerName ? headerName : \"Name\"}\n \n \n \n \n \n \n \n \n {user?.firstName + \" \" + user?.lastName}\n \n \n \n \n );\n};\n\nexport const RenderDate: React.FC = ({ from, date }) => {\n const classes = useStyle();\n\n return (\n \n \n \n \n {from === \"RECEIVED_FEEDBACK\" && \"Received on: \"}\n {from === \"SHARED_FEEDBACK\" && \"Shared on: \"}\n {from === \"ASSESSMENT_SUBMITTED\" && \"Submitted on: \"}\n {(from === \"RECEIVED_REQUEST\" || from === \"SENT_REQUEST\") &&\n \"Requested on: \"}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(date))}\n \n \n \n );\n};\n\nexport const RenderTypeOfRequest: React.FC = ({\n requestId,\n}) => {\n const classes = useStyle();\n return (\n <>\n {requestId && (\n \n \n \n \n Type:\n \n \n \n \n \n {\"Requested\"}\n \n \n \n )}\n \n );\n};\n\nexport const ContextText: React.FC = ({ text, from }) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n return (\n <>\n {text && (\n <>\n \n \n Context\n \n \n \n \n \n {from === \"ADMIN\" && }\n \n )}\n \n );\n};\n\nexport const AttributeChipComponent: React.FC = ({\n attributes,\n from,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n let attributeNames: Array = [];\n if (attributes?.length === 1 && typeof attributes[0] !== \"string\") {\n attributeNames = attributes[0].name.split(\",\");\n }\n return (\n <>\n \n \n Requested Attributes\n \n \n \n {attributes &&\n attributeNames.length === 0 &&\n attributes.map((attribute) =>\n typeof attribute === \"string\" ? (\n \n {attribute}\n \n }\n variant=\"outlined\"\n color=\"primary\"\n className={classes.chips}\n />\n ) : (\n \n {attribute?.name}\n \n }\n variant=\"outlined\"\n color=\"primary\"\n className={classes.chips}\n />\n )\n )}\n {attributeNames.length > 0 &&\n attributeNames.map((a) => (\n \n {a}\n \n }\n variant=\"outlined\"\n color=\"primary\"\n className={classes.chips}\n />\n ))}\n \n {from && }\n \n );\n};\n\nexport const RenderAttributeText: React.FC = ({\n from,\n}) => {\n const classes = useStyle();\n return (\n \n \n {from === \"RECEIVED_FEEDBACK\" && \"Attributes Feedback Received on\"}\n {(from === \"SHARED_FEEDBACK\" || from === \"RECEIVED_REQUEST\") &&\n \"Attributes Feedback Shared on\"}\n {from === \"ASSESSMENT_SUBMITTED\" &&\n \"Attributes assessment submitted on\"}\n \n \n );\n};\n\nexport const RenderAttributesDetails: React.FC = ({\n attributes,\n from,\n faqs,\n}) => {\n const classes = useStyle();\n const [showDetails, setShowDetails] = React.useState([]);\n const emptyList: Array = [];\n const responseScales =\n useSelector((state: State) => state.data.data?.scaleResponseEntityList) ??\n emptyList;\n useEffect(() => {\n if (attributes && attributes.length > 0) {\n const arg: Array = [];\n for (let index = 0; index < attributes.length; index++) {\n arg.push(true);\n }\n setShowDetails(arg);\n } else if (faqs) {\n const arg: Array = [];\n for (let index = 0; index < faqs.length; index++) {\n arg.push(false);\n }\n setShowDetails(arg);\n }\n }, [attributes, faqs]);\n return (\n <>\n {attributes &&\n attributes.map(\n (attribute, idx) =>\n typeof attribute !== \"string\" && (\n \n )\n )}\n {faqs &&\n faqs.map((faq, idx) => (\n \n \n \n \n \n \n {idx < faqs.length && (\n \n )}\n \n \n \n ))}\n \n );\n};\n\nexport const ActionCta: React.FC = ({\n from,\n setValue,\n userStatus,\n}) => {\n const classes = useStyle();\n return (\n <>\n {userStatus === \"ACTIVE\" && (\n \n {\n if (from === \"RECEIVED_FEEDBACK\") setValue(2);\n else setValue(1);\n }}\n >\n \n {from === \"RECEIVED_FEEDBACK\" && \"REQUEST ANOTHER\"}\n {from === \"SHARED_FEEDBACK\" && \"SHARE ANOTHER\"}\n \n \n \n )}\n \n );\n};\n\nexport const Status: React.FC = ({ status }) => {\n const classes = useStyle();\n\n return (\n <>\n \n \n Status\n \n \n \n {status === \"CLOSED\" && (\n \n Received\n \n )}\n \n \n );\n};\n","import { FAQObject } from \"../user/shared_feedback/typeSharedFeedbacks\";\n\nexport const FAQ_DATA: Array = [\n {\n question:\n \"Why can't I see all my teammates in while requesting or sharing feedback?\",\n answer:\n \"Grow-Wize shows the users who have already joined or were invited during setup. You can ask your teammates to login using corporate mail ID (@domian.com) and then you will be able to exchange feedback with them.\",\n to: \"user\",\n },\n {\n question: \"How can I invite more team mates?\",\n answer:\n \"To make things simple, you dont need to invite all of your team mates. You can ask your teammates to login using corporate mail ID (@domian.com) and then you will be able to exchange feedback with them.\",\n to: \"user\",\n },\n {\n question:\n \"I have a very large team. Is there a way that all users can be onboarded quickly?\",\n answer:\n '

You can share official email ID of your team with us on support@grow-wize.com. We will take it for ward and import all your teammates.

',\n to: \"user\",\n },\n {\n question:\n \"Is there a way to change the attributes like leadership, Org involvement, etc?\",\n answer:\n '

Yes, we can help you configure the feedback form based on your organization needs. You can share the attributes, questions and even the response scale that fits best for you and your organization with us on support@grow-wize.com. Share with us a spreadsheet with following details and we will make the required changes:

  • Attribute name
  • Questions
  • Response Scale
',\n to: \"admin\",\n },\n {\n question:\n \"Is there a way to change or remove the questions in feedback form?\",\n answer:\n '

Yes, we can help you configure the feedback form based on your organization needs. You can share the attributes, questions and even the response scale that fits best for you and your organization with us on support@grow-wize.com',\n to: \"admin\",\n },\n {\n question: \"Is there a way for me to edit or delete the feedback shared? \",\n answer:\n \"Currently, we are not allowing anyone (sender, receiver or even HR) to remove or edit the feedback shared. \",\n to: \"user\",\n },\n {\n question: \"Who all can see my feedback?\",\n answer:\n \"The feedback and nuggets shared in the system is accessible only by sender, receiver of feedback and the HR Admins of your workspace?\",\n to: \"user\",\n },\n ];","import React from \"react\";\nimport { RenderAttributesDetails } from \"../components/list/detail/DetailComponent\";\nimport jwt_decode from \"jwt-decode\";\nimport { TokenDataProps } from \"../home/Drawer\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../type\";\nimport { FAQ_DATA } from \"../constants/FAQQuestionsData\";\nimport { Grid, IconButton, makeStyles, Typography } from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { FAQComponentProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n container: {\n border: \"1px solid #DCDCDC\",\n borderRadius: \"4px\",\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 2px 4px 4px rgba(191,191,191,0.3)\",\n padding: theme.spacing(5, 7.5),\n margin:theme.spacing(0),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(2),\n marginBottom: theme.spacing(2),\n },\n },\n text: {\n fontSize: theme.spacing(5),\n color: \"#272727\",\n fontWeight: 800,\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(3),\n },\n },\n text_container: {\n margin: theme.spacing(0, 0, 3, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(2, 0),\n },\n },\n extra_style: {\n padding: theme.spacing(3, 5),\n },\n}));\n\nexport const FAQComponent: React.FC = ({ setOpen }) => {\n const classes = useStyle();\n const token = useSelector((state: State) => state.auth.token);\n\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n status: \"ACTIVE\",\n };\n try {\n tokenData = jwt_decode(token);\n } catch (err) {\n console.error((err as Error).message);\n }\n\n const faqs = FAQ_DATA;\n\n const renderFAQHeader = () => (\n \n\n\n \n setOpen(false)}\n aria-label=\"close\"\n >\n \n \n \n \n \n \n FAQs\n \n \n \n );\n\n const renderFAQAccordions = () => (\n \n q.to === \"user\")\n }\n >\n \n );\n\n return (\n \n {renderFAQHeader()}\n {renderFAQAccordions()}\n \n );\n};\n","import {\n Dialog,\n Slide,\n SlideProps,\n} from \"@material-ui/core\";\nimport * as React from \"react\";\nimport { FAQComponent } from \"./Component\";\nimport { Props } from \"./type\";\nimport \"./style.css\";\n\nconst Transition = React.forwardRef((props, ref) => (\n \n));\n\nexport const FullScreenDialog: React.FC = ({ open, setOpen }) => {\n const handleClickOpen = () => {\n setOpen(true);\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n

\n \n \n \n
\n );\n};\n","import {\n Avatar,\n Button,\n ClickAwayListener,\n Divider,\n Grid,\n IconButton,\n List,\n ListItem,\n Tooltip,\n Typography,\n} from \"@material-ui/core\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport Toolbar from \"@material-ui/core/Toolbar\";\nimport ArrowBackIosIcon from \"@material-ui/icons/ArrowBackIos\";\nimport MenuIcon from \"@material-ui/icons/Menu\";\nimport React, { useState } from \"react\";\nimport { useSelector, useDispatch } from \"react-redux\";\nimport { Redirect } from \"react-router\";\nimport theme from \"../../theme\";\nimport { State, ToolbarProp } from \"../../type\";\nimport { FullScreenDialog } from \"../faqs/FullScreenDialog\";\nimport { HeaderDisplayText, StatusText } from \"./HomeText\";\nimport { setUnsavedTeamChanges } from \"../../redux/slices/CreateTeamSlice\";\nimport { CreateTeamCancelModal } from \"../admin/teams/createTeams/createTeamCancelModal/createTeamCancelModal\";\nimport { useLocation } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n menuButton: {\n margin: theme.spacing(0, 0, 0, -2),\n [theme.breakpoints.up(\"sm\")]: {\n display: \"none\",\n },\n },\n detailBtn: {\n margin: theme.spacing(4.25, -5, 0, 0),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(4.25, -8.5, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(4.25, 0, 0, 0),\n },\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0),\n },\n },\n detailBtnWithProfile: {\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(-9.25, 0, 0, 0),\n },\n },\n list: {\n width: theme.spacing(38.75),\n height: theme.spacing(15.25),\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"-5px 9px 19px 0 rgba(90,90,90,0.4)\",\n \"&:hover\": {\n backgroundColor: \"#FFFFFF\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n boxShadow: \"-5px 19px 16px 15px rgb(90 90 90 / 40%)\",\n width: theme.spacing(26.75),\n height: theme.spacing(10.25),\n },\n },\n listTopGrid: {\n margin: theme.spacing(11, 0, 0, -0.5),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(11, 0, 0, 0.5),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(6, 0, 0, -1),\n },\n },\n topGrid: {\n margin: theme.spacing(0, 0, 0, -0.5),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 0, 1),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 0, -1),\n },\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(-2, 0, 0, -1),\n },\n },\n listTopGrid2: {\n margin: theme.spacing(17, 0, 0, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 0, 0),\n },\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(-3, 0, 0, 0),\n },\n },\n topGrid2: {\n margin: theme.spacing(2, 0, 0, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(2, 0, 0, 0),\n },\n },\n profileBtn: {\n minWidth: \"1px\",\n backgroundColor: \"#FFFFFF\",\n \"&:hover\": {\n backgroundColor: \"#FFFFFF\",\n },\n },\n profileBtnItem: {\n color: \"#A0A0A0\",\n backgroundColor: \"#FFFFFF\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n margin: theme.spacing(2, 0, 1, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n profileBtnItem2: {\n color: \"#272727\",\n backgroundColor: \"#FFFFFF\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n margin: theme.spacing(1.5, 0, 1.5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n headerName: {\n [theme.breakpoints.down(\"xl\")]: {\n padding: theme.spacing(0, 0, 0, 0.5),\n },\n [theme.breakpoints.down(\"lg\")]: {\n padding: theme.spacing(0, 0, 0, 0.5),\n },\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 0, 0.5),\n textAlign: \"start\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 0, 0, 0),\n textAlign: \"start\",\n },\n },\n headerName2: {\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(-9, 0, 0, 0),\n textAlign: \"start\",\n },\n },\n headerGrid: {\n marginTop: theme.spacing(-11.25),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(-6.25, 0, 0, 0),\n },\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(9.75, 0, 0, 0),\n },\n },\n headerDetail: {\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 0, 5),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, 0, 0, 0),\n textAlign: \"start\",\n },\n },\n headerDetail2: {\n marginTop: theme.spacing(-11.25),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(-11.25, 0, 0, 7),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(-6.25, 0, 0, 0),\n },\n },\n gridWithDetail: {\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(-2.5, 0, 0, 0),\n },\n },\n backCta: {\n margin: theme.spacing(-0.95, 0, 0, 0),\n color: \"black\",\n },\n toolTip: {\n height: theme.spacing(4),\n width: theme.spacing(8),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n fontColor: \"#FFFFFF\",\n backgroundColor: \"#272727\",\n textAlign: \"center\",\n padding: theme.spacing(1, 1.25),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(0.875),\n height: theme.spacing(2),\n width: theme.spacing(4),\n padding: theme.spacing(0.5, .75),\n },\n },\n arrow: {\n color: \"#272727\",\n },\n })\n);\n\nexport const ToolBar: React.FC = ({\n headerName,\n setLogout,\n isDetailView,\n setIsDetailView,\n handleDrawerToggle,\n value,\n setValue,\n tabValue,\n validLength,\n isDataChange,\n savedDraftDate,\n onAnyChange,\n}) => {\n const classes = useStyles();\n const [detailView, setDetailView] = React.useState(isDetailView);\n const [open, setOpen] = React.useState(false);\n const [toolTip, setToolTip] = React.useState(false);\n const { name, imageUrl } = useSelector((state: State) => state.auth);\n const [showFAQ, setShowFAQ] = React.useState(false);\n\n const dispatch = useDispatch();\n\n const handleClickAway = () => {\n setOpen(false);\n };\n\n const handleLogout = (e) => {\n e.preventDefault();\n setOpen(false);\n setLogout(true);\n };\n\n const location = useLocation();\n const currentPath = location.pathname;\n const [openModal, setOpenModal] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n\n const unsavedTeamChanges = useSelector(\n (state: State) => state.createTeamDetails.unsavedTeamChanges\n );\n\n const handleCancelModal = () => {\n setOpenModal(false);\n };\n\n const handleConfirmTeamTabModal = () => {\n setSubmitted(true);\n setOpenModal(false);\n dispatch(setUnsavedTeamChanges(false));\n setDetailView(false);\n setIsDetailView(false);\n };\n\n const renderSwitchViewTeamModal = () => {\n return (\n \n );\n };\n\n return (\n <>\n {renderSwitchViewTeamModal()}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setToolTip(true)}\n onClose={() => setToolTip(false)}\n title=\"FAQs\"\n placement=\"bottom\"\n arrow\n classes={{arrow: classes.arrow , tooltip: classes.toolTip }}\n >\n setShowFAQ(true)}>\n \n \n \n setOpen(true)}\n className={classes.profileBtn}\n >\n \n \n \n \n \n {open ? (\n \n \n \n {\"Welcome,\"}{\" \"}\n {`${name}`}\n \n \n \n \n \n Logout\n \n \n \n ) : null}\n \n \n \n \n \n {detailView ? (\n \n {\n if (currentPath === \"/admin/teams/create\" && unsavedTeamChanges) {\n setOpenModal(true); \n } else {\n setDetailView(false);\n setIsDetailView(false);\n }\n }}\n style={{ padding: \"0px\" }}\n >\n \n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {detailView ? (\n \n \n {\n if (currentPath === \"/admin/teams/create\" && unsavedTeamChanges) {\n setOpenModal(true); \n } else {\n setDetailView(false);\n setIsDetailView(false);\n }\n }}\n className={classes.backCta}\n >\n \n \n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setToolTip(true)}\n onClose={() => setToolTip(false)}\n title=\"FAQs\"\n placement=\"bottom\"\n arrow\n classes={{ arrow: classes.arrow ,tooltip: classes.toolTip }}\n >\n setShowFAQ(true)}>\n \n \n \n setOpen(true)}\n className={classes.profileBtn}\n >\n \n \n \n \n \n {open ? (\n \n \n \n {\"Welcome,\"}{\" \"}\n {`${name}`}\n \n \n \n \n \n Logout\n \n \n \n ) : null}\n \n \n \n \n \n \n \n \n \n );\n};\n","import {\n createStyles,\n InputBase,\n MenuItem,\n Select,\n Theme,\n withStyles,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport theme from \"../../theme\";\nimport { CustomSelectProp } from \"./type\";\n\nenum TEXT_ALIGN_PROPERTY {\n left = \"left\",\n right = \"right\",\n}\n\nconst BootstrapInputEmployee = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n position: \"relative\",\n backgroundColor: theme.palette.background.paper,\n border: \"1px solid #a0a0a0\",\n fontSize: 14,\n padding: theme.spacing(1, 0, 0.75, 1.5),\n transition: theme.transitions.create([\"border-color\", \"box-shadow\"]),\n fontFamily: \"Montserrat\",\n },\n })\n)(InputBase);\n\nconst BootstrapInputAdmin = withStyles((theme: Theme) =>\n createStyles({\n root: {\n \"label + &\": {\n marginTop: theme.spacing(3),\n },\n },\n input: {\n position: \"relative\",\n backgroundColor: theme.palette.background.paper,\n fontSize: 10,\n transition: theme.transitions.create([\"border-color\", \"box-shadow\"]),\n fontFamily: \"Montserrat\",\n },\n })\n)(InputBase);\n\nexport const LIST_ITEMS = {\n RECEIVED_FEEDBACK: [\"All\", \"Employees\", \"Clients\"],\n SENT_REQUEST: [\"All\", \"Employees\", \"Clients\"],\n ACTIVITY_LIST: [\"All\", \"Shared\", \"Requested\", \"On boarded\", \"Self assessment\"],\n FEEDBACK_TYPE_LIST: [\"Shared\", \"Received\"],\n TIME_UNIT: [\"Day\", \"Month\"],\n MONTH_DURATION_LIST: [\"30 days\", \"60 days\", \"90 days\"],\n};\n\nconst EMPLOYEE_STYLE_ARRAY = [\"RECEIVED_FEEDBACK\", \"SENT_REQUEST\"];\n\nconst EMPLOYEE_STYLE_OBJ = {\n width: theme.spacing(18),\n textAlign: TEXT_ALIGN_PROPERTY.left,\n margin: theme.spacing(0),\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: \"#272727\",\n};\n\nconst ADMIN_STYLE_OBJ = {\n width: theme.spacing(14),\n textAlign: TEXT_ALIGN_PROPERTY.right,\n margin: theme.spacing(0),\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: \"#272727\",\n};\n\nexport const CustomSelect: React.FC = ({\n tabValue,\n setTabValue,\n setPageNumber,\n name,\n}) => {\n const items = LIST_ITEMS[name];\n\n const handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n if (EMPLOYEE_STYLE_ARRAY.includes(name)) setPageNumber(1);\n if (name === \"MONTH_DURATION_LIST\")\n setTabValue(((event.target.value as number) + 1) * 30);\n else setTabValue(event.target.value as number);\n };\n return (\n \n ) : (\n \n )\n }\n style={\n EMPLOYEE_STYLE_ARRAY.includes(name)\n ? EMPLOYEE_STYLE_OBJ\n : ADMIN_STYLE_OBJ\n }\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\",\n },\n getContentAnchorEl: null,\n }}\n >\n {items.map((item, index) => (\n \n {item}\n \n ))}\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../../type\";\nimport ToastMessage from \"../../../modules/components/ToastMessage\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n width: `${window.innerWidth - 224}px`,\n padding: theme.spacing(6, 5, 2, 4),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n}));\n\nexport const AdminDashboardLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderRecentActivities,\n renderNudgeBoard,\n renderLeaderboard,\n renderFeedbackTrend,\n showSuccess,\n handleClose,\n nudgeSuccessMsg\n}) => {\n document.title = \"Grow-Wize | Admin-Dashboard\";\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const loggedInUserMail = useSelector(\n (state: State) => state.auth.email ?? \"test@technogise.com\"\n );\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderDashboardLayout = () => (\n <>\n {renderErrorModal()}\n \n \n \n {renderFeedbackTrend()}\n \n \n {renderLeaderboard()}\n \n <>\n \n {renderNudgeBoard()} \n \n \n {renderRecentActivities()}\n \n \n \n \n );\n\n return (\n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RecentActivitiesDataProps, RecentActivitySliceProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getRecentActivities = createAsyncThunk(\n \"admin/activities/recent\",\n async (params: RecentActivitySliceProp, storeActions) => {\n const url = `api/v1/admin/recent-activities?activity=${params.activity}` + params.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst recentActivitiesSlice = createSlice({\n name: \"recentActivities\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: [] as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getRecentActivities.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getRecentActivities.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getRecentActivities.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = recentActivitiesSlice.actions;\n\nexport default recentActivitiesSlice;\n","export type NudgeTitleProps = {\n name: string;\n size: | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | \"auto\"\n | boolean\n | undefined;\n}\n\nexport const NUDGE_TITLE: Array = [\n {\n name: \"Name\",\n size: 6,\n },\n {\n name: \"Shared\",\n size: 2,\n },\n {\n name: \"Received\",\n size: 2,\n },\n {\n name: \"Action\",\n size: 2,\n },\n];\n\nexport enum MESSAGES {\n NUDGE_SUCCESS = \"Nudge Notification Sent Successfully\",\n NUDGE_FAIL = \"Nudge Notification Failed\",\n}\nexport const COUNT = 200;\n","import { Grid } from \"@material-ui/core\"\nimport React from \"react\"\nimport theme from \"../../../theme\"\n\nexport const CustomDivider = () => {\n return (\n
\n)\n}\n","import React from \"react\";\nimport { RecentActivityDetailProp } from \"../../../type\";\nimport { Avatar, Grid, Typography } from \"@material-ui/core\";\nimport { getDateInActivityFormat } from \"../../../util/GetDateInActitivityFormat\";\n\nexport const RequestFeedbackActivityCard: React.FC =\n ({ activityDate, activityUser, others }) => {\n return (\n \n \n \n \n \n \n \n \n {\n \n {activityUser?.firstName + \" \" + activityUser?.lastName}\n \n }{\" \"}\n requested feedback from{\" \"}\n {{others?.join(\", \")}}\n \n \n \n \n {activityDate &&\n getDateInActivityFormat(new Date(activityDate))}\n \n \n \n \n \n \n );\n };\n","import React from \"react\";\nimport { RecentActivityDetailProp } from \"../../../type\";\nimport {\n Avatar,\n Button,\n Grid,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { getDateInActivityFormat } from \"../../../util/GetDateInActitivityFormat\";\n\nconst useStyles = makeStyles((theme) => ({\n btn: {\n height: theme.spacing(4.75),\n width: theme.spacing(12.5),\n textTransform: \"none\",\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n color: `${appColor.darkGray}`,\n padding: theme.spacing(1.25, 4),\n border: \"1px solid rgba(175,175,175,0.5)\",\n \"&:hover\": {\n backgroundColor: `${appColor.adminThemeColor}`,\n color: `${appColor.pureWhite}`,\n border: \"none\",\n },\n },\n}));\n\nexport const SharedFeedbackActivityCard: React.FC = ({\n activityId,\n activityDate,\n activityUser,\n others,\n setFeedbackId,\n setMember\n}) => {\n const classes = useStyles();\n return (\n \n \n \n \n \n \n \n \n {\n \n {activityUser?.firstName + \" \" + activityUser?.lastName}\n \n }{\" \"}\n shared feedback with{\" \"}\n {{others && others[0]}}\n \n \n \n \n {activityDate && getDateInActivityFormat(new Date(activityDate))}\n \n \n \n \n \n \n \n \n );\n};\n","import React from \"react\";\nimport { RecentActivityDetailProp } from \"../../../type\";\nimport { Avatar, Grid, Typography } from \"@material-ui/core\";\nimport { getDateInActivityFormat } from \"../../../util/GetDateInActitivityFormat\";\n\nexport const UserOnBoardedActivityCard: React.FC = ({\n activityUser,\n activityDate,\n}) => {\n return (\n \n \n \n \n \n \n \n \n {\n \n {activityUser?.firstName + \" \" + activityUser?.lastName}\n \n }{\" \"}\n joined Grow-Wize{\" \"}\n \n \n \n \n {activityDate && getDateInActivityFormat(new Date(activityDate))}\n \n \n \n \n \n \n );\n};\n","import React from \"react\";\nimport { RecentActivityDetailProp } from \"../../../type\";\nimport {\n Avatar,\n Button,\n Grid,\n Typography,\n makeStyles,\n} from \"@material-ui/core\";\nimport { getDateInActivityFormat } from \"../../../util/GetDateInActitivityFormat\";\nimport { appColor } from \"../../constants/customThemeColor\";\n\nconst useStyles = makeStyles((theme) => ({\n btn: {\n height: theme.spacing(4.75),\n width: theme.spacing(12.5),\n textTransform: \"none\",\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n color: `${appColor.darkGray}`,\n padding: theme.spacing(1.25, 4),\n border: \"1px solid rgba(175,175,175,0.5)\",\n \"&:hover\": {\n backgroundColor: `${appColor.adminThemeColor}`,\n color: `${appColor.pureWhite}`,\n border: \"none\",\n },\n },\n}));\n\nexport const SelfAssessmentActivityCard: React.FC = ({\n activityId,\n activityDate,\n activityUser,\n setAssessmentId,\n setMember,\n}) => {\n const classes = useStyles();\n return (\n \n \n \n \n \n \n \n \n {\n \n {activityUser?.firstName + \" \" + activityUser?.lastName}\n \n }{\" \"}\n has updated their Self Assessment{\" \"}\n \n \n \n \n {activityDate && getDateInActivityFormat(new Date(activityDate))}\n \n \n \n \n \n {\n setMember(activityUser);\n setAssessmentId(activityId);\n }}\n >\n View\n \n \n \n );\n};\n","import {\n CircularProgress,\n Grid,\n makeStyles,\n Typography,\n ClickAwayListener,\n IconButton\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { CustomSelect } from \"../../components/CustomSelect\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\nimport { DateRangePicker } from \"react-date-range\";\nimport { CustomDivider } from \"./CustomDivider\";\nimport { RequestFeedbackActivityCard } from \"./FeedbackRequestActivityCard\";\nimport { SharedFeedbackActivityCard } from \"./FeedbackSharedActivityCard\";\nimport { RecentActivityComponentProp } from \"./type\";\nimport { UserOnBoardedActivityCard } from \"./UserOnBoardedActivityCard\";\nimport { SelfAssessmentActivityCard } from \"./SelfAssessmentActivityCard\";\n\nconst useStyles = makeStyles((theme) => ({\n recentActivitySection: {\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n boxSizing: \"border-box\",\n margin: theme.spacing(0, 1),\n },\n dates: {\n position: \"absolute\",\n zIndex: 100,\n right: theme.spacing(6),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n fontFamily: \"Montserrat\",\n marginTop: \"16px\",\n },\n}));\n\nexport const RecentActivityComponent: React.FC = ({\n data,\n recentActivityTab,\n setRecentActivityTab,\n loading,\n setFeedbackId,\n setAssessmentId,\n setMember,\n activityDateRangeState,\n setActivityDateRangeState,\n}) => {\n const classes = useStyles();\n const customClasses = useCustomStyle();\n const [show, setShow] = React.useState(false);\n\n const handleDateChange = (range) => {\n const nextRange = {\n startDate: range?.range1?.startDate,\n endDate: range?.range1?.endDate,\n };\n setActivityDateRangeState(nextRange);\n };\n\n\n return (\n \n \n \n \n Activities\n \n \n \n \n setShow(true)}\n style={{\n padding: \"0px 4px\",\n margin: \"0px\",\n position: \"relative\",\n height: \"20px\",\n width: \"20px\",\n }}\n >\n \"trend-calendar\"\n \n {show && (\n setShow(false)}\n >\n
\n handleDateChange(e)}\n maxDate={new Date()}\n dateDisplayFormat={\"d MMM yyyy\"}\n />\n
\n )}\n
\n
\n \n \n \n
\n \n \n \n \n {data?.length > 0 &&\n data.map((d, id) => (\n
\n {d.activityName === \"FEEDBACK_SHARED\" && (\n \n )}\n {d.activityName === \"FEEDBACK_REQUESTED\" && (\n \n )}\n {d.activityName === \"USER_ONBOARDED\" && (\n \n )}\n {d.activityName === \"SELF_ASSESSMENT_UPDATED\" && (\n \n )}\n \n \n \n
\n ))}\n {loading && (\n \n \n
\n )}\n {!loading && data?.length === 0 && (\n \n \n No recent activities...\n \n \n )}\n \n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { NudgeSendNotificationProps } from \"../../type\";\n\nexport const nudgeSendNotification = createAsyncThunk(\n \"admin/nudge/sendNotification\",\n async (requestParams: NudgeSendNotificationProps, storeActions) => {\n const url = `api/v1/admin/send/nudge`;\n const response: any = await post(url, requestParams, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: response.status,\n data: await response.json(),\n };\n } else {\n\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst adminNudgeSendNotificationSlice = createSlice({\n name: \"adminNudgeSendNotification\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(nudgeSendNotification.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(nudgeSendNotification.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(nudgeSendNotification.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = adminNudgeSendNotificationSlice.actions;\n\nexport default adminNudgeSendNotificationSlice;\n","import {\n Avatar,\n Button,\n Grid,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { NudgeSendNotificationProps, User } from \"../../../type\";\nimport { useDispatch } from \"react-redux\";\nimport { nudgeSendNotification } from \"../../../redux/slices/NudgeSendNotificationSlice\";\nimport { getDateInActivityFormat } from \"../../../util/GetDateInActitivityFormat\";\n\nconst useStyles = makeStyles((theme) => ({\n btn: {\n height: theme.spacing(4.75),\n width: theme.spacing(13.5),\n textTransform: \"none\",\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n color: `${appColor.darkGray}`,\n padding: theme.spacing(1.25, 0.75),\n border: \"1px solid rgba(175,175,175,0.5)\",\n \"&:hover\": {\n backgroundColor: `${appColor.adminThemeColor}`,\n color: `${appColor.pureWhite}`,\n border: \"none\",\n },\n },\n btn2: {\n height: theme.spacing(4.75),\n width: theme.spacing(13.5),\n textTransform: \"none\",\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n border: \"1px solid #7C69EC\",\n color: `#7C69EC`,\n padding: theme.spacing(1.25, 0.75),\n \"&:hover\": {\n backgroundColor: `${appColor.adminThemeColor}`,\n color: `${appColor.pureWhite}`,\n border: \"none\",\n },\n },\n}));\n\nexport const NudgeCard = ({\n user,\n sharedFeedbackCount,\n receivedFeedbackCount,\n nudgeSenderData,\n titles,\n setNudgeCtaSubmitted,\n}) => {\n const classes = useStyles();\n const dispatch = useDispatch();\n let diff = -1;\n const handleNudgeCta = (user: User) => {\n if (user.id) {\n setNudgeCtaSubmitted(true);\n const params: NudgeSendNotificationProps = {\n userId: user.id,\n };\n dispatch(nudgeSendNotification(params));\n }\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n {user &&\n user.firstName &&\n user.firstName.charAt(0).toUpperCase() +\n user.firstName.slice(1) +\n \" \" +\n (user.lastName.charAt(0).toUpperCase() +\n user.lastName.slice(1))}\n \n \n \n \n \n {!nudgeSenderData?.sender?.firstName ? (\n <>Not yet nudged\n ) : (\n <>\n {\" \"}\n Nudged By:{\" \"}\n {nudgeSenderData?.sender?.firstName\n .charAt(0)\n .toUpperCase() +\n nudgeSenderData?.sender?.firstName.slice(1)}{\" \"}\n |{\" \"}\n {nudgeSenderData?.nudgeDate &&\n getDateInActivityFormat(\n new Date(nudgeSenderData?.nudgeDate)\n )}\n \n )}\n \n \n \n \n\n \n \n {sharedFeedbackCount}\n \n \n\n \n \n {receivedFeedbackCount}\n \n \n\n \n \n \n \n \n );\n};\n","export enum Messages {\n ADD_ATTRIBUTE = \"New attribute created successfully!\",\n UPDATE_ATTRIBUTE_NAME = \"Attribute name updated successfully!\",\n DISABLE_ATTRIBUTE = \"Attribute disabled successfully\",\n ENABLE_ATTRIBUTE = \"Attribute enabled successfully\",\n UPDATE_QUESTION = \"Question updated Successfully!\",\n DISABLE_QUESTION = \"Question disabled successfully\",\n ENABLE_QUESTION = \"Question enabled successfully\",\n ADD_QUESTION = \"Question added successfully\",\n}\n\nexport enum ValidationErrors {\n QUESTION_TEXT = \"Please write a question here\",\n RESPONSE_TYPE = \"Please select response type\",\n ATTRIBUTE_NAME = \"Please enter attribute name\",\n ATTRIBUTE_NAME_LENGTH = \"Character length limit has been reached - 50 characters\"\n}\n\nexport enum AttributeStatus {\n ACTIVE = \"ACTIVE\",\n INACTIVE = \"INACTIVE\"\n}","import { Button, ClickAwayListener, makeStyles } from \"@material-ui/core\"\nimport { useState } from \"react\";\nimport { DateRangePicker } from \"react-date-range\";\nimport { getDateInDesiredFormat } from \"../../util/GetDateInDesiredFormat\";\nimport { useLocation } from \"react-router-dom\";\nimport theme from \"../../theme\";\n\nconst useStyle = makeStyles((theme) => ({\n calenderCTA: {\n padding: theme.spacing(1.25, 1.5, 1.25, 1.5),\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n color: \"#7C69EC\",\n fontFamily: \"Montserrat\",\n height: theme.spacing(6),\n },\n dateRangeWrapper: {\n position: \"absolute\",\n zIndex: 100,\n right: theme.spacing(78),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n fontFamily: \"Montserrat\",\n marginTop: \"399px\",\n \"& > .rdrDateRangePickerWrapper > .rdrDefinedRangesWrapper\": {\n display: \"none\",\n }\n },\n}));\n\nexport const NudgeCalendarCTA = ({\n setDateRange,\n dateRange,\n selectedDateCount,\n setSelectedDateCount,\n}) => {\n const classes = useStyle();\n const [showDateRange, setShowDateRange] = useState(false);\n\n const location = useLocation();\n const currentPath = location.pathname;\n\n // Conditionally set marginTop based on the current route\n const marginTop = currentPath === \"/admin/nudge\" ? \"0px\" : \"399px\";\n\n // Conditionally set right based on the current route\n const right = currentPath === \"/admin/nudge\" ? theme.spacing(6) : theme.spacing(78);\n\n const handleDateChange = (range) => {\n const nextRange = {\n startDate: range?.range1?.startDate,\n endDate: range?.range1?.endDate,\n };\n setDateRange(nextRange);\n if (selectedDateCount === 1) {\n setShowDateRange(false);\n setSelectedDateCount(2);\n } else if (selectedDateCount === 0) {\n setSelectedDateCount(1);\n }\n };\n\n return (<>\n }\n variant=\"text\"\n data-testid=\"export-button\"\n className={classes.calenderCTA}\n onClick={() => setShowDateRange(true)}\n >\n {/* Sep 2023 - Sep 2024 */}\n {getDateInDesiredFormat(dateRange.startDate)} - {getDateInDesiredFormat(dateRange.endDate)}\n \n {showDateRange && (\n setShowDateRange(false)}\n >\n
\n handleDateChange(e)}\n maxDate={new Date()}\n staticRanges={[]}\n inputRanges={[]}\n dateDisplayFormat={\"d MMM yyyy\"}\n />\n
\n \n )}\n \n );\n}\n\nexport {};","import { Button, CircularProgress, Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { AttributeStatus } from \"../../../modules/admin/customAttributeAndQuestions/helper\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: theme.spacing(11, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n position: \"relative\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n loaderBackground: {\n height: \"100%\",\n padding: 0,\n background: \"none\",\n overflow: \"hidden\"\n },\n disabledContainer: {\n pointerEvents: \"none\",\n opacity: 0.3\n },\n}));\n\nexport const Loader = () => {\n const classes = useStyle();\n return (\n \n \n \n \n \n );\n};\n\nexport const AttributeDetailLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderAddQuestionButton,\n renderAddQuestionModal,\n renderQuestionsList,\n renderInfoBanner,\n renderAttributeName,\n attributeStatus\n}) => {\n document.title = \"Grow-Wize | Admin - Attributes\";\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const isDisabled = attributeStatus === AttributeStatus.INACTIVE;\n\n const renderAttributeDetail = () => (\n <>\n {renderErrorModal()}\n {renderAddQuestionModal()}\n \n {loading && \n \n }\n {isDisabled && renderInfoBanner()}\n \n \n {renderAttributeName()}\n {renderAddQuestionButton()}\n \n {renderQuestionsList()}\n \n \n \n );\n\n return (\n \n );\n};\n","import React from \"react\";\nimport Chart from \"react-apexcharts\";\nimport { TrendChartProp } from \"./type\";\nimport \"./style.css\";\nimport {\n getDateInDesiredFormat,\n getMonthAndYearFormat,\n} from \"../../../util/GetDateInDesiredFormat\";\nexport enum ChartCurve {\n smooth = \"smooth\",\n straight = \"straight\",\n stepline = \"stepline\",\n}\n\nexport enum GridPosition {\n back = \"back\",\n front = \"front\",\n}\n\nexport enum ChartType {\n line = \"line\",\n}\n\nexport enum ChartLineCap {\n butt = \"butt\",\n round = \"round\",\n square = \"square\",\n}\n\nexport enum ChartFill {\n gradient = \"gradient\",\n}\n\nexport enum ChartXAxis {\n datetime = \"datetime\",\n}\n\nexport interface DataValueProp {\n x: string;\n y: number;\n}\n\nexport const TrendChart: React.FC = ({ data }) => {\n let arr: Array = [];\n if (data.length > 0 && data[0].date !== null) {\n data.map((d) => {\n arr.push({\n x: getDateInDesiredFormat(new Date(d.date)),\n y: d.numberOfFeedbackExchanged,\n });\n });\n } else if (data.length > 0 && data[0].monthYear !== null) {\n data.map((d) => {\n arr.push({\n x: getMonthAndYearFormat(d.monthYear),\n y: d.numberOfFeedbackExchanged,\n });\n });\n }\n const options = {\n noData: {\n text: \"No data in this range\",\n },\n grid: {\n show: true,\n position: GridPosition.back,\n },\n series: [\n {\n type: \"column\",\n data: arr,\n },\n ],\n stroke: {\n curve: ChartCurve.smooth,\n show: true,\n width: 5,\n dashArray: 0,\n lineCap: ChartLineCap.butt,\n },\n markers: {\n size: 1,\n },\n fill: {\n type: ChartFill.gradient,\n },\n colors: [\"#7C69EC\"],\n chart: {\n type: ChartType.line,\n toolbar: {\n show: true,\n tools: {\n download: false,\n selection: true,\n zoom: false,\n zoomin: false,\n zoomout: false,\n pan: false,\n reset: false,\n },\n },\n },\n legend: {\n show: false,\n },\n };\n return (\n \n );\n};\n","import {\n Avatar,\n Button,\n Grid,\n IconButton,\n makeStyles,\n Tooltip,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\nimport { ResponseNudge, State } from \"../../../type\";\nimport { NudgeCard } from \"./NudgeCardComponent\";\nimport { CustomDivider } from \"./CustomDivider\";\nimport { NudgeBoardProp } from \"./type\";\nimport { NUDGE_TITLE } from \"./Helper\";\nimport { NudgeCalendarCTA } from \"../../components/NudgeCalendarCTA\";\nimport { Loader } from \"../../../layouts/admin/attributeDetail/Layout\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useStyles = makeStyles((theme) => ({\n appraisalSection: {\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n boxSizing: \"border-box\",\n margin: theme.spacing(0, 1),\n },\n header: {\n padding: theme.spacing(1, 1, 1, 1),\n },\n dates: {\n position: \"absolute\",\n zIndex: 100,\n right: \"60px\",\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n fontFamily: \"Montserrat\",\n marginTop: \"0px\",\n },\n toolTip_list: {\n height: theme.spacing(8),\n width: theme.spacing(25),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n fontColor: \"#FFFFFF\",\n backgroundColor: \"#272727\",\n textAlign: \"center\",\n padding: theme.spacing(1, 1),\n whiteSpace: \"normal\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(0.875),\n height: theme.spacing(2),\n width: theme.spacing(4),\n padding: theme.spacing(0.5, 0.75),\n },\n },\n toolTip_action: {\n height: theme.spacing(4),\n width: theme.spacing(20),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n fontColor: \"#FFFFFF\",\n backgroundColor: \"#272727\",\n textAlign: \"center\",\n padding: theme.spacing(1, 1.25),\n right: theme.spacing(6.25),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(0.875),\n height: theme.spacing(2),\n width: theme.spacing(4),\n padding: theme.spacing(0.5, 0.75),\n },\n },\n arrow_default: {\n color: \"#272727\",\n },\n arrow_right_align: {\n color: \"#272727\",\n left: \"120px !important\",\n },\n footerContainer: {\n marginTop: theme.spacing(0),\n marginBottom: theme.spacing(1.3),\n borderTop: \"1px solid rgba(175,175,175,0.3)\",\n display: \"flex\",\n justifyContent: \"flex-end\",\n alignItems: \"center\",\n padding: theme.spacing(0.1),\n },\n footerButton: {\n color: '#7C69EC',\n textTransform: 'none',\n marginTop: '10px',\n marginRight: \"20px\",\n padding: theme.spacing(0),\n lineHeight: '1.6', // Adjust line-height for vertical alignment\n fontSize: '1rem',\n }\n}));\n\nexport const NudgeBoard: React.FC = ({\n dateRangeState,\n setDateRangeState,\n pageNumber,\n setPageNumber,\n totalCount,\n setNudgeCtaSubmitted,\n loading,\n}) => {\n const classes = useStyles();\n const history = useHistory();\n const customClasses = useCustomStyle();\n const [showListToolTip, setShowListToolTip] = React.useState(false);\n const [showActionToolTip, setShowActionToolTip] = React.useState(false);\n const [selectedDateCount, setSelectedDateCount] = useState(0);\n const nudges = useSelector((state: State) => state.adminNudgeData.nudges);\n const renderTitles = () => {\n return (\n \n {NUDGE_TITLE.map((title) => (\n \n \n {title.name}\n {title.name === \"Shared\"}\n {title.name === \"Received\"}\n {title.name === \"Action\" && (\n setShowActionToolTip(true)}\n onClose={() => setShowActionToolTip(false)}\n title=\"Nudge them via email\"\n placement=\"bottom\"\n arrow\n classes={{ arrow: classes.arrow_right_align, tooltip: classes.toolTip_action }}\n >\n setShowActionToolTip(true)}\n style={{ padding: 6 }}\n >\n \n \n \n )}\n \n \n ))}\n \n );\n };\n useEffect(() => {\n if (pageNumber != 1) {\n setPageNumber(1);\n }\n }, [dateRangeState]);\n\n const handleClick = () => {\n history.push({\n pathname: `/admin/nudge`});\n }\n\n return (\n \n \n \n \n Nudge Board\n \n\n setShowListToolTip(true)}\n onClose={() => setShowListToolTip(false)}\n title=\"See who hasn’t shared or received feedback recently\"\n placement=\"bottom\"\n arrow\n classes={{ arrow: classes.arrow_default, tooltip: classes.toolTip_list }}\n >\n setShowListToolTip(true)}\n style={{ padding: 6 }}\n >\n \n \n \n \n \n \n \n \n\n \n \n \n\n \n {totalCount > 0 && (\n \n {renderTitles()}\n \n )}\n \n\n \n \n \n\n \n {loading ? (\n \n \n \n ) : (\n <>\n {totalCount > 0 &&\n nudges.map((nudge: ResponseNudge) => (\n
\n \n \n \n \n
\n ))}\n \n )}\n {!loading && totalCount === 0 && (\n \n \n No nudges...\n \n \n )}\n \n \n \n Show More\n \n \n \n );\n};","import React from \"react\";\nimport { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport { LeaderCardProps } from \"./type\";\nimport theme from \"../../../theme\";\n\nconst useStyles = makeStyles((theme) => ({\n cardGrid: {\n height: theme.spacing(7.5),\n backgroundColor: `#F5F6FA`,\n borderRadius: theme.spacing(1.5),\n margin: theme.spacing(0, 1.75, 1.5, 1.75),\n padding: theme.spacing(0.75, 2, 1.5, 1.75),\n },\n}));\n\nexport const LeaderboardMemberCardComponent: React.FC = ({\n users,\n position,\n feedbackCount,\n}) => {\n const classes = useStyles();\n let names: Array = [];\n if (users) {\n names = users?.map((u) => u?.firstName + \" \" + u?.lastName);\n names = names.reverse();\n }\n return (\n \n \n \n \n {position}\n \n \n \n \n
\n {users?.map((u, idx) => (\n \n \n \n ))}\n
\n
\n \n \n {names.length > 0 && names?.join(\", \")}\n \n \n
\n \n \n {feedbackCount}\n \n \n
\n \n );\n};\n","import React from \"react\";\nimport { Avatar, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport { LeaderCardProps } from \"./type\";\nimport theme from \"../../../theme\";\nimport \"./style.css\";\n\nconst useStyles = makeStyles((theme) => ({\n cardGrid: {\n minHeight: theme.spacing(23.25),\n width: theme.spacing(22.5),\n maxWidth: theme.spacing(28),\n backgroundColor: `#F5F6FA`,\n borderRadius: theme.spacing(1.5),\n margin: theme.spacing(1.25, 1.75),\n padding: theme.spacing(1.5),\n },\n}));\n\nexport const TopLeaderCardComponent: React.FC = ({\n users,\n feedbackCount,\n}) => {\n const classes = useStyles();\n let names: Array = [];\n if (users) {\n names = users?.map((u) => u?.firstName + \" \" + u?.lastName);\n names = names.reverse();\n }\n return (\n \n \n \n
\n {users?.map((u, idx) => (\n \n \n \n ))}\n
\n
\n \n \n \n\n \n \n {names.length > 0 && names.join(\", \")}\n \n \n\n \n \n {feedbackCount}\n \n \n
\n \n );\n};\n","import {\n CircularProgress,\n ClickAwayListener,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport \"react-date-range/dist/styles.css\";\nimport \"react-date-range/dist/theme/default.css\";\nimport { DateRangePicker } from \"react-date-range\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\nimport { User } from \"../../../type\";\nimport { CustomDivider } from \"./CustomDivider\";\nimport { LeaderboardMemberCardComponent } from \"./LeaderboardMemberCard\";\nimport { TopLeaderCardComponent } from \"./TopLeaderCard\";\nimport { LeaderBaordProps } from \"./type\";\nimport \"./style.css\";\nimport { CustomSelect } from \"../../components/CustomSelect\";\n\nconst useStyles = makeStyles((theme) => ({\n appraisalSection: {\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n boxSizing: \"border-box\",\n margin: theme.spacing(1, 1, 2, 1),\n },\n dates: {\n position: \"absolute\",\n right: \"47px\",\n zIndex: 100,\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n fontFamily: \"Montserrat\",\n marginTop: \"10px\",\n },\n}));\n\ninterface DataProps {\n count: number;\n members: Array;\n}\n\nexport const LeaderBoardComponent: React.FC = ({\n data,\n feedbackTag,\n setFeedbackTag,\n loading,\n dateRangeState,\n setDateRangeState,\n}) => {\n const classes = useStyles();\n const customClasses = useCustomStyle();\n const [show, setShow] = React.useState(false);\n const handleDateChange = (range) => {\n const nextRange = {\n startDate: range?.range1?.startDate,\n endDate: range?.range1?.endDate,\n };\n setDateRangeState(nextRange);\n };\n\n const leaderMap = new Map();\n\n data?.map((u) => {\n if (leaderMap.get(u.feedbackCount) === undefined) {\n let arr = [u.member];\n leaderMap.set(u.feedbackCount, arr);\n } else {\n let arr = [u.member];\n let ar = [...leaderMap.get(u.feedbackCount), ...arr];\n leaderMap.delete(u.feedbackCount);\n leaderMap.set(u.feedbackCount, ar);\n }\n });\n\n const finalLeaders: Array = [];\n leaderMap.forEach((value, key) => {\n finalLeaders.push({\n count: key,\n members: value,\n });\n });\n\n return (\n \n \n \n \n Leaderboard\n \n \n \n \n setShow(true)}\n style={{\n padding: \"0px 4px\",\n margin: \"0px\",\n position: \"relative\",\n height: \"20px\",\n width: \"20px\",\n }}\n >\n \"l-calendar\"\n \n {show && (\n setShow(false)}\n >\n
\n handleDateChange(e)}\n maxDate={new Date()}\n dateDisplayFormat={\"d MMM yyyy\"}\n />\n
\n \n )}\n
\n \n \n \n
\n
\n \n \n \n \n {finalLeaders[0]?.members && (\n \n )}\n {finalLeaders[1]?.members && (\n \n )}\n {finalLeaders[2]?.members && (\n \n )}\n {finalLeaders[3]?.members && (\n \n )}\n {finalLeaders[4]?.members && (\n \n )}\n {loading && (\n \n \n
\n )}\n {!loading && data?.length === 0 && (\n \n \n Not able to fetch leader\n \n \n )}\n \n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { LeaderBoardDataProps } from \"../../modules/admin/dashboard/type\";\nimport { SharedFeedbacksParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getLeaderWithFeedbackCount = createAsyncThunk(\n \"admin/member/leaders\",\n async (requestParams: SharedFeedbacksParams, storeActions) => {\n const url = `api/v1/admin/feedback/leader` + requestParams.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst leadersWithFeedbackCountSlice = createSlice({\n name: \"leadersWithFeedbackCount\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: [] as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getLeaderWithFeedbackCount.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getLeaderWithFeedbackCount.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getLeaderWithFeedbackCount.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = leadersWithFeedbackCountSlice.actions;\n\nexport default leadersWithFeedbackCountSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { FeedbackTrendDataProps } from \"../../modules/admin/dashboard/type\";\nimport { SharedFeedbacksParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getFeedbackTrendData = createAsyncThunk(\n \"admin/feedback/trend\",\n async (requestParams: SharedFeedbacksParams, storeActions) => {\n const url = `api/v1/admin/feedback/trend` + requestParams.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst feedbackTrendSlice = createSlice({\n name: \"feedbackTrend\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: [] as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getFeedbackTrendData.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getFeedbackTrendData.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getFeedbackTrendData.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = feedbackTrendSlice.actions;\n\nexport default feedbackTrendSlice;\n","import {\n CircularProgress,\n ClickAwayListener,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport \"react-date-range/dist/styles.css\";\nimport \"react-date-range/dist/theme/default.css\";\nimport { DateRangePicker } from \"react-date-range\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\nimport { CustomDivider } from \"./CustomDivider\";\nimport { TrendChart } from \"./TrendChart\";\nimport { FeedbackTrendProps } from \"./type\";\nimport { CustomSelect } from \"../../components/CustomSelect\";\n\nconst useStyles = makeStyles((theme) => ({\n trendSection: {\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n boxSizing: \"border-box\",\n margin: theme.spacing(1, 1, 2, 1),\n },\n\n dates: {\n position: \"absolute\",\n zIndex: 100,\n right: theme.spacing(65.8),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n fontFamily: \"Montserrat\",\n marginTop: \"16px\",\n },\n}));\n\nexport const FeedbackTrendComponent: React.FC = ({\n data,\n loading,\n dateRangeState,\n setDateRangeState,\n filter,\n setFilter,\n}) => {\n const classes = useStyles();\n const customClasses = useCustomStyle();\n const [show, setShow] = React.useState(false);\n\n const handleDateChange = (range) => {\n const nextRange = {\n startDate: range?.range1?.startDate,\n endDate: range?.range1?.endDate,\n };\n setDateRangeState(nextRange);\n };\n return (\n \n \n \n \n Feedback Trend\n \n \n \n \n setShow(true)}\n style={{\n padding: \"0px 4px\",\n margin: \"0px\",\n position: \"relative\",\n height: \"20px\",\n width: \"20px\",\n }}\n >\n \"trend-calendar\"\n \n {show && (\n setShow(false)}\n >\n
\n handleDateChange(e)}\n maxDate={new Date()}\n dateDisplayFormat={\"d MMM yyyy\"}\n />\n
\n \n )}\n
\n \n \n \n
\n
\n \n \n \n \n {data?.length > 0 && (\n \n \n \n )}\n {loading && (\n \n \n \n )}\n {!loading && data?.length === 0 && (\n \n \n No feedback...\n \n \n )}\n \n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RequestingParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countReceivedFeedback = createAsyncThunk(\n \"receivedFeedback/count\",\n async (requestParams: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedbacks/received/count` + requestParams.requestParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countReceivedSlice = createSlice({\n name: \"countReceived\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: -1 as Number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countReceivedFeedback.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countReceivedFeedback.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countReceivedFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countReceivedSlice.actions;\n\nexport default countReceivedSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { Counts, SharedFeedbacksParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countRequestReceivedFeedback = createAsyncThunk(\n \"requestFeedback/countRequests/received\",\n async (requestParams: SharedFeedbacksParams, storeActions) => {\n const url = `api/v1/user/feedback-requests/received/counts` + requestParams.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countRequestReceivedSlice = createSlice({\n name: \"countRequestReceived\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: {\n allRequestCount: -1,\n pendingRequestCount: -1,\n closedRequestCount: -1,\n } as Counts | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countRequestReceivedFeedback.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countRequestReceivedFeedback.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countRequestReceivedFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countRequestReceivedSlice.actions;\n\nexport default countRequestReceivedSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RequestingParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countRequestSendFeedback = createAsyncThunk(\n \"requestFeedback/countRequests/send\",\n async (requestParams: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedback-requests/send/counts` + requestParams.requestParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countRequestSendSlice = createSlice({\n name: \"countRequestSend\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: -1 as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countRequestSendFeedback.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countRequestSendFeedback.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countRequestSendFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countRequestSendSlice.actions;\n\nexport default countRequestSendSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RequestingParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countSharedFeedback = createAsyncThunk(\n \"sharedFeedback/count\",\n async (requestParams: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedbacks/shared/count` + requestParams.requestParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countSharedSlice = createSlice({\n name: \"countShared\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countSharedFeedback.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countSharedFeedback.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countSharedFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countSharedSlice.actions;\n\nexport default countSharedSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { ReceivedRequest, RequestingParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllReceivedRequests = createAsyncThunk(\n \"feedback/requests/received\",\n async (requestingData: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedback-requests/received` + requestingData.requestParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst allReceivedRequestsSlice = createSlice({\n name: \"allRequestsReceived\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n data: null as Array | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllReceivedRequests.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n state.loading = false;\n });\n builder.addCase(getAllReceivedRequests.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.data = null;\n });\n builder.addCase(getAllReceivedRequests.rejected, (state) => {\n state.status = 503;\n state.text = null;\n state.data = null;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = allReceivedRequestsSlice.actions;\n\nexport default allReceivedRequestsSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RequestingParams, SendRequest } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllSendRequests = createAsyncThunk(\n \"feedback/requests/send\",\n async (requestParams: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedback-requests/send` + requestParams.requestParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst allSendRequestsSlice = createSlice({\n name: \"allRequestsSend\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n data: null as Array | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllSendRequests.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n state.loading = false;\n });\n builder.addCase(getAllSendRequests.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.data = null;\n });\n builder.addCase(getAllSendRequests.rejected, (state) => {\n state.status = 503;\n state.text = null;\n state.data = null;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = allSendRequestsSlice.actions;\n\nexport default allSendRequestsSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { FeedbackDetailAPICallProps, ReceivedFeedbackDetailData } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const receivedFeedbackDetail = createAsyncThunk(\n \"feedback/received/detail\",\n async (params: FeedbackDetailAPICallProps, storeActions) => {\n const url = `api/v1/user/feedbacks/received/detail?feedbackId=${params.feedbackId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n feedback: await response.json(),\n };\n }\n return {\n status: response.status,\n feedback: null,\n };\n }\n);\n\nconst receivedFeedbackDetailSlice = createSlice({\n name: \"receivedFeedbacks\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n feedback: null as ReceivedFeedbackDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.feedback = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n receivedFeedbackDetail.fulfilled,\n (\n state,\n {\n payload,\n }: PayloadAction<{\n status: number | null ;\n feedback: ReceivedFeedbackDetailData | null;\n }>\n ) => {\n state.status = payload.status;\n state.loading = false;\n state.feedback = payload.feedback;\n }\n );\n builder.addCase(receivedFeedbackDetail.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(receivedFeedbackDetail.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = receivedFeedbackDetailSlice.actions;\n\nexport default receivedFeedbackDetailSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport {\n ReceivedFeedbacksSliceProp,\n RequestingParams,\n} from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const receivedFeedback = createAsyncThunk(\n \"feedback/received\",\n async (requestParams: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedbacks/received` + requestParams.requestParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n feedbacks: await response.json(),\n };\n }\n return {\n status: response.status,\n feedbacks: null,\n };\n }\n);\n\nconst receivedFeedbacksSlice = createSlice({\n name: \"receivedFeedbacks\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n feedbacks: null as null | ReceivedFeedbacksSliceProp,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.feedbacks = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n receivedFeedback.fulfilled,\n (\n state,\n {\n payload,\n }: PayloadAction<{\n status: number;\n feedbacks: ReceivedFeedbacksSliceProp | null;\n }>\n ) => {\n state.status = payload.status;\n state.loading = false;\n state.feedbacks = payload.feedbacks;\n }\n );\n builder.addCase(receivedFeedback.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.feedbacks = null;\n });\n builder.addCase(receivedFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.feedbacks = null;\n });\n },\n});\n\nexport const { clearData } = receivedFeedbacksSlice.actions;\n\nexport default receivedFeedbacksSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { Props } from \"../../../src/type\";\nimport { post } from \"../../util/APIService\";\n\nexport const requestFeedback = createAsyncThunk(\n \"requestFeedback/sendRequest\",\n async (requestData: Props, storeActions) => {\n const url = `api/v1/user/requests`;\n const response: any = await post(url, requestData, storeActions);\n\n return {\n status: response.status,\n };\n }\n);\n\nconst requestSlice = createSlice({\n name: \"request\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n requestFeedback.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(requestFeedback.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(requestFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = true;\n });\n },\n});\n\nexport const { clearData } = requestSlice.actions;\n\nexport default requestSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedFeedbackDetailData } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { FeedbackDetailAPICallProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sharedFeedbackDetail = createAsyncThunk(\n \"feedback/shared/detail\",\n async (params: FeedbackDetailAPICallProps, storeActions) => {\n const url = `api/v1/user/feedbacks/shared/detail?feedbackId=${params.feedbackId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedFeedbackDetailSlice = createSlice({\n name: \"sharedFeedbackDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as SharedFeedbackDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sharedFeedbackDetail.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sharedFeedbackDetail.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sharedFeedbackDetail.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedFeedbackDetailSlice.actions;\n\nexport default sharedFeedbackDetailSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedAssessmentDetailProps, SharedAssessmentDetailSliceProps } from \"../../modules/user/self_assessment/type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sharedAssessmentDetail = createAsyncThunk(\n \"assessment/shared/detail\",\n async (params: SharedAssessmentDetailSliceProps, storeActions) => {\n const url = `api/v1/user/assessment/detail?assessmentId=${params.assessmentId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedAssessmentDetailSlice = createSlice({\n name: \"sharedAssessmentDetail\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as SharedAssessmentDetailProps | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sharedAssessmentDetail.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sharedAssessmentDetail.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sharedAssessmentDetail.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedAssessmentDetailSlice.actions;\n\nexport default sharedAssessmentDetailSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedFeedbackDetailData } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { FeedbackDetailAPICallProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sharedDraftDetail = createAsyncThunk(\n \"feedback/shared/draft/detail\",\n async (params: FeedbackDetailAPICallProps, storeActions) => {\n const url = `api/v1/user/feedbacks/shared/draft/detail?feedbackId=${params.feedbackId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedDraftDetailSlice = createSlice({\n name: \"sharedDraftDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as SharedFeedbackDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sharedDraftDetail.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sharedDraftDetail.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sharedDraftDetail.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedDraftDetailSlice.actions;\n\nexport default sharedDraftDetailSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedFeedback } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { SharedFeedbacksParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getSharedFeedbacks = createAsyncThunk(\n \"feedback/shared\",\n async (requestParams: SharedFeedbacksParams, storeActions) => {\n const url = `api/v1/user/feedbacks/shared` + requestParams.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedFeedbacksSlice = createSlice({\n name: \"sharedFeedbacks\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getSharedFeedbacks.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getSharedFeedbacks.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getSharedFeedbacks.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedFeedbacksSlice.actions;\n\nexport default sharedFeedbacksSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedFeedback } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { SharedFeedbacksParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getSavedDrafts = createAsyncThunk(\n \"feedback/drafted\",\n async (requestParams: SharedFeedbacksParams, storeActions) => {\n const url = `api/v1/user/feedbacks/drafted` + requestParams.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst savedDraftsSlice = createSlice({\n name: \"savedDrafts\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getSavedDrafts.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getSavedDrafts.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getSavedDrafts.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = savedDraftsSlice.actions;\n\nexport default savedDraftsSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ShareAssessmentProps } from \"../../modules/user/self_assessment/type\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const shareAssessment = createAsyncThunk(\n \"shareAssessment/sent\",\n async (requestData: ShareAssessmentProps, storeActions) => {\n const url = `api/v1/user/assessments`;\n const response: any = await post(url, requestData, storeActions);\n\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n }\n);\n\nconst shareAssessmentSlice = createSlice({\n name: \"shareAssessment\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n shareAssessment.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(shareAssessment.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(shareAssessment.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = shareAssessmentSlice.actions;\n\nexport default shareAssessmentSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RequestData, UserAndAttributeSliceProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const requestData = createAsyncThunk(\n \"requestData/sendRequest\",\n async (params: UserAndAttributeSliceProps, storeActions) => {\n const url = `api/v1/user/users-and-attributes?isUsers=${params.isUsers}&isAttributes=${params.isAttributes}&isRequests=${params.isRequests}&isDrafts=${params.isDrafts}&isScale=${params.isScale}&isClients=${params.isClients}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst dataSlice = createSlice({\n name: \"data\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n data: {\n users: [],\n attributes: [],\n requests: [],\n drafts: [],\n scaleResponseEntityList: [],\n clients: [],\n } as RequestData | null,\n loaded: false as boolean,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.loaded = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(requestData.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n state.loaded = true;\n state.loading = false;\n });\n builder.addCase(requestData.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.data = {\n users: [],\n attributes: [],\n requests: [],\n drafts: [],\n scaleResponseEntityList: [],\n clients: [],\n };\n state.loaded = false;\n });\n builder.addCase(requestData.rejected, (state, action) => {\n state.status = 503;\n state.text = null;\n state.data = {\n users: [],\n attributes: [],\n requests: [],\n drafts: [],\n scaleResponseEntityList: [],\n clients: [],\n };\n state.loaded = false;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = dataSlice.actions;\n\nexport default dataSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { GetAllMemberListSliceProps, User } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllMemberList = createAsyncThunk(\n \"members\",\n async (params: GetAllMemberListSliceProps, storeActions) => {\n const url = params.isActiveUser ? `api/v1/admin/members?isActiveUsers=true` : `api/v1/admin/members`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst allMemberListSlice = createSlice({\n name: \"membersList\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllMemberList.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getAllMemberList.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getAllMemberList.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = allMemberListSlice.actions;\n\nexport default allMemberListSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DeactivateMemberProp, ReceivedFeedbackDataProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getReceivedFeedbackReport = createAsyncThunk(\n \"report/feedback/received\",\n async (params: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/feedback/received/consolidate/detail?memberId=${params.memberId}`+(params.requestingParam ? '&'+params.requestingParam : '');\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst receivedFeedbackReportSlice = createSlice({\n name: \"receivedFeedbackReport\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getReceivedFeedbackReport.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getReceivedFeedbackReport.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getReceivedFeedbackReport.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = receivedFeedbackReportSlice.actions;\n\nexport default receivedFeedbackReportSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DeactivateMemberProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const deactivateMember = createAsyncThunk(\n \"deactivate/member\",\n async (params: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/deactivate/member?memberId=${params.memberId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst deactivateMemberSlice = createSlice({\n name: \"deactivateMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(deactivateMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(deactivateMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(deactivateMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = deactivateMemberSlice.actions;\n\nexport default deactivateMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { FeedbackDetailAPICallProps } from \"../../type\";\nimport { deleteApi } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const deleteDraftData = createAsyncThunk(\n \"feedback/shared/draft/delete\",\n async (params: FeedbackDetailAPICallProps, storeActions) => {\n const url = `api/v1/user/feedbacks/draft/delete?feedbackId=${params.feedbackId}`;\n const response: any = await deleteApi(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedDraftDeleteDataSlice = createSlice({\n name: \"sharedDraftDeleteData\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(deleteDraftData.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(deleteDraftData.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(deleteDraftData.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedDraftDeleteDataSlice.actions;\n\nexport default sharedDraftDeleteDataSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DetailPageSliceProps } from \"../../modules/admin/members/details/detail/type\";\nimport { SharedAssessmentDetailProps } from \"../../modules/user/self_assessment/type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sharedAssessmentDetailByMember = createAsyncThunk(\n \"admin/assessment/shared/detail\",\n async (params: DetailPageSliceProps, storeActions) => {\n const url = `api/v1/admin/member/detail/self/assessment/detail?assessmentId=${params.feedbackOrAssessmentId}&memberId=${params.memberId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedAssessmentDetailByMemberSlice = createSlice({\n name: \"sharedAssessmentDetailByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as SharedAssessmentDetailProps | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sharedAssessmentDetailByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sharedAssessmentDetailByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sharedAssessmentDetailByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedAssessmentDetailByMemberSlice.actions;\n\nexport default sharedAssessmentDetailByMemberSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { DetailPageSliceProps } from \"../../modules/admin/members/details/detail/type\";\nimport { ReceivedFeedbackDetailData } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const receivedFeedbackDetailByMember = createAsyncThunk(\n \"admin/feedback/received/detail\",\n async (params: DetailPageSliceProps, storeActions) => {\n const url = `api/v1/admin/feedbacks/received/detail?feedbackId=${params.feedbackOrAssessmentId}&memberId=${params.memberId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n feedback: await response.json(),\n };\n }\n return {\n status: response.status,\n feedback: null,\n };\n }\n);\n\nconst receivedFeedbackDetailByMemberSlice = createSlice({\n name: \"receivedFeedbackDetailByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n feedback: null as ReceivedFeedbackDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.feedback = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n receivedFeedbackDetailByMember.fulfilled,\n (\n state,\n {\n payload,\n }: PayloadAction<{\n status: number | null;\n feedback: ReceivedFeedbackDetailData | null;\n }>\n ) => {\n state.status = payload.status;\n state.loading = false;\n state.feedback = payload.feedback;\n }\n );\n builder.addCase(receivedFeedbackDetailByMember.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(receivedFeedbackDetailByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = receivedFeedbackDetailByMemberSlice.actions;\n\nexport default receivedFeedbackDetailByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DetailPageSliceProps } from \"../../modules/admin/members/details/detail/type\";\nimport { SharedFeedbackDetailData } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sharedFeedbackDetailByMember = createAsyncThunk(\n \"admin/feedback/shared/detail\",\n async (params: DetailPageSliceProps, storeActions) => {\n const url = `api/v1/admin/feedbacks/shared/detail?feedbackId=${params.feedbackOrAssessmentId}&memberId=${params.memberId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedFeedbackDetailByMemberSlice = createSlice({\n name: \"sharedFeedbackDetailByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as SharedFeedbackDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sharedFeedbackDetailByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sharedFeedbackDetailByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sharedFeedbackDetailByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedFeedbackDetailByMemberSlice.actions;\n\nexport default sharedFeedbackDetailByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedAssessmentListData } from \"../../modules/user/self_assessment/type\";\nimport { FeedbackListSliceProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getSharedAssessmentListByMember = createAsyncThunk(\n \"admin/assessment/shared\",\n async (requestParams: FeedbackListSliceProps, storeActions) => {\n const url = `api/v1/admin/member/detail/self/assessment?memberId=${requestParams.memberId}&offSet=${requestParams.offSet}&count=${requestParams.count}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedAssessmentListByMemberSlice = createSlice({\n name: \"sharedAssessmentListByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getSharedAssessmentListByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getSharedAssessmentListByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getSharedAssessmentListByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedAssessmentListByMemberSlice.actions;\n\nexport default sharedAssessmentListByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedAssessmentListData } from \"../../modules/user/self_assessment/type\";\nimport { SharedFeedbacksParams } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getSharedAssessmentList = createAsyncThunk(\n \"assessment/shared\",\n async (params: SharedFeedbacksParams, storeActions) => {\n const url = `api/v1/user/assessment/shared${params.requestingParams}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedAssessmentListSlice = createSlice({\n name: \"sharedAssessmentList\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getSharedAssessmentList.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getSharedAssessmentList.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getSharedAssessmentList.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedAssessmentListSlice.actions;\n\nexport default sharedAssessmentListSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countSharedAssessment = createAsyncThunk(\n \"assessments/shared/count\",\n async (_, storeActions) => {\n const url = `api/v1/user/assessment/shared/count`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countSharedAssessmentsSlice = createSlice({\n name: \"countSharedAssessments\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countSharedAssessment.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countSharedAssessment.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countSharedAssessment.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countSharedAssessmentsSlice.actions;\n\nexport default countSharedAssessmentsSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DeactivateMemberProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countAssessmentSharedByMember = createAsyncThunk(\n \"admin/assessments/count/send\",\n async (requestParams: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/member/detail/self/assessment/count?memberId=${requestParams.memberId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countAssessmentSharedByMemberSlice = createSlice({\n name: \"countAssessmentSharedByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: -1 as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countAssessmentSharedByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countAssessmentSharedByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countAssessmentSharedByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countAssessmentSharedByMemberSlice.actions;\n\nexport default countAssessmentSharedByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { Counts, DeactivateMemberProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countFeedbackRequestReceivedByMember = createAsyncThunk(\n \"admin/requestFeedback/countRequests/received\",\n async (requestParams: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/member/requests/received/count?memberId=${requestParams.memberId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countRequestReceivedByMemberSlice = createSlice({\n name: \"countRequestReceivedByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: {\n allRequestCount: -1,\n pendingRequestCount: -1,\n closedRequestCount: -1,\n } as Counts | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countFeedbackRequestReceivedByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countFeedbackRequestReceivedByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countFeedbackRequestReceivedByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countRequestReceivedByMemberSlice.actions;\n\nexport default countRequestReceivedByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DeactivateMemberProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countRequestSendByMember = createAsyncThunk(\n \"admin/requestFeedback/countRequests/send\",\n async (requestParams: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/member/requests/sent/count?memberId=${requestParams.memberId}&requestTag=${requestParams.tag}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countRequestSendByMemberSlice = createSlice({\n name: \"countRequestSendByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: -1 as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countRequestSendByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countRequestSendByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(countRequestSendByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countRequestSendByMemberSlice.actions;\n\nexport default countRequestSendByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { FeedbackRequestListSliceProps, ReceivedRequest } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllReceivedRequestsByMember = createAsyncThunk(\n \"admin/feedback/requests/received\",\n async (params: FeedbackRequestListSliceProps, storeActions) => {\n const url = `api/v1/admin/member/requests/received?memberId=${params.memberId}&offSet=${params.offSet}&count=${params.count}&status=${params.status}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst allReceivedRequestsByMemberSlice = createSlice({\n name: \"allReceivedRequestsByMember\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n data: null as Array | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllReceivedRequestsByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n state.loading = false;\n });\n builder.addCase(getAllReceivedRequestsByMember.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.data = null;\n });\n builder.addCase(getAllReceivedRequestsByMember.rejected, (state) => {\n state.status = 503;\n state.text = null;\n state.data = null;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = allReceivedRequestsByMemberSlice.actions;\n\nexport default allReceivedRequestsByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { FeedbackRequestListSliceProps, SendRequest } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllSendRequestsByMember = createAsyncThunk(\n \"admin/feedback/requests/send\",\n async (params: FeedbackRequestListSliceProps, storeActions) => {\n const url = `api/v1/admin/member/requests/sent?memberId=${params.memberId}&offSet=${params.offSet}&count=${params.count}&status=${params.status}&requestTag=${params.tag}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst allSendRequestsByMemberSlice = createSlice({\n name: \"allSendRequestsByMember\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n data: null as Array | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllSendRequestsByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n state.loading = false;\n });\n builder.addCase(getAllSendRequestsByMember.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.data = null;\n });\n builder.addCase(getAllSendRequestsByMember.rejected, (state) => {\n state.status = 503;\n state.text = null;\n state.data = null;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = allSendRequestsByMemberSlice.actions;\n\nexport default allSendRequestsByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { CountProps, DeactivateMemberProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getCountSharedAndReceivedFeedback = createAsyncThunk(\n \"admin/count/feedback/received-and-shared\",\n async (requestParams: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/feedback/count?memberId=${requestParams.memberId}&requestTag=${requestParams.tag}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countSharedAndReceivedSlice = createSlice({\n name: \"countSharedAndReceivedFeedback\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: { receivedCount: 0, sharedCount: 0 } as CountProps | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n getCountSharedAndReceivedFeedback.fulfilled,\n (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n }\n );\n builder.addCase(getCountSharedAndReceivedFeedback.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = { receivedCount: 0, sharedCount: 0 };\n state.text = null;\n });\n builder.addCase(getCountSharedAndReceivedFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countSharedAndReceivedSlice.actions;\n\nexport default countSharedAndReceivedSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { CountProps, DeactivateMemberProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllCountSharedAndReceivedFeedback = createAsyncThunk(\n \"admin/count/feedback/all/received-and-shared\",\n async (requestParams: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/admin/feedback/count?memberId=${requestParams.memberId}&requestTag=${requestParams.tag}` + (requestParams.requestingParam ? requestParams.requestingParam : '');\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst countAllSharedAndReceivedSlice = createSlice({\n name: \"countAllSharedAndReceived\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: {receivedCount: 0, sharedCount: 0} as CountProps | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n getAllCountSharedAndReceivedFeedback.fulfilled,\n (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n }\n );\n builder.addCase(getAllCountSharedAndReceivedFeedback.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = {receivedCount: 0, sharedCount: 0};\n state.text = null;\n });\n builder.addCase(getAllCountSharedAndReceivedFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = countAllSharedAndReceivedSlice.actions;\n\nexport default countAllSharedAndReceivedSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { FeedbackListSliceProps, ReceivedFeedbacksSliceProp } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const receivedFeedbackListByMember = createAsyncThunk(\n \"admin/feedback/received\",\n async (requestParams: FeedbackListSliceProps, storeActions) => {\n const url = `api/v1/admin/member/detail/feedback/received?memberId=${requestParams.memberId}&offSet=${requestParams.offSet}&count=${requestParams.count}&requestTag=${requestParams.tag}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n feedbacks: await response.json(),\n };\n }\n return {\n status: response.status,\n feedbacks: null,\n };\n }\n);\n\nconst receivedFeedbackListByMemberSlice = createSlice({\n name: \"receivedFeedbackListByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n feedbacks: null as null | ReceivedFeedbacksSliceProp,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.feedbacks = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n receivedFeedbackListByMember.fulfilled,\n (\n state,\n {\n payload,\n }: PayloadAction<{\n status: number;\n feedbacks: ReceivedFeedbacksSliceProp | null;\n }>\n ) => {\n state.status = payload.status;\n state.loading = false;\n state.feedbacks = payload.feedbacks;\n }\n );\n builder.addCase(receivedFeedbackListByMember.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.feedbacks = null;\n });\n builder.addCase(receivedFeedbackListByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.feedbacks = null;\n });\n },\n});\n\nexport const { clearData } = receivedFeedbackListByMemberSlice.actions;\n\nexport default receivedFeedbackListByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedFeedback } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { FeedbackListSliceProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getSharedFeedbackListByMember = createAsyncThunk(\n \"admin/feedback/shared\",\n async (requestParams: FeedbackListSliceProps, storeActions) => {\n const url = `api/v1/admin/member/detail/feedback/shared?memberId=${requestParams.memberId}&offSet=${requestParams.offSet}&count=${requestParams.count}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sharedFeedbackListByMemberSlice = createSlice({\n name: \"sharedFeedbackListByMember\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getSharedFeedbackListByMember.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getSharedFeedbackListByMember.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getSharedFeedbackListByMember.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedFeedbackListByMemberSlice.actions;\n\nexport default sharedFeedbackListByMemberSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AppraisalSliceProps, User } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAppraisalList = createAsyncThunk(\n \"admin/appraisal/member\",\n async (params: AppraisalSliceProps, storeActions) => {\n const url = `api/v1/admin/appraisal/members?days=${params.days}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst appraisalsSlice = createSlice({\n name: \"appraisals\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: [] as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAppraisalList.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getAppraisalList.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getAppraisalList.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = appraisalsSlice.actions;\n\nexport default appraisalsSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AttributesDataForClient } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const attributesDataForClients = createAsyncThunk(\n \"client/feedback/request/attributes\",\n async (attributeId: string) => {\n try {\n const options = {\n method: \"get\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n };\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/external/request/attributes?requestId=${attributeId}`,\n options\n );\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst attributesDataForClientSlice = createSlice({\n name: \"attributesDataForClient\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: {\n employee: undefined,\n attributes: [],\n request: [],\n drafts: [],\n scaleResponseEntityList: [],\n clientId: -1,\n requestId: -1,\n } as AttributesDataForClient | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(attributesDataForClients.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(attributesDataForClients.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(attributesDataForClients.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = attributesDataForClientSlice.actions;\n\nexport default attributesDataForClientSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { FeedbackRequestDetailData } from \"../../modules/user/feedback_requests/typeFeedbackrequest\";\nimport { ReceivedFeedbackRequestDetailAPICallProps } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { get } from \"../../util/APIService\";\n\nexport const receivedFeedbackRequestDetails = createAsyncThunk(\n \"feedback/requests/received/detail\",\n async (params: ReceivedFeedbackRequestDetailAPICallProps, storeActions) => {\n const url = `api/v1/user/feedback-requests/received/detail?feedbackRequestId=${params.feedbackRequestId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst receivedFeedbackRequestDetailsSlice = createSlice({\n name: \"receivedFeedbackRequestDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as FeedbackRequestDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n receivedFeedbackRequestDetails.fulfilled,\n (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n }\n );\n builder.addCase(receivedFeedbackRequestDetails.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(receivedFeedbackRequestDetails.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = receivedFeedbackRequestDetailsSlice.actions;\n\nexport default receivedFeedbackRequestDetailsSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ExtProps } from \"../../../src/type\";\n\nexport const requestFeedbackFromExtClient = createAsyncThunk(\n \"requestFeedback/client/sendRequest\",\n async (requestData: ExtProps) => {\n try {\n const authToken: string = JSON.parse(\n JSON.parse(localStorage.getItem(\"persist:root\") ?? \" \").auth\n ).token;\n const options = {\n method: \"post\",\n headers: {\n Accept: \"application/text\",\n \"Content-Type\": \"application/json\",\n authToken: authToken,\n },\n body: JSON.stringify(requestData),\n };\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/user/ext_requests`,\n options\n );\n return {\n status: response.status,\n };\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst requestFeedbackFromExtClientSlice = createSlice({\n name: \"requestFeedbackFromExtClient\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n requestFeedbackFromExtClient.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(requestFeedbackFromExtClient.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(requestFeedbackFromExtClient.rejected, (state) => {\n state.status = 503;\n state.loading = true;\n });\n },\n});\n\nexport const { clearData } = requestFeedbackFromExtClientSlice.actions;\n\nexport default requestFeedbackFromExtClientSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { FeedbackRequestDetailData } from \"../../modules/user/feedback_requests/typeFeedbackrequest\";\nimport { SentFeedbackRequestDetailAPICallProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sentFeedbackRequestDetails = createAsyncThunk(\n \"feedback/requests/sent/detail\",\n async (params: SentFeedbackRequestDetailAPICallProps, storeActions) => {\n const url = `api/v1/user/feedback-requests/send/detail?feedbackRequestId=${params.feedbackRequestId}&responderId=${params.responderId}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst sentFeedbackRequestDetailsSlice = createSlice({\n name: \"sentFeedbackRequestDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as FeedbackRequestDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sentFeedbackRequestDetails.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sentFeedbackRequestDetails.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sentFeedbackRequestDetails.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sentFeedbackRequestDetailsSlice.actions;\n\nexport default sentFeedbackRequestDetailsSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { SharedFeedbackDetailData } from \"../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { SharedDraftDetailByClientSliceProps } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const sharedDraftDetailByClient = createAsyncThunk(\n \"client/feedback/shared/draft/detail\",\n async (params: SharedDraftDetailByClientSliceProps) => {\n try {\n const options = {\n method: \"get\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n };\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/external/client/feedbacks/shared/draft/detail?feedbackId=${params.feedbackId}&senderId=${params.senderId}`,\n options\n );\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst sharedDraftDetailByClientSlice = createSlice({\n name: \"sharedDraftDetailByClient\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as SharedFeedbackDetailData | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(sharedDraftDetailByClient.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(sharedDraftDetailByClient.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(sharedDraftDetailByClient.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = sharedDraftDetailByClientSlice.actions;\n\nexport default sharedDraftDetailByClientSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ShareFeedbackByClientSliceProps } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const shareFeedbackByClient = createAsyncThunk(\n \"client/feedback/share\",\n async (params: ShareFeedbackByClientSliceProps) => {\n try {\n const authToken: string = JSON.parse(\n JSON.parse(localStorage.getItem(\"persist:root\") ?? \" \").auth\n ).token;\n const options = {\n method: \"post\",\n headers: {\n Accept: \"application/text\",\n \"Content-Type\": \"application/json\",\n authToken: authToken,\n },\n body: JSON.stringify(params.requestData),\n };\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/external/feedback?senderId=${params.senderId}`,\n options\n );\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst shareFeedbackByClientSlice = createSlice({\n name: \"shareFeedbackByClient\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n shareFeedbackByClient.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(shareFeedbackByClient.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(shareFeedbackByClient.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = shareFeedbackByClientSlice.actions;\n\nexport default shareFeedbackByClientSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ShareFeedbackByClientSliceProps } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const submitFeedbackByClient = createAsyncThunk(\n \"client/feedback/submit\",\n async (params: ShareFeedbackByClientSliceProps) => {\n try {\n const authToken: string = JSON.parse(\n JSON.parse(localStorage.getItem(\"persist:root\") ?? \" \").auth\n ).token;\n const options = {\n method: \"post\",\n headers: {\n Accept: \"application/text\",\n \"Content-Type\": \"application/json\",\n authToken: authToken,\n },\n body: JSON.stringify(params.requestData),\n };\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/external/feedback?senderId=${params.senderId}`,\n options\n );\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst submitFeedbackByClientSlice = createSlice({\n name: \"submitFeedbackByClient\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n submitFeedbackByClient.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(submitFeedbackByClient.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(submitFeedbackByClient.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = submitFeedbackByClientSlice.actions;\n\nexport default submitFeedbackByClientSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ShareFeedbackProps } from \"../../../src/type\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const submitFeedback = createAsyncThunk(\n \"submitFeedback/sendFeedback\",\n async (requestData: ShareFeedbackProps, storeActions) => {\n const url = `api/v1/user/feedbacks`;\n const response: any = await post(url, requestData, storeActions);\n\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n }\n);\n\nconst submitFeedbackSlice = createSlice({\n name: \"submitFeedback\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n submitFeedback.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(submitFeedback.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(submitFeedback.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = submitFeedbackSlice.actions;\n\nexport default submitFeedbackSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { DeactivateMemberProp, ReceivedFeedbackDataProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getSelfReport = createAsyncThunk(\n \"feedback/received/report\",\n async (params: DeactivateMemberProp, storeActions) => {\n const url = `api/v1/user/feedback/received/report` + (params.requestingParam ? '?' + params.requestingParam : '');\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst selfReportSlice = createSlice({\n name: \"selfReport\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getSelfReport.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getSelfReport.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(getSelfReport.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = selfReportSlice.actions;\n\nexport default selfReportSlice;\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { ShareNuggetProps } from \"../../../src/type\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const nuggetShare = createAsyncThunk(\n \"share/feedback/nugget\",\n async (requestData: ShareNuggetProps, storeActions) => {\n const url = `api/v1/user/feedback/nugget`;\n const response: any = await post(url, requestData, storeActions);\n\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n }\n);\n\nconst nuggetFeedbackSlice = createSlice({\n name: \"nuggetFeedback\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n nuggetShare.fulfilled,\n (state, { payload }: PayloadAction<{ status: number | null }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(nuggetShare.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(nuggetShare.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = nuggetFeedbackSlice.actions;\n\nexport default nuggetFeedbackSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { put } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport interface UpdateOrgDataSliceProp {\n orgName: string,\n}\n\nexport const updateOrgData = createAsyncThunk(\n \"update/organization\",\n async (params: UpdateOrgDataSliceProp, storeActions) => {\n const orgStatus = \"ACTIVE\";\n const url = `api/v1/user/update/organization?orgName=${params.orgName}&status=${orgStatus}`;\n const response: any = await put(url, params, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst updateOrgDataSlice = createSlice({\n name: \"updateOrgData\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(updateOrgData.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(updateOrgData.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(updateOrgData.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = updateOrgDataSlice.actions;\n\nexport default updateOrgDataSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport interface AddTeamMembersSliceProp {\n orgName: string,\n memberEmails: string[],\n}\n\nexport const addTeamMembers = createAsyncThunk(\n \"add/team/members\",\n async (params: AddTeamMembersSliceProp, storeActions) => {\n const url = `api/v1/user/add/team/members`;\n const response: any = await post(url, params, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst addTeamMembersSlice = createSlice({\n name: \"addTeamMembers\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(addTeamMembers.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(addTeamMembers.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(addTeamMembers.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = addTeamMembersSlice.actions;\n\nexport default addTeamMembersSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { put } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport interface ChangeAccessSliceProps{\n memberId: number;\n userType: string;\n}\n\nexport const changeMemberAccessRole = createAsyncThunk(\n \"admin/update/member/role\",\n async (params: ChangeAccessSliceProps, storeActions) => {\n const url = `api/v1/admin/update/role?userType=${params.userType}&memberId=${params.memberId}`;\n const response: any = await put(url, params, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.text(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst changeMemberAccessRoleSlice = createSlice({\n name: \"changeMemberAccessRole\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as string | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(changeMemberAccessRole.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(changeMemberAccessRole.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(changeMemberAccessRole.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = changeMemberAccessRoleSlice.actions;\n\nexport default changeMemberAccessRoleSlice;\n","import { useDispatch } from \"react-redux\";\nimport { clearData as clearAuthData } from \"../../redux/slices/AuthSlice\";\nimport { clearData as clearCountReceived } from \"../../redux/slices/CountReceivedFeedbacksSlice\";\nimport { clearData as clearCountRequestReceived } from \"../../redux/slices/CountRequestsReceivedSlice\";\nimport { clearData as clearCountRequestSend } from \"../../redux/slices/CountRequestsSendSlice\";\nimport { clearData as clearCountShared } from \"../../redux/slices/CountSharedFeedbackSlice\";\nimport { clearData as clearAllReceivedRequests } from \"../../redux/slices/FeedbackRequestsReceivedSlice\";\nimport { clearData as clearAllSendRequests } from \"../../redux/slices/FeedbackRequestsSendSlice\";\nimport { clearData as clearReceivedFeedbackDetail } from \"../../redux/slices/ReceivedFeedbackDetailSlice\";\nimport { clearData as clearReceivedFeedbacks } from \"../../redux/slices/ReceivedFeedbacksSlice\";\nimport { clearData as clearRequest } from \"../../redux/slices/RequestFeebackSlice\";\nimport { clearData as clearSharedFeedbackDetail } from \"../../redux/slices/SharedFeedbackDetailSlice\";\nimport { clearData as clearSharedAssessmentDetail } from \"../../redux/slices/SharedAssessmentDetailSlice\";\nimport { clearData as clearSharedDraftDetail } from \"../../redux/slices/SharedDraftDetailSlice\";\nimport { clearData as clearSharedFeedbacks } from \"../../redux/slices/SharedFeedbacksSlice\";\nimport { clearData as clearSavedDrafts } from \"../../redux/slices/SavedDraftsSlice\";\nimport { clearData as clearShareFeedback } from \"../../redux/slices/ShareFeedbackSlice\";\nimport { clearData as clearShareAssessment } from \"../../redux/slices/ShareAssessmentSlice\";\nimport { clearData as clearUsersAndAttributes } from \"../../redux/slices/UsersAndAttributesSlice\";\nimport { clearData as clearAllMemberList } from \"../../redux/slices/AllMemberList\";\nimport { clearData as clearReceivedFeedbackReport } from \"../../redux/slices/ConsolidateReportOfReceivedFeedbackSlice\";\nimport { clearData as clearDeactiveMember } from \"../../redux/slices/DeactivateMemberSlice\";\nimport { clearData as clearDeleteDraft } from \"../../redux/slices/DeleteDraftSlice\";\nimport { clearData as clearSharedAssessmentDetailByMember } from \"../../redux/slices/SharedAssessmentDetailByMemberSlice\";\nimport { clearData as clearReceivedFeedbackDetailByMember } from \"../../redux/slices/ReceivedFeedbackDetailByMemberSlice\";\nimport { clearData as clearSharedFeedbackDetailByMember } from \"../../redux/slices/SharedFeedbackDetailByMemberSlice\";\nimport { clearData as clearSharedAssessmentListByMember } from \"../../redux/slices/SharedAssessmentListByMemberSlice\";\nimport { clearData as clearSharedAssessmentList } from \"../../redux/slices/SharedAssessmentListSlice\";\nimport { clearData as clearCountSharedAssessment } from \"../../redux/slices/CountSharedAssessmentsSlice\";\nimport { clearData as clearCountSharedAssessmentByMember } from \"../../redux/slices/CountAssessmentSharedByMemberSlice\";\nimport { clearData as clearCountRequestReceivedByMember } from \"../../redux/slices/CountRequestReceivedByMemberSlice\";\nimport { clearData as clearCountRequestSentByMember } from \"../../redux/slices/CountRequestSentByMemberSlice\";\nimport { clearData as clearFeedbackRequestReceivedByMember } from \"../../redux/slices/FeedbackRequestReceivedByMemberSlice\";\nimport { clearData as clearFeedbackRequestsSentByMember } from \"../../redux/slices/FeedbackRequestsSentByMemberSlice\";\nimport { clearData as clearReceivedAndSharedCount } from \"../../redux/slices/ReceivedAndSharedCountSlice\";\nimport { clearData as clearReceivedAndSharedAllCount } from \"../../redux/slices/ReceivedAndSharedAllCountSlice\";\nimport { clearData as clearReceivedFeedbackListByMember } from \"../../redux/slices/ReceivedFeedbackListByMemberSlice\";\nimport { clearData as clearSharedFedbackListByMember } from \"../../redux/slices/SharedFeedbackListByMemberSlice\";\nimport { clearData as clearAppraisalListData } from \"../../redux/slices/AppraisalSlice\";\nimport { clearData as clearAttributesWithDetailData } from \"../../redux/slices/AttributesWithDetailData\";\nimport { clearData as clearLeaderFeedbackListData } from \"../../redux/slices/LeaderFeedbackSlice\";\nimport { clearData as clearReceivedFeedbackRequestDetailsData } from \"../../redux/slices/ReceivedFeedbackRequestDetailsSlice\";\nimport { clearData as clearRecentActivityData } from \"../../redux/slices/RecentActivitiesSlice\";\nimport { clearData as clearRequestFeedbackFromExtClientData } from \"../../redux/slices/RequestFeedbackFromExtClientSlice\";\nimport { clearData as clearSendFeedbackRequestDetailsData } from \"../../redux/slices/SentFeedbackRequestDetailsSlice\";\nimport { clearData as clearShareAssessmentData } from \"../../redux/slices/ShareAssessmentSlice\";\nimport { clearData as clearSharedDraftDetailForClientData } from \"../../redux/slices/SharedDraftDetailForClient\";\nimport { clearData as clearShareFeedbackByClientData } from \"../../redux/slices/ShareFeedbackByClient\";\nimport { clearData as clearSubmitFeedbackByClientData } from \"../../redux/slices/SubmitFeedbackByExternalClient\";\nimport { clearData as clearSubmitFeedback } from \"../../redux/slices/SubmitFeedbackSlice\";\nimport { clearData as clearSelfReportData } from \"../../redux/slices/SelfReportSlice\";\nimport { clearData as clearShareNugget } from \"../../redux/slices/NuggetShareSlice\";\nimport { clearData as clearUpdateOrganizationData } from \"../../redux/slices/UpdateOrganizationSlice\";\nimport { clearData as clearAddTeamMember } from \"../../redux/slices/AddTeamMembersSlice\";\nimport { clearData as clearAccessRole } from \"../../redux/slices/UpdateMemberAccessRole\";\n\nexport const ClearAllData = (setDataCleared) => {\n const dispatch = useDispatch();\n dispatch(clearAuthData());\n dispatch(clearReceivedAndSharedAllCount());\n dispatch(clearSubmitFeedback());\n dispatch(clearAppraisalListData());\n dispatch(clearAttributesWithDetailData());\n dispatch(clearLeaderFeedbackListData());\n dispatch(clearReceivedFeedbackRequestDetailsData());\n dispatch(clearRecentActivityData());\n dispatch(clearRequestFeedbackFromExtClientData());\n dispatch(clearSendFeedbackRequestDetailsData());\n dispatch(clearShareAssessmentData());\n dispatch(clearSharedDraftDetailForClientData());\n dispatch(clearShareFeedbackByClientData());\n dispatch(clearSubmitFeedbackByClientData());\n dispatch(clearCountReceived());\n dispatch(clearCountRequestReceived());\n dispatch(clearCountRequestSend());\n dispatch(clearCountShared());\n dispatch(clearAllReceivedRequests());\n dispatch(clearAllSendRequests());\n dispatch(clearReceivedFeedbackDetail());\n dispatch(clearReceivedFeedbacks());\n dispatch(clearRequest());\n dispatch(clearSharedFeedbackDetail());\n dispatch(clearSharedDraftDetail());\n dispatch(clearSharedFeedbacks());\n dispatch(clearShareFeedback());\n dispatch(clearShareAssessment());\n dispatch(clearUsersAndAttributes());\n dispatch(clearSharedAssessmentDetail());\n dispatch(clearSavedDrafts());\n dispatch(clearAllMemberList());\n dispatch(clearReceivedFeedbackReport());\n dispatch(clearDeactiveMember());\n dispatch(clearDeleteDraft());\n dispatch(clearSharedAssessmentDetailByMember());\n dispatch(clearReceivedFeedbackDetailByMember());\n dispatch(clearSharedFeedbackDetailByMember());\n dispatch(clearSharedAssessmentListByMember());\n dispatch(clearSharedAssessmentList());\n dispatch(clearCountSharedAssessment());\n dispatch(clearCountSharedAssessmentByMember());\n dispatch(clearCountRequestReceivedByMember());\n dispatch(clearCountRequestSentByMember());\n dispatch(clearFeedbackRequestReceivedByMember());\n dispatch(clearFeedbackRequestsSentByMember());\n dispatch(clearReceivedAndSharedCount());\n dispatch(clearReceivedFeedbackListByMember());\n dispatch(clearSharedFedbackListByMember());\n dispatch(clearSelfReportData());\n dispatch(clearShareNugget());\n dispatch(clearUpdateOrganizationData());\n dispatch(clearAddTeamMember());\n dispatch(clearAccessRole());\n setDataCleared(true);\n};\n","import { Button, Grid, Modal } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport {\n ErrorButtonText,\n ErrorMessage,\n SecondaryErrorMessage,\n} from \"./TextFile\";\nimport { ErrorPopUpProps } from \"./typeErrorPages\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n boxSadow: \"0 2px 4px 0 #5A5A5A\",\n [theme.breakpoints.down(\"sm\")]: {\n boxShadow: \"0 2px 4px 0 #5A5A5A\",\n },\n },\n root: {\n height: theme.spacing(35),\n width: theme.spacing(100),\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"#FFFFFF\",\n marginInline: \"auto\",\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(26),\n width: theme.spacing(36),\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"#FFFFFF\",\n },\n },\n button: {\n backgroundColor: \"#576BEA\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n margin: theme.spacing(5, 0, 5.5, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(3.5, 0, 3, 0),\n },\n },\n })\n);\n\nexport const ErrorPopUp: React.FC = ({\n showModal,\n setShowModal,\n statusCode,\n handleNoAuthorization,\n handleAccessDenied,\n client,\n customErrorMessage,\n}) => {\n const classes = useStyles();\n\n function handleClose(e) {\n e.preventDefault();\n setShowModal(false);\n }\n\n if (statusCode)\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n return null;\n};\n","import React, { useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { ClearAllData } from \"../constants/clearData\";\nimport { ErrorPopUp } from \"./ErrorPages/errorModal\";\nimport { CommonFunctionalityComponentProp } from \"./type\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../type\";\n\nexport const CommonFunctionalityComponent: React.FC<\n CommonFunctionalityComponentProp\n> = ({\n props,\n logout,\n setLogout,\n statusCode,\n}) => {\n const history = useHistory();\n const [dataCleared, setDataCleared] = React.useState(false);\n const [showErrorModal, setShowErrorModal] = React.useState(false);\n const goToPreviousPath = () => {\n if (history.length > 10) {\n history.goBack();\n } else {\n history.push(\"/\");\n }\n };\n const logoutUser = () => {\n setLogout(true);\n };\n\n const sessionExpired = useSelector((state: State) => state.auth.isExpired);\n\n useEffect(() => {\n if(sessionExpired) {\n logoutUser();\n }\n }, [sessionExpired])\n\n const renderErrorModal = () => (\n \n );\n\n useEffect(() => {\n if (statusCode && statusCode !== 200 && statusCode !== 201) {\n setShowErrorModal(true);\n }\n }, [statusCode]);\n\n if (logout && !dataCleared) {\n ClearAllData(setDataCleared);\n }\n\n if (logout && dataCleared) {\n history?.push({\n pathname: \"/\",\n state: { path: sessionExpired ? props.location.pathname : null },\n search:\n new URLSearchParams(props.location?.search).get(\"uid\") === null\n ? \"\"\n : `?uid=${new URLSearchParams(props.location?.search).get(\"uid\")}`,\n });\n }\n return <>{renderErrorModal()};\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { NudgeSliceProps, ResponseNudge, ResponseTeam } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getNudgeList = createAsyncThunk(\n \"nudgesData/getNudgeList\",\n async (requestParams: NudgeSliceProps, storeActions) => {\n const url = `api/v1/admin/feedback/nudgeBoardUserList?${requestParams.requestingParams}&offSet=${requestParams.offSet}&count=${requestParams.count}` //\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst adminNudgeDataSlice = createSlice({\n name: \"adminNudgeData\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n nudges: [] as ResponseNudge[] | [],\n nudgeDateRange: { startDate: new Date(new Date().getTime() - 90 * 24 * 60 * 60 * 1000) as Date | null,\n endDate: new Date() as Date | null},\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.nudges = [];\n state.nudgeDateRange= { startDate: null,\n endDate: null};\n },\n setNudgeDateRange : (state, dateRange) => {\n state.nudgeDateRange = dateRange.payload\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getNudgeList.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.nudges = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.nudges = [];\n state.text = action.payload.text;\n }\n state.loading = false;\n });\n builder.addCase(getNudgeList.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.nudges = state.nudges?.length > 0 ? state.nudges : [];\n });\n builder.addCase(getNudgeList.rejected, (state, action) => {\n state.status = 503;\n state.text = null;\n state.nudges = [];\n state.loading = false;\n });\n },\n});\n\nexport const { clearData, setNudgeDateRange } = adminNudgeDataSlice.actions;\n\nexport default adminNudgeDataSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { NudgeCountSliceProps } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const countNudge = createAsyncThunk(\n \"Nudge/count\",\n async (requestParams: NudgeCountSliceProps, storeActions) => {\n const url = `api/v1/admin/feedback/nudgeBoardUserListCount?` + requestParams.requestingParams;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst adminNudgeCountDataSlice = createSlice({\n name: \"adminNudgeCountData\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n count: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.count = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(countNudge.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.count = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.count = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(countNudge.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.count = null;\n });\n builder.addCase(countNudge.rejected, (state) => {\n state.status = 503;\n state.text = null;\n state.count = null;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = adminNudgeCountDataSlice.actions;\n\nexport default adminNudgeCountDataSlice;\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { AdminDashboardLayout } from \"../../../layouts/admin/dashboard/Layout\";\nimport { getRecentActivities } from \"../../../redux/slices/RecentActivitiesSlice\";\nimport {\n NudgeCountSliceProps,\n NudgeSliceProps,\n RecentActivitiesFetchedData,\n RecentActivitySliceProp,\n SharedFeedbacksParams,\n State,\n User,\n} from \"../../../type\";\nimport { RecentActivityComponent } from \"./RecentActivities\";\nimport { NudgeBoard } from \"./NudgeBoard\";\nimport { LeaderBoardComponent } from \"./LeaderBoard\";\nimport { getLeaderWithFeedbackCount } from \"../../../redux/slices/LeaderFeedbackSlice\";\nimport {\n DateProps,\n FeedbackTrendDataProps,\n LeaderBoardDataProps,\n} from \"./type\";\nimport { getDateInLeaderBoardFormat } from \"../../../util/GetDateInDesiredFormat\";\nimport { getFeedbackTrendData } from \"../../../redux/slices/FeedbackTrendDataSlice\";\nimport { FeedbackTrendComponent } from \"./FeedbackTrend\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { getNudgeList } from \"../../../redux/slices/NudgeListSlice\";\nimport { MESSAGES } from \"./Helper\";\nimport { MESSAGE_TYPE, MessageObject } from \"../../components/ToastMessage\";\nimport { HttpStatus } from \"../../../enums/httpStatus\";\nimport { countNudge } from \"../../../redux/slices/NudgeCountSLice\";\nimport { COUNT } from \"./Helper\";\n\nexport const AdminDashboard = (props) => {\n const dispatch = useDispatch();\n const token = useSelector((state: State) => state.auth.token);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [recentActivityTab, setRecentActivityTab] = React.useState(0);\n const [feedbackTag, setFeedbackTag] = React.useState(0);\n const [filter, setFilter] = React.useState(0);\n const [feedbackId, setFeedbackId] = React.useState(0);\n const [assessmentId, setAssessmentId] = React.useState(0);\n const [member, setMemeber] = React.useState();\n const [viewProfile, setViewProfile] = React.useState(false);\n const [showSuccess, setShowSuccess] = React.useState(false);\n const [nudgeSuccessMsg, setNudgeSuccessMsg] = React.useState();\n const [nudgeCtaSubmitted, setNudgeCtaSubmitted] =\n React.useState(false);\n\n const [dateRangeState, setDateRangeState] = React.useState({\n startDate: new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000),\n endDate: new Date(),\n });\n const [trendDateRangeState, setTrendDateRangeState] =\n React.useState({\n startDate: new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000),\n endDate: new Date(),\n });\n\n const [activityDateRangeState, setActivityDateRangeState] =\n React.useState({\n startDate: new Date(new Date().getTime() - 30 * 24 * 60 * 60 * 1000),\n endDate: new Date(),\n });\n\n const [nudgeDateRangeState, setNudgeDateRangeState] =\n React.useState({\n startDate: new Date(new Date().getTime() - 90 * 24 * 60 * 60 * 1000),\n endDate: new Date(),\n });\n const totalNudgeCount = useSelector(\n (state: State) => state.adminNudgeCountData.count\n );\n const pageNo = props.location.state?.pageNumber;\n const [pageNumber, setPageNumber] = React.useState(\n pageNo ? pageNo : 1\n );\n\n const nudgeLoading: Boolean = useSelector(\n (state: State) => state.adminNudgeData.loading\n );\n\n useEffect(() => {\n let str = \"\";\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n let startDate = getDateInLeaderBoardFormat(nudgeDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(nudgeDateRangeState.endDate);\n str += `&startDate=${startDate}&endDate=${endDate}&timezone=${timezone}`;\n const param: NudgeCountSliceProps = {\n requestingParams: str,\n };\n dispatch(countNudge(param));\n }, [nudgeDateRangeState]);\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.recentActivities.status !== 200\n ? state.recentActivities.status\n : state.appraisals.status !== 200\n ? state.appraisals.status\n : state.leadersWithFeedbackCount.status !== 200\n ? state.leadersWithFeedbackCount.status\n : state.feedbackTrend.status !== 200\n ? state.feedbackTrend.status\n : null\n );\n\n const {\n status: nudgeSendNotificationStatus,\n loading: sendingNudgeNotification,\n } = useSelector((state: State) => state.adminNudgeSendNotification);\n\n useEffect(() => {\n let str = \"\";\n let startDate = getDateInLeaderBoardFormat(\n activityDateRangeState.startDate\n );\n let endDate = getDateInLeaderBoardFormat(activityDateRangeState.endDate);\n str += `&startDate=${startDate}&endDate=${endDate}`;\n const param: RecentActivitySliceProp = {\n activity:\n recentActivityTab === 0\n ? \"ALL\"\n : recentActivityTab === 1\n ? \"FEEDBACK_SHARED\"\n : recentActivityTab === 2\n ? \"FEEDBACK_REQUESTED\"\n : recentActivityTab === 3\n ? \"USER_ONBOARDED\"\n : \"SELF_ASSESSMENT_UPDATED\",\n requestingParams: str,\n };\n dispatch(getRecentActivities(param));\n }, [recentActivityTab, activityDateRangeState]);\n\n const fetchData = () => {\n let str = \"\";\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n let startDate = getDateInLeaderBoardFormat(nudgeDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(nudgeDateRangeState.endDate);\n str += `&startDate=${startDate}&endDate=${endDate}&timezone=${timezone}`;\n const param: NudgeSliceProps = {\n requestingParams: str,\n offSet: (pageNumber - 1) * COUNT,\n count: COUNT,\n };\n dispatch(getNudgeList(param));\n };\n\n useEffect(() => {\n fetchData();\n }, [nudgeDateRangeState, pageNumber]);\n\n useEffect(() => {\n if (nudgeCtaSubmitted && !sendingNudgeNotification) {\n setShowSuccess(true);\n if (nudgeSendNotificationStatus === HttpStatus.OK) {\n setNudgeSuccessMsg({\n message: MESSAGES.NUDGE_SUCCESS,\n type: MESSAGE_TYPE.SUCCESS,\n });\n } else {\n setNudgeSuccessMsg({\n message: MESSAGES.NUDGE_FAIL,\n type: MESSAGE_TYPE.INFO,\n });\n }\n setNudgeCtaSubmitted(false);\n // refresh the nudge user list to get the latest nudge timestamps\n fetchData();\n }\n }, [sendingNudgeNotification]);\n\n useEffect(() => {\n let str = \"\";\n let startDate = getDateInLeaderBoardFormat(dateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(dateRangeState.endDate);\n if (feedbackTag === 0) str += \"?tag=SHARED\";\n else str += \"?tag=RECEIVED\";\n str += `&startDate=${startDate}&endDate=${endDate}`;\n const param: SharedFeedbacksParams = {\n requestingParams: str,\n };\n dispatch(getLeaderWithFeedbackCount(param));\n }, [token, dispatch, feedbackTag, dateRangeState]);\n\n useEffect(() => {\n let str = \"\";\n let startDate = getDateInLeaderBoardFormat(trendDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(trendDateRangeState.endDate);\n if (filter === 0) str += \"?by=DAY\";\n else str += \"?by=MONTH\";\n str += `&startDate=${startDate}&endDate=${endDate}`;\n const param: SharedFeedbacksParams = {\n requestingParams: str,\n };\n dispatch(getFeedbackTrendData(param));\n }, [trendDateRangeState, filter]);\n\n const { loading, data }: RecentActivitiesFetchedData = useSelector(\n (state: State) => state.recentActivities\n );\n\n const leaderLoading: Boolean = useSelector(\n (state: State) => state.leadersWithFeedbackCount.loading\n );\n\n const leaderData: Array = useSelector(\n (state: State) => state.leadersWithFeedbackCount.data\n );\n\n const trendLoading: Boolean = useSelector(\n (state: State) => state.feedbackTrend.loading\n );\n\n const trendData: Array = useSelector(\n (state: State) => state.feedbackTrend.data\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderFeedbackTrend = () => (\n \n );\n\n const renderLeaderboard = () => (\n \n );\n\n const renderRecentActivities = () => (\n \n );\n\n const renderNudgeBoard = () => (\n \n );\n\n if (feedbackId > 0) {\n history.push({\n pathname: `/admin/detail/view`,\n state: {\n feedbackOrAssessmentId: feedbackId,\n memberId: member?.id,\n tabValue: 1,\n member: member,\n pageNumber: 1,\n itemValue: 1,\n from: \"dashboard\",\n },\n });\n }\n\n if (assessmentId > 0) {\n history.push({\n pathname: `/admin/detail/view`,\n state: {\n feedbackOrAssessmentId: assessmentId,\n memberId: member?.id,\n tabValue: 4,\n member: member,\n pageNumber: 1,\n itemValue: 1,\n from: \"dashboard\",\n },\n });\n }\n\n if (viewProfile) {\n history.push({\n pathname: `/admin/member/detail/${member?.id}`,\n state: {\n member: member,\n tabValue: 0,\n pageNumber: 1,\n itemValue: 1,\n from: \"dashboard\",\n },\n });\n }\n\n const handleCancel = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowSuccess(false);\n setNudgeSuccessMsg({ message: \"\" });\n };\n return (\n \n );\n};\n","import { Grid, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../../layouts/home/Layout\";\nimport { ToolBar } from \"../../home/ToolBar\";\n\nexport const AllFeedback = (props) => {\n document.title=\"Grow-Wize | Admin-Feedback\";\n window.scrollTo(0, 0);\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction =()=> {\n return 0;\n }\n\n const renderToolBar = () => (\n \n );\n\n const renderDashboardLayout = () => (\n \n \n Coming soon...\n \n \n );\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { HomeLayout } from \"../../../home/Layout\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { State } from \"../../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n width: `${window.innerWidth - 224}px`,\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n}));\n\nexport const FeedbackAssessmentDetailLayout = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n headerName,\n renderErrorModal,\n renderDateComponent,\n renderName,\n renderContext,\n renderAllAttributes,\n renderAttributesDetail,\n renderDivider,\n tabValue,\n}) => {\n document.title = `Grow-Wize | ${headerName}`;\n window.scrollTo(0, 0);\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const loading: Boolean = useSelector(\n (state: State) =>\n state.receivedFeedbackDetailByMember.loading ||\n state.sharedFeedbackDetailByMember.loading ||\n state.sharedAssessmentDetailByMember.loading\n );\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderFeedbackAssessmentDetailLayout = () => (\n \n \n {renderErrorModal()}\n {renderDateComponent()}\n {renderName()}\n {renderDivider()}\n {renderContext()}\n {renderAllAttributes()}\n {renderAttributesDetail()}\n \n \n );\n\n return (\n \n );\n};\n","import { FeedbackAssessmentDetailLayout } from \"../../../../../layouts/admin/members/details/FeedbackAssessmentDetailLayout\";\nimport {\n ReceivedFeedbackDetailData,\n State,\n UserAndAttributeSliceProps,\n} from \"../../../../../type\";\nimport { Divider, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { requestData } from \"../../../../../redux/slices/UsersAndAttributesSlice\";\nimport { DetailPageSliceProps } from \"./type\";\nimport { receivedFeedbackDetailByMember } from \"../../../../../redux/slices/ReceivedFeedbackDetailByMemberSlice\";\nimport { sharedAssessmentDetailByMember } from \"../../../../../redux/slices/SharedAssessmentDetailByMemberSlice\";\nimport { sharedFeedbackDetailByMember } from \"../../../../../redux/slices/SharedFeedbackDetailByMemberSlice\";\nimport { SharedFeedbackDetailData } from \"../../../../user/shared_feedback/typeSharedFeedbacks\";\nimport { SharedAssessmentDetailProps } from \"../../../../user/self_assessment/type\";\nimport { CommonFunctionalityComponent } from \"../../../../components/CommonFunctionalityComponent\";\nimport {\n UserName,\n RenderDate,\n AttributeChipComponent,\n ContextText,\n RenderAttributeText,\n RenderAttributesDetails,\n} from \"../../../../components/list/detail/DetailComponent\";\n\nconst useStyle = makeStyles((theme) => ({\n divider: {\n backgroundColor: \"rgb(140 142 154 / 48%)\",\n height: theme.spacing(0.125),\n margin: theme.spacing(5, 0, 2, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(2.5, 0, 1, 0),\n },\n },\n}));\n\nexport const FeedbackAssessmentDetail = (props) => {\n const memberId = props.location.state?.memberId;\n const tabValue = props.location.state?.tabValue;\n const from = props.location.state?.from;\n const feedbackOrAssessmentId = props.location.state?.feedbackOrAssessmentId;\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const dispatch = useDispatch();\n const teamId = props.location.state?.teamId;\n\n const classes = useStyle();\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: false,\n isAttributes: false,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: true,\n };\n dispatch(requestData(param));\n const params: DetailPageSliceProps = {\n memberId: memberId,\n feedbackOrAssessmentId: feedbackOrAssessmentId,\n };\n if (tabValue === 0) {\n dispatch(receivedFeedbackDetailByMember(params));\n } else if (tabValue === 1) {\n dispatch(sharedFeedbackDetailByMember(params));\n } else if (tabValue === 4) {\n dispatch(sharedAssessmentDetailByMember(params));\n }\n }, [feedbackOrAssessmentId, tabValue, memberId]);\n\n const receivedFeedbackDetaildata: ReceivedFeedbackDetailData = useSelector(\n (state: State) => state.receivedFeedbackDetailByMember.feedback\n );\n const sharedFeedbackDetaildata: SharedFeedbackDetailData =\n useSelector((state: State) => state.sharedFeedbackDetailByMember.data) ??\n null;\n\n const sharedAssessmentDetailData: SharedAssessmentDetailProps = useSelector(\n (state: State) => state.sharedAssessmentDetailByMember.data\n );\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.sharedFeedbackDetailByMember.status !== 200 &&\n state.sharedFeedbackDetailByMember.status !== null\n ? state.sharedFeedbackDetailByMember.status\n : state.sharedAssessmentDetailByMember.status !== 200 &&\n state.sharedAssessmentDetailByMember.status !== null\n ? state.sharedAssessmentDetailByMember.status\n : state.receivedFeedbackDetailByMember.status !== 200 &&\n state.receivedFeedbackDetailByMember.status !== null\n ? state.receivedFeedbackDetailByMember.status\n : state.data.status !== 200 && state.data.status !== null\n ? state.data.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderDivider = () => ;\n\n const renderName = () => (\n <>\n {tabValue === 0 && (\n \n )}\n {tabValue === 1 && (\n \n )}\n \n );\n\n const renderDateComponent = () => (\n <>\n {tabValue === 0 && (\n \n )}\n {tabValue === 1 && (\n \n )}\n {tabValue === 4 && (\n \n )}\n \n );\n\n const renderAllAttributes = () => (\n <>\n {tabValue === 1 && (\n \n )}\n \n );\n\n const renderFeedbackContext = () => (\n <>\n {tabValue === 0 && (\n \n )}\n {tabValue === 1 && (\n \n )}\n \n );\n\n const renderAttributesDetails = () => (\n <>\n {tabValue === 0 && (\n <>\n \n \n \n )}\n {tabValue === 1 && (\n <>\n \n \n \n )}\n {tabValue === 4 && (\n <>\n \n \n \n )}\n \n );\n\n const location = useLocation();\n const currentPath = location.pathname;\n \n if (!isDetailView) {\n if (from === \"dashboard\") {\n history.push({\n pathname: `/admin/dashboard`,\n });\n } else if (currentPath === '/admin/detail/view') {\n history.push({\n pathname: `/admin/member/detail/${memberId}`,\n state: {\n member: props.location.state?.member,\n tabValue: tabValue,\n pageNumber: props.location.state?.pageNumber,\n itemValue: props.location.state?.itemValue,\n teamId: teamId \n },\n });\n }else{\n history.push({\n pathname: `/member/detail/${memberId}`,\n state: {\n member: props.location.state?.member,\n tabValue: tabValue,\n pageNumber: props.location.state?.pageNumber,\n itemValue: props.location.state?.itemValue,\n teamId: teamId \n },\n });\n }\n }\n\n return (\n \n );\n};\n","import { Button, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Pagination } from \"@material-ui/lab\";\nimport React from \"react\";\nimport { PageButtonsProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_3: {\n padding: theme.spacing(0, 0, 0, 0),\n textTransform: \"none\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n pagination: {\n margin: theme.spacing(4, 0, 4, 0),\n \n ...(window.location.pathname === \"/admin/dashboard\" && {\n margin: theme.spacing(1, 0, 1, 0),\n }),\n\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(3.75, 0, 3.75, 0),\n },\n },\n disabledButton: {\n color: \"darkgrey\",\n },\n ul: {\n \"& .Mui-selected\": {\n color: \"#FFFFFF\",\n backgroundColor: \"#7C69EC\",\n \"&:hover\": {\n backgroundColor: \"#5c49cc\",\n }, \n fontWeight: 600,\n },\n },\n}));\n\nexport const ChangePageButtonComponent: React.FC = ({\n pageCount,\n pageNumber,\n setPageNumber,\n userRole,\n}) => {\n const classes = useStyle();\n\n const handleChange = (event: React.ChangeEvent, value: number) => {\n setPageNumber(value);\n };\n\n return (\n <>\n setPageNumber(pageNumber - 1)}\n classes={{ disabled: classes.disabledButton }}\n >\n \n Previous\n \n \n \n setPageNumber(pageNumber + 1)}\n classes={{ disabled: classes.disabledButton }}\n >\n \n Next\n \n \n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../../home/Layout\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n width: `${window.innerWidth - 224}px`,\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n}));\n\nexport const MemberDetailsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n memberName,\n renderErrorModal,\n renderDetailSection,\n renderTabsWithReport,\n renderList,\n renderChangePageComponent,\n}) => {\n document.title = \"Grow-Wize | Member Details\";\n window.scrollTo(0, 0);\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderReceivedFeedbackReportLayout = () => (\n \n \n {renderErrorModal()}\n \n {renderDetailSection()}\n \n \n {renderTabsWithReport()}\n \n \n {renderList()}\n \n \n {renderChangePageComponent()}\n \n \n \n );\n\n return (\n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { CountCardProps } from \"../type\";\n\nconst useStyle = makeStyles((theme) => ({\n commonStyle: {\n color: \"#FFFFFF\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n },\n cardName: {\n marginLeft: theme.spacing(2),\n textAlign: \"start\",\n fontSize: theme.spacing(1.75),\n },\n cardCount: {\n marginRight: theme.spacing(2),\n textAlign: \"end\",\n fontSize: theme.spacing(3.5),\n },\n}));\n\nexport const CountCard: React.FC = ({\n cardName,\n cardCount,\n}) => {\n const classes = useStyle();\n\n return (\n \n \n \n \n {cardName}\n \n \n \n \n \n \n {cardCount < 10 && cardCount>0 ? `0${cardCount}` : `${cardCount}`}\n \n \n \n \n );\n};\n","import {\n Button,\n Grid,\n Fade,\n makeStyles,\n Typography,\n } from \"@material-ui/core\";\n import React from \"react\";\n import Backdrop from \"@material-ui/core/Backdrop\";\n import Modal from \"@material-ui/core/Modal\";\nimport { DeactivateUserModalComponentProp } from \"./type\";\n\n const useStyle = makeStyles((theme) => ({\n modal: { display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n modalGrid: {\n width: theme.spacing(83),\n height: theme.spacing(28),\n justifyContent: \"center\",\n alignItems: \"center\",\n backgroundColor: \"#FFFFFF\",\n padding: theme.spacing(0, 0, 4, 0),\n border: \"4px solid rgba(175,175,175,0.3)\",\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n height: theme.spacing(25),\n padding: theme.spacing(0, 0, 6, 0),\n },\n },\n deactivateText: {\n fontWeight: 600,\n fontSize: theme.spacing(3),\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.75),\n },\n },\n btn1: {\n margin: theme.spacing(2, 0, 0, 0),\n padding: theme.spacing(1.375, 4.95, 1.375, 4.95),\n backgroundColor: \"#7C69EC\",\n \"&:hover\": {\n backgroundColor: \"#5c49cc\",\n },\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n btn_: {\n margin: theme.spacing(2, 5, 0, 0),\n padding: theme.spacing(1.125, 4.95, 1.375, 4.95),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n typography_body_2_: {\n alignItems: \"center\",\n color: \"#868686\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_4: {\n alignItems: \"center\",\n color: \"#FFFFFF\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n }));\n\n export const DeactivateUserModalComponent: React.FC = ({\n id,\n open,\n firstName,\n lastName,\n handleCancel,\n handleDeactivateAccount\n }) => {\n const classes = useStyle();\n return \n \n \n \n {`Deactivate ${firstName} ${lastName}?`}\n \n \n \n {\n \n \n Cancel\n \n \n }\n \n \n {\n {\n handleDeactivateAccount(id);\n }}\n className={classes.btn1}\n color=\"primary\"\n variant=\"contained\"\n >\n \n Confirm\n \n \n }\n \n \n \n \n \n }\n","import {\n Avatar,\n Button,\n Grid,\n makeStyles,\n ClickAwayListener,\n Typography,\n List,\n ListItem,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { CountProps, DeactivateMemberProp, State } from \"../../../../type\";\nimport { getDateInDesiredFormat } from \"../../../../util/GetDateInDesiredFormat\";\nimport { MemberDetailProps } from \"../type\";\nimport { CountCard } from \"./CountCard\";\nimport { deactivateMember } from \"../../../../redux/slices/DeactivateMemberSlice\";\nimport { DeactivateUserModalComponent } from \"../DeactivateMemberModal\";\nimport { changeMemberAccessRole } from \"../../../../redux/slices/UpdateMemberAccessRole\";\nimport { useLocation } from \"react-router-dom\";\n\nconst useStyle = makeStyles((theme) => ({\n img: {\n height: theme.spacing(12.5),\n width: theme.spacing(12.5),\n marginLeft: theme.spacing(1),\n },\n blackFont: {\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n textAlign: \"start\",\n },\n memberName: {\n fontSize: theme.spacing(2.25),\n fontWeight: 600,\n marginBottom: theme.spacing(1),\n },\n memberMail: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n marginTop: theme.spacing(1),\n },\n commonCardStyle: {\n height: theme.spacing(7.5),\n width: theme.spacing(27.5),\n borderRadius: theme.spacing(0.625),\n },\n receivedCountBackground: {\n background: \"linear-gradient(47deg, #9768ED 0%, #576BEA 100%)\",\n marginRight: theme.spacing(1.125),\n },\n sharedCountBackground: {\n background: \"linear-gradient(44.05deg, #51A6FF 0%, #5328FF 100%)\",\n marginLeft: theme.spacing(1.125),\n },\n moreCTAGrid: {\n height: theme.spacing(7.5),\n borderRadius: theme.spacing(0.625),\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid rgba(175,175,175,0.5)\",\n marginLeft: theme.spacing(2.25),\n },\n moreCTA: {\n height: theme.spacing(4.25),\n width: theme.spacing(4.25),\n },\n detailSectionGrid: {\n borderRadius: theme.spacing(0.625),\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n height: theme.spacing(17.5),\n },\n moreViewItem: {\n fontSize: theme.spacing(1.5),\n textAlign: \"center\",\n fontWeight: 500,\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n backgroundColor: \"#FFFFFF\",\n },\n navBar: {\n width: theme.spacing(20),\n height: theme.spacing(7),\n boxShadow: \"-5px 9px 19px 0 rgba(90,90,90,0.4)\",\n },\n moreBtn1: {\n width: \"-webkit-fill-available\",\n height: \"-webkit-fill-available\",\n minWidth: theme.spacing(0),\n },\n moreBtn2: {\n width: \"-moz-fill-available\",\n height: \"-moz-fill-available\",\n },\n}));\n\nconst SWITCH_ROLE_MAP = {\n REGULAR: \"ADMIN\",\n ADMIN: \"REGULAR\",\n};\n\nexport const DetailSectionView: React.FC = ({\n firstName,\n lastName,\n imageUrl,\n status,\n id,\n emailId,\n joiningDate,\n user_role,\n}) => {\n const classes = useStyle();\n const [moreOpt, setMoreOpt] = React.useState(false);\n const [lock, setLock] = React.useState(false);\n const [userRole, changeRole] = React.useState(user_role);\n const [open, setOpen] = React.useState(false);\n const counts: CountProps = useSelector(\n (state: State) => state.countAllSharedAndReceived?.data\n );\n const token = useSelector((state: State) => state.auth.token);\n const loggedInUserEmail = useSelector((state: State) => state.auth.email);\n const changeRoleStatus = useSelector(\n (state: State) => state.changeMemberAccessRole.status\n );\n const dispatch = useDispatch();\n const location = useLocation();\n\n async function handleCancel(e) {\n e.preventDefault();\n setOpen(false);\n }\n const handleClickAway = () => {\n setMoreOpt(false);\n };\n\n const handleDeactivateAccount = (id) => {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: \"INTERNAL\",\n };\n dispatch(deactivateMember(arg));\n setOpen(false);\n };\n\n const renderDeactivateMemberModal = () => (\n \n );\n\n useEffect(() => {\n if (changeRoleStatus === 200 && lock) {\n changeRole(SWITCH_ROLE_MAP[userRole]);\n setLock(false);\n }\n }, [changeRoleStatus]);\n\n return (\n \n \n {renderDeactivateMemberModal()}\n \n \n \n \n \n {`${firstName} ${lastName}`}\n \n \n \n {joiningDate &&\n `${emailId} | ${getDateInDesiredFormat(new Date(joiningDate))}`}\n \n \n {joiningDate === null && `${emailId}`}\n \n \n \n \n \n \n \n \n \n \n \n\n {location.pathname.startsWith(\"/admin/member/detail/\") && id && (\n \n setMoreOpt(true)}\n className={`${classes.moreBtn1} ${classes.moreBtn2} `}\n >\n \n \n {moreOpt && (\n \n \n {emailId !== loggedInUserEmail && (\n {\n dispatch(\n changeMemberAccessRole({\n userType: SWITCH_ROLE_MAP[userRole],\n memberId: id,\n })\n );\n setLock(true);\n }}\n disabled={status === \"INACTIVE\"}\n >\n \n {userRole === \"REGULAR\"\n ? \"Assign Admin Role\"\n : \"Revoke Admin Role\"}\n \n \n )}\n {\n setOpen(true);\n setMoreOpt(false);\n }}\n disabled={status === \"INACTIVE\"}\n >\n \n Deactivate\n \n \n \n \n )}\n \n )}\n \n \n );\n};\n","import {\n Avatar,\n Button,\n CircularProgress,\n Grid,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { avatarColor } from \"../../../constants/avatarBackgroundColor\";\nimport theme from \"../../../../theme\";\nimport {\n ReceivedFeedbackSlice,\n ReceivedRequest,\n SendRequest,\n State,\n} from \"../../../../type\";\nimport { getDateInDesiredFormat } from \"../../../../util/GetDateInDesiredFormat\";\nimport { TokenDataProps } from \"../../../home/Drawer\";\nimport { SharedAssessmentListData } from \"../../../user/self_assessment/type\";\nimport { SharedFeedback } from \"../../../user/shared_feedback/typeSharedFeedbacks\";\nimport { ListContentProps } from \"../type\";\nimport jwt_decode from \"jwt-decode\";\n\nconst useStyle = makeStyles((theme) => ({\n grid: {\n padding: theme.spacing(1.25, 0, 1.25, 0),\n alignItems: \"center\",\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n },\n basicStyle: {\n fontSize: theme.spacing(1.75),\n fontFamily: \"Montserrat\",\n wordBreak: \"break-word\",\n },\n dateNameStyle: {\n fontWeight: 500,\n color: \"#272727\",\n },\n action: {\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n color: \"#868686\",\n marginRight: theme.spacing(5.5),\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid rgba(175,175,175,0.5)\",\n borderRadius: theme.spacing(0.625),\n padding: theme.spacing(1.25, 4, 1.25, 4),\n \"&:hover\": {\n backgroundColor: \"#7C69EC\",\n color: \"#FFFFFF\",\n },\n },\n avatar: {\n height: theme.spacing(3.75),\n width: theme.spacing(3.75),\n margin: theme.spacing(0, 0, 0, 5),\n },\n nameAlignMent: {\n textAlign: \"start\",\n marginLeft: theme.spacing(-1.25),\n },\n dateAlignMent: {\n textAlign: \"start\",\n },\n dateAlignMent2: {\n marginLeft: theme.spacing(5),\n },\n noRecordStyle: {\n fontWeight: 600,\n fontSize: theme.spacing(2),\n fontFamily: \"Montserrat\",\n color: \"#A0A0A0\",\n margin: theme.spacing(20, 0, 20, 0),\n },\n}));\n\nexport const ListContent: React.FC = ({\n tabValue,\n setFeedbackOrAssessmentId,\n}) => {\n const classes = useStyle();\n\n const receivedFeedbackData: Array = [];\n const feedbackData =\n useSelector(\n (state: State) => state.receivedFeedbackListByMember.feedbacks\n ) ?? receivedFeedbackData;\n const feedbacks: Array =\n useSelector((state: State) => state.sharedFeedbackListByMember.data) ?? [];\n\n const emptyRequestArrray: Array = [];\n const requests: Array =\n useSelector((state: State) => state.allReceivedRequestsByMember.data) ??\n emptyRequestArrray;\n\n const emptyRequestArrray1: Array = [];\n const sentRequests: Array =\n useSelector((state: State) => state.allSendRequestsByMember.data) ??\n emptyRequestArrray1;\n\n const emptyArray: Array = [];\n const assessments =\n useSelector((state: State) => state.sharedAssessmentListByMember.data) ??\n emptyArray;\n\n const loading: Boolean = useSelector(\n (state: State) =>\n state.receivedFeedbackListByMember.loading ||\n state.sharedFeedbackListByMember.loading ||\n state.sharedAssessmentListByMember.loading ||\n state.allReceivedRequestsByMember.loading ||\n state.allSendRequestsByMember.loading\n );\n const token: string = useSelector((state: State) => state.auth.token);\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n org_id: 0,\n };\n try {\n tokenData = jwt_decode(token);\n } catch (e) {\n console.log(e);\n }\n\n return (\n <>\n {tabValue === 0 &&\n feedbackData.length > 0 &&\n feedbackData.map((data, id) => (\n \n \n \n \n \n \n \n \n \n \n {`${data.user.firstName} ${data.user.lastName}`}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(data.createdAt))}\n \n \n \n \n \n setFeedbackOrAssessmentId(data.feedbackId)}\n className={classes.action}\n >\n View\n \n \n \n \n ))}\n {tabValue === 1 &&\n feedbacks.length > 0 &&\n feedbacks.map((data, id) => (\n \n \n \n \n \n \n \n {`${data.user.firstName} ${data.user.lastName}`}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(data.createdAt))}\n \n \n \n \n \n setFeedbackOrAssessmentId(data.feedbackId)}\n className={classes.action}\n >\n View\n \n \n \n \n ))}\n {tabValue === 2 &&\n requests[0] &&\n requests.map((req, idx) => (\n \n \n \n \n \n \n \n {`${req.requestingUser.firstName} ${req.requestingUser.lastName}`}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(req.timeOfRequest))}\n \n \n \n \n ))}\n {tabValue === 3 &&\n sentRequests[0] &&\n sentRequests.map((req, idx) => (\n \n \n \n \n \n \n \n \n \n \n {`${req.respondingUser?.firstName} ${req.respondingUser?.lastName}`}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(req.timeOfRequest))}\n \n \n \n \n ))}\n {tabValue === 4 &&\n assessments[0] &&\n assessments.map((data, idx) => (\n \n \n \n {getDateInDesiredFormat(new Date(data.sharedDate))}\n \n \n \n \n \n \n setFeedbackOrAssessmentId(data.assessmentId)}\n className={classes.action}\n >\n View\n \n \n \n \n ))}\n {((tabValue === 0 && feedbackData.length === 0) ||\n (tabValue === 1 && feedbacks.length === 0) ||\n (tabValue === 2 && requests.length === 0) ||\n (tabValue === 3 && sentRequests.length === 0) ||\n (tabValue === 4 && assessments.length === 0)) && (\n \n {!loading && (\n \n No record!\n \n )}\n {loading && }\n \n )}\n \n );\n};\n","import {\n ClickAwayListener,\n Grid,\n IconButton,\n List,\n ListItem,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { ListHeaderProps } from \"../type\";\n\nconst useStyle = makeStyles((theme) => ({\n grid: {\n backgroundColor: \"rgba(124,105,236,0.05)\",\n padding: theme.spacing(1, 0, 1, 0),\n },\n text: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#868686\",\n fontFamily: \"Montserrat\",\n },\n actionAlignMent: {\n textAlign: \"end\",\n marginRight: theme.spacing(11.625),\n },\n nameAlignMent: {\n textAlign: \"start\",\n marginLeft: theme.spacing(5),\n },\n dateAlignMent: {\n textAlign: \"start\",\n },\n}));\n\nexport const ListHeader: React.FC = ({\n headerName,\n headerAction,\n itemValue,\n setItemValue,\n tabValue,\n setPageNumber,\n}) => {\n const classes = useStyle();\n const [openFilter, setFilter] = React.useState(false);\n\n return (\n \n \n {(tabValue === 0 || tabValue === 3) && (\n \n setFilter(!openFilter)}>\n \n \n \n {openFilter && (\n setFilter(false)}\n >\n \n {\n setItemValue(1);\n setPageNumber(1);\n }}\n >\n All\n \n {\n setItemValue(2);\n setPageNumber(1);\n }}\n >\n Employee\n \n {\n setItemValue(3);\n setPageNumber(1);\n }}\n >\n Client\n \n \n \n )}\n \n \n )}\n \n \n {headerName}\n \n \n \n \n \n {headerName !== \"Shared on\" && \"Date\"}\n \n \n \n \n {headerAction}\n \n \n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ListHeaderContentProps } from \"../type\";\nimport { ListContent } from \"./ListContent\";\nimport { ListHeader } from \"./ListHeader\";\n\nconst useStyle = makeStyles((theme) => ({\n grid: {\n backgroundColor: \"#FFFFFF\",\n borderRadius: theme.spacing(0.625),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n },\n}));\n\nconst headerNameAndActionTextByTabValue = [\n {\n name: \"Received from\",\n action: \"Action\",\n },\n {\n name: \"Shared to\",\n action: \"Action\",\n },\n {\n name: \"Requested from\",\n action: \"\",\n },\n {\n name: \"Request sent to\",\n action: \"\",\n },\n {\n name: \"Shared on\",\n action: \"Action\",\n },\n];\n\nexport const ListHeaderWithContent: React.FC = ({\n tabValue,\n setFeedbackOrAssessmentId,\n itemValue,\n setItemValue,\n setPageNumber,\n}) => {\n const classes = useStyle();\n\n return (\n \n {(\n \n \n \n )}\n \n \n \n \n );\n};\n","import { Button, Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ReportButtonProps } from \"../type\";\n\nconst useStyle = makeStyles((theme) => ({\n reportCTA: {\n padding: theme.spacing(1.25, 1.5, 1.25, 1.5),\n // marginLeft: theme.spacing(2.5),\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n color: \"#FFFFFF\",\n fontFamily: \"Montserrat\",\n backgroundColor: \"#7C69EC\",\n borderRadius: theme.spacing(0.5),\n height: theme.spacing(6),\n width: theme.spacing(20.25),\n \"&:hover\": {\n backgroundColor: \"#5c49cc\",\n },\n },\n}));\n\nexport const ReportCTA: React.FC = ({ setOpen }) => {\n const classes = useStyle();\n return (\n \n }\n className={classes.reportCTA}\n onClick={() => setOpen(true)}\n >\n SHOW REPORT\n \n \n );\n};\n","import { TabsProps } from \"../type\";\nimport { Divider, Grid, makeStyles, Tab, Tabs } from \"@material-ui/core\";\nimport React from \"react\";\nimport { CountProps, Counts, State } from \"../../../../type\";\nimport { useSelector } from \"react-redux\";\n\nconst useStyle = makeStyles((theme) => ({\n tabs: {\n width: \"-webkit-fill-available\",\n padding: theme.spacing(0),\n },\n tabsMozWidth: {\n width: \"-moz-available\",\n },\n divider: {\n width: \"inherit\",\n border: \"1px solid #EFEEF5\",\n },\n indicator: {\n backgroundColor: \"#7C69EC\",\n },\n tabsGrid: {\n backgroundColor: \"#F5F6FA\",\n },\n tabText: {\n textTransform: \"none\",\n width: \"inherit\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n },\n defaultColor: {\n color: \"#A0A0A0\",\n },\n activeColor: {\n color: \"#7C69EC\",\n },\n tab: {\n width: \"inherit\",\n minWidth: theme.spacing(10),\n padding: theme.spacing(0.5, 2.5, 0, 2.5),\n },\n}));\n\nfunction a11yProps(index: any) {\n return {\n id: `scrollable-auto-tab-${index}`,\n \"aria-controls\": `scrollable-auto-tabpanel-${index}`,\n };\n}\n\nexport const TitleBarTabs: React.FC = ({\n tabValue,\n setTabValue,\n setPageNumber,\n setItemValue,\n}) => {\n const classes = useStyle();\n const counts: CountProps = useSelector(\n (state: State) => state.countSharedAndReceivedFeedback?.data\n );\n const allCounts: CountProps = useSelector(\n (state: State) => state.countAllSharedAndReceived?.data\n );\n\n const requestReceivedCount: Counts | null = useSelector(\n (state: State) => state.countRequestReceivedByMember.data\n );\n\n const requestSentCount: number | null = useSelector(\n (state: State) => state.countRequestSendByMember.data\n );\n\n const countAssessments: number | null = useSelector(\n (state: State) => state.countAssessmentSharedByMember.data\n );\n\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setPageNumber(1);\n setItemValue(1);\n setTabValue(newValue);\n };\n\n return (\n \n \n {`Received (${counts?.receivedCount})`}\n ) : (\n {`Received (${counts?.receivedCount})`}\n )\n }\n {...a11yProps(0)}\n />\n {`Shared (${allCounts?.sharedCount})`}\n ) : (\n {`Shared (${allCounts?.sharedCount})`}\n )\n }\n {...a11yProps(1)}\n />\n {`Received request (${typeof requestReceivedCount?.pendingRequestCount === 'number' ? requestReceivedCount?.pendingRequestCount : 0})`}\n ) : (\n {`Received request (${typeof requestReceivedCount?.pendingRequestCount === 'number' ? requestReceivedCount?.pendingRequestCount : 0})`}\n )\n }\n {...a11yProps(2)}\n />\n {`Sent request (${typeof requestSentCount === 'number' ? requestSentCount : 0})`}\n ) : (\n {`Sent request (${typeof requestSentCount === 'number' ? requestSentCount : 0})`}\n )\n }\n {...a11yProps(3)}\n />\n {`Self assessments (${typeof countAssessments === 'number' ? countAssessments : 0})`}\n ) : (\n {`Self assessments (${typeof countAssessments === 'number' ? countAssessments : 0})`}\n )\n }\n {...a11yProps(4)}\n />\n \n \n \n );\n};\n","import jsPDF from \"jspdf\";\nimport { ICollatedFeedbackData } from \"../interface/feedback.interface\";\n\n\nconst cheerio = require('cheerio');\n\nlet yOffset;\nconst bullet = \"\\u2022\";\n\nconst formatTextAndAddToDoc = (text, tag, doc, tagName, pageHeight, link = null) => {\n doc.setFontSize(10);\n if (text.toString().trim() === \"\") {\n return;\n }\n switch (tagName) {\n case 'li': //li\n doc.setFont('Helvetica', 'normal');\n breakLines(`${bullet} ${text.toString()}`, doc, pageHeight, true)\n break;\n case 'a': //link\n doc.setFont('Helvetica', 'normal');\n doc.text(`${text.toString()} [${link}]`, 18, yOffset);\n break;\n case 'strong': //bold\n case 'em': //italic\n case 'ins': //underline\n case 'p': //paragraph\n default:\n doc.setFont('Helvetica', 'normal');\n breakLines(`${text.toString()}`, doc, pageHeight, false)\n break;\n }\n}\n\nconst breakLines = (content, doc, pageHeight, isBullet) => {\n if (content.trim() === \"\") return;\n const lines = doc.splitTextToSize(\n `${content}`,\n 180\n );\n lines.forEach(line => {\n const xOffset = !isBullet ? 18 : line.startsWith(bullet) ? 18 : 21;\n doc.text(line, xOffset, yOffset);\n\n yOffset += 6;\n if (yOffset + 20 > pageHeight) {\n doc.addPage();\n yOffset = 30;\n }\n });\n}\n\nconst cleanHtml = (htmlContent) => {\n let cleanedContent = htmlContent;\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"\", \"\");\n cleanedContent = cleanedContent.replaceAll(\"
\", \" \");\n\n return cleanedContent;\n}\n\nfunction convertHtmlToFormattedText(htmlContent, doc, pageHeight) {\n const $ = cheerio.load(htmlContent);\n\n // Define mapping for supported HTML tags to their text formatting\n const tagMapping = {\n p: '\\n\\n', // New paragraphs\n br: '\\n', // Line breaks\n ul: '\\n', // List items\n li: ' • ', // List item bullets\n strong: 'b', // Strong text\n em: 'i', // Italic text\n ins: 'u', // Underlined text\n a: (text, node) => `[${text}](${node.attribs.href})`, // Links\n };\n\n // Recursively process elements and concatenate formatted text\n function processElement(element) {\n const tagName = element.name;\n if (tagName === undefined) {\n // Text node\n return element.data;\n } else if (tagName in tagMapping) {\n\n // If the tag is mapped, apply the formatting\n const format = tagMapping[tagName];\n if (typeof format === 'string') {\n formatTextAndAddToDoc(element.children.map(processElement).join(''), format, doc, tagName, pageHeight);\n\n } else if (typeof format === 'function') {\n formatTextAndAddToDoc(element.children.map(processElement).join(''), format, doc, tagName, pageHeight, element.attribs.href);\n }\n } else {\n // If the tag is not mapped, just process its children\n formatTextAndAddToDoc(element.children.map(processElement).join(''), \"\", doc, tagName, pageHeight);\n }\n }\n\n const formattedText = processElement($('body').children()[0]);\n return formattedText;\n}\n\nfunction generatePDF(\n pdfData: ICollatedFeedbackData[],\n pdfName: string,\n username: string,\n startDate: string,\n endDate: string\n) {\n const doc = new jsPDF('p', 'mm', 'a4');\n\n yOffset = 40;\n doc.setFont('Helvetica', 'normal');\n doc.setFontSize(18);\n doc.text(`Feedback Report - ${username}`, 10, 10);\n doc.setFontSize(14);\n doc.text(`${startDate} to ${endDate}`, 10, 20);\n doc.line(10, 25, 200, 25);\n\n let pageHeight = doc.internal.pageSize.height;\n const pageWidth = doc.internal.pageSize.getWidth();\n\n if (pdfData.length === 0) {\n doc.setTextColor(150);\n doc.setFontSize(18);\n const textWidth =\n (doc.getStringUnitWidth(\"No feedbacks found.\") * 18) /\n doc.internal.scaleFactor;\n const textX = (pageWidth - textWidth) / 2;\n const textY = (pageHeight - 18) / 2;\n doc.text(\"No feedbacks found.\", textX, textY);\n doc.save(`${pdfName}.pdf`);\n return;\n }\n\n for (const item of pdfData) {\n if (yOffset + 20 > pageHeight) {\n doc.addPage();\n yOffset = 30;\n }\n\n doc.setFontSize(16);\n doc.text(`${item.attributeName}`, 10, yOffset);\n yOffset += 10;\n\n doc.setFontSize(12);\n doc.text(`Feedbacks : `, 10, yOffset);\n yOffset += 10;\n\n for (const feedback of item.feedbacks) {\n if (yOffset + 20 > pageHeight) {\n doc.addPage();\n yOffset = 30;\n }\n\n yOffset += 2;\n doc.setFontSize(10);\n\n const info = doc.splitTextToSize(\n `Received on ${feedback.date} by ${feedback.sentBy}`,\n 180\n );\n\n doc.setFont('Helvetica', 'italic');\n doc.setTextColor(\"#7C69EC\");\n doc.text(info, 15, yOffset);\n\n doc.setFont('Helvetica', 'normal', 'normal');\n doc.setTextColor(\"black\");\n\n doc.setFontSize(10);\n yOffset += 6;\n\n const details = `
    ${feedback.details}
`\n convertHtmlToFormattedText(cleanHtml(details), doc, pageHeight);\n }\n\n yOffset += 6;\n if (item.suggestions.length) {\n doc.setFontSize(12);\n doc.text(`Suggestions : `, 10, yOffset);\n yOffset += 10;\n\n for (const suggestion of item.suggestions) {\n if (yOffset + 20 > pageHeight) {\n doc.addPage();\n yOffset = 30;\n }\n\n yOffset += 2;\n doc.setFontSize(10);\n const info = doc.splitTextToSize(\n `Received on ${suggestion.date} by ${suggestion.sentBy}`,\n 180\n );\n\n doc.setFont('Helvetica', 'italic');\n doc.setTextColor(\"#7C69EC\");\n doc.text(info, 15, yOffset);\n\n doc.setFont('Helvetica', 'normal', 'normal');\n doc.setTextColor(\"black\");\n\n doc.setFontSize(10);\n\n yOffset += 6;\n\n const details = `
    ${suggestion.details}
`\n convertHtmlToFormattedText(cleanHtml(details), doc, pageHeight);\n\n }\n }\n\n yOffset += 6;\n if (yOffset + 20 > pageHeight) {\n doc.addPage();\n yOffset = 30;\n } else {\n doc.line(10, yOffset, 200, yOffset);\n yOffset += 10;\n }\n\n yOffset += 1;\n }\n\n doc.save(`${pdfName}.pdf`);\n}\n\nconst getPDFName = (name: string, startDate: string, endDate: string) => {\n return `${name\n .split(\" \")\n .join(\"_\")}_Feedback_Report_${startDate}_to_${endDate}`;\n};\n\nexport const generateFeedbackReport = (\n name: string,\n startDate: string,\n endDate: string,\n receivedFeedbacks: ICollatedFeedbackData[]\n) => {\n if (name) {\n name = name.toUpperCase();\n }\n const pdfName = getPDFName(name, startDate, endDate);\n generatePDF(receivedFeedbacks, pdfName, name, startDate, endDate);\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { TabsWithReportBtnProps } from \"../type\";\nimport { ReportCTA } from \"./ReportButton\";\nimport { TitleBarTabs } from \"./TitleTabs\";\n\nconst useStyle = makeStyles((theme) => ({\n tabsWithReport: {\n height: theme.spacing(4.75),\n margin: theme.spacing(10, 0, 5, 0),\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n tabsWrapper: {\n width: \"fit-content\",\n },\n buttonsWrapper: {\n display: \"flex\",\n gap: theme.spacing(2),\n },\n}));\n\nexport const TabsWithReportCTA: React.FC = ({\n tabValue,\n setTabValue,\n setOpen,\n setPageNumber,\n setItemValue,\n member,\n}) => {\n const classes = useStyle();\n return (\n \n \n \n \n {tabValue === 0 && (\n \n \n \n \n \n )}\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { ChangePageButtonComponent } from \"../../../components/changePageButtons\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { MemberDetailsLayout } from \"../../../../layouts/admin/members/details/MemberDetailsLayout\";\nimport { countAssessmentSharedByMember } from \"../../../../redux/slices/CountAssessmentSharedByMemberSlice\";\nimport { countFeedbackRequestReceivedByMember } from \"../../../../redux/slices/CountRequestReceivedByMemberSlice\";\nimport { countRequestSendByMember } from \"../../../../redux/slices/CountRequestSentByMemberSlice\";\nimport { getAllReceivedRequestsByMember } from \"../../../../redux/slices/FeedbackRequestReceivedByMemberSlice\";\nimport { getAllSendRequestsByMember } from \"../../../../redux/slices/FeedbackRequestsSentByMemberSlice\";\nimport { getAllCountSharedAndReceivedFeedback } from \"../../../../redux/slices/ReceivedAndSharedAllCountSlice\";\nimport { getCountSharedAndReceivedFeedback } from \"../../../../redux/slices/ReceivedAndSharedCountSlice\";\nimport { receivedFeedbackListByMember } from \"../../../../redux/slices/ReceivedFeedbackListByMemberSlice\";\nimport { getSharedAssessmentListByMember } from \"../../../../redux/slices/SharedAssessmentListByMemberSlice\";\nimport { getSharedFeedbackListByMember } from \"../../../../redux/slices/SharedFeedbackListByMemberSlice\";\nimport {\n CountProps,\n Counts,\n DeactivateMemberProp,\n FeedbackListSliceProps,\n FeedbackRequestListSliceProps,\n State,\n} from \"../../../../type\";\nimport { DetailSectionView } from \"./DetailSection\";\nimport { ListHeaderWithContent } from \"./List\";\nimport { TabsWithReportCTA } from \"./tabsAndReportBar\";\n\nexport const MemberDetails = (props) => {\n const dispatch = useDispatch();\n const { id } = props.match.params;\n const member = props.location.state?.member;\n const pageNo = props.location.state?.pageNumber;\n const tabNo = props.location.state?.tabValue;\n const itemNo = props.location.state?.itemValue;\n const from = props.location.state?.from;\n const teamId = props.location.state?.teamId;\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [pageNumber, setPageNumber] = React.useState(\n pageNo ? pageNo : 1\n );\n const [tabValue, setTabValue] = React.useState(tabNo ? tabNo : 0);\n const [itemValue, setItemValue] = React.useState(itemNo ? itemNo : 1);\n const [open, setOpen] = React.useState(false);\n\n const [feedbackOrAssessmentId, setFeedbackOrAssessmentId] =\n React.useState(0);\n const history = useHistory();\n\n useEffect(() => {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: itemValue === 1 ? \"ANY\" : itemValue === 2 ? \"INTERNAL\" : \"EXTERNAL\",\n };\n dispatch(getAllCountSharedAndReceivedFeedback(arg));\n dispatch(countFeedbackRequestReceivedByMember(arg));\n dispatch(countRequestSendByMember(arg));\n dispatch(countAssessmentSharedByMember(arg));\n }, []);\n\n useEffect(() => {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: itemValue === 1 ? \"ANY\" : itemValue === 2 ? \"INTERNAL\" : \"EXTERNAL\",\n };\n if (tabValue === 0) {\n dispatch(getCountSharedAndReceivedFeedback(arg));\n } else if (tabValue === 3) {\n dispatch(countRequestSendByMember(arg));\n }\n }, [itemValue]);\n\n useEffect(() => {\n if (tabValue === 0) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n tag: \"ANY\",\n };\n dispatch(receivedFeedbackListByMember(arg));\n } else if (tabValue === 1) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedFeedbackListByMember(arg));\n } else if (tabValue === 2) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag: \"ANY\",\n };\n dispatch(getAllReceivedRequestsByMember(arg));\n } else if (tabValue === 3) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag:\n itemValue === 1 ? \"ANY\" : itemValue === 2 ? \"INTERNAL\" : \"EXTERNAL\",\n };\n dispatch(getAllSendRequestsByMember(arg));\n } else if (tabValue === 4) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedAssessmentListByMember(arg));\n }\n }, [tabValue]);\n\n useEffect(() => {\n if (tabValue === 0) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n tag:\n itemValue === 1 ? \"ANY\" : itemValue === 2 ? \"INTERNAL\" : \"EXTERNAL\",\n };\n dispatch(receivedFeedbackListByMember(arg));\n } else if (tabValue === 1) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedFeedbackListByMember(arg));\n } else if (tabValue === 2) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag: \"ANY\",\n };\n dispatch(getAllReceivedRequestsByMember(arg));\n } else if (tabValue === 3) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag:\n itemValue === 1 ? \"ANY\" : itemValue === 2 ? \"INTERNAL\" : \"EXTERNAL\",\n };\n dispatch(getAllSendRequestsByMember(arg));\n } else if (tabValue === 4) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedAssessmentListByMember(arg));\n }\n }, [pageNumber, itemValue]);\n\n const counts: CountProps = useSelector(\n (state: State) => state.countSharedAndReceivedFeedback?.data\n );\n const allCounts: CountProps = useSelector(\n (state: State) => state.countAllSharedAndReceived?.data\n );\n\n const requestReceivedCount: Counts | null = useSelector(\n (state: State) => state.countRequestReceivedByMember.data\n );\n\n const requestSentCount: number | null = useSelector(\n (state: State) => state.countRequestSendByMember.data\n );\n\n const countAssessments: number | null = useSelector(\n (state: State) => state.countAssessmentSharedByMember.data\n );\n const statusCode: number | null = useSelector((state: State) =>\n state.countSharedAndReceivedFeedback.status !== 200\n ? state.countSharedAndReceivedFeedback.status\n : state.countAllSharedAndReceived.status !== 200\n ? state.countAllSharedAndReceived.status\n : state.countRequestReceivedByMember.status !== 200\n ? state.countRequestReceivedByMember.status\n : state.countRequestSendByMember.status !== 200\n ? state.countRequestSendByMember.status\n : state.receivedFeedbackListByMember.status !== 200\n ? state.receivedFeedbackListByMember.status\n : state.sharedFeedbackListByMember.status !== 200\n ? state.sharedFeedbackListByMember.status\n : state.allReceivedRequestsByMember.status !== 200\n ? state.allReceivedRequestsByMember.status\n : state.allSendRequestsByMember.status !== 200\n ? state.allSendRequestsByMember.status\n : state.countAssessmentSharedByMember.status !== 200\n ? state.countAssessmentSharedByMember.status\n : state.sharedAssessmentListByMember.status !== 200\n ? state.sharedAssessmentListByMember.status\n : state.changeMemberAccessRole.status !== 200\n ? state.changeMemberAccessRole.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderDetailSection = () => (\n \n );\n\n const renderTabsWithReportCTA = () => (\n \n );\n\n const renderList = () => (\n \n );\n\n const renderChangePageComponent = () => (\n \n {tabValue === 0 && counts?.receivedCount > 0 && (\n \n )}\n {tabValue === 1 && allCounts?.sharedCount > 0 && (\n \n )}\n {tabValue === 2 &&\n requestReceivedCount &&\n requestReceivedCount?.pendingRequestCount > 0 && (\n \n )}\n {tabValue === 3 && requestSentCount && requestSentCount > 0 && (\n \n )}\n {tabValue === 4 && countAssessments && countAssessments > 0 && (\n \n )}\n \n );\n\n if (!isDetailView) {\n if (from === \"dashboard\") {\n history.push(\"/admin/dashboard\");\n } else if (from === \"team_details\") {\n history.push(`/admin/teams/details/${teamId}`);\n } else {\n history.push(\"/admin/members\");\n }\n }\n\n if (open) {\n history.push({\n pathname: `/admin/members/report/feedback/received/${id}`,\n state: {\n memberName: `${member.firstName} ${member.lastName}`,\n member: member,\n },\n });\n }\n\n if (feedbackOrAssessmentId > 0) {\n history.replace({\n pathname: `/admin/member/detail/${id}`,\n state: {\n member: member,\n tabValue: tabValue,\n pageNumber: pageNumber,\n itemValue: itemValue,\n },\n });\n history.push({\n pathname: `/admin/detail/view`,\n state: {\n feedbackOrAssessmentId: feedbackOrAssessmentId,\n memberId: id,\n tabValue: tabValue,\n member: member,\n pageNumber: pageNumber,\n itemValue: itemValue,\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n}));\n\nexport const MembersLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderMemberList,\n renderSearchFilter,\n }) => {\n document.title = \"Grow-Wize | Admin-Members\";\n window.scrollTo(0, 0);\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderMembersLayout = () => (\n <>\n {renderErrorModal()}\n \n \n {renderSearchFilter()}\n {renderMemberList()}\n \n \n \n );\n\n return (\n \n );\n};\n","import {\n Avatar,\n Button,\n Grid,\n IconButton,\n List,\n ListItem,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { deactivateMember } from \"../../../redux/slices/DeactivateMemberSlice\";\nimport { changeMemberAccessRole } from \"../../../redux/slices/UpdateMemberAccessRole\";\nimport { DeactivateMemberProp, State } from \"../../../type\";\nimport { DeactivateUserModalComponent } from \"./DeactivateMemberModal\";\nimport { MemberCardProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n profilePic: {\n height: theme.spacing(22.5),\n width: \"inherit\",\n position: \"relative\",\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(26.5),\n },\n },\n userName: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n color: \"#272727\",\n textAlign: \"start\",\n wordWrap: \"break-word\",\n padding: theme.spacing(0, 1.5),\n [theme.breakpoints.down(\"xs\")]: {\n textAlign: \"center\",\n padding: theme.spacing(0),\n },\n },\n memberGrid: {\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"#FFFFFF\",\n height: theme.spacing(30),\n width: \"inherit\",\n margin: theme.spacing(3, 1, 3, 1),\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(34.5),\n },\n },\n hoveredView: {\n position: \"absolute\",\n display: \"flex\",\n height: theme.spacing(22.5),\n width: \"inherit\",\n backgroundColor: \"#000000\",\n top: theme.spacing(0),\n right: theme.spacing(0),\n opacity: 0.81,\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(26.5),\n },\n },\n detailViewCTA: {\n color: \"#FFFFFF\",\n border: \"1px solid #FFFFFF\",\n borderRadius: theme.spacing(0.5),\n height: theme.spacing(5),\n fontSize: theme.spacing(1.5),\n fontWeight: 600,\n },\n moreViewCTA: {\n height: theme.spacing(1),\n },\n moreViewItem: {\n fontSize: theme.spacing(1.25),\n textAlign: \"start\",\n fontWeight: 500,\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n backgroundColor: \"#FFFFFF\",\n },\n}));\n\nconst SWITCH_ROLE_MAP = {\n REGULAR: \"ADMIN\",\n ADMIN: \"REGULAR\",\n};\n\nexport const MemberCard: React.FC = ({\n firstName,\n lastName,\n imageUrl,\n status,\n id,\n setOpenReport,\n setMemberDetail,\n member,\n}) => {\n const classes = useStyle();\n let str = \"\";\n if (imageUrl) {\n for (let i = 0; i < imageUrl.length; i++) {\n if (imageUrl[i] !== \"=\") {\n str += imageUrl[i];\n } else {\n str += \"=s598-c\";\n imageUrl = str;\n break;\n }\n }\n }\n\n const [lock, setLock] = React.useState(false);\n const [userRole, changeRole] = React.useState(member?.userType);\n const [isHovered, setIsHovered] = React.useState(false);\n const [moreOpt, setMoreOpt] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const token = useSelector((state: State) => state.auth.token);\n const loggedInUserEmail = useSelector((state: State) => state.auth.email);\n const dispatch = useDispatch();\n const changeRoleStatus = useSelector(\n (state: State) => state.changeMemberAccessRole.status\n );\n useEffect(() => {\n if (changeRoleStatus === 200 && lock) {\n changeRole(SWITCH_ROLE_MAP[userRole]);\n setLock(false);\n }\n }, [changeRoleStatus]);\n\n async function handleCancel(e) {\n e.preventDefault();\n setOpen(false);\n }\n\n const handleDeactivateAccount = (id) => {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: \"INTERNAL\",\n };\n dispatch(deactivateMember(arg));\n setOpen(false);\n };\n\n const renderDeactivateMemberModal = () => (\n \n );\n\n return (\n \n {\" \"}\n {renderDeactivateMemberModal()}\n setIsHovered(true)}\n onMouseLeave={() => {\n setIsHovered(false);\n setMoreOpt(false);\n }}\n className={classes.profilePic}\n >\n {!imageUrl || imageUrl === firstName ? (\n \n ) : (\n \n )}\n {isHovered && (\n \n {status === \"ACTIVE\" && (\n <>\n \n setMoreOpt(true)}>\n \"more\"\n \n \n\n \n {moreOpt && (\n \n {member.emailId !== loggedInUserEmail && (\n {\n dispatch(\n changeMemberAccessRole({\n userType: SWITCH_ROLE_MAP[userRole],\n memberId: id,\n })\n );\n setLock(true);\n }}\n >\n \n {userRole === \"REGULAR\"\n ? \"Assign Admin Role\"\n : \"Revoke Admin Role\"}\n \n \n )}\n setOpen(true)}\n >\n \n Deactivate\n \n \n \n )}\n \n \n )}\n \n {\n setMemberDetail(member);\n setOpenReport(true);\n }}\n >\n VIEW DETAILS\n \n \n \n )}\n \n \n \n {firstName + \" \" + lastName}\n \n \n \n );\n};\n","import {Avatar, Chip, Grid, makeStyles, TextField, Typography} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { MembersLayout } from \"../../../layouts/admin/members/Layout\";\nimport { getAllMemberList } from \"../../../redux/slices/AllMemberList\";\nimport { GetAllMemberListSliceProps, State, User } from \"../../../type\";\nimport { MemberCard } from \"./ShowMemberCard\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport {useCustomStyle} from \"../../../styles\";\nimport {appColor} from \"../../constants/customThemeColor\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n height: theme.spacing(62.85),\n margin: theme.spacing(0, 0, 0, 5),\n padding: theme.spacing(2),\n border: \"1px solid #E7E7E7\",\n borderRadius: theme.spacing(1.25),\n boxShadow: \"0 2px 4px 0 rgba(90,90,90,0.1)\",\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 4, 0),\n height: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n border: \"none\",\n margin: theme.spacing(3, 0, 4, 0),\n },\n },\n popper: {\n border: `1px solid #E7E7E7 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: `${appColor.whiteBackground}`,\n width: \"-webkit-fill-available\",\n \"&:focus\": {\n border: `1px solid ${appColor.regularBorder} !important`,\n },\n \"&:hover\": {\n border: `1px solid ${appColor.regularBorder} !important`,\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: `${appColor.pureBlack}`,\n },\n editor: {\n width: \"-webkit-fill-available\",\n backgroundColor: appColor.pureWhite,\n },\n marginStyle: {\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"lg\")]: {\n marginBottom: theme.spacing(1),\n },\n },\n shareCTA: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: appColor.pureWhite,\n backgroundColor: appColor.regularBackgroundColor,\n padding: theme.spacing(1, 2.5),\n marginTop: theme.spacing(3),\n \"&:hover\": {\n color: appColor.pureWhite,\n backgroundColor: appColor.regularBackgroundColor,\n },\n [theme.breakpoints.down(\"md\")]: {\n marginTop: theme.spacing(1),\n },\n },\n header: {\n color: appColor.pureBlack,\n },\n chip: {\n margin: theme.spacing(5, 0, 1, 0),\n borderColor: \"#576BEA\",\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(3, 0),\n },\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n [theme.breakpoints.down(\"md\")]: {\n width: theme.spacing(2),\n height: theme.spacing(2),\n },\n },\n typography_header_style: {\n margin: theme.spacing(1.5, 0, 0.5, 0),\n },\n}));\n\nexport const Members = (props) => {\n const dispatch = useDispatch();\n const token = useSelector((state: State) => state.auth.token);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [openReport, setOpenReport] = React.useState(false);\n const [memberDetail, setMemberDetail] = React.useState(null);\n const [selectedUser, setSelectedUser] = React.useState(null);\n const users: Array = [];\n\n const labels = useSelector((state: State) => state.data.data?.users) ?? users;\n const history = useHistory();\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n useEffect(() => {\n const params : GetAllMemberListSliceProps = {\n isActiveUser: false\n };\n const fetchedUsers = getAllMemberList(params);\n dispatch(fetchedUsers);\n }, []);\n\n const emptyList: Array = [];\n const membersList: Array =\n useSelector((state: State) => state.membersList.data) ?? emptyList;\n const loading: boolean = useSelector(\n (state: State) => state.membersList.loading\n );\n\n const [filteredUsersList, setFilteredUsersList] = React.useState(null);\n const statusCode: number | null = useSelector((state: State) =>\n state.membersList.status !== 200\n ? state.membersList.status\n : state.deactivateMember.status !== 200\n ? state.deactivateMember.status\n : state.changeMemberAccessRole.status !== 200\n ? state.changeMemberAccessRole.status\n : null\n );\n\n const filterByUser = (filteredData) => {\n if (!selectedUser) {\n return filteredData;\n }\n\n const filteredUsers = filteredData.filter(\n (user) => user.id === selectedUser.id);\n return filteredUsers;\n };\n\n const handleUserSelection = (event) => {\n setSelectedUser(event.target.value);\n };\n\n useEffect(() => {\n if(filteredUsersList && filteredUsersList[0]) {\n setFilteredUsersList(filterByUser(membersList));\n }else{\n setFilteredUsersList(membersList);\n }\n }, [selectedUser,membersList]);\n\n const renderErrorModal = () => (\n \n );\n\n const renderSearchFilter = () => (\n <>\n {selectedUser && (\n setSelectedUser(null)}\n avatar={\n \n }\n label={\n \n {selectedUser.firstName + \" \" + selectedUser.lastName}\n \n }\n className={classes.chip}\n />\n )}{selectedUser === null && (\n <>\n \n Choose member\n \n \n option.id === value.id\n }\n onChange={(event, newValue) => {\n if (typeof newValue !== \"string\")\n setSelectedUser(newValue);\n }}\n filterSelectedOptions\n disableCloseOnSelect\n options={membersList}\n getOptionLabel={(option) =>\n option.firstName &&\n option.firstName + \" \" + option.lastName\n }\n renderOption={(option, { selected }) => (\n \n \n \n \n
\n \n {option.firstName + \" \" + option.lastName}\n \n
\n
\n \n
\n )}\n renderInput={(params) => (\n \n )}\n />\n \n )}\n \n )\n const renderMemberList = () => (\n <>\n \n {filteredUsersList && filteredUsersList[0] &&\n filteredUsersList.map((member, idx) => (\n \n \n \n ))}\n \n \n );\n\n if (openReport && memberDetail) {\n history.push({\n pathname: `/admin/member/detail/${memberDetail.id}`,\n state: {\n member: memberDetail,\n },\n });\n }\n\n return (\n \n );\n};\n","import { makeStyles } from \"@material-ui/core\";\nimport { ReceivedFeedbackDataProps } from \"../../../type\";\nimport { flatten, orderBy, map } from 'lodash';\n\nexport const reportAttributeDetailStyles = makeStyles((theme) => ({\n wrapper: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: theme.spacing(2),\n width: \"100%\",\n marginTop: theme.spacing(3)\n },\n wrapperSelf: {\n marginTop: theme.spacing(7)\n },\n listItemWrapper: {\n display: \"flex\",\n flexDirection: \"column\",\n boxShadow: \"0px 0px 4px 0px rgba(175, 175, 175, 0.5)\",\n borderRadius: theme.spacing(1),\n background: \"#FFFFFF\",\n width: \"100%\"\n },\n feedbackHeader: {\n display: \"grid\",\n gridTemplateColumns: \"38px max-content auto\",\n gap: theme.spacing(2),\n alignItems: \"center\",\n background: \"#F7F8FE\",\n borderRadius: theme.spacing(1),\n width: \"100%\",\n padding: theme.spacing(2),\n },\n profilePic: {\n width: 38,\n height: 38,\n borderRadius: \"50%\"\n },\n name: {\n color: \"#272727\",\n fontSize: 16,\n fontWeight: 700\n },\n dateWrapper: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-end\"\n },\n receivedText: {\n color: \"#272727\",\n fontSize: 14,\n fontWeight: 500\n },\n date: {\n color: \"#272727\",\n fontSize: 14,\n fontWeight: 600\n },\n contentWrapper: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: theme.spacing(2),\n padding: theme.spacing(4, 2),\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n gap: theme.spacing(2)\n },\n title: {\n color: \"#272727\",\n fontSize: 18,\n fontWeight: 700\n },\n feedbackText: {\n color: \"#272727\",\n fontSize: 14,\n fontWeight: 400,\n wordWrap: \"break-word\",\n overflow: \"hidden\"\n },\n divider: {\n width: \"calc(100% + 16px)\",\n height: 1,\n background: \"#E7E7E7\",\n margin: \"16px 0px\",\n marginLeft: theme.spacing(-1)\n }\n}));\n\nexport const getMappedFeedbacks = (data: ReceivedFeedbackDataProps) => {\n const mappedData = map(data?.responseDetails, (memberFeedbacks => {\n const mapped = map(memberFeedbacks?.details, feedback => ({\n ...feedback,\n userName: memberFeedbacks?.userName,\n imageUrl: memberFeedbacks?.imgUrl\n }));\n return mapped;\n }))\n const flattedData = flatten(mappedData);\n const sortedData = orderBy(flattedData, \"date\", [\"desc\"]);\n return sortedData;\n}","import React, { useEffect, useMemo } from 'react';\nimport { getMappedFeedbacks, reportAttributeDetailStyles } from './helper';\nimport { Avatar, Divider, Grid, Typography } from '@material-ui/core';\nimport { format, parseISO } from 'date-fns';\n\nexport const ReportAttributeDetailComponent = ({ reportData, attributeIndex, isSelfReport = false }) => {\n const classes = reportAttributeDetailStyles();\n\n const mappedFeedbacks = useMemo(() => {\n const attributeFeedbacks = reportData[attributeIndex];\n const mappedData = getMappedFeedbacks(attributeFeedbacks);\n return mappedData;\n }, [reportData, attributeIndex]);\n\n useEffect(() => {\n if (window.scrollY > 167) {\n window.scrollTo({\n top: 167,\n left: 0,\n behavior: \"smooth\",\n });\n }\n }, [attributeIndex])\n\n return (\n \n {mappedFeedbacks?.map(feedback => (\n \n \n \n {feedback.userName}\n \n Received on\n {format(parseISO(feedback.date), \"do MMMM yyyy\")}\n \n \n \n \n What was good\n \n \n {feedback?.suggestions && (\n <>\n \n \n Improvement Suggestions\n \n \n \n )}\n \n \n ))}\n \n )\n}","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ReceivedFeedbackDataProps, State } from \"../../../../type\";\nimport { ContentProp } from \"../type\";\nimport { ReportAttributeDetailComponent } from \"../../../components/ReportAttributeDetail/ReportAttributeDetailComponent\";\n\nexport const AttributeContent: React.FC = ({ attributeIndex }) => {\n const emptyList: Array = [];\n const reportData: Array =\n useSelector((state: State) => state.receivedFeedbackReport.data) ??\n emptyList;\n return (\n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { CountCardProps } from \"../type\";\n\nconst useStyles = makeStyles((theme) => ({\n commonStyle: {\n color: \"#282828\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n },\n cardName: {\n fontSize: theme.spacing(1.75),\n margin: \"16px 43px 16px 16px\",\n },\n cardCount: {\n color: \"#282828\",\n textAlign: \"right\",\n leadingTrim: \"both\",\n textEdge: \"cap\",\n fontFamily: \"Montserrat\",\n fontWeight: 700,\n fontSize: \"20px\",\n fontStyle: \"normal\",\n lineHeight: \"40px\",\n },\n}));\n\nexport const FeedbackReportCountCard: React.FC = ({\n cardName,\n cardCount,\n}) => {\n const classes = useStyles();\n return (\n \n \n {cardName}\n \n \n {cardCount < 10 && cardCount > 0 ? `0${cardCount}` : `${cardCount}`}\n \n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport {\n GenerateFeedbackReportProps,\n ReceivedFeedbackDataProps,\n} from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const fetchReceivedFeedbackByDateRange = createAsyncThunk(\n \"report/feedback/received/filterByDateRange\",\n async (params: GenerateFeedbackReportProps, storeActions) => {\n const url = `api/v1/admin/feedback/received/consolidate/detail?memberId=${params.memberId}&startDate=${params.startDate}&endDate=${params.endDate}`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst receivedFeedbackReportByDateRange = createSlice({\n name: \"receivedFeedbackReportByDateRange\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n errorMessage: null as string | null,\n receviedFeedbacksByDateRange:\n null as Array | null,\n },\n reducers: {\n clearGeneratePDFState: (state) => {\n state.status = null;\n state.loading = false;\n state.errorMessage = null;\n state.receviedFeedbacksByDateRange = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n fetchReceivedFeedbackByDateRange.fulfilled,\n (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.receviedFeedbacksByDateRange = action.payload.data;\n state.errorMessage = null;\n } else if (action.payload.text !== undefined) {\n state.receviedFeedbacksByDateRange = null;\n state.errorMessage = action.payload.text;\n }\n }\n );\n builder.addCase(fetchReceivedFeedbackByDateRange.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.receviedFeedbacksByDateRange = null;\n state.errorMessage = null;\n });\n builder.addCase(fetchReceivedFeedbackByDateRange.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.receviedFeedbacksByDateRange = null;\n state.errorMessage = null;\n });\n },\n});\n\nexport const selectfetchReceivedFeedbackByDateRangeStatus = (state) =>\n state.generatefeedbackReportState.status;\nexport const selectFetchFeedbackReportByDateRangeLoading = (state) =>\n state.generatefeedbackReportState.loading;\nexport const selectFetchfeedbackReportErrorMessage = (state) =>\n state.generatefeedbackReportState.errorMessage;\nexport const selectFeedbackReportsByDateRangeData = (state) =>\n state.generatefeedbackReportState.receviedFeedbacksByDateRange;\n\nexport const { clearGeneratePDFState } =\n receivedFeedbackReportByDateRange.actions;\n\nexport default receivedFeedbackReportByDateRange;\n","const month = [\n \"January\",\n \"Febuary\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n];\n\nfunction formatDateToDDMonthYYYY(inputDate: Date): string {\n const date = new Date(inputDate);\n const day = date.getDate();\n const monthName = month[date.getMonth()];\n const year = date.getFullYear();\n\n return `${day} ${monthName} ${year}`;\n}\n\nfunction formatDateToDDMonYYYY(inputDate: Date): string {\n const date = new Date(inputDate);\n const day = date.getDate();\n const monthName = month[date.getMonth()].slice(0, 3);\n const year = date.getFullYear();\n\n return `${day} ${monthName} ${year}`;\n}\n\nfunction formatDateToDDMMYYYY(inputDate) {\n const date = new Date(inputDate);\n const day = String(date.getDate()).padStart(2, \"0\");\n const month = String(date.getMonth() + 1).padStart(2, \"0\");\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n}\n\nexport enum DateFormat {\n DDMMYYYY,\n DDMonYYYY,\n DDMonthYYYY,\n}\n\nexport function formatDate(date: Date, requiredFormat: DateFormat) {\n switch (requiredFormat) {\n case DateFormat.DDMMYYYY:\n return formatDateToDDMMYYYY(date);\n\n case DateFormat.DDMonYYYY:\n return formatDateToDDMonYYYY(date);\n\n case DateFormat.DDMonthYYYY:\n return formatDateToDDMonthYYYY(date);\n\n default:\n return date;\n }\n}\n","import { Button, makeStyles } from \"@material-ui/core\";\nimport { useState } from \"react\";\nimport { ReceivedFeedbackDataProps } from \"../../../../../type\";\nimport { useDispatch } from \"react-redux\";\nimport {\n clearGeneratePDFState,\n} from \"../../../../../redux/slices/FeedbackReportSlice\";\nimport { generateFeedbackReport } from \"../../../../../util/pdfGenerator\";\nimport { getDateInLeaderBoardFormat } from \"../../../../../util/GetDateInDesiredFormat\";\nimport { ICollatedFeedbackData } from \"../../../../../interface/feedback.interface\";\nimport { DateFormat, formatDate } from \"../../../../../util/DateUtils\";\nimport ToastMessage, { MESSAGE_TYPE, MessageObject } from \"../../../../components/ToastMessage\";\nimport { isEmpty } from 'lodash';\n\nconst useStyle = makeStyles((theme) => ({\n exportCTA: {\n padding: theme.spacing(1.25, 1.5, 1.25, 1.5),\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n backgroundColor: \"#7C69EC\",\n fontFamily: \"Montserrat\",\n borderRadius: theme.spacing(0.5),\n height: theme.spacing(6),\n color: \"#fff\",\n \"&:hover\": {\n backgroundColor: \"#5c49cc\",\n }\n },\n}));\n\nexport const ExportCTA = ({\n receivedFeedbackDateRangeState,\n memberName,\n receivedFeedbacksWithinSelectedRange\n}) => {\n const classes = useStyle();\n const dispatch = useDispatch();\n const [showExportSuccessToast, setShowExportSuccessToast] =\n useState(false);\n const [exportSuccessMsg, setExportSuccessMsg] = useState();\n\n const handleExport = () => {\n if (isEmpty(receivedFeedbacksWithinSelectedRange)) {\n dispatch(clearGeneratePDFState());\n setShowExportSuccessToast(true);\n setExportSuccessMsg({ message: \"No feedback found\", type: MESSAGE_TYPE.INFO });\n }\n else {\n generateFeedbackReport(\n memberName,\n getDateInLeaderBoardFormat(receivedFeedbackDateRangeState.startDate),\n getDateInLeaderBoardFormat(receivedFeedbackDateRangeState.endDate),\n getCollatedFeedbacks(receivedFeedbacksWithinSelectedRange)\n );\n dispatch(clearGeneratePDFState());\n setShowExportSuccessToast(true);\n setExportSuccessMsg({ message: \"Report exported successfully\", type: MESSAGE_TYPE.SUCCESS });\n }\n };\n\n const getCollatedFeedbacks = (\n receivedFeedbacks: ReceivedFeedbackDataProps[]\n ): ICollatedFeedbackData[] => {\n return receivedFeedbacks.map((attribute) => {\n const feedbacks: any = [];\n attribute.responseDetails.forEach((response) => {\n const sentBy = response.userName;\n response.details.forEach((feedback) => {\n feedbacks.push({\n sentBy,\n date: formatDate(new Date(feedback.date), DateFormat.DDMonYYYY),\n details: feedback.context,\n suggestions: feedback.suggestions,\n });\n });\n });\n return {\n attributeName: attribute.attributeName,\n feedbacks,\n suggestions: feedbacks\n .map((feedback) => ({ sentBy: feedback.sentBy, date: feedback.date, details: feedback.suggestions }))\n .filter((suggestion) => Boolean(suggestion.details)),\n };\n });\n };\n\n const handleToastClose = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowExportSuccessToast(false);\n setExportSuccessMsg({ message: \"\" });\n };\n\n return (\n
\n \n }\n onClick={handleExport}\n variant=\"outlined\"\n data-testid=\"export-button\"\n className={classes.exportCTA}\n >\n EXPORT\n \n
\n );\n};\n","import { Button, ClickAwayListener, makeStyles } from \"@material-ui/core\"\nimport { useState } from \"react\";\nimport { DateRangePicker } from \"react-date-range\";\nimport { getDateInDesiredFormat } from \"../../util/GetDateInDesiredFormat\";\n\nconst useStyle = makeStyles((theme) => ({\n calenderCTA: {\n padding: theme.spacing(1.25, 1.5, 1.25, 1.5),\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n color: \"#7C69EC\",\n fontFamily: \"Montserrat\",\n borderRadius: theme.spacing(0.5),\n height: theme.spacing(6),\n border: \"1px solid #7C69EC\",\n },\n dateRangeWrapper: {\n position: \"absolute\",\n zIndex: 100,\n right: theme.spacing(6.5),\n boxShadow: \"0 2px 4px 0 rgba(175,175,175,0.5)\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n fontFamily: \"Montserrat\",\n marginTop: \"16px\",\n \"& > .rdrDateRangePickerWrapper > .rdrDefinedRangesWrapper\": {\n display: \"none\",\n }\n },\n}));\n\nexport const CalendarCTA = ({\n setDateRange,\n dateRange,\n selectedDateCount,\n setSelectedDateCount,\n}) => {\n const classes = useStyle();\n const [showDateRange, setShowDateRange] = useState(false);\n\n const handleDateChange = (range) => {\n const nextRange = {\n startDate: range?.range1?.startDate,\n endDate: range?.range1?.endDate,\n };\n setDateRange(nextRange);\n if (selectedDateCount === 1) {\n setShowDateRange(false);\n setSelectedDateCount(2);\n } else if (selectedDateCount === 0) {\n setSelectedDateCount(1);\n }\n };\n\n return (<>\n }\n variant=\"outlined\"\n data-testid=\"export-button\"\n className={classes.calenderCTA}\n onClick={() => setShowDateRange(true)}\n >\n {/* Sep 2023 - Sep 2024 */}\n {getDateInDesiredFormat(dateRange.startDate)} - {getDateInDesiredFormat(dateRange.endDate)}\n \n {showDateRange && (\n setShowDateRange(false)}\n >\n
\n handleDateChange(e)}\n maxDate={new Date()}\n staticRanges={[]}\n inputRanges={[]}\n dateDisplayFormat={\"d MMM yyyy\"}\n />\n
\n \n )}\n \n );\n}\n","import { CircularProgress, Divider, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { HomeLayout } from \"../../../home/Layout\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport { DeactivateMemberProp, ReceivedFeedbackDataProps, RequestingParams, State } from \"../../../../type\";\nimport { FeedbackReportCountCard } from \"../../../../modules/admin/members/details/FeedbackReportCountCard\";\nimport { getAllCountSharedAndReceivedFeedback } from \"../../../../redux/slices/ReceivedAndSharedAllCountSlice\";\nimport { countReceivedFeedback } from \"../../../../redux/slices/CountReceivedFeedbacksSlice\";\nimport { ExportCTA } from \"../../../../modules/admin/members/details/exportCTA/ExportCTA\";\nimport { DateProps } from \"../../../../modules/admin/dashboard/type\";\nimport { getReceivedFeedbackReport } from \"../../../../redux/slices/ConsolidateReportOfReceivedFeedbackSlice\";\nimport { CalendarCTA } from \"../../../../modules/components/CalenderCTA\";\nimport { getDateInLeaderBoardFormat } from \"../../../../util/GetDateInDesiredFormat\";\nimport { getSelfReport } from \"../../../../redux/slices/SelfReportSlice\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n width: `${window.innerWidth - 224}px`,\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(10),\n background: \"#FFFFFF\",\n minHeight: \"calc(100vh - 80px)\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n width: `${window.innerWidth}px`,\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n widthStyle: {\n width: \"-webkit-fill-available\",\n },\n commonCardStyle: {\n width: \"286px\",\n height: \"52px\",\n borderRadius: \"4px\",\n marginBottom: theme.spacing(3),\n },\n divider: {\n margin: \"32px 32px 0px 0px\",\n width: \"calc(100% + 32px)\",\n height: \"1px\",\n background: \"#E7E7E7\",\n marginLeft: theme.spacing(-2)\n },\n receivedCountBackground: {\n marginRight: theme.spacing(1.125),\n background: `#F6F6F6`\n },\n stickyContainer: {\n position: \"sticky\",\n top: theme.spacing(10),\n zIndex: 1,\n width: \"calc(100% + 32px)\",\n background: \"#FFFFFF\",\n marginLeft: theme.spacing(-2),\n padding: theme.spacing(4, 2, 0, 2),\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n stickyFadingEffect: {\n position: 'sticky',\n top: 236,\n },\n fadingElement: {\n content: \"''\",\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n height: '100px',\n background: `linear-gradient(white, rgba(255, 255, 255, 0))`,\n pointerEvents: 'none',\n },\n loaderBackground: {\n height: \"100%\",\n padding: 0,\n background: \"none\",\n overflow: \"hidden\"\n },\n}));\n\nexport const Loader = () => {\n const classes = useStyle();\n return (\n \n \n \n \n \n );\n};\n\nexport const ReceivedFeedbackReportLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n memberName,\n renderErrorModal,\n renderMemberCard,\n renderAttributeTabs,\n renderAttributeContent,\n renderScrollOnTop,\n renderNoRecordText,\n renderNoFeedbacks,\n}) => {\n document.title = \"Grow-Wize | Feedback Report\";\n\n const classes = useStyle();\n const customClasses = useCustomStyle();\n const token = useSelector((state: State) => state.auth.token);\n const emptyList: Array = [];\n const reportData: Array =\n useSelector(\n (state: State) =>\n memberName === \"Self\" ? state.selfReport.data : state.receivedFeedbackReport.data\n ) ?? emptyList;\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [])\n const dispatch = useDispatch();\n const { id } = props.match.params;\n const itemNo = props.location.state?.itemValue;\n const [itemValue, setItemValue] = React.useState(itemNo ? itemNo : 1);\n const [showFadingEffect, setShowFadingEffect] = useState(false);\n const [selectedDateCount, setSelectedDateCount] = useState(0);\n\n const [receivedFeedbackDateRangeState, setReceivedFeedbackDateRangeState] =\n React.useState({\n startDate: new Date(new Date().setFullYear(new Date().getFullYear() - 1)),\n endDate: new Date(),\n });\n\n const loggedInUserName = useSelector((state: State) => state.auth.name);\n const userFullName = (memberName === 'Self') ? loggedInUserName : memberName;\n\n\n const getFeedbackReceivedForDateRange = () => {\n let str = \"\";\n let startDate = getDateInLeaderBoardFormat(receivedFeedbackDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(receivedFeedbackDateRangeState.endDate);\n str += `startDate=${startDate}&endDate=${endDate}`;\n if (memberName === \"Self\") {\n const params: DeactivateMemberProp = {\n requestingParam: str,\n };\n dispatch(getSelfReport(params));\n } else {\n const params: DeactivateMemberProp = {\n memberId: id,\n tag: \"INTERNAL\",\n requestingParam: str,\n };\n dispatch(getReceivedFeedbackReport(params));\n }\n }\n\n const getCountsForDateRange = () => {\n let str = \"\";\n let startDate = getDateInLeaderBoardFormat(receivedFeedbackDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(receivedFeedbackDateRangeState.endDate);\n str += `&startDate=${startDate}&endDate=${endDate}`;\n if (memberName === \"Self\") {\n const requestingData: RequestingParams = {\n requestParams: \"?requestTag=ANY\" + str,\n };\n dispatch(countReceivedFeedback(requestingData));\n } else {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: itemValue === 1 ? \"ANY\" : itemValue === 2 ? \"INTERNAL\" : \"EXTERNAL\",\n requestingParam: str,\n };\n dispatch(getAllCountSharedAndReceivedFeedback(arg));\n }\n }\n\n useEffect(() => {\n getCountsForDateRange();\n }, [])\n\n useEffect(() => {\n if (selectedDateCount === 2) {\n getFeedbackReceivedForDateRange();\n getCountsForDateRange();\n setSelectedDateCount(0);\n }\n }, [token, selectedDateCount]);\n\n const counts: number = useSelector(\n (state: State) => memberName === \"Self\"\n ? (state.countReceived?.data || 0)\n : (state.countAllSharedAndReceived?.data?.receivedCount || 0)\n );\n const loadingCounts = useSelector((state: State) => state.countAllSharedAndReceived?.loading);\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const handleScroll = () => {\n const position = window.pageYOffset;\n if (position > 168) {\n setShowFadingEffect(true);\n } else {\n setShowFadingEffect(false);\n }\n };\n\n useEffect(() => {\n window.addEventListener('scroll', handleScroll, { passive: true });\n\n return () => {\n window.removeEventListener('scroll', handleScroll);\n };\n }, []);\n\n const renderReceivedFeedbackReportLayout = () => (\n \n \n <>\n {renderErrorModal()}\n \n {renderMemberCard()}\n \n {memberName !== \"Self\" && }\n {loading || loadingCounts ? \n \n :\n <>\n \n \n \n \n \n \n {/* Calender CTA */}\n \n {/* Calender CTA end*/}\n \n \n \n \n \n \n {reportData.length === 0 ? renderNoFeedbacks() : renderAttributeTabs()}\n \n \n {showFadingEffect && \n \n }\n \n {renderAttributeContent()}\n \n \n }\n \n {renderScrollOnTop()}\n \n \n );\n\n return (\n \n );\n};\n","import { Grid, IconButton, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\n\nconst useStyle = makeStyles((theme) => ({\n scrollOnTop: {\n position: \"fixed\",\n height: theme.spacing(5.25),\n width: theme.spacing(5.25),\n right: theme.spacing(1.5),\n bottom: theme.spacing(8),\n backgroundColor: \"#7C69EC\",\n \"&:hover\": {\n backgroundColor: \"#7C69EC\",\n },\n },\n}));\n\nexport default function ScrollToTop() {\n const classes = useStyle();\n const [isVisible, setIsVisible] = useState(false);\n\n const toggleVisibility = () => {\n if (window.pageYOffset > 300) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n };\n\n const scrollToTop = () => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n };\n\n useEffect(() => {\n window.addEventListener(\"scroll\", toggleVisibility);\n }, []);\n\n return (\n
\n {isVisible && (\n \n \n \"Go\n \n \n )}\n
\n );\n}\n","import {\n Avatar,\n Grid,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\n\nconst useStyle = makeStyles((theme) => ({\n blackFont: {\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n textAlign: \"start\",\n },\n memberName: {\n fontSize: \"24px\",\n fontStyle: \"normal\",\n fontWeight: 700,\n lineHeight: \"normal\",\n marginBottom: \"8px\"\n },\n memberMail: {\n fontSize: \"14px\",\n fontStyle: \"normal\",\n fontWeight: 400,\n lineHeight: \"normal\"\n },\n img: {\n height: \"86px\",\n width: \"86px\",\n marginright: theme.spacing(1),\n },\n}));\n\nexport const UserInfoCard = ({ member }) => {\n const classes = useStyle();\n return (\n <>\n \n \n \n \n\n \n \n {`${member?.firstName} ${member?.lastName}`}\n \n \n \n {`${member?.emailId}`}\n \n \n \n \n \n );\n};\n","import React from 'react';\nimport { Divider, Grid, makeStyles, Tab, Tabs as MuiTabs } from \"@material-ui/core\";\n\n\nconst useStyle = makeStyles((theme) => ({\n tabsRoot: {\n background: \"#FFFFFF\"\n },\n tabs: {\n width: \"-webkit-fill-available\",\n padding: theme.spacing(0),\n },\n tabsMozWidth: {\n width: \"-moz-available\",\n },\n divider: {\n height: 3,\n background: \"#E7E7E7\",\n borderRadius: 2,\n position: \"absolute\",\n width: \"100%\",\n bottom: -0.5,\n zIndex: 1\n },\n indicator: {\n backgroundColor: \"#7C69EC\",\n zIndex: 2,\n borderRadius: 1\n },\n tabsGrid: {\n backgroundColor: \"#F5F6FA\",\n position: \"relative\"\n },\n tabText: {\n textTransform: \"none\",\n width: \"inherit\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n },\n defaultColor: {\n color: \"#868686\",\n fontSize: 14,\n fontWeight: 500\n },\n activeColor: {\n color: \"#7C69EC\",\n fontSize: 14,\n fontWeight: 700\n },\n tab: {\n width: \"inherit\",\n minWidth: theme.spacing(10),\n padding: theme.spacing(0.5, 2.5, 0, 2.5),\n },\n}));\n\nfunction a11yProps(index: any) {\n return {\n id: `scrollable-auto-tab-${index}`,\n \"aria-controls\": `scrollable-auto-tabpanel-${index}`,\n };\n}\n\nexport const Tabs = ({ tabValue, setTabValue, data }) => {\n const classes = useStyle();\n\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabValue(newValue);\n };\n\n return (\n \n \n {data?.map(item => (\n {item?.label}\n )}\n {...a11yProps(item?.key)}\n />\n ))}\n \n \n \n );\n}","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useMemo } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { DeactivateMemberProp, ReceivedFeedbackDataProps, State } from \"../../../../type\";\nimport { AttributeContent } from \"./AttributeContent\";\nimport { getReceivedFeedbackReport } from \"../../../../redux/slices/ConsolidateReportOfReceivedFeedbackSlice\";\nimport { ReceivedFeedbackReportLayout } from \"../../../../layouts/admin/members/reports/ReceivedFeedbackReportLayout\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport ScrollToTopBtn from \"./ScrollOnTop\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { UserInfoCard } from \"./UserInfoCard\";\nimport { map } from \"lodash\";\nimport { Tabs } from \"../../../components/Tabs/Tabs\";\nimport { getStartAndEndDateForCalendarDateRange } from \"../../../../util/GetDateInDesiredFormat\";\n\nconst useStyle = makeStyles((theme) => ({\n noDataText: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n color: \"#FFFFFF\",\n margin: theme.spacing(40, 0, 40, 0),\n },\n img: {\n padding: theme.spacing(6.5, 0, 6.5, 0),\n height: theme.spacing(47),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0),\n height: theme.spacing(26.8),\n },\n },\n text: {\n color: \"#272727\",\n textAlign: \"center\",\n fontFamily: \"Montserrat\",\n fontSize: \"18px\",\n fontStyle: \"normal\",\n fontWeight: 600,\n lineHeight: \"normal\",\n },\n}));\n\nexport const ReceivedFeedbackReport = (props) => {\n const { id } = props.match.params;\n const memberName = props.location.state?.memberName;\n const member = props.location.state?.member;\n const dispatch = useDispatch();\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n\n const classes = useStyle();\n const [tabValue, setTabValue] = React.useState(0);\n const history = useHistory(); \n const location = useLocation();\n const currentPath = location.pathname;\n const teamId = props.location.state?.teamId;\n\n const feedbackData: Array =\n useSelector((state: State) => state.receivedFeedbackReport.data) ?? [];\n\n const tabsData = useMemo(() => { return map(feedbackData, (item, index) => ({ key: index, label: item?.attributeName })) }, [feedbackData])\n\n useEffect(() => {\n setTabValue(0);\n }, [tabsData])\n\n useEffect(() => {\n let str = \"\";\n let dateRange = getStartAndEndDateForCalendarDateRange();\n str += `startDate=${dateRange.startDate}&endDate=${dateRange.endDate}`;\n const params: DeactivateMemberProp = {\n memberId: id,\n tag: \"INTERNAL\",\n requestingParam: str,\n };\n dispatch(getReceivedFeedbackReport(params));\n }, [id]);\n const statusCode: number | null = useSelector((state: State) =>\n state.receivedFeedbackReport.status !== 200\n ? state.receivedFeedbackReport.status\n : null\n );\n const renderErrorModal = () => (\n \n );\n\n const renderNoRecordFoundText = () => (\n \n {`No record found`}\n \n );\n\n const renderAttributeTabs = () => (\n \n );\n\n const renderMemberCard = () => (\n \n );\n\n const renderAttributeContent = () => (\n \n );\n\n const renderScrollOnTop = () => ;\n\n const renderNoFeedbacks = () => (\n <>\n \n \n {\" \"}\n No records of feedback available here!\n \n );\n\n const loading: Boolean = useSelector(\n (state: State) => state.receivedFeedbackReport.loading\n );\n\n if (!isDetailView) {\n if (currentPath === `/admin/members/report/feedback/received/${id}`) {\n history.push({\n pathname: `/admin/member/detail/${id}`,\n state: { member: member, teamId: teamId },\n });\n } else if (currentPath === `/members/report/feedback/received/${id}`) {\n history.push({\n pathname: `/member/detail/${id}`,\n state: { member: member, teamId: teamId },\n });\n }\n }\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport theme from \"../../../theme\";\nimport { DashboardLayoutProps } from \"../../../type\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 1, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n },\n leftSide: {\n [theme.breakpoints.up(\"md\")]: {\n padding: theme.spacing(0, 0, 0.0, 2.25),\n },\n },\n}));\n\nexport const DashboardLayout: React.FC = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderDashboardTopArtwork,\n renderComingSoon,\n renderCountCards,\n renderPendingListComponent,\n}) => {\n document.title=\"Grow-Wize | Dashboard\";\n const classes = useStyle();\n window.scrollTo(0, 0);\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction =()=> {\n return 0;\n }\n\n const renderToolBar = () => (\n \n );\n\n const renderDashboardLayout = () => (\n <>\n \n {renderErrorModal()}\n \n {renderDashboardTopArtwork()}\n \n \n \n \n {renderCountCards()}\n \n \n {renderPendingListComponent()}\n \n \n \n {renderComingSoon()}\n \n \n \n \n );\n\n return (\n \n );\n};\n","import { Button, Grid, makeStyles, Paper, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\nimport { useCustomStyle } from \"../../../styles\";\nimport { DashboardCountCardsProps } from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n receivedCountCard: {\n height: theme.spacing(15),\n width: \"-webkit-fill-available\",\n boxShadow:\"0 2px 4px 0 rgba(90,90,90,0.1)\",\n borderRadius: theme.spacing(1.5),\n border: \"0.6px solid rgba(87,107,234,0.5)\",\n \"&:hover\": {\n border: \"1px solid rgba(87,107,234,1)\",\n },\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(-2.25, 0, 2, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n borderRadius: theme.spacing(0.5),\n height: theme.spacing(10),\n },\n },\n cardIcon: {\n margin: theme.spacing(3.75, 1, 0, 2.5),\n [theme.breakpoints.up(\"lg\")]: {\n height: theme.spacing(8),\n width: theme.spacing(8),\n margin: theme.spacing(3, 0, 0, 0.8),\n },\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(1.75, 0, 0, 0.8),\n padding: theme.spacing(0, 0, 0, 0),\n },\n },\n typography_Body: {\n fontSize: theme.spacing(6),\n margin: theme.spacing(1, 1.5, 0, 0),\n fontWeight: 600,\n color: \"#272727\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0.5, 2, 0, 0),\n fontSize: theme.spacing(3),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0.5, 2, 0, 0),\n fontSize: theme.spacing(3),\n },\n },\n typography_Body2: {\n color: \"#868686\",\n fontSize: \"14px\",\n fontWeight: 500,\n letterSpacing: 0,\n lineHeight: \"18px\",\n margin: theme.spacing(-1, 1.5, 0, 0),\n [theme.breakpoints.down(\"md\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(1.95, 0.5, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(-1.5, 2, 0, 0),\n },\n },\n receivedCard: {\n padding: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.up(\"md\")]: {\n padding: theme.spacing(0, 2.75, 0, 0),\n },\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 2, 0),\n },\n },\n sentCard: {\n padding: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.up(\"md\")]: {\n padding: theme.spacing(0, 0, 0, 2.75),\n },\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 2, 0),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n },\n },\n cardBtn: {\n textTransform: \"none\",\n padding: theme.spacing(0),\n [theme.breakpoints.down(\"xl\")]: {\n width: \"-webkit-fill-available\",\n \"&:hover\": {\n border: \"#FFFFFF\",\n backgroundColor: \"#F5F6FA\",\n },\n },\n },\n}));\n\nexport const DashboardCountCards: React.FC = ({\n countShared,\n countReceived,\n setValue,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n return (\n \n \n \n \n \n \n \n \n );\n};\n","import { AttributeQuestionEmoji, ShareFeedbackAttribute } from \"../../../type\";\n\nexport const updateEmojiAndAttributeOnClick = (\n newValue,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData\n) => {\n let updatedShareFBAttribute: Array = [];\n let updatedEmoji: Array = [];\n for (let index = 0; index < newValue.length; index++) {\n const arg: AttributeQuestionEmoji = {\n attributeId: newValue[index].id,\n queEmoji: newValue[index].questions.map((que) => {\n return {\n questionId: que.id,\n emojiId: -1,\n };\n }),\n };\n const arg1: ShareFeedbackAttribute = {\n attributeId: newValue[index].id,\n attributeName: newValue[index].name,\n questions: newValue[index].questions.map((que) => {\n return {\n questionId: que.id,\n questionName: que.questionText,\n answer: \"\",\n scaleName: que.answerType,\n scaleVersion: que.scaleVersion,\n };\n }),\n context: \"\",\n suggestions: \"\",\n resources: \"\",\n };\n let idx = 0;\n for (idx = 0; idx < shareFeedbackData.length; idx++) {\n if (shareFeedbackData[idx].attributeId === newValue[index].id) {\n break;\n }\n }\n if (idx === shareFeedbackData.length) {\n updatedEmoji.push(arg);\n updatedShareFBAttribute.push(arg1);\n } else {\n updatedEmoji.push(emojiSelected[idx]);\n updatedShareFBAttribute.push(shareFeedbackData[idx]);\n }\n }\n setEmojiSelected(updatedEmoji);\n setShareFeedbackData(updatedShareFBAttribute);\n};\n\nexport const updateEmojiAndAttributeWithDraftData = (\n newValue,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData,\n draft,\n setSelectedDraftId,\n responseScales\n) => {\n let updatedShareFBAttribute: Array = [];\n let updatedEmoji: Array = [];\n for (let index = 0; index < newValue.length; index++) {\n const arg: AttributeQuestionEmoji = {\n attributeId: newValue[index].id,\n queEmoji: newValue[index].questions.map((que, idx) => {\n let id = -1;\n const currentScale = responseScales.find(\n (scale) => scale.scaleName === que.answerType\n );\n currentScale?.scaleResponses.map((e, idx1) => {\n if (e.url === draft[index]?.questions[idx]?.answer) {\n id = idx1;\n }\n });\n return {\n questionId: que.id,\n emojiId: id,\n };\n }),\n };\n const arg1: ShareFeedbackAttribute = {\n attributeId: newValue[index].id,\n attributeName: newValue[index].name,\n questions: newValue[index].questions.map((que, idx) => {\n return {\n questionId: que.id,\n questionName: que.questionText,\n answer: draft[index]?.questions[idx]?.answer || \"\",\n scaleName: que.answerType,\n scaleVersion: que.scaleVersion,\n };\n }),\n context: draft[index]?.context,\n suggestions: draft[index]?.suggestions,\n resources: draft[index]?.resources,\n };\n let idx = 0;\n for (idx = 0; idx < shareFeedbackData.length; idx++) {\n if (shareFeedbackData[idx].attributeId === newValue[index].id) {\n break;\n }\n }\n if (idx === shareFeedbackData.length) {\n updatedEmoji.push(arg);\n updatedShareFBAttribute.push(arg1);\n } else {\n updatedEmoji.push(emojiSelected[idx]);\n updatedShareFBAttribute.push(shareFeedbackData[idx]);\n }\n }\n if (newValue.length === draft.length && shareFeedbackData.length === 0) {\n setEmojiSelected(updatedEmoji);\n setShareFeedbackData(updatedShareFBAttribute);\n }\n setSelectedDraftId(0);\n};\n\nexport const handleClickChip =\n (\n index,\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n responseScale\n ) =>\n (e) => {\n let newEmoj = [...emojiSelected];\n newEmoj[idx].queEmoji[idx_1].emojiId = index;\n setEmojiSelected(newEmoj);\n\n let newData = [...shareFeedbackData];\n newData[idx].questions[idx_1].answer = responseScale[index].url;\n setShareFeedbackData(newData);\n };\n\nexport const handleOnChange =\n (index, shareFeedbackData, setShareFeedbackData) => (e) => {\n let newData = [...shareFeedbackData];\n newData[index][e.target.id] = e.target.value;\n setShareFeedbackData(newData);\n };\n\nexport const handleAnswer =\n (idx, idx_1, shareFeedbackData, setShareFeedbackData) => (e) => {\n let newData = [...shareFeedbackData];\n newData[idx].questions[idx_1].answer = e.target.value;\n setShareFeedbackData(newData);\n };\n\nexport const handleSkip = (\n idx,\n idx_1,\n shareFeedbackData,\n setShareFeedbackData\n) => {\n let newData = [...shareFeedbackData];\n if (newData[idx].questions[idx_1].answer !== \"Skipped\")\n newData[idx].questions[idx_1].answer = \"Skipped\";\n else newData[idx].questions[idx_1].answer = \"\";\n setShareFeedbackData(newData);\n};\n","import {\n Avatar,\n Button,\n Chip,\n createStyles,\n Grid,\n Hidden,\n IconButton,\n makeStyles,\n Theme,\n Typography,\n ClickAwayListener,\n} from \"@material-ui/core\";\nimport theme from \"../../../theme\";\nimport {\n RenderAddNewProps,\n RenderStringAnswerProp,\n RenderAttributeQuestionProp,\n RenderReactionAnswerProp,\n State,\n ResponseScaleProp,\n EditorForTextProps,\n ConfirmationPromptProp,\n} from \"../../../type\";\nimport {\n handleClickChip,\n handleOnChange,\n handleAnswer,\n} from \"./addNewButtonHandles\";\nimport TextareaAutosize from \"@material-ui/core/TextareaAutosize\";\nimport React from \"react\";\nimport { Editor } from \"react-draft-wysiwyg\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport {\n EditorState,\n ContentState,\n convertToRaw,\n convertFromHTML,\n} from \"draft-js\";\nimport draftToHtml from \"draftjs-to-html\";\nimport { useSelector } from \"react-redux\";\nimport \"./style.css\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport {\n onDraftEditorCopy,\n onDraftEditorCut,\n handleDraftEditorPastedText,\n} from \"draftjs-conductor\";\n\nconst useStyle = makeStyles((theme: Theme) =>\n createStyles({\n likertChip: {\n justifyContent: \"center\",\n textAlign: \"center\",\n width: theme.spacing(10),\n height: theme.spacing(6),\n padding: \"25px 0px 25px 10px\",\n margin: \"30px 45px 16px 45px\",\n borderRadius: \"24px\",\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n boxShadow: \"0px 2px 4px 0px rgba(0,0,0,0.15)\",\n \"&:hover\": {\n backgroundColor: \"#FFFFFF\",\n },\n \"&:active\": {\n backgroundColor: \"#FFFFFF\",\n },\n [theme.breakpoints.down(\"md\")]: {\n padding: \"25px 0px 25px 10px\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(6.25),\n height: theme.spacing(3.75),\n padding: \"1px 0px 1px 10px\",\n margin: \"16px 12px 16px 9px\",\n },\n },\n textBox: {\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n remainingChar: {\n fontSize: theme.spacing(1.5),\n textAlign: \"end\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.125),\n },\n },\n textBoxx: {\n margin: theme.spacing(0),\n padding: theme.spacing(0.5, 2.5, 1, 2.5),\n width: \"-webkit-fill-available\",\n flexWrap: \"wrap\",\n wordWrap: \"break-word\",\n },\n textBoxx1: {\n width: \"-moz-available\",\n },\n avatar: {\n margin: \"1px 0px 1px 15px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(2.625),\n height: theme.spacing(2.625),\n margin: \"1px 0px 1px 0px\",\n },\n },\n wrapperClassName: {\n height: \"100%\",\n },\n // toolTip: {\n // height: theme.spacing(6.5),\n // width: theme.spacing(24.25),\n // fontSize: theme.spacing(1.75),\n // fontWeight: 500,\n // fontColor: \"#FFFFFF\",\n // padding: theme.spacing(1, 1.25, 1, 1.25),\n // [theme.breakpoints.down(\"xs\")]: {\n // fontSize: theme.spacing(1),\n // height: theme.spacing(4.25),\n // width: theme.spacing(14.625),\n // },\n // },\n avatarLikertText: {\n textAlign: \"center\",\n margin: theme.spacing(0, 0, 0, 0.5),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 1, 0, 0.5),\n },\n },\n likertGrid: {\n margin: theme.spacing(0, 0, 4, -1.75),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 0, 3, 1.5),\n },\n },\n avatarInfo: {\n height: theme.spacing(2),\n width: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(1.625),\n width: theme.spacing(1.625),\n },\n },\n chipStyle: {\n margin: theme.spacing(1.5, 0, 0, 0),\n borderColor: \"#576bea\",\n width: theme.spacing(16),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(12.5),\n },\n },\n })\n);\n\nexport const RenderAttributeQuestion: React.FC = ({\n question,\n answer,\n}) => {\n const classes = useStyle();\n let regex = /(<([^>]+)>)/gi;\n const customClasses = useCustomStyle();\n\n let str = answer\n .replaceAll(/\\ /g, \"\")\n .replaceAll(regex, \"\")\n .replace(/\\s/g, \"\")\n .replace(/\\n/g, \"\");\n return (\n \n \n {question}{\" \"}\n {str?.length < 1 && (\n \n (required)\n \n )}\n \n \n );\n};\n\nexport const RenderLikertScaleAnswer: React.FC = ({\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n scaleVersion,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n const emptyList: Array = [];\n const responseScales =\n useSelector((state: State) => state.data.data?.scaleResponseEntityList) ??\n emptyList;\n const responseScales2 =\n useSelector(\n (state: State) =>\n state.attributesDataForClient.data?.scaleResponseEntityList\n ) ?? emptyList;\n let currentScale;\n if (responseScales.length > 0) {\n currentScale = responseScales.find(\n (scale) =>\n scale.scaleName === \"LIKERT\" && scale.scaleVersion === scaleVersion\n );\n } else {\n currentScale = responseScales2.find(\n (scale) =>\n scale.scaleName === \"LIKERT\" && scale.scaleVersion === scaleVersion\n );\n }\n return (\n \n {currentScale?.scaleResponses?.map((emoji, idx_2) => (\n <>\n \n \n \n }\n className={classes.likertChip}\n onClick={handleClickChip(\n idx_2,\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n currentScale.scaleResponses\n )}\n style={\n idx_2 === emojiSelected[idx].queEmoji[idx_1].emojiId &&\n shareFeedbackData[idx].questions[idx_1].answer[0] === \"/\"\n ? {\n borderColor: emoji.borderColor,\n backgroundColor: emoji.color,\n }\n : { borderColor: \"#FFFFFF\" }\n }\n />\n \n {emoji.name}\n \n \n \n \n \n \n }\n className={classes.likertChip}\n onClick={handleClickChip(\n idx_2,\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n currentScale.scaleResponses\n )}\n style={\n idx_2 === emojiSelected[idx].queEmoji[idx_1].emojiId &&\n shareFeedbackData[idx].questions[idx_1].answer[0] === \"/\"\n ? {\n borderColor: emoji.borderColor,\n backgroundColor: emoji.color,\n }\n : { borderColor: \"#FFFFFF\" }\n }\n />\n \n {emoji.name}\n \n \n \n \n ))}\n \n );\n};\n\nexport const RenderLikertNaScaleAnswer: React.FC = ({\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n scaleVersion,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n const emptyList: Array = [];\n const responseScales =\n useSelector((state: State) => state.data.data?.scaleResponseEntityList) ??\n emptyList;\n const responseScales2 =\n useSelector(\n (state: State) =>\n state.attributesDataForClient.data?.scaleResponseEntityList\n ) ?? emptyList;\n let currentScale;\n if (responseScales.length > 0) {\n currentScale = responseScales.find(\n (scale) =>\n scale.scaleName === \"LIKERT_NA\" && scale.scaleVersion === scaleVersion\n );\n } else {\n currentScale = responseScales2.find(\n (scale) =>\n scale.scaleName === \"LIKERT_NA\" && scale.scaleVersion === scaleVersion\n );\n }\n\n return (\n \n {currentScale?.scaleResponses.map((emoji, idx_2) => (\n <>\n \n \n \n ) : (\n \"NA\"\n )\n }\n className={classes.likertChip}\n onClick={handleClickChip(\n idx_2,\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n currentScale.scaleResponses\n )}\n style={\n idx_2 === emojiSelected[idx].queEmoji[idx_1].emojiId &&\n shareFeedbackData[idx].questions[idx_1].answer[0] === \"/\"\n ? {\n borderColor: emoji.borderColor,\n backgroundColor: emoji.color,\n }\n : { borderColor: \"#FFFFFF\" }\n }\n />\n \n {emoji.name}\n \n \n \n \n \n \n ) : (\n \"NA\"\n )\n }\n className={classes.likertChip}\n onClick={handleClickChip(\n idx_2,\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n currentScale.scaleResponses\n )}\n style={\n idx_2 === emojiSelected[idx].queEmoji[idx_1].emojiId &&\n shareFeedbackData[idx].questions[idx_1].answer[0] === \"/\"\n ? {\n borderColor: emoji.borderColor,\n backgroundColor: emoji.color,\n }\n : { borderColor: \"#FFFFFF\" }\n }\n />\n \n {emoji.name}\n \n \n \n \n ))}\n \n );\n};\n\nexport const RenderStringAnswer: React.FC = ({\n question,\n idx,\n idx_1,\n shareFeedbackData,\n setShareFeedbackData,\n onAnyChange,\n}) => {\n const classes = useStyle();\n const [editorState, setEditorState] = React.useState(\n question.answer?.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(question.answer).contentBlocks,\n convertFromHTML(question.answer).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n const onEditorStateChange = (state) => {\n setEditorState(state);\n question.answer = draftToHtml(convertToRaw(state.getCurrentContent()))\n .replace(/ |‌|»|«|>/g, ' ').trim();\n onAnyChange(true);\n };\n return (\n \n \n \n \n );\n};\n\nexport const RenderSuggestions: React.FC = ({\n attribute,\n idx,\n shareFeedbackData,\n setShareFeedbackData,\n onAnyChange,\n}) => {\n const classes = useStyle();\n const [editorState, setEditorState] = React.useState(\n attribute.suggestions?.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(attribute.suggestions).contentBlocks,\n convertFromHTML(attribute.suggestions).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n attribute.suggestions = draftToHtml(\n convertToRaw(state.getCurrentContent())\n ).replace(/ |‌|»|«|>/g, ' ').trim().replaceAll(\"_self\",\"_blank\");\n onAnyChange(true);\n };\n const [open, setOpen] = React.useState(attribute.suggestions ? true : false);\n\n const [confirm, setConfirm] = React.useState(false);\n\n const handleClose = () => {\n setEditorState(EditorState.createEmpty());\n attribute.suggestions = \"\";\n onAnyChange(true);\n setOpen(false);\n setConfirm(false);\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleConfirmation = () => {\n if (attribute.suggestions) setConfirm(true);\n else {\n setOpen(false);\n }\n };\n return (\n \n \n }\n label={\n \n {\"Suggestions\"}\n \n }\n />\n {confirm && (\n \n )}\n {open && (\n <>\n \n \n \n )}\n \n );\n};\n\nexport const RenderResources: React.FC = ({\n attribute,\n idx,\n shareFeedbackData,\n setShareFeedbackData,\n onAnyChange,\n}) => {\n const classes = useStyle();\n const [editorState, setEditorState] = React.useState(\n attribute.resources?.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(attribute.resources).contentBlocks,\n convertFromHTML(attribute.resources).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n attribute.resources = draftToHtml(convertToRaw(state.getCurrentContent())\n ).replace(/ |‌|»|«|>/g, ' ').trim().replaceAll(\"_self\",\"_blank\");\n onAnyChange(true);\n };\n\n const [open, setOpen] = React.useState(attribute.resources ? true : false);\n const [confirm, setConfirm] = React.useState(false);\n\n const handleClose = () => {\n setEditorState(EditorState.createEmpty());\n attribute.resources = \"\";\n onAnyChange(true);\n setOpen(false);\n setConfirm(false);\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const handleConfirmation = () => {\n if (attribute.resources) setConfirm(true);\n else {\n setOpen(false);\n }\n };\n return (\n \n \n }\n label={\n \n {\"References \"}\n \n }\n />\n {confirm && (\n \n )}\n {open && (\n <>\n \n \n \n )}\n \n );\n};\n\nexport const RenderContext: React.FC = ({\n attribute,\n idx,\n shareFeedbackData,\n setShareFeedbackData,\n onAnyChange,\n isMissing,\n}) => {\n const classes = useStyle();\n let regex = /(<([^>]+)>)/gi;\n const customClasses = useCustomStyle();\n const [editorState, setEditorState] = React.useState(\n attribute.context?.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(attribute.context).contentBlocks,\n convertFromHTML(attribute.context).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n const onEditorStateChange = (state) => {\n setEditorState(state);\n attribute.context = draftToHtml(convertToRaw(state.getCurrentContent())\n ).replace(/ |‌|»|«|>/g, ' ').trim().replaceAll(\"_self\",\"_blank\");\n onAnyChange(true);\n };\n\n let str = attribute.context\n .replaceAll(/\\ /g, \"\")\n .replaceAll(regex, \"\")\n .replace(/\\s/g, \"\")\n .replace(/\\n/g, \"\");\n return (\n \n \n {\"Explanation/Details \"}\n {(str?.length < 1 || attribute.context?.length < 9) && (\n \n (required)\n \n )}\n \n \n \n \n );\n};\n\nexport const EditorForText: React.FC = ({\n idx,\n textHeader,\n editorState,\n onEditorStateChange,\n always,\n placeHolderText,\n}) => {\n const [showToolbar, setShowToolbar] = React.useState(\n always === true ? false : always === false ? true : false\n );\n const handlePastedText = (\n text: string,\n html: string,\n editorState: EditorState\n ) => {\n let newState = handleDraftEditorPastedText(html, editorState);\n\n if (newState) {\n onEditorStateChange(newState);\n return true;\n }\n\n return false;\n };\n\n return (\n {\n if (always === true) setShowToolbar(false);\n else setShowToolbar(true);\n }}\n onBlur={() => {\n if (always === false) setShowToolbar(true);\n else setShowToolbar(false);\n }}\n wrapperClassName=\"wrapperClassName\"\n editorClassName=\"editorClassName\"\n toolbar={{\n options: [\"inline\", \"link\", \"emoji\", \"list\"],\n inline: {\n options: [\"bold\", \"italic\", \"underline\"],\n },\n link: {\n inDropdown: false,\n className: undefined,\n component: undefined,\n popupClassName: undefined,\n dropdownClassName: undefined,\n options: [\"link\", \"unlink\"],\n },\n list: {\n options: [\"unordered\"],\n },\n }}\n onEditorStateChange={onEditorStateChange}\n onCopy={onDraftEditorCopy}\n onCut={onDraftEditorCut}\n handlePastedText={handlePastedText}\n />\n );\n};\n\nexport const EditorForTextWithPermanentToolbar: React.FC<\n EditorForTextProps\n> = ({\n idx,\n textHeader,\n editorState,\n onEditorStateChange,\n always,\n placeHolderText,\n}) => {\n const handlePastedText = (\n text: string,\n html: string,\n editorState: EditorState\n ) => {\n let newState = handleDraftEditorPastedText(html, editorState);\n\n if (newState) {\n onEditorStateChange(newState);\n return true;\n }\n\n return false;\n };\n return (\n \n );\n};\n\ninterface RemainingCharWarnTextProp {\n text: string;\n limit: number;\n}\n\nexport const RemainingCharWarnText: React.FC = ({\n text,\n limit,\n}) => {\n const classes = useStyle();\n return (\n <>\n {text && text?.length > limit - 50 && (\n \n {text?.length < limit + 1 ? (\n `${limit - text?.length} char remains`\n ) : (\n {`${\n limit - text?.length\n } char remains`}\n )}\n \n )}\n \n );\n};\n\nexport const ConfirmationPrompt: React.FC = ({\n confirm,\n setConfirm,\n handleClose,\n}) => {\n return (\n setConfirm(false)}\n >\n \n \n \n Are you sure you want to remove?\n \n \n \n \n setConfirm(false)}\n variant=\"outlined\"\n style={{ color: \"#868686\", borderColor: \"#868686\" }}\n >\n Cancel\n \n \n \n \n \n Remove\n \n \n \n \n \n );\n};\n","import { Chip, Divider, Grid, Typography } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport StarIcon from \"@material-ui/icons/Star\";\nimport StarBorderIcon from \"@material-ui/icons/StarBorder\";\nimport React from \"react\";\nimport { AttributeChipProps } from \"../../../../type\";\nimport { AdditionalTextAlert, SelectColleaguesProps, UserRole } from \"./type\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n chip: {\n margin: theme.spacing(2, 2, 1, 1),\n borderColor: \"rgba(87, 107, 234, 0.5)\",\n padding: theme.spacing(2, 0),\n },\n dashboardChip: {\n margin: theme.spacing(0, 0.5, 1 , 0.5),\n borderColor: \"rgba(87, 107, 234, 0.5)\",\n padding: theme.spacing(0.5, 0),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0.25, 1, 0.25),\n padding: theme.spacing(0.5, 0),\n },\n },\n typography_h3: {\n color: \"#272727\",\n marginRight: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n typography_body_1: {\n textTransform: \"none\",\n color: \"#868686\",\n fontSize: \"16px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_2: {\n color: \"#868686\",\n marginTop: theme.spacing(3),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_3: {\n color: \"#A0A0A0\",\n fontSize: \"14px\",\n marginTop: theme.spacing(0.25),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"8px\",\n },\n },\n typography_body_4: {\n color: \"#000000\",\n fontWeight: 500,\n },\n attributeChipFont: {\n fontSize: theme.spacing(1.5),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1),\n }\n },\n attributeChipFont2: {\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n }\n },\n divider: {\n backgroundColor: \"#576bea66\",\n width: \"inherit\",\n margin: theme.spacing(5, 0, 4, 0),\n },\n })\n);\n\nexport const ChooseMemberText: React.FC = ({ role }) => {\n const classes = useStyles();\n return (\n \n {role === \"EMPLOYEE\" ? \"Choose Member\" : \"Add/Choose Client\"}\n \n );\n};\n\nexport const SelectColleagues: React.FC = ({\n isAnyUser,\n role,\n}) => {\n const classes = useStyles();\n return (\n \n {role === \"EMPLOYEE\" && (\n <>\n {isAnyUser && (\n \n Select one or more colleagues to send request\n \n )}\n {!isAnyUser && \"Select one or more colleagues to send request\"}\n \n )}\n {role === \"CLIENT\" && (\n <>\n {isAnyUser && (\n \n Select one or more clients to send request\n \n )}\n {!isAnyUser && \"Select one or more clients to send request\"}\n \n )}\n \n );\n};\n\nexport const ContextText: React.FC = ({ role }) => {\n const classes = useStyles();\n return (\n <>\n {role === \"EMPLOYEE\" && (\n \n Context\n \n )}\n {role === \"CLIENT\" && (\n \n {\"Context \"}\n (required)\n \n )}\n \n );\n};\n\nexport const OptionalText = () => {\n const classes = useStyles();\n return (\n \n (optional)\n \n );\n};\n\nexport const AdditionalInfoText: React.FC = ({\n alert,\n}) => {\n const classes = useStyles();\n return (\n \n {!alert && \"Additional information to share with the feedback provider\"}\n {alert && (\n \n Additional information to share with the feedback provider\n \n )}\n \n );\n};\n\nexport const AdditionalInfoHintText = () => {\n const classes = useStyles();\n return (\n \n Additional information to share with the feedback receiver\n \n );\n};\n\nexport const SelectAttributesText = () => {\n const classes = useStyles();\n return (\n \n Select Attributes\n \n );\n};\n\nexport const AttributeSelectionText = () => {\n const classes = useStyles();\n return (\n \n Select attributes on which you would like to receive feedback\n \n );\n};\n\nexport const AttributeSelectionNoteText = () => {\n const classes = useStyles();\n return (\n \n Note: The person giving the feedback can add to or remove the attributes\n that you’ve selected\n \n );\n};\n\nexport const AttributeChips: React.FC = ({\n attributes,\n selectedAttributeIds,\n setSelectedAttributeIds,\n from\n}) => {\n const classes = useStyles();\n\n function handleAttributeSelect(attributeId: number) {\n if (selectedAttributeIds.includes(attributeId)) {\n setSelectedAttributeIds(\n selectedAttributeIds.filter((item) => item !== attributeId)\n );\n } else {\n setSelectedAttributeIds(selectedAttributeIds.concat(attributeId));\n }\n }\n\n return (\n \n {attributes.map((attr) => (\n \n ) : (\n \n )\n }\n color=\"primary\"\n variant=\"outlined\"\n label={\n from === \"DASHBOARD\" ? \n \n {attr.name}\n : \n \n {attr.name}\n \n }\n className={\"\"+ from===\"DASHBOARD\" ? `${classes.dashboardChip}`: `${classes.chip}`}\n onClick={() => handleAttributeSelect(attr.id)}\n style={\n selectedAttributeIds.includes(attr.id)\n ? { backgroundColor: \"rgba(87,107,234,0.1)\" }\n : { backgroundColor: \"#FFFFFF\" }\n }\n />\n ))}\n \n );\n};\n\nexport const FormDivider = () => {\n const classes = useStyles();\n return ;\n};\n","import {\n Grid,\n makeStyles,\n Typography,\n TextField,\n Avatar,\n Button,\n CircularProgress,\n Chip,\n} from \"@material-ui/core\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport { useCustomStyle } from \"../../../styles\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n NuggetShareComponentProps,\n ResponseAttribute,\n ShareNuggetProps,\n State,\n User,\n} from \"../../../type\";\nimport { EditorState, convertToRaw } from \"draft-js\";\nimport draftToHtml from \"draftjs-to-html\";\nimport {\n EditorForText,\n RemainingCharWarnText,\n} from \"../share_feedback/addNewButtonElements\";\nimport { AttributeChips } from \"../request_feedback/request_employee/requestFeedbackText\";\nimport { nuggetShare } from \"../../../redux/slices/NuggetShareSlice\";\nimport Shepherd from 'shepherd.js';\nimport 'shepherd.js/dist/css/shepherd.css';\nimport { markShareNuggetTourDone } from \"../../../redux/slices/CoachMarkSlice\"; \nimport \"../../../App.css\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n height: theme.spacing(62.85),\n margin: theme.spacing(0, 0, 0, 5),\n padding: theme.spacing(2),\n border: \"1px solid #E7E7E7\",\n borderRadius: theme.spacing(1.25),\n boxShadow: \"0 2px 4px 0 rgba(90,90,90,0.1)\",\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 4, 0),\n height: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n border: \"none\",\n margin: theme.spacing(3, 0, 4, 0),\n },\n },\n popper: {\n border: `1px solid #E7E7E7 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: `${appColor.whiteBackground}`,\n width: \"-webkit-fill-available\",\n \"&:focus\": {\n border: `1px solid ${appColor.regularBorder} !important`,\n },\n \"&:hover\": {\n border: `1px solid ${appColor.regularBorder} !important`,\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: `${appColor.pureBlack}`,\n },\n editor: {\n width: \"-webkit-fill-available\",\n backgroundColor: appColor.pureWhite,\n },\n marginStyle: {\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"lg\")]: {\n marginBottom: theme.spacing(1),\n },\n },\n shareCTA: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: appColor.pureWhite,\n backgroundColor: appColor.regularBackgroundColor,\n padding: theme.spacing(1, 2.5),\n marginTop: theme.spacing(3),\n \"&:hover\": {\n color: appColor.pureWhite,\n backgroundColor: appColor.regularBackgroundColor,\n },\n [theme.breakpoints.down(\"md\")]: {\n marginTop: theme.spacing(1),\n },\n },\n header: {\n color: appColor.pureBlack,\n },\n chip: {\n margin: theme.spacing(5, 0, 1, 0),\n borderColor: \"#576BEA\",\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(3, 0),\n },\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n [theme.breakpoints.down(\"md\")]: {\n width: theme.spacing(2),\n height: theme.spacing(2),\n },\n },\n typography_header_style: {\n margin: theme.spacing(1.5, 0, 0.5, 0),\n },\n attributeChipsWrapper: {\n height: theme.spacing(15),\n overflowY: \"scroll\",\n marginBottom: theme.spacing(1.25)\n },\n}));\n\nexport const NuggetShareComponent: React.FC = ({ refreshResetSeed }) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n const dispatch = useDispatch();\n const [selectedUser, setSelectedUser] = React.useState(null);\n const [context, setContext] = React.useState(\"\");\n const [successPrompt, setSuccessPrompt] = React.useState(false);\n const [btnClicked, setBtnClicked] = React.useState(false);\n const [selectedAttributeIds, setSelectedAttributeIds] = React.useState<\n number[]\n >([]);\n const [editorState, setEditorState] = React.useState(\n EditorState.createEmpty()\n );\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n setContext(draftToHtml(convertToRaw(state.getCurrentContent())));\n };\n const loading: Boolean = useSelector(\n (state: State) => state.data.loading || state.nuggetFeedback.loading\n );\n const status: number | null =\n useSelector((state: State) => state.nuggetFeedback.status) ?? null;\n const [showTour, setShowTour] = useState(false);\n const shareNuggetTourStatus = useSelector((state: State) => state.coachMarks.dashboardTour.shareNuggetTour);\n const dashboardVisitCount = useSelector((state: State) => state.coachMarks.dashboardTour.dashboardVisitCount);\n const tourRef = useRef(null);\n const history = useHistory();\n\n useEffect(() => {\n \n if (shareNuggetTourStatus === \"PENDING\" && dashboardVisitCount === 2) {\n setShowTour(true);\n dispatch(markShareNuggetTourDone()); \n } else {\n setShowTour(false);\n }\n }, [shareNuggetTourStatus, dashboardVisitCount]);\n \n \n useEffect(() => {\n if (showTour) {\n \n tourRef.current = new Shepherd.Tour({\n \n defaultStepOptions: {\n classes: 'custom-class-sm',\n scrollTo: { behavior: 'smooth', block: 'center' },\n }\n });\n \n const attachToOptions = {\n element: '.share-nugget-class',\n on: 'top'\n };\n \n if (window.innerWidth <= 767) {\n \n attachToOptions.on = 'bottom';\n }\n \n tourRef.current.addSteps([\n \n {\n text: 'Share quick feedback to your peers from here',\n attachTo: attachToOptions,\n id: 'step3',\n scrollTo: true,\n when: {\n show: () => {\n setTimeout(() => {\n tourRef.current?.next();\n }, 5000);\n }\n },\n classes: 'share-nugget-button-coachmark'\n }\n ]);\n \n tourRef.current.start();\n }\n }, [showTour]);\n\n useEffect(() => {\n return history.listen(() => {\n if (tourRef.current) {\n tourRef.current?.cancel(); // *** Cancel the tour on route change ***\n }\n });\n }, [history]);\n\n useEffect(() => {\n if (status === 201 && btnClicked && !loading) {\n setSuccessPrompt(true);\n setSelectedUser(null);\n setSelectedAttributeIds([]);\n setContext(\"\");\n onEditorStateChange(EditorState.createEmpty());\n if(btnClicked){setBtnClicked(false);}\n }\n }, [status, btnClicked, loading]);\n\n useEffect(() => {\n setTimeout(() => {\n if (successPrompt) setSuccessPrompt(false);\n }, 3000);\n }, [successPrompt]);\n\n const emptyAttributes: Array = [];\n const attributes: Array =\n useSelector((state: State) => state.data.data?.attributes) ??\n emptyAttributes;\n const users: Array = [];\n const labels = useSelector((state: State) => state.data.data?.users) ?? users;\n\n function handleSubmit(e) {\n e.preventDefault();\n if (\n selectedUser &&\n context\n .replaceAll(/\\ /g, \"\")\n .replace(/\\s/g, \"\")\n .replace(/\\n/g, \"\").length > 0 &&\n context.length < 1001\n ) {\n const arg: ShareNuggetProps = {\n receiverId: selectedUser?.id,\n message: context\n .replace(/ |‌|»|«|>/g, \" \")\n .trim(),\n attributeIds: selectedAttributeIds,\n };\n dispatch(nuggetShare(arg));\n setBtnClicked(true);\n refreshResetSeed();\n }\n }\n return (\n <>\n \n
\n {!loading && !successPrompt && (\n <>\n {\" \"}\n \n \n Share a nugget\n \n \n {selectedUser && (\n setSelectedUser(null)}\n avatar={\n \n }\n label={\n \n {selectedUser.firstName + \" \" + selectedUser.lastName}\n \n }\n className={classes.chip}\n />\n )}\n {selectedUser === null && (\n <>\n \n Choose member\n \n \n option.id === value.id\n }\n onChange={(event, newValue) => {\n if (typeof newValue !== \"string\")\n setSelectedUser(newValue);\n }}\n filterSelectedOptions\n disableCloseOnSelect\n options={labels}\n getOptionLabel={(option) =>\n option.firstName &&\n option.firstName + \" \" + option.lastName\n }\n renderOption={(option, { selected }) => (\n \n \n \n \n
\n \n {option.firstName + \" \" + option.lastName}\n \n
\n
\n \n
\n )}\n renderInput={(params) => (\n \n )}\n />\n \n )}\n \n \n Feedback message\n \n \n \n \n \n Select Attribute(s)\n \n
\n \n
\n \n 1000 ||\n selectedAttributeIds.length === 0 ||\n selectedUser === null\n }\n >\n Share\n \n {\" \"}\n \n )}\n {loading && (\n \n \n \n )}\n {!loading && successPrompt && (\n \n \n \n )}\n \n {\" \"}\n \n );\n};\n","import {\n Avatar,\n Button,\n Grid,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport theme from \"../../../theme\";\nimport { PendingRequestCardProps } from \"../../../type\";\nimport { getDateInDesiredFormat } from \"../../../util/GetDateInDesiredFormat\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body1: {\n textAlign: \"start\",\n color: \"#576BEA\",\n textDecoration: \"underline\",\n fontSize: theme.spacing(1.75),\n textTransform: \"none\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 0, -8),\n },\n },\n small: {\n width: theme.spacing(4),\n height: theme.spacing(4),\n padding: theme.spacing(0, 0, 0, 0),\n\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(2.5),\n height: theme.spacing(2.5),\n margin: theme.spacing(0, 0, 0, -1.5),\n },\n },\n typography_body_3: {\n textAlign: \"start\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n btn: {\n padding: theme.spacing(0, 0, 0, 0),\n textAlign: \"start\",\n margin: theme.spacing(0, 0, 0, 0),\n },\n avatar: {\n margin: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0, -1.25, 0, 1),\n },\n },\n name: {\n padding: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(0, 1, 0, 1),\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 1, 0, 1.5),\n },\n },\n}));\n\nexport const PendingRequestCard: React.FC = ({\n requestingUser,\n timeOfRequest,\n setValue,\n setRequestedUserId, renderRequestCancelModal,setOpen,setRequestingUserId,setRequestId,requestId\n}) => {\n const classes = useStyle();\n const onDecline = () => {\n setRequestingUserId(requestingUser.id);\n setRequestId(requestId);\n setOpen(true);\n }\n return (\n <>\n \n {renderRequestCancelModal()}\n \n \n \n \n \n \n {requestingUser.firstName + \" \" + requestingUser.lastName}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(timeOfRequest))}\n \n \n \n \n {\n setRequestedUserId(requestingUser.id);\n setValue(1);\n }}\n >\n \n View Request\n \n \n\n \n \n {\n\n onDecline();\n }}\n\n style={{\n marginLeft: \"12px\",\n }}\n >\n \n Decline\n \n \n \n \n \n \n );\n};\n","import React from 'react';\nimport { makeStyles } from '@material-ui/core/styles';\nimport Grid from '@material-ui/core/Grid';\nimport Typography from '@material-ui/core/Typography';\n\n\nconst useStyle = makeStyles((theme) => ({\n typography_body: {\n fontSize: theme.spacing(1.75),\n color: \"#868686\",\n textAlign: 'start',\n alignItems: 'center',\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n }\n },\n typography_body1: {\n fontSize: theme.spacing(1.75),\n color: \"#868686\",\n textAlign: 'start',\n alignItems: 'center',\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n margin:theme.spacing(0,0,0,-3.5),\n }\n },\n header: {\n padding: theme.spacing(1, 1.5, 1.5, 1),\n backgroundColor: 'rgba(87,107,234,0.05)'\n },\n}));\n\nexport const PendingRequestHeader = () => {\n const classes = useStyle();\n return (\n \n \n \n Name\n \n \n \n \n Requested Date\n \n \n \n \n \n Action\n \n \n )\n}\n","import {\n Backdrop,\n Button,\n Fade,\n fade,\n Grid,\n makeStyles,\n Modal,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { DeleteAttributeCardComponentProp } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n modal: { display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n modalGrid: {\n width: theme.spacing(70),\n height: theme.spacing(35),\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: theme.spacing(4, 2, 4, 2),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n height: theme.spacing(25),\n padding: theme.spacing(6, 0, 6, 0),\n },\n },\n modalErrorText: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#576BEA\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(2),\n },\n },\n btn1: {\n padding: theme.spacing(1.375, 4.25, 1.375, 4.25),\n backgroundColor: \"#576BEA\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n color: \"#FFFFFF\",\n fontWeight: 600,\n fontSize: theme.spacing(2.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n marginTop: theme.spacing(2.5),\n fontSize: theme.spacing(1.75),\n },\n },\n cancelBtn: {\n padding: theme.spacing(1.375, 4.25, 1.375, 4.25),\n backgroundColor: \"#FFFFFF\",\n \"&:hover\": {\n backgroundColor: \"#FFFFFF\",\n },\n border: \"1px solid #868686\",\n color: \"#868686\",\n fontWeight: 600,\n fontSize: theme.spacing(2.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n marginTop: theme.spacing(2.5),\n fontSize: theme.spacing(1.75),\n },\n },\n}));\n\nexport const DeleteAttributeCardComponent: React.FC<\n DeleteAttributeCardComponentProp\n> = ({\n openModal,\n deletingAttribute,\n handleModalClose,\n handleDelete,\n from,\n}) => {\n const classes = useStyle();\n return (\n <>\n \n \n \n \n \n \n {from === \"SENT_REQUEST\" &&\n \"Are you sure you want to cancel the request?\"}\n {from !== \"SENT_REQUEST\" &&\n `Are you sure you want to remove ${deletingAttribute.attributeName}?`}\n \n \n \n \n \n {from === \"SENT_REQUEST\" && \"No\"}\n {from !== \"SENT_REQUEST\" && \"Cancel\"}\n \n \n \n from === \"SENT_REQUEST\" ? handleDelete() : handleDelete(deletingAttribute.attributeId)}\n className={classes.btn1}\n style={from === \"SENT_REQUEST\" ? {marginRight: \"40px\"}: {}}\n >\n {from === \"SENT_REQUEST\" && \"Yes\"}\n {from !== \"SENT_REQUEST\" && \"Delete\"}\n \n \n \n \n \n \n \n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { RequestingParams } from \"../../type\";\nimport { put } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const updateRequestStatus = createAsyncThunk(\n \"update/feedback/request/status\",\n async (params: RequestingParams, storeActions) => {\n const url = `api/v1/user/feedback-request-status${params.requestParams}`;\n const response: any = await put(url, params, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.text(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst updateRequestStatusSlice = createSlice({\n name: \"updateRequestStatus\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as string | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(updateRequestStatus.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(updateRequestStatus.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(updateRequestStatus.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = updateRequestStatusSlice.actions;\n\nexport default updateRequestStatusSlice;\n","import {\n Divider,\n Grid,\n makeStyles,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport React, {useState} from \"react\";\nimport theme from \"../../../theme\";\nimport {PendingListContainerProps, RequestingParams, State} from \"../../../type\";\nimport { PendingRequestCard } from \"./dashboardPendingRequestCard\";\nimport { PendingRequestHeader } from \"./dashboardPendingRequestHeader\";\nimport {DeleteAttributeCardComponent} from \"../../components/DeleteAttributeCard\";\nimport {updateRequestStatus} from \"../../../redux/slices/UpdateRequestStatusSlice\";\nimport {useDispatch, useSelector} from \"react-redux\";\n\nconst useStyle = makeStyles((theme) => ({\n pendingComponent: {\n height: theme.spacing(38.75),\n margin: theme.spacing(0, 0, 0, 0),\n borderRadius: theme.spacing(1.25),\n boxShadow: \"0 2px 4px 0 rgba(90,90,90,0.1)\",\n [theme.breakpoints.down(\"md\")]: {\n height: theme.spacing(30),\n margin: theme.spacing(0, 0, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(35),\n margin: theme.spacing(0, 0, 0, 0),\n },\n },\n tableHeader: {\n margin: theme.spacing(5, 0, 1.25, 0),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(2, 0, 2.25, 0),\n },\n },\n pendingListContent: {\n height: theme.spacing(33),\n overflowY: \"scroll\",\n overflowX: \"hidden\",\n [theme.breakpoints.down(\"md\")]: {\n height: theme.spacing(37),\n },\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(30),\n },\n },\n}));\n\nexport const PendingListContainer: React.FC = ({\n requests,\n setValue,\n setRequestedUserId,\n requestedUserId,\n refreshResetSeed,\n }) => {\n const classes = useStyle();\n const [open, setOpen] = React.useState(false);\n const [requestingUserId,setRequestingUserId] = useState(-1);\n const [requestId,setRequestId] = useState(-1);\n\n const handleModalClose = () => {\n setOpen(false);\n };\n const dispatch = useDispatch();\n\n const handleDelete = () => {\n const feedbackRequestId=requestId ;\n const requestedUser=requestingUserId;\n\n let params =\n \"?feedbackRequestId=\" +\n feedbackRequestId +\n \"&responderId=\" +\n requestedUser;\n const param: RequestingParams = {\n requestParams: params,\n };\n dispatch(updateRequestStatus(param));\n setOpen(false);\n refreshResetSeed();\n };\n const renderRequestCancelModal = () => (\n \n );\n\n return (\n <>\n \n \n Received Requests\n \n \n \n \n \n \n \n {requests.length >= 1 ? (\n requests.map((req, idx) => (\n <>\n
\n \n \n ))\n ) : (\n \n \n No pending requests\n \n \n )}\n \n \n \n \n \n );\n};\n","import {\n Button,\n Grid,\n Hidden,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { DashboardLayout } from \"../../../layouts/user/dashboard/Layout\";\nimport { countReceivedFeedback } from \"../../../redux/slices/CountReceivedFeedbacksSlice\";\nimport { countSharedFeedback } from \"../../../redux/slices/CountSharedFeedbackSlice\";\nimport { getAllReceivedRequests } from \"../../../redux/slices/FeedbackRequestsReceivedSlice\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n ReceivedRequest,\n RequestingParams,\n State,\n UserAndAttributeSliceProps,\n} from \"../../../type\";\nimport { DashboardCountCards } from \"./dashboardCountCards\";\nimport { NuggetShareComponent } from \"./NuggetShareComponent\";\nimport { PendingListContainer } from \"./pendingListContainer\";\nimport { TokenDataProps } from \"../../home/Drawer\";\nimport jwt_decode from \"jwt-decode\";\nimport Shepherd from 'shepherd.js';\nimport 'shepherd.js/dist/css/shepherd.css';\nimport { markRequestFeedbackTourDone, requestNowPageVisitIncrementCounter } from \"../../../redux/slices/CoachMarkSlice\"; \nimport \"../../../App.css\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_title: {\n fontSize: theme.spacing(3.5),\n textAlign: \"start\",\n margin: theme.spacing(0, 0, 0, 15.5),\n [theme.breakpoints.down(\"md\")]: {\n fontSize: theme.spacing(1.5),\n },\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 0, 0),\n textAlign: \"center\",\n },\n },\n btn: {\n margin: theme.spacing(3, 0, 3, 15),\n backgroundColor: \"#576BEA\",\n color: \"white\",\n textAlign: \"center\",\n fontWeight: 600,\n padding: theme.spacing(1, 2, 1, 2),\n [theme.breakpoints.down(\"md\")]: {\n fontSize: theme.spacing(1.25),\n },\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 0, 0),\n },\n },\n dashboardTopGrid: {\n margin: theme.spacing(-21, 0, 0, 0),\n alignItems: \"center\",\n\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(-21, 0, 0, -10),\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(-21, 0, 0, 0),\n },\n },\n comingSoonGrid: {\n height: theme.spacing(67.25),\n padding: theme.spacing(8.5, 0, 0, 0),\n margin: theme.spacing(0, 0, 0, 0),\n border: \"1px solid #E7E7E7\",\n borderRadius: theme.spacing(1.25),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 4, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n border: \"none\",\n margin: theme.spacing(-3, 0, 4, 0),\n height: theme.spacing(64.25),\n },\n },\n dashboardTopArtworkCta: {\n justifyContent: \"flex-start\",\n [theme.breakpoints.down(\"sm\")]: {\n justifyContent: \"center\",\n },\n },\n dashboardItems: {\n margin: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(6, 0, 0, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(3, 0, -5, 0),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(6, 0, -4, 0),\n },\n },\n dashboardItems2: {\n margin: theme.spacing(0, 0, 0, 0),\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(0, 0, 0, 0),\n },\n },\n img: {\n [theme.breakpoints.down(\"md\")]: {\n height: theme.spacing(20),\n width: \"100%\",\n },\n },\n}));\n\nexport const Dashboard = (props) => {\n const classes = useStyle();\n const [value, setValue] = React.useState(-1);\n const [requestedUserId, setRequestedUserId] = React.useState(0);\n const emptyRequestArrray: Array = [];\n const dispatch = useDispatch();\n const token = useSelector((state: State) => state.auth.token);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [refreshSeed, setRefreshSeed] = React.useState(-1);\n const [showTour, setShowTour] = useState(false);\n const requestFeedbackButtonTourStatus = useSelector((state: State) => state.coachMarks.dashboardTour.requestNowButtonTour);\n const dashboardVisitCount = useSelector((state: State) => state.coachMarks.dashboardTour.dashboardVisitCount);\n const history = useHistory();\n const tourRef = useRef(null);\n\n useEffect(() => {\n const isSetupCompleted = props?.location?.state?.setupCompleted;\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n status: \"ACTIVE\",\n };\n try {\n tokenData = jwt_decode(token);\n if (tokenData.status === \"INACTIVE\" && !isSetupCompleted) {\n props.history.push(\"/setup/workspace\");\n }\n } catch (err) {\n console.error((err as Error).message);\n }\n }, [token]);\n\n useEffect(() => {\n let requestParams: string = \"\";\n let requestingData: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(countSharedFeedback(requestingData));\n let requestParams2: string = \"?requestTag=ANY\";\n let requestingData2: RequestingParams = {\n requestParams: requestParams2,\n };\n dispatch(countReceivedFeedback(requestingData2));\n let requestParams3: string = \"?status=PENDING\";\n let requestingData3: RequestingParams = {\n requestParams: requestParams3,\n };\n dispatch(getAllReceivedRequests(requestingData3));\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: true,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n dispatch(requestData(param));\n }, []);\n\n useEffect(() => {\n let requestParams: string = \"\";\n let requestingData: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(countSharedFeedback(requestingData));\n let requestParams2: string = \"?requestTag=ANY\";\n let requestingData2: RequestingParams = {\n requestParams: requestParams2,\n };\n dispatch(countReceivedFeedback(requestingData2));\n let requestParams3: string = \"?status=PENDING\";\n let requestingData3: RequestingParams = {\n requestParams: requestParams3,\n };\n dispatch(getAllReceivedRequests(requestingData3));\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: true,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n }, [refreshSeed]);\n\n useEffect(() => {\n \n if (requestFeedbackButtonTourStatus === \"PENDING\" && dashboardVisitCount === 0) {\n setShowTour(true);\n dispatch(markRequestFeedbackTourDone()); \n } else {\n setShowTour(false);\n }\n }, [requestFeedbackButtonTourStatus, dashboardVisitCount]);\n\n \n useEffect(() => {\n if (showTour) {\n tourRef.current = new Shepherd.Tour({\n\n defaultStepOptions: {\n classes: 'custom-class-sm',\n scrollTo: { behavior: 'smooth', block: 'center' },\n }\n });\n \n const attachToOptions = {\n element: '.custom-request-btn',\n on: 'right'\n };\n \n if (window.innerWidth <= 767) {\n\n attachToOptions.on = 'bottom';\n }\n \n tourRef.current.addSteps([\n\n {\n text: 'Request your peers for feedback from here',\n attachTo: attachToOptions,\n id: 'step1',\n scrollTo: true,\n when: {\n show: () => {\n setTimeout(() => {\n tourRef.current?.next();\n }, 5000);\n }\n },\n classes: 'request-now-button-coachmark'\n }\n ]);\n \n tourRef.current.start();\n }\n }, [showTour]);\n\n useEffect(() => {\n return history.listen(() => {\n if (tourRef.current) {\n tourRef.current?.cancel(); // *** Cancel the tour on route change ***\n }\n });\n }, [history]);\n\n const refreshResetSeed = () => {\n setTimeout(() => {\n setRefreshSeed(Math.random());\n }, 2000);\n };\n\n const countShared: number =\n useSelector((state: State) => state.countShared.data) ?? -1;\n\n const countReceived: number =\n useSelector((state: State) => state.countReceived.data) ?? -1;\n\n const requests =\n useSelector((state: State) => state.receivedRequests.data) ??\n emptyRequestArrray;\n\n const loading: boolean = useSelector(\n (state: State) =>\n state.receivedRequests.loading ||\n state.countReceived.loading ||\n state.countShared.loading\n );\n const statusCode: number | null = useSelector((state: State) =>\n state.countShared.status !== 200\n ? state.countShared.status\n : state.countReceived.status !== 200\n ? state.countReceived.status\n : state.receivedRequests.status !== 200\n ? state.receivedRequests.status\n : state.data.status !== 200\n ? state.data.status\n : state.nuggetFeedback.status !== 201\n ? state.nuggetFeedback.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const requestNowClicked = () => {\n dispatch(requestNowPageVisitIncrementCounter());\n }\n\n const renderDashboardTopArtwork = () => (\n \n \n \n \n \n \n \n \n \n \n \n \n There is no failure.\n \n \n \n \n Only feedback\n \n \n \n { setValue(2); requestNowClicked(); }}\n variant=\"contained\"\n >\n REQUEST NOW\n \n \n \n \n );\n\n const renderComingSoon = () => (\n <>\n \n \n \n \n );\n\n const renderCountCards = () => (\n \n );\n\n const renderPendingListComponent = () => (\n \n );\n\n if (requestedUserId > 0) {\n return ;\n }\n\n if (value === 2) {\n history.push(\"/feedback/requests/employee\");\n }\n\n if (value === 3) {\n history.push(\"/feedback/shared\");\n }\n\n if (value === 4) {\n history.push(\"/feedback/received\");\n }\n\n return (\n \n\n \n );\n};\n","import { CircularProgress, Grid } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { CustomDivider } from \"../../../modules/client/share_feedback/LocalDivider\";\nimport { State } from \"../../../type\";\nimport { ShareFeedbackByExternalClientLayoutProp } from \"./type\";\n\nconst drawerWidth = 0;\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n background: \"inherit\",\n },\n loaderBackground: {\n minHeight: `${window.innerHeight - 48}px`,\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n background: \"#FFFFFF\",\n },\n mainSection: {\n margin: theme.spacing(2, 2, 1, 2),\n width: `calc(100% - 0px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(100% - ${drawerWidth}px)`,\n margin: theme.spacing(4, 18.75, 1, 18.75),\n },\n },\n })\n);\n\nexport const Loader = () => {\n const classes = useStyles();\n return (\n \n \n \n \n \n );\n};\n\nexport const ShareFeedbackByExternalClientLayout: React.FC =\n ({\n isSubmit,\n renderLogo,\n renderWelcomeText,\n renderGuideLineText,\n renderFeedbackSection,\n renderSubmitFeedbackCTA,\n handleSubmit,\n renderScrollOnTop,\n renderShareFeedbackHeader,\n renderSuccessPageOnSuccessfulFeedbackSubmission,\n renderErrorModal,\n renderValidationModal,\n renderAllRightsReserved,\n renderFooter,\n }) => {\n const classes = useStyles();\n\n const loading: Boolean = useSelector(\n (state: State) =>\n state.attributesDataForClient?.loading ||\n state.submitFeedbackByClient.loading\n );\n return (\n \n {renderShareFeedbackHeader()}\n
\n {!loading && (\n <>\n \n
\n {renderLogo()}\n {renderErrorModal()}\n {renderValidationModal()}\n {!isSubmit && renderWelcomeText()}\n {!isSubmit && renderGuideLineText()}\n {!isSubmit && renderFeedbackSection()}\n {!isSubmit && renderSubmitFeedbackCTA()}\n {!isSubmit && renderScrollOnTop()}\n {isSubmit &&\n renderSuccessPageOnSuccessfulFeedbackSubmission()}\n
\n
\n \n )}\n {loading && (\n \n \n \n )}\n
\n {renderFooter()}\n \n \n
\n {renderAllRightsReserved()}\n \n );\n };\n","import { Grid, IconButton, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\n\nconst useStyle = makeStyles((theme) => ({\n scrollOnTop: {\n position: \"fixed\",\n height: theme.spacing(5.5),\n width: theme.spacing(5.5),\n right: theme.spacing(7),\n bottom: `${window.innerHeight / 10}px`,\n boxShadow: \"0 2px 4px 0 rgba(90,90,90,0.1)\",\n backgroundColor: \"#576bea\",\n \"&:hover\": {\n backgroundColor: \"#576bea\",\n },\n },\n}));\n\nexport default function ScrollToTop() {\n const classes = useStyle();\n const [isVisible, setIsVisible] = useState(false);\n\n const toggleVisibility = () => {\n if (window.pageYOffset > 300) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n };\n\n const scrollToTop = () => {\n window.scrollTo({\n top: 0,\n behavior: \"smooth\",\n });\n };\n\n useEffect(() => {\n window.addEventListener(\"scroll\", toggleVisibility);\n }, []);\n\n return (\n
\n {isVisible && (\n \n \n \"Go\n \n \n )}\n
\n );\n}\n","export enum AnswerTypeEnum {\n LIKERT = \"LIKERT\",\n LIKERT_NA = \"LIKERT_NA\",\n STRING = \"STRING\",\n VRIDDHI = \"VRIDDHI\",\n}\n","import {\n Grid,\n IconButton,\n makeStyles,\n Typography,\n } from \"@material-ui/core\";\n import ClearIcon from \"@material-ui/icons/Clear\";\n import React from \"react\";\n import {\n ShareFeedbackAttributeNameAndId,\n } from \"../../../type\";\nimport { AttributeTitleComponentProp } from \"../self_assessment/type\";\n \n const useStyle = makeStyles((theme) => ({\n textBox_1: {\n marginBottom: \"20px\",\n marginLeft: \"10px\",\n },\n }));\n\nexport const AttributeTitleComponent: React.FC=({attribute, setDeletingAttribute,handleModalOpen})=> {\n const classes = useStyle();\n return \n \n \n {attribute.attributeName}\n \n \n \n {\n handleModalOpen();\n const arg: ShareFeedbackAttributeNameAndId = {\n attributeId: attribute.attributeId,\n attributeName: attribute.attributeName,\n };\n setDeletingAttribute(arg);\n }}\n >\n \n \n \n \n}\n","import { Theme, createStyles, makeStyles } from \"@material-ui/core\";\n\nexport const vriddhiResponseOptionsStyle = makeStyles((theme: Theme) =>\n createStyles({\n vriddhiResponseChip: {\n justifyContent: \"center\",\n textAlign: \"center\",\n width: theme.spacing(10),\n height: theme.spacing(6),\n padding: \"25px 0px 25px 10px\",\n margin: \"30px 45px 16px 45px\",\n borderRadius: \"24px\",\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid rgba(175,175,175,0.3)\",\n boxShadow: \"0px 2px 4px 0px rgba(0,0,0,0.15)\",\n \"&.selected\": {\n borderColor: \"#8BC660 !important\",\n },\n \"&:hover:not(.selected)\": {\n backgroundColor: \"#FFFFFF\",\n borderColor: \"#576BEA !important\",\n },\n \"&:active\": {\n backgroundColor: \"#FFFFFF\",\n },\n [theme.breakpoints.down(\"md\")]: {\n padding: \"25px 0px 25px 10px\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(6.25),\n height: theme.spacing(3.75),\n padding: \"1px 0px 1px 10px\",\n margin: \"16px 12px 16px 9px\",\n },\n },\n textBox: {\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n remainingChar: {\n fontSize: theme.spacing(1.5),\n textAlign: \"end\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.125),\n },\n },\n textBoxx: {\n margin: theme.spacing(0),\n padding: theme.spacing(0.5, 2.5, 1, 2.5),\n width: \"-webkit-fill-available\",\n flexWrap: \"wrap\",\n wordWrap: \"break-word\",\n },\n textBoxx1: {\n width: \"-moz-available\",\n },\n avatar: {\n borderRadius: 0,\n margin: \"1px 0px 1px 15px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(2.625),\n height: theme.spacing(2.625),\n margin: \"1px 0px 1px 0px\",\n },\n },\n wrapperClassName: {\n height: \"100%\",\n },\n avatarVriddhiResponseText: {\n textAlign: \"center\",\n margin: theme.spacing(0, 0, 0, 0.5),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 1, 0, 0.5),\n },\n },\n vriddhiGrid: {\n margin: theme.spacing(0, 0, 4, -1.75),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 0, 3, 1.5),\n },\n },\n avatarInfo: {\n height: theme.spacing(2),\n width: theme.spacing(2),\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(1.625),\n width: theme.spacing(1.625),\n },\n },\n chipStyle: {\n margin: theme.spacing(1.5, 0, 0, 0),\n borderColor: \"#576bea\",\n width: theme.spacing(16),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(12.5),\n },\n },\n })\n);\n","import { useCustomStyle } from \"../../../../styles\";\nimport { VriddhiResponseTypesProps } from \"../../../../type\";\nimport { vriddhiResponseOptionsStyle } from \"./vriddhi.styles\";\nimport { Avatar, Chip, Grid, Hidden, Typography } from \"@material-ui/core\";\nimport { handleClickChip } from \"../addNewButtonHandles\";\nimport { AnswerTypeEnum } from \"../../../../enums/answerTypeEnums\";\n\nexport const VriddhiResponseOptions: React.FC = ({\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n scaleVersion,\n responseScales,\n responseScales2,\n}) => {\n const classes = vriddhiResponseOptionsStyle();\n const customClasses = useCustomStyle();\n\n let currentScale;\n if (responseScales.length > 0) {\n currentScale = responseScales.find(\n (scale) =>\n scale.scaleName === AnswerTypeEnum.VRIDDHI &&\n scale.scaleVersion === scaleVersion\n );\n } else {\n currentScale = responseScales2.find(\n (scale) =>\n scale.scaleName === AnswerTypeEnum.VRIDDHI &&\n scale.scaleVersion === scaleVersion\n );\n }\n\n const renderResponseChip = ({ emoji, idx_2 }) => {\n return (\n <>\n }\n className={`${classes.vriddhiResponseChip} ${\n idx_2 === emojiSelected[idx].queEmoji[idx_1].emojiId\n ? \"selected\"\n : \"\"\n }`}\n onClick={handleClickChip(\n idx_2,\n idx,\n idx_1,\n emojiSelected,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n currentScale.scaleResponses\n )}\n style={\n idx_2 === emojiSelected[idx].queEmoji[idx_1].emojiId &&\n shareFeedbackData[idx].questions[idx_1].answer[0] === \"/\"\n ? {\n borderColor: emoji.borderColor,\n backgroundColor: \"#8BC6601F\",\n }\n : { borderColor: \"#FFFFFF\" }\n }\n />\n \n {emoji.name}\n \n \n );\n };\n\n return (\n \n {currentScale.scaleResponses.map((emoji, idx_2) => (\n <>\n \n \n {renderResponseChip({ emoji, idx_2 })}\n \n \n \n \n {renderResponseChip({ emoji, idx_2 })}\n \n \n \n ))}\n \n );\n};\n","import {\n Button,\n fade,\n Grid,\n makeStyles,\n Paper,\n Popper,\n TextField,\n Typography,\n} from \"@material-ui/core\";\nimport { Autocomplete, AutocompleteCloseReason } from \"@material-ui/lab\";\nimport React, { useEffect } from \"react\";\nimport { DeleteAttributeCardComponent } from \"../../components/DeleteAttributeCard\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport {\n AddNewButtonProps,\n ResponseScaleProp,\n ShareFeedbackAttributeNameAndId,\n State,\n} from \"../../../type\";\nimport ArrowDropDownIcon from \"@material-ui/icons/ArrowDropDown\";\nimport {\n RenderAttributeQuestion,\n RenderLikertNaScaleAnswer,\n RenderLikertScaleAnswer,\n RenderResources,\n RenderStringAnswer,\n RenderSuggestions,\n RenderContext,\n} from \"./addNewButtonElements\";\nimport { updateEmojiAndAttributeOnClick } from \"./addNewButtonHandles\";\nimport { handleSkip } from \"./addNewButtonHandles\";\nimport { AttributeTitleComponent } from \"./AttributeTitle\";\nimport { VriddhiResponseOptions } from \"./Vriddhi/VriddhiResponseOptions\";\nimport { useSelector } from \"react-redux\";\n\nconst useStyle = makeStyles((theme) => ({\n popper: {\n border: \"1px solid rgba(27,31,35,.15)\",\n boxShadow: \"0 3px 12px rgba(27,31,35,.15)\",\n borderRadius: 3,\n width: 300,\n zIndex: 1,\n fontSize: 13,\n color: \"#586069\",\n backgroundColor: \"#f6f8fa\",\n },\n textField: {\n padding: 10,\n width: \"100%\",\n borderBottom: \"1px solid #dfe2e5\",\n \"& input\": {\n borderRadius: 4,\n backgroundColor: theme.palette.common.white,\n padding: 8,\n transition: theme.transitions.create([\"border-color\", \"box-shadow\"]),\n border: \"1px solid #ced4da\",\n \"&:focus\": {\n boxShadow: `${fade(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`,\n borderColor: theme.palette.primary.main,\n },\n },\n },\n paper: {\n width: \"100%\",\n padding: \"0px 0px 10px 0px\",\n marginTop: \"20px\",\n marginBottom: \"20px\",\n textAlign: \"start\",\n },\n paper2: {\n padding: \"0px 0px 10px 0px\",\n margin: theme.spacing(3.5, 3, 3.5, 3),\n textAlign: \"start\",\n width: \"-webkit-fill-available\",\n },\n btn: {\n margin: theme.spacing(3, 0, 0, 0),\n backgroundColor: `${appColor.regularBackgroundColor}`,\n zIndex: 50,\n },\n btn2: {\n margin: theme.spacing(5, 0, 5, 3),\n backgroundColor: \"#576BEA\",\n padding: theme.spacing(1.5),\n },\n typography_body_1: {\n alignItems: \"center\",\n color: `${appColor.pureWhite}`,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: `${appColor.pureBlack}`,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n skipCTA: {\n fontSize: theme.spacing(1.75),\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: \"#576BEA\",\n textDecoration: \"underline\",\n margin: theme.spacing(0.25, 1.5, 0, 0),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0.25, 0, 0, 0),\n },\n },\n}));\n\nexport const AddNewButton: React.FC = ({\n attributes,\n setAttributes,\n shareFeedbackData,\n setShareFeedbackData,\n emojiSelected,\n setEmojiSelected,\n setValue,\n onAnyChange,\n isMissing,\n attLabels,\n from,\n}) => {\n const NO_SELECTION = -1;\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [onDeleteAttribute, setOnDeleteAttribute] = React.useState(0);\n\n const [openModal, setOpenModal] = React.useState(false);\n const [deletingAttibute, setDeletingAttribute] =\n React.useState({\n attributeId: 0,\n attributeName: \"\",\n });\n\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleDelete = (id: number) => {\n setAttributes(attributes.filter((attribute) => attribute.id !== id));\n handleModalClose();\n setOnDeleteAttribute(1);\n };\n\n useEffect(() => {\n setAttributes(attributes);\n if (onDeleteAttribute === 1) {\n updateEmojiAndAttributeOnClick(\n attributes,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData\n );\n }\n setOnDeleteAttribute(0);\n }, [onDeleteAttribute]);\n\n const handleClose = (\n event: React.ChangeEvent<{}>,\n reason: AutocompleteCloseReason\n ) => {\n if (reason === \"toggleInput\") {\n return;\n }\n if (anchorEl) {\n anchorEl.focus();\n }\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n\n const handleModalOpen = () => {\n setOpenModal(true);\n };\n\n const handleModalClose = () => {\n setOpenModal(false);\n };\n\n const renderDeletionModal = () => (\n \n );\n let regex = /(<([^>]+)>)/gi;\n\n const emptyList: Array = [];\n const responseScales =\n useSelector((state: State) => state.data.data?.scaleResponseEntityList) ??\n emptyList;\n\n const responseScales2 =\n useSelector(\n (state: State) =>\n state.attributesDataForClient.data?.scaleResponseEntityList\n ) ?? emptyList;\n\n const skipClicked = (attributeIdx, questionIdx) => {\n clearQuestionResponse(attributeIdx, questionIdx);\n handleSkip(\n attributeIdx,\n questionIdx,\n shareFeedbackData,\n setShareFeedbackData\n );\n };\n\n const clearQuestionResponse = (attributeIdx, questionIdx) => {\n const updatedEmojiSelected = [...emojiSelected];\n const attribute = updatedEmojiSelected[attributeIdx];\n if (attribute && attribute.queEmoji[questionIdx]) {\n attribute.queEmoji[questionIdx].emojiId = NO_SELECTION;\n setEmojiSelected(updatedEmojiSelected);\n }\n };\n\n return (\n <>\n \n {shareFeedbackData.map((attribute, idx) => (\n \n
\n {\n \n }\n {attribute.questions.map((question, idx_1) => (\n \n \n {\n \n }\n\n {/* Emoticons */}\n {question.scaleName === \"LIKERT\" && (\n \n )}\n\n {/* Free Text Field */}\n {question.scaleName === \"STRING\" && (\n \n )}\n\n {/* Emoticons with NA */}\n {question.scaleName === \"LIKERT_NA\" && (\n \n )}\n\n {/* Vriddhi */}\n {question.scaleName === \"VRIDDHI\" && (\n \n )}\n \n\n {question.scaleName !== \"STRING\" && (\n \n skipClicked(idx, idx_1)}\n className={classes.skipCTA}\n >\n {question.answer !== \"Skipped\" ? \"SKIP\" : \"UNDO\"}\n \n \n )}\n \n ))}\n {\n \n }\n {\n \n }\n {\n \n }\n
\n \n ))}\n
\n \n {renderDeletionModal()}\n \n }\n >\n \n ADD NEW\n \n \n \n {\n setAttributes(newValue);\n updateEmojiAndAttributeOnClick(\n newValue,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData\n );\n }}\n disablePortal\n renderOption={(option) => (\n \n
\n \n {option.name}\n \n
\n
\n )}\n options={attLabels}\n getOptionLabel={(option) => option.name}\n getOptionSelected={(option, value) => option.id === value.id}\n renderInput={(params) => (\n \n )}\n />\n \n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme) => ({\n headerGrid: {\n borderRadius: theme.spacing(0.5, 0.5, 0, 0),\n backgroundColor: \"#F6F7FE\",\n boxShadow: \"0 2px 4px 0 rgba(189,189,189,0.5)\",\n },\n commonFontStyle: {\n textAlign: \"justify\",\n fontFamily: \"Montserrat\",\n marginLeft: theme.spacing(3),\n },\n heading: {\n fontWeight: 600,\n color: \"#272727\",\n fontSize: theme.spacing(2.25),\n margin: theme.spacing(3,0,2.25,3),\n },\n}));\n\nexport const FeedbackHeaderText = () => {\n const classes = useStyles();\n \n return (\n \n \n \n Add your feedback\n \n \n \n );\n};\n","import { Avatar, Chip, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { MemberChipProps } from \"./type\";\n\nconst useStyles = makeStyles((theme) => ({\n chip: {\n margin: theme.spacing(3.75, 0, 5, 3),\n backgroundColor: \"#FFFFFF\",\n height: theme.spacing(5),\n borderRadius: theme.spacing(2.5),\n border: \"1px solid rgba(87,107,234,0.5)\",\n },\n small: {\n width: theme.spacing(3.75),\n height: theme.spacing(3.75),\n },\n typography_body_3: {\n textAlign: \"center\",\n color: \"#272727\",\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const MemberChip: React.FC = ({user}) => {\n const classes = useStyles();\n return (\n \n \n }\n label={\n \n {user?.firstName + \" \" + user?.lastName}\n \n }\n className={classes.chip}\n />\n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ResponseAttribute, State } from \"../../../type\";\nimport { AddNewButton } from \"../../user/share_feedback/addNewButton\";\nimport { FeedbackHeaderText } from \"./FeedbackHeader\";\nimport { CustomDivider } from \"./LocalDivider\";\nimport { MemberChip } from \"./MemberChip\";\nimport { FeedbackSectionProps } from \"./type\";\n\nconst useStyles = makeStyles((theme) => ({\n feedbackArea: {\n border: \"1px solid #DCDCDC\",\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"#FFFFFF\",\n boxShadow: \"0 2px 4px 4px rgba(191,191,191,0.3)\",\n marginTop: theme.spacing(7.5),\n },\n memberHeading: {\n fontSize: theme.spacing(3),\n marginTop: theme.spacing(5),\n },\n commonTextStyle: {\n textAlign: \"justify\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: \"#272727\",\n fontSize: theme.spacing(3),\n padding: theme.spacing(0, 3, 0, 3),\n },\n contextStyle: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n margin: theme.spacing(3.75, 0, 5, 0),\n },\n attributeHintTextStyle: {\n textAlign: \"justify\",\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n color: \"#868686\",\n fontSize: theme.spacing(2),\n padding: theme.spacing(0, 3, 0, 3),\n marginTop: theme.spacing(1.75),\n },\n}));\n\nexport const FeedbackSection: React.FC = ({\n attributes,\n setAttributes,\n shareFeedbackData,\n setShareFeedbackData,\n emojiSelected,\n setEmojiSelected,\n setValue,\n context,\n user,\n isAnyAttribute,\n onAnyChange,\n isMissing,\n}) => {\n const classes = useStyles();\n const attr: Array = [];\n const attLabels =\n useSelector(\n (state: State) => state.attributesDataForClient?.data?.attributes\n ) ?? attr;\n\n return (\n \n \n \n \n \n \n Member\n \n \n \n \n \n \n \n \n \n \n Context\n \n \n \n \n \n \n \n \n \n \n Attributes\n \n \n \n \n \n Attributes to share feedback on\n \n \n \n \n \n \n \n \n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport React from \"react\";\n\nexport const GrowWizeLogo = () => {\n return (\n \n \n \"Grow\n \n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../../type\";\n\nconst useStyles = makeStyles((theme) => ({\n commonFontStyle: {\n textAlign: \"justify\",\n fontFamily: \"Montserrat\",\n color: \"#272727\",\n },\n content: {\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n marginTop: theme.spacing(1.25),\n },\n}));\n\nexport const GuidelineText = () => {\n const classes = useStyles();\n const user = useSelector(\n (state: State) => state.attributesDataForClient.data?.employee\n );\n\n return (\n \n \n \n Welcome to Grow-Wize.\n \n {user && \" \" + user.firstName + \" \" + user.lastName}\n {\" \"}\n has invited you to share your valuable feedback. We urge you to share\n your candid feedback. Please note the following points:\n
1. Fields with * are\n mandatory.\n
\n 2. Attribute(s) are pre-selected.\n
\n 3. You can Add new attribute(s) or remove pre-selected attribute(s).\n
\n 4. Select 'SKIP' option, if you dont want to rate{\" \"}\n \n {user && \" \" + user.firstName + \" \" + user.lastName}\n {\" \"}\n on a question\n
\n
\n
\n );\n};\n","import { Button, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\n\nconst useStyle = makeStyles((theme) => ({\n btn1: {\n margin: theme.spacing(7.5, 0, 4.5, 0),\n padding: theme.spacing(1.5, 2.5, 1.5, 2.5),\n backgroundColor: \"#576BEA\",\n width: theme.spacing(30),\n height: theme.spacing(5.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n typography_body_4: {\n alignItems: \"center\",\n color: \"#FFFFFF\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const SubmitFeedbackButton = () => {\n const classes = useStyle();\n\n return (\n \n \n \n \n SEND FEEDBACK\n \n \n \n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme) => ({\n commonFontStyle: {\n textAlign: \"justify\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: \"#576BEA\",\n fontSize: theme.spacing(3),\n marginTop: theme.spacing(7.5),\n },\n}));\n\nexport const WelcomeText = () => {\n const classes = useStyles();\n return (\n \n \n Hello,\n \n \n );\n};\n","import { Button, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport theme from \"../../../theme\";\nimport { State } from \"../../../type\";\nimport { getTimeInDesiredFormat } from \"../../../util/GetDateInActitivityFormat\";\n\nconst useStyle = makeStyles((theme) => ({\n headerSection: {\n position: \"fixed\",\n height: theme.spacing(12.5),\n top: theme.spacing(0),\n boxShadow: \"0 2px 10px 0 rgba(175,175,175,0.3)\",\n backgroundColor: \"#FFFFFF\",\n },\n logo: {\n height: theme.spacing(8),\n width: theme.spacing(20.5),\n marginLeft: theme.spacing(5),\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: theme.spacing(2),\n height: theme.spacing(6),\n width: theme.spacing(15.5),\n },\n },\n headerSection2: {\n position: \"fixed\",\n height: theme.spacing(12.5),\n top: theme.spacing(0),\n left: `${window.innerWidth / 2}px`,\n boxShadow: \"0 0px 10px 0 rgba(175,175,175,0.3)\",\n backgroundColor: \"#FFFFFF\",\n },\n btn_: {\n textTransform: \"none\",\n border: \"1px solid #576BEA\",\n borderRadius: theme.spacing(0.5),\n color: \"#576BEA\",\n backgroundColor: \"#FFFFFF\",\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n marginRight: theme.spacing(5),\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n marginRight: theme.spacing(2),\n },\n },\n btn_Hover: {\n textTransform: \"none\",\n border: \"1px solid #576BEA\",\n borderRadius: theme.spacing(0.5),\n color: \"#FFFFFF\",\n backgroundColor: \"#576BEA\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n marginRight: theme.spacing(5),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n marginRight: theme.spacing(2),\n },\n },\n saveIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(1.5),\n width: theme.spacing(1.5),\n margin: theme.spacing(0, 0.25, 0, 0),\n },\n },\n saveMargin: {\n margin: theme.spacing(0, 0, 0, 5),\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(1.5),\n width: theme.spacing(1.5),\n margin: theme.spacing(0, 0.25, 0, 1.5),\n },\n },\n typograph_saving: {\n margin: theme.spacing(0, 0, 0.35, 0.75),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#A0A0A0\",\n textAlign: \"start\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 2, 0, 0.5),\n textAlign: \"right\",\n },\n },\n typograph_saved: {\n margin: theme.spacing(0, 0, 0, 0.75),\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#2C8100\",\n textAlign: \"start\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 2, 0, 0.5),\n textAlign: \"right\",\n },\n },\n typograph_error: {\n margin: theme.spacing(0, 2, 0, 0.75),\n textAlign: \"right\",\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#F04D4D\",\n fontFamily: \"Montserrat\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 1, 0, 0),\n textAlign: \"left\",\n },\n },\n last_saved: {\n color: \"#A0A0A0\",\n fontSize: \"14px\",\n fontWeight: 500,\n textAlign: \"justify\",\n wordBreak: \"break-word\",\n marginRight: \"40px\",\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: theme.spacing(2),\n fontSize: theme.spacing(1.25),\n },\n },\n gridStyle: {\n display: \"flex\",\n marginRight: \"32px\",\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: theme.spacing(1),\n },\n },\n}));\n\nexport default function ShareFeedbackHeader({\n setValue,\n value,\n validLength,\n isDataChange,\n onDataChange,\n savedDraftDate,\n}) {\n const classes = useStyle();\n const [isVisible, setIsVisible] = useState(false);\n const [isHover, setIsHover] = React.useState(false);\n\n const toggleVisibility = () => {\n if (window.pageYOffset > 300) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n };\n\n useEffect(() => {\n window.addEventListener(\"scroll\", toggleVisibility);\n }, []);\n const { loading, status } = useSelector(\n (state: State) => state.shareFeedbackByClient\n );\n return (\n
\n {isVisible && (\n \n \n \n \n \n <>\n {value === 6 && loading && validLength && (\n <>\n \n \n \n \n \n \n Saving...\n \n \n \n )}\n {value === 6 && !loading && status === 201 && validLength && (\n <>\n \n \n \n \n Saved\n \n \n \n )}\n {value === 5 && !loading && status !== 201 && validLength && (\n \n \n \n \n Failed to save draft\n \n setValue(6)}\n variant=\"outlined\"\n className={classes.btn_}\n style={{\n padding: theme.spacing(0, 0, 0, 0),\n marginBottom: theme.spacing(0),\n }}\n >\n Retry\n \n \n \n )}\n {value === -1 && validLength && isDataChange && (\n \n }\n onClick={() => {\n setValue(6);\n onDataChange(false);\n }}\n type=\"submit\"\n variant=\"outlined\"\n className={isHover ? classes.btn_Hover : classes.btn_}\n onMouseEnter={() => setIsHover(true)}\n onMouseLeave={() => setIsHover(false)}\n >\n Save as draft\n \n )}\n {value === -1 && validLength && !isDataChange && (\n {`last saved ${getTimeInDesiredFormat(\n savedDraftDate\n )}`}\n )}\n \n \n \n )}\n
\n );\n}\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { SuccessPageProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n headerSection: {\n position: \"relative\",\n height: theme.spacing(70),\n width: theme.spacing(75),\n top: theme.spacing(3.4),\n border: \"1px solid #DCDCDC\",\n boxShadow: \" 0 2px 4px 4px rgba(191,191,191,0.3)\",\n backgroundColor: \"#FFFFFF\",\n borderRadius: theme.spacing(0.5),\n },\n consent: {\n width: theme.spacing(36.975),\n height: theme.spacing(36.75),\n marginTop: theme.spacing(8.25),\n },\n thankyou: {\n fontSize: theme.spacing(3),\n color: \"#576BEA\",\n marginTop: theme.spacing(5),\n },\n successMessageText: {\n fontSize: theme.spacing(2.25),\n color: \"#272727\",\n margin: theme.spacing(4.5, 0, 11.25, 0),\n },\n commonFontStyle: {\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n textAlign: \"center\",\n },\n}));\n\nexport const SuccessPage: React.FC = ({ status }) => {\n const classes = useStyle();\n\n return (\n \n \n \n \n \n \n THANK YOU!\n \n \n \n \n {status\n ? \"Feedback is already shared!\"\n : \"Feedback has been successfully shared!\"}\n \n \n \n );\n};\n","export enum AssessmentStatus {\n SUBMITTED = \"SUBMITTED\",\n DRAFTED = \"DRAFTED\"\n }","import {\n Button,\n Grid,\n IconButton,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { CookieProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n footerSection: {\n position: \"fixed\",\n height: theme.spacing(7.5),\n bottom: theme.spacing(0),\n boxShadow: \"0 2px 10px 0 rgba(175,175,175,0.3)\",\n backgroundColor: \"#272727\",\n zIndex: 10,\n [theme.breakpoints.down(\"sm\")]:{\n height: \"auto\",\n textAlign: \"justify\",\n padding: theme.spacing(1)\n }\n },\n textColor: {\n color: \"#FFFFFF\",\n },\n btnStyle: {\n margin: \"0px\",\n padding: \"0px\",\n textTransform: \"none\",\n },\n}));\n\nexport const CookieFooter: React.FC = ({\n setIsFooter,\n}) => {\n const classes = useStyle();\n return (\n \n \n \n

\n The site uses cookies to help improve, promote and protect it. By\n continuing to use the site, you agree to the{\" \"}\n \n Privacy Policy\n \n

\n
\n setIsFooter(false)}\n >\n \"X\"\n \n
\n \n );\n};\n","import {\n Button,\n createStyles,\n Grid,\n Fade,\n Paper,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { ValidationProps } from \"../user/request_feedback/typeRequestFeedback\";\n\nconst useStyle = makeStyles((theme: Theme) =>\n createStyles({\n modal: { display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n modalGrid: {\n width: theme.spacing(70),\n height: theme.spacing(35),\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: theme.spacing(8, 0, 4, 0),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n height: theme.spacing(25),\n padding: theme.spacing(6, 0, 6, 0),\n },\n },\n modalErrorText: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#576BEA\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(2),\n },\n },\n btn1: {\n padding: theme.spacing(1.375, 4.25, 1.375, 4.25),\n backgroundColor: \"#576BEA\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n color: \"#FFFFFF\",\n fontWeight: 600,\n fontSize: theme.spacing(2.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n fontSize: theme.spacing(1.75),\n },\n },\n })\n);\n\nexport const ValidationPromptModal: React.FC = ({\n open,\n setOpen,\n charLimitExceeded,\n}) => {\n const classes = useStyle();\n\n const handleClose = () => {\n setOpen(false);\n };\n\n return (\n \n \n \n \n \n \n {!charLimitExceeded && \"Please enter all mandatory fields!!\"}\n {charLimitExceeded && \"You've exceeded the character limit!!\"}\n \n \n \n \n \n \n \n \n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { ShareFeedbackByExternalClientLayout } from \"../../../layouts/client/share_feedback/Layout\";\nimport {\n AttributeQuestionEmoji,\n Requests,\n ResponseAttribute,\n ResponseScaleProp,\n SharedDraftDetailByClientSliceProps,\n SharedDraftProps,\n ShareFeedbackAttribute,\n ShareFeedbackByClientSliceProps,\n ShareFeedbackProps,\n State,\n} from \"../../../type\";\nimport ScrollToTop from \"./ScrollOnTop\";\nimport { FeedbackSection } from \"./FeedbackSection\";\nimport { GrowWizeLogo } from \"./GrowWizeLogo\";\nimport { GuidelineText } from \"./GuidelinesText\";\nimport { SubmitFeedbackButton } from \"./SubmitFeedbackCTA\";\nimport { WelcomeText } from \"./WelcomeText\";\nimport ShareFeedbackHeader from \"./Header\";\nimport { SuccessPage } from \"./SuccessPage\";\nimport { attributesDataForClients } from \"../../../redux/slices/AttributesWithDetailData\";\nimport { shareFeedbackByClient } from \"../../../redux/slices/ShareFeedbackByClient\";\nimport { useHistory } from \"react-router-dom\";\nimport { ErrorPopUp } from \"../../components/ErrorPages/errorModal\";\nimport {\n Backdrop,\n Button,\n Fade,\n Grid,\n makeStyles,\n Modal,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport {\n updateEmojiAndAttributeOnClick,\n updateEmojiAndAttributeWithDraftData,\n} from \"../../user/share_feedback/addNewButtonHandles\";\nimport { sharedDraftDetailByClient } from \"../../../redux/slices/SharedDraftDetailForClient\";\nimport { clearData as clearSubmitFeedbackByClient } from \"../../../redux/slices/SubmitFeedbackByExternalClient\";\nimport { SharedFeedbackDetailData } from \"../../user/shared_feedback/typeSharedFeedbacks\";\nimport { RightsText } from \"./RightsText\";\nimport { CookieFooter } from \"./CookieFooter\";\nimport { submitFeedbackByClient } from \"../../../redux/slices/SubmitFeedbackByExternalClient\";\nimport { ValidationPromptModal } from \"../../components/ValidationModal\";\n\nconst useStyle = makeStyles((theme) => ({\n modal: { display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n modalGrid: {\n width: theme.spacing(70),\n height: theme.spacing(35),\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: theme.spacing(8, 0, 4, 0),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n height: theme.spacing(25),\n padding: theme.spacing(6, 0, 6, 0),\n },\n },\n modalErrorText: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#576BEA\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(2),\n },\n },\n btn1: {\n padding: theme.spacing(1.375, 4.25, 1.375, 4.25),\n backgroundColor: \"#576BEA\",\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n color: \"#FFFFFF\",\n fontWeight: 600,\n fontSize: theme.spacing(2.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n fontSize: theme.spacing(1.75),\n },\n },\n}));\n\nexport const ShareFeedbackByExternalClient = (props) => {\n const dispatch = useDispatch();\n const classes = useStyle();\n let { requestId } = props.match.params;\n const successStatus = useSelector(\n (state: State) => state.shareFeedbackByClient.status\n );\n const [attributes, setAttributes] = React.useState([]);\n const [shareFeedbackData, setShareFeedbackData] = React.useState<\n ShareFeedbackAttribute[]\n >([]);\n const [emojiSelected, setEmojiSelected] = React.useState<\n Array\n >([]);\n const [value, setValue] = React.useState(-2);\n const [isSubmit, setIsSubmit] = React.useState(false);\n const [showErrorModal, setShowErrorModal] = React.useState(false);\n const [dispatched, setDispatched] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [isAnyAttribute, setIsAnyAttribute] = React.useState(false);\n const [isMissing, setMissing] = React.useState(false);\n const [missingElement, setMissingElement] = React.useState(null);\n const [charLimitExceeded, setCharLimitExceeded] =\n React.useState(false);\n const [logout, setLogout] = React.useState(false);\n const [context, setContext] = React.useState(\"\");\n const [isContext, setIsContext] = React.useState(false);\n const [isAnyChange, onAnyChange] = React.useState(false);\n const [isDataChange, onDataChange] = React.useState(false);\n const [savedDraftDate, setDraftDate] = React.useState(new Date());\n const [selectedDraftId, setSelectedDraftId] = React.useState(-1);\n const [index, setIndex] = React.useState(-1);\n const [userChanged, setUserChanged] = React.useState(0);\n const [requestLoad, setRequestLoad] = React.useState(0);\n const [isDraftLoad, setIsDraftLoad] = React.useState(false);\n const [isFooter, setIsFooter] = React.useState(true);\n const [showPolicy, setShowPolicy] = React.useState(false);\n useEffect(() => {\n if (value === -2) dispatch(attributesDataForClients(requestId));\n }, []);\n const message =\n useSelector((state: State) => state.attributesDataForClient.text) ?? \"\";\n\n const [dataLoadingFailed, setDataLoadingFailed] =\n React.useState(false);\n const statusForData = useSelector(\n (state: State) => state.attributesDataForClient.status\n );\n const status = useSelector(\n (state: State) => state.shareFeedbackByClient.status\n );\n const loading = useSelector(\n (state: State) => state.shareFeedbackByClient.loading\n );\n const finalStatus = useSelector(\n (state: State) => state.submitFeedbackByClient.status\n );\n const finalLoading = useSelector(\n (state: State) => state.submitFeedbackByClient.loading\n );\n\n const requests: Array = [];\n const attr: Array = [];\n const emptyDrafts: Array = [];\n const initialAttributes =\n useSelector(\n (state: State) => state.attributesDataForClient.data?.request\n ) ?? requests;\n const attLabels =\n useSelector(\n (state: State) => state.attributesDataForClient.data?.attributes\n ) ?? attr;\n const drafts =\n useSelector((state: State) => state.attributesDataForClient.data?.drafts) ??\n emptyDrafts;\n\n const draftDetailData: SharedFeedbackDetailData =\n useSelector((state: State) => state.sharedDraftDetailByClient.data) ?? null;\n\n const emptyList: Array = [];\n const responseScales =\n useSelector(\n (state: State) =>\n state.attributesDataForClient.data?.scaleResponseEntityList\n ) ?? emptyList;\n\n const data =\n useSelector((state: State) => state.attributesDataForClient?.data) ?? null;\n\n const renderLogo = () => ;\n\n const renderWelcomeText = () => ;\n\n const renderGuideLineText = () => ;\n\n const renderFeedbackSection = () => (\n \n );\n\n const renderSubmitFeedbackCTA = () => ;\n\n const renderScrollOnTop = () => ;\n\n const renderShareFeedbackHeader = () => (\n 0}\n isDataChange={isDataChange}\n savedDraftDate={savedDraftDate}\n onDataChange={onDataChange}\n />\n );\n\n const renderAllRightsReserved = () => ;\n\n const renderFooter = () =>\n isFooter ? (\n \n ) : (\n <>\n );\n\n const renderSuccessPageOnSuccessfulFeedbackSubmission = () => (\n <>\n {message?.length > 10 ? : }\n \n );\n const statusCode: number | null = useSelector((state: State) =>\n state.shareFeedbackByClient.status !== 201\n ? state.shareFeedbackByClient.status\n : state.attributesDataForClient.status !== 200\n ? state.attributesDataForClient.status\n : state.submitFeedbackByClient.status !== 201\n ? state.submitFeedbackByClient.status\n : null\n );\n const requestStatus: number | null = useSelector(\n (state: State) => state.attributesDataForClient.status\n );\n useEffect(() => {\n if (selectedDraftId > 0) {\n let params: SharedDraftDetailByClientSliceProps = {\n feedbackId: selectedDraftId,\n senderId: data?.clientId ?? -1,\n };\n dispatch(sharedDraftDetailByClient(params));\n setShareFeedbackData([]);\n }\n }, [selectedDraftId]);\n\n useEffect(() => {\n if (isAnyChange) {\n onDataChange(true);\n }\n }, [isAnyChange]);\n\n useEffect(() => {\n onDataChange(true);\n }, [shareFeedbackData]);\n\n useEffect(() => {\n if (initialAttributes.length > 0 || drafts.length > 0) {\n setAttributes([]);\n setIndex(-1);\n let id = -1;\n const user = data?.employee;\n for (let j = 0; j < initialAttributes.length; j++) {\n if (\n initialAttributes[j].userId === user?.id &&\n drafts.findIndex(\n (d) => d.requestId === initialAttributes[j].requestId\n ) === -1\n ) {\n setIndex(j);\n id = j;\n if (initialAttributes[j].context.length > 8) {\n setContext(initialAttributes[j].context);\n setIsContext(true);\n }\n break;\n } else if (\n initialAttributes[j].userId === user?.id &&\n drafts.findIndex(\n (d) => d.requestId === initialAttributes[j].requestId\n ) >= 0\n ) {\n const draft: SharedDraftProps | undefined = drafts.find(\n (d) => d.requestId === initialAttributes[j].requestId\n );\n if (draft) {\n setSelectedDraftId(draft.id);\n }\n break;\n }\n }\n setIndex(id);\n\n setUserChanged(1);\n }\n }, [initialAttributes]);\n\n useEffect(() => {\n if (requestLoad < 2 && requestStatus === 200) {\n if (index >= 0 && attributes.length === 0) {\n let att: Array = [];\n for (let i = 0; i < attLabels.length; i++) {\n for (\n let j = 0;\n j < initialAttributes[index].attributeIds.length;\n j++\n ) {\n if (attLabels[i].id === initialAttributes[index].attributeIds[j]) {\n att.push(attLabels[i]);\n setAttributes(att);\n }\n }\n }\n }\n updateEmojiAndAttributeOnClick(\n attributes,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData\n );\n setUserChanged(0);\n if (requestLoad === 0) {\n setRequestLoad(1);\n } else if (requestLoad === 1) {\n setRequestLoad(0);\n }\n if ((shareFeedbackData.length > 0 && requestLoad < 2) || index < 0) {\n setRequestLoad(3);\n }\n }\n }, [userChanged, requestLoad]);\n\n useEffect(() => {\n if (selectedDraftId >= 0) {\n if (draftDetailData) {\n if (draftDetailData.context.length > 8) {\n setContext(draftDetailData.context);\n setIsContext(true);\n }\n if (attributes.length === 0 && !isDraftLoad) {\n let att: Array = [];\n for (let j = 0; j < draftDetailData.attributes.length; j++) {\n for (let i = 0; i < attLabels.length; i++) {\n if (attLabels[i].name === draftDetailData.attributes[j].name) {\n att.push(attLabels[i]);\n setAttributes(att);\n }\n }\n }\n }\n updateEmojiAndAttributeWithDraftData(\n attributes,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData,\n draftDetailData?.attributes,\n setSelectedDraftId,\n responseScales\n );\n setIsDraftLoad(true);\n }\n }\n }, [draftDetailData, selectedDraftId, attributes]);\n\n const history = useHistory();\n const goToPreviousPath = () => {\n if (history.length > 10) {\n history.goBack();\n } else {\n history.push(\"/\");\n }\n };\n const logoutUser = () => {\n setLogout(true);\n };\n\n useEffect(() => {\n if (\n statusForData !== 200 &&\n statusForData !== 400 &&\n statusForData !== null\n ) {\n setDataLoadingFailed(true);\n setShowErrorModal(true);\n } else if (\n successStatus !== 201 &&\n statusForData === 400 &&\n message.length < 40\n ) {\n setIsSubmit(true);\n }\n }, [dataLoadingFailed, statusForData]);\n\n const renderErrorModal = () => (\n \n );\n\n useEffect(() => {\n if (dispatched === true && finalStatus === 201 && finalLoading === false) {\n setShareFeedbackData([]);\n setDispatched(false);\n setIsSubmit(true);\n dispatch(clearSubmitFeedbackByClient());\n }\n }, [dispatched, finalStatus, finalLoading]);\n\n useEffect(() => {\n if (\n dispatched === true &&\n status === 201 &&\n loading === false &&\n value === 6\n ) {\n setDraftDate(new Date());\n const timer = setTimeout(() => {\n if (loading === false && value === 6) {\n setValue(-1);\n }\n }, 3000);\n return () => clearTimeout(timer);\n }\n }, [dispatched, loading, status]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n if (loading === false && value === 6) {\n setValue(-1);\n }\n }, 2000);\n return () => clearTimeout(timer);\n }, [loading, value]);\n\n const AUTO_SAVE_INTERVAL = 30000;\n\n useEffect(() => {\n const timer = setInterval(() => {\n if (!loading && isDataChange) {\n setValue(6);\n onDataChange(false);\n onAnyChange(false);\n }\n }, AUTO_SAVE_INTERVAL);\n return () => clearInterval(timer);\n }, [isDataChange, loading]);\n\n useEffect(() => {\n if (shareFeedbackData.length > 0) {\n setValue(-1);\n } else {\n setValue(-2);\n }\n }, [shareFeedbackData]);\n\n useEffect(() => {\n if (\n statusCode &&\n statusCode !== 200 &&\n statusCode !== 400 &&\n statusCode !== 201 &&\n value !== 6\n ) {\n setShowErrorModal(true);\n }\n }, [statusCode]);\n\n useEffect(() => {\n if (status && status !== 201) {\n setValue(5);\n }\n }, [status, loading]);\n\n useEffect(() => {\n if (value === 6) {\n handleSubmit(window.event);\n }\n }, [value]);\n\n const handleErrors = () => {\n if (shareFeedbackData.length === 0) {\n setIsAnyAttribute(true);\n } else {\n setIsAnyAttribute(false);\n }\n };\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n useEffect(()=>{\n if(!open && isMissing && missingElement) {\n let val = document.getElementById(missingElement)?.offsetTop;\n let HEADER_HEIGHT: number | undefined = 300;\n window.scrollTo({\n top: val ? (val - HEADER_HEIGHT) : val,\n behavior: 'smooth',\n })\n }\n },[open, isMissing, missingElement])\n\n const renderValidationModal = () => (\n \n );\n\n function handleSubmit(e) {\n e?.preventDefault();\n setCharLimitExceeded(false);\n onAnyChange(false);\n let flag = false;\n let attributesLength = false;\n if (shareFeedbackData.length === 0) {\n attributesLength = true;\n } else {\n for (let idx = 0; idx < shareFeedbackData.length; idx++) {\n for (\n let idx2 = 0;\n idx2 < shareFeedbackData[idx].questions.length;\n idx2++\n ) {\n if (\n shareFeedbackData[idx].questions[idx2]?.answer?.length > 80\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n }\n if (\n shareFeedbackData[idx].context?.length > 10000 ||\n shareFeedbackData[idx].resources?.length > 10000 ||\n shareFeedbackData[idx].suggestions?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n }\n }\n if (flag || attributesLength) {\n if (attributesLength && value !== 6) {\n handleErrors();\n } else if (flag) {\n handleOpen();\n }\n } else {\n const arg: ShareFeedbackProps = {\n receiverId: data?.employee?.id ?? -1,\n attributes: shareFeedbackData,\n requestId: data?.requestId ?? -1,\n context: context.replace(/ |‌|»|«|>/g, ' ').trim(),\n status: \"DRAFTED\",\n };\n const params: ShareFeedbackByClientSliceProps = {\n requestData: arg,\n senderId: data?.clientId ?? -1,\n };\n dispatch(shareFeedbackByClient(params));\n setDispatched(true);\n }\n }\n\n function handleFinalSubmit(e) {\n e?.preventDefault();\n setCharLimitExceeded(false);\n let regex = /(<([^>]+)>)/ig\n let flag = false;\n let attributesLength = false;\n if (shareFeedbackData.length === 0) {\n attributesLength = true;\n } else {\n for (let idx = 0; idx < shareFeedbackData.length; idx++) {\n for (\n let idx2 = 0;\n idx2 < shareFeedbackData[idx].questions.length;\n idx2++\n ) {\n if (\n value !== 6 &&\n shareFeedbackData[idx].questions[idx2].answer.length < 1\n ) {\n flag = true;\n setMissing(true);\n setMissingElement(`que-id-${shareFeedbackData[idx].questions[idx2].questionId}`);\n break;\n } else {\n let ans = shareFeedbackData[idx].questions[idx2].answer;\n if (\n value !== 6 &&\n (ans?.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g,'').replace(/\\n/g,'').length < 1 || ans.length < 0)\n ) {\n flag = true;\n setMissing(true);\n setMissingElement(`que-id-${shareFeedbackData[idx].questions[idx2].questionId}`);\n break;\n } else if (\n shareFeedbackData[idx].questions[idx2].answer.length > 80\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n }\n }\n if(flag) break;\n let str = shareFeedbackData[idx].context.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g,'').replace(/\\n/g,'');\n if (str?.replace(/\\s/g, \"\").length < 1 && value !== 6) {\n flag = true;\n setMissing(true);\n setMissingElement(`explanation-id-${shareFeedbackData[idx].attributeId}`);\n } else if (shareFeedbackData[idx].context?.length < 9 && value !== 6) {\n setMissing(true);\n setMissingElement(`explanation-id-${shareFeedbackData[idx].attributeId}`);\n flag = true;\n } else if (\n shareFeedbackData[idx].context?.length > 10000 ||\n shareFeedbackData[idx].resources?.length > 10000 ||\n shareFeedbackData[idx].suggestions?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n if(flag) break;\n }\n }\n if (flag || attributesLength) {\n if (attributesLength && value !== 6) {\n handleErrors();\n } else if (flag) {\n handleOpen();\n }\n } else {\n const arg: ShareFeedbackProps = {\n receiverId: data?.employee?.id ?? -1,\n attributes: shareFeedbackData,\n requestId: data?.requestId ?? -1,\n context: context.replace(/ |‌|»|«|>/g, ' ').trim(),\n status: \"SUBMITTED\",\n };\n const params: ShareFeedbackByClientSliceProps = {\n requestData: arg,\n senderId: data?.clientId ?? -1,\n };\n dispatch(submitFeedbackByClient(params));\n setMissing(false);\n setDispatched(true);\n }\n }\n\n if (statusForData === 400) {\n if (message.length > 40) {\n history.push({\n pathname: \"/error\",\n state: {\n status: message,\n },\n });\n }\n }\n\n if (status === 400 || finalStatus === 400) {\n history.push({\n pathname: \"/error\",\n state: {\n status: \"We are sorry but the feedback request is cancelled and no longer available.\",\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport React from \"react\";\nimport {\n UserName,\n ContextText,\n RenderDate,\n RenderTypeOfRequest,\n AttributeChipComponent,\n RenderAttributeText,\n RenderAttributesDetails,\n ActionCta,\n CustomDivider,\n Status,\n} from \"./DetailComponent\";\nimport { DetailPageProp } from \"./type\";\n\nexport const DetailPage: React.FC = ({\n from,\n date,\n user,\n context,\n attributeNames,\n attributes,\n setValue,\n requestId,\n status,\n}) => {\n const renderTypeOfRequest = () => (\n <>\n {from === \"RECEIVED_FEEDBACK\" && (\n \n )}\n \n );\n const renderDate = () => ;\n const renderUser = () => ;\n const renderContext = () => <>{context && };\n const renderAttributesChip = () => (\n <>\n {(from === \"SHARED_FEEDBACK\" || from === \"SENT_REQUEST\") && (\n \n )}\n {from === \"RECEIVED_REQUEST\" && attributeNames && (\n \n )}\n \n );\n const renderAttributeHeader = () => ;\n const renderAttributesDetail = () =>\n from !== \"SENT_REQUEST\" && (\n \n );\n const renderActionCta = () =>\n setValue && (\n \n );\n const renderRequestStatus = () => status && ;\n const renderDivider = () => ;\n return (\n <>\n \n {renderTypeOfRequest()}\n {renderDate()}\n \n {renderUser()}\n {renderDivider()}\n {renderContext()}\n {context && renderDivider()}\n {renderAttributesChip()}\n {(from === \"SHARED_FEEDBACK\" ||\n from === \"SENT_REQUEST\" ||\n from === \"RECEIVED_REQUEST\") &&\n renderDivider()}\n {renderAttributeHeader()}\n {renderAttributesDetail()}\n {renderActionCta()}\n {renderRequestStatus()}\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { FeedbackRequestDetailsLayoutProp } from \"../../../../modules/user/feedback_requests/typeFeedbackrequest\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { State } from \"../../../../type\";\nimport { HomeLayout } from \"../../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(8.5, 6, 6, 5),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n marginTop: theme.spacing(10),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: `${window.innerHeight - 102}px`,\n },\n}));\n\nexport const FeedbackRequestDetailsLayout: React.FC =\n ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderDetails,\n }) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n document.title = \"Grow-Wize | Feedback Request Detail\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderFeedbackRequestDetailLayout = () => (\n \n \n {renderErrorModal()}\n \n \n {renderDetails()}\n \n \n );\n\n const loading = useSelector(\n (state: State) =>\n state.receivedRequestDetails.loading || state.data.loading\n );\n\n return (\n \n );\n };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { DetailPage } from \"../../../components/list/detail/DetailPage\";\nimport { FeedbackRequestDetailsLayout } from \"../../../../layouts/user/feedback_request/detail/Layout\";\nimport { receivedFeedbackRequestDetails } from \"../../../../redux/slices/ReceivedFeedbackRequestDetailsSlice\";\nimport { requestData } from \"../../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n ReceivedFeedbackRequestDetailAPICallProps,\n State,\n UserAndAttributeSliceProps,\n} from \"../../../../type\";\nimport { FeedbackRequestDetailData } from \"../typeFeedbackrequest\";\n\nexport const FeedbackRequestDetails = (props) => {\n const { id } = props.match.params;\n const dispatch = useDispatch();\n const [logout, setLogout] = React.useState(false);\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: false,\n isAttributes: false,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: true,\n };\n dispatch(requestData(param));\n const params: ReceivedFeedbackRequestDetailAPICallProps = {\n feedbackRequestId: id,\n };\n dispatch(receivedFeedbackRequestDetails(params));\n }, [id]);\n\n const [isDetailView, setIsDetailView] = React.useState(true);\n\n const data: FeedbackRequestDetailData =\n useSelector((state: State) => state.receivedRequestDetails.data) ?? null;\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.receivedRequestDetails.status !== 200\n ? state.receivedRequestDetails.status\n : state.data.status !== 200\n ? state.data.status\n : null\n );\n\n\n const renderErrorModal = () => (\n \n );\n\n const renderDetails = () => (\n \n );\n\n if (!isDetailView) {\n history.push({\n pathname: `/feedback/requests/received/${props.location.state?.tabName}`,\n state: {\n pageNo: props.location.state?.pageNo,\n user: props.location.state?.user,\n },\n });\n }\n\n return (\n \n );\n};\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { DetailCardComponentProps } from \"../type\";\nimport { Avatar, Button } from \"@material-ui/core\";\nimport { getDateInDesiredFormat } from \"../../../util/GetDateInDesiredFormat\";\nimport { avatarColor } from \"../../constants/avatarBackgroundColor\";\nimport { TokenDataProps } from \"../../home/Drawer\";\nimport jwt_decode from \"jwt-decode\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_1: {\n color: \"#868686\",\n textAlign: \"start\",\n paddingLeft: theme.spacing(2.5),\n fontSize: \"14px\",\n fontWeight: 500,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n header: {\n padding: theme.spacing(1.75, 0, 1.75, 0),\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n small: {\n width: theme.spacing(3.75),\n height: theme.spacing(3.75),\n margin: theme.spacing(0, 0, 0, 2.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n margin: theme.spacing(0, 0, 0, 1),\n },\n },\n avatarMargin: {\n marginLeft: theme.spacing(4.5),\n [theme.breakpoints.down(\"sm\")]: {\n marginLeft: theme.spacing(0.5),\n },\n },\n body: {\n width: \"100%\",\n color: \"#FFFFFF\",\n backgroundColor: \"#FFFFFF\",\n },\n typography_body_3: {\n textAlign: \"start\",\n alignItems: \"center\",\n fontSize: theme.spacing(1.75),\n padding: theme.spacing(0, 0, 0, 2.5),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n marginRight: theme.spacing(1),\n },\n },\n typography_body_2: {\n textAlign: \"left\",\n wordBreak: \"break-word\",\n padding: theme.spacing(0, 0, 0, 6),\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"md\")]: {\n padding: theme.spacing(0, 0, 0, 5.5),\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n fontSize: theme.spacing(1.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 1.5),\n },\n },\n btn: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(0, 0, 0, 0),\n },\n typograph_cta: {\n fontWeight: 500,\n color: \"#576BEA\",\n fontStyle: \"Montserrat\",\n textAlign: \"left\",\n textDecoration: \"underline\",\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n typography_pending: {\n color: \"#db5b5b\",\n backgroundColor: \"#ffe9e9\",\n },\n typography_closed: {\n color: \"#01BDB3\",\n backgroundColor: \"#E6FAF8\",\n },\n typography_cancelled: {\n color: \"#7e827e\",\n backgroundColor: \"#e6e0e0\",\n },\n typography_status: {\n textAlign: \"center\",\n padding: theme.spacing(0.75),\n fontWeight: 500,\n borderRadius: theme.spacing(0.5),\n marginLeft: theme.spacing(2.5),\n width: theme.spacing(11.25),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(8),\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const DetailCardComponent: React.FC = ({\n user,\n date,\n documentId,\n setDocumentId,\n setUserId,\n setValue,\n attributesName,\n requestStatus,\n context,\n from,\n setCancelRequestParams,\n}) => {\n const classes = useStyle();\n const token: string = useSelector((state: State) => state.auth.token);\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n org_id: 0,\n };\n try {\n tokenData = jwt_decode(token);\n } catch (e) {\n console.log(e);\n }\n return (\n \n \n {(from === \"RECEIVED_FEEDBACK\" || from === \"SENT_REQUEST\") && (\n \n \n \n )}\n \n \n \n \n \n {user?.firstName + \" \" + user?.lastName}\n \n \n \n {requestStatus ? (\n \n \n \n {getDateInDesiredFormat(new Date(date))}\n \n \n \n ) : (\n \n \n {getDateInDesiredFormat(new Date(date))}\n \n \n )}\n {requestStatus ? (\n \n \n <>\n {context ? (\n \n ) : (\n \n {attributesName?.join(\", \")}\n \n )}\n \n \n \n ) : (\n \n \n \n {attributesName?.join(\", \")}\n \n \n \n )}\n {requestStatus && (\n \n {requestStatus === \"PENDING\" && (\n \n Pending\n \n )}\n {requestStatus === \"CLOSED\" && from === \"RECEIVED_REQUEST\" && (\n \n Shared\n \n )}\n {requestStatus === \"CLOSED\" && from !== \"RECEIVED_REQUEST\" && (\n \n Received\n \n )}\n {requestStatus === \"CANCELLED\" && (\n \n Cancelled\n \n )}\n {requestStatus === \"EXPIRED\" && (\n \n Expired\n \n )}\n {requestStatus === \"REJECTED\" && (\n \n Declined\n \n )}\n \n )}\n {requestStatus ? (\n <>\n {from === \"SENT_REQUEST\" && (\n \n {requestStatus === \"CLOSED\" && (\n {\n setDocumentId(documentId);\n if (setUserId) {\n setUserId(user?.id);\n }\n }}\n style={{\n marginLeft: \"20px\",\n }}\n >\n \n View More\n \n \n )}\n {requestStatus === \"PENDING\" && (\n {\n setCancelRequestParams({\n documentId: documentId,\n userId: user?.id\n })\n }}\n style={{\n marginLeft: \"12px\",\n }}\n >\n \n Cancel\n \n \n )}\n \n )}\n {from === \"RECEIVED_REQUEST\" && requestStatus === \"CLOSED\" && (\n \n {\n setDocumentId(documentId);\n }}\n style={{\n marginLeft: \"20px\",\n }}\n >\n \n View More\n \n \n \n )}\n {from === \"RECEIVED_REQUEST\" && requestStatus === \"PENDING\" && (\n \n {\n setUserId(user?.id);\n setValue(1);\n }}\n style={{\n marginLeft: \"20px\",\n }}\n >\n \n Share Now\n \n \n \n )}\n \n ) : (\n \n {\n setDocumentId(documentId);\n }}\n >\n \n View More\n \n \n \n )}\n \n );\n};\n","import React from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Grid from \"@material-ui/core/Grid\";\nimport Hidden from \"@material-ui/core/Hidden\";\nimport Typography from \"@material-ui/core/Typography\";\nimport { HeaderTitlesProps } from \"../type\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body: {\n color: \"#868686\",\n textAlign: \"center\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n },\n },\n typography_body_1: {\n color: \"#868686\",\n textAlign: \"start\",\n paddingLeft: theme.spacing(2.5),\n fontSize: \"14px\",\n fontWeight: 500,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n header: {\n padding: theme.spacing(1.75, 0, 1.75, 0),\n backgroundColor: \"rgba(87,107,234,0.05)\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n}));\n\nconst hiddenTitles = [\"Attributes\", \"Context\", \"Requested Date\"];\n\nexport const HeaderTitles: React.FC = ({ titles, from }) => {\n const classes = useStyle();\n return (\n \n {titles?.map((title) => (\n \n {hiddenTitles.includes(title.name) ? (\n \n \n \n {title.name}\n \n \n \n ) : (\n \n \n {title.name.includes(\"Date\") && window.innerWidth < 800\n ? \"Date\"\n : title.name}\n \n \n )}\n \n ))}\n \n );\n};\n\nexport const HeaderTitlesWithNoData: React.FC = ({\n titles,\n}) => {\n const classes = useStyle();\n return (\n \n {titles.map((title) => (\n \n \n {title.name}\n \n \n ))}\n \n );\n};\n","import { TitleProps } from \"../type\";\n\nexport const sharedListTitles: Array = [\n {\n name: \"Name\",\n xsSize: 6,\n smSize: 6,\n mdSize: 3,\n lgSize: 3,\n },\n {\n name: \"Shared Date\",\n xsSize: 3,\n smSize: 3,\n mdSize: 2,\n lgSize: 2,\n },\n {\n name: \"Attributes\",\n xsSize: undefined,\n smSize: undefined,\n mdSize: 5,\n lgSize: 5,\n },\n {\n name: \"Action\",\n xsSize: 3,\n smSize: 3,\n mdSize: 2,\n lgSize: 2,\n },\n];\n\nexport const receivedListTitles: Array = [\n {\n name: \"Name\",\n xsSize: 6,\n smSize: 6,\n mdSize: 3,\n lgSize: 3,\n },\n {\n name: \"Received Date\",\n xsSize: 3,\n smSize: 3,\n mdSize: 2,\n lgSize: 2,\n },\n {\n name: \"Attributes\",\n xsSize: undefined,\n smSize: undefined,\n mdSize: 5,\n lgSize: 5,\n },\n {\n name: \"Action\",\n xsSize: 3,\n smSize: 3,\n mdSize: 2,\n lgSize: 2,\n },\n];\n\nexport const sentRequestTitles: Array = [\n {\n name: \"Name\",\n xsSize: 6,\n smSize: 6,\n mdSize: 3,\n },\n {\n name: \"Requested Date\",\n xsSize: undefined,\n mdSize: 2,\n },\n {\n name: \"Attributes\",\n xsSize: undefined,\n mdSize: 4,\n },\n {\n name: \"Status\",\n xsSize: 3,\n smSize: 3,\n mdSize: true,\n },\n {\n name: \"Action\",\n xsSize: 3,\n smSize: 3,\n mdSize: true,\n },\n];\n\nexport const receivedRequestTitles: Array = [\n {\n name: \"Name\",\n xsSize: 6,\n smSize: 6,\n mdSize: 3,\n },\n {\n name: \"Requested Date\",\n xsSize: undefined,\n mdSize: 2,\n },\n {\n name: \"Context\",\n xsSize: undefined,\n mdSize: 4,\n },\n {\n name: \"Status\",\n xsSize: 3,\n smSize: 3,\n mdSize: true,\n },\n {\n name: \"Action\",\n xsSize: 3,\n smSize: 3,\n mdSize: true,\n },\n];\n","import { Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { NoCustomDataTextProps, NoRecordFoundInTableProps, NoRecordTextProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n container: {\n padding: \"14px 44px\",\n height: theme.spacing(11),\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n typography_head: {\n color: \"#576BEA\",\n textAlign: \"center\",\n padding: theme.spacing(10, 0, 0, 0),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n },\n },\n typography_body: {\n color: \"#272727\",\n textAlign: \"center\",\n padding: theme.spacing(0, 4, 0, 4),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n },\n },\n typography_body_1: {\n color: \"#FFFFFF\",\n textAlign: \"center\",\n padding: theme.spacing(0.5, 3, 0.5, 3),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_2: {\n textAlign: \"left\",\n wordBreak: \"break-word\",\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n fontSize: theme.spacing(1.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 1.5),\n },\n },\n typography_body_3: {\n fontSize: theme.spacing(2),\n textAlign: \"center\",\n fontWeight: 600,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const NoRecordMainText: React.FC = ({ from }) => {\n const classes = useStyle();\n return (\n \n {from === \"RECEIVED_REQUEST\" && \"No feedback requests\"}\n \n {from === \"SHARED_FEEDBACK\" && \"You’ve not shared any feedback yet!\"}\n \n {from === \"SENT_REQUEST\" && \"No feedback requests\"}\n \n {from === \"RECEIVED_FEEDBACK\" &&\n \"You've not received any feedback yet!\"}\n \n \n );\n};\n\nexport const NoRecordSubText: React.FC = ({ from }) => {\n const classes = useStyle();\n return (\n \n \n {from === \"RECEIVED_REQUEST\" &&\n \"Do not wait for a request, share feedback NOW!\"}\n \n {from === \"SHARED_FEEDBACK\" && \"Share a feedback NOW!\"}\n \n {from === \"SENT_REQUEST\" &&\n \"Do not wait for a request, share feedback NOW!\"}\n \n {from === \"RECEIVED_FEEDBACK\" && \"Request for a feedback NOW!\"}\n \n );\n};\n\nexport const ActionCTAText: React.FC = ({ from }) => {\n const classes = useStyle();\n return (\n \n {from === \"SHARED_FEEDBACK\" && \"SHARE FEEDBACK\"}\n {from === \"RECEIVED_REQUEST\" && \"SHARE FEEDBACK\"}\n {from === \"RECEIVED_FEEDBACK\" && \"REQUEST FEEDBACK\"}\n {from === \"FEEDBACK_SUMMARY\" && \"REQUEST FOR FEEDBACK\"}\n \n );\n};\n\nexport const NoCustomDataText: React.FC = ({\n requestType,\n from,\n}) => {\n const classes = useStyle();\n\n const allText: string = \"No received request\";\n const pendingText: string = \"No pending request\";\n const closedText: string = \"No closed request\";\n const noSendRequestText: string = \"No request sent\";\n const noReceivedFeedbackText: string = \"No Feedback Received...\";\n const noSharedFeedbackText: string = \"No Feedback Shared...\";\n const noAssessmentText: string = \"No assessment submitted yet!\";\n return (\n \n \n {from === \"RECEIVED_REQUEST\" && requestType &&\n (requestType === \"ALL\"\n ? allText\n : requestType === \"PENDING\"\n ? pendingText\n : requestType === \"CLOSED\"\n ? closedText\n : null)}\n {from === \"SENT_REQUEST\" && noSendRequestText}\n {from === \"RECEIVED_FEEDBACK\" && noReceivedFeedbackText}\n {from === \"SHARED_FEEDBACK\" && noSharedFeedbackText}\n {from === \"SHARED_ASSESSMENT\" && noAssessmentText}\n \n \n );\n};\n\nexport const NoRecordFoundInTable: React.FC = ({\n from,\n}) => {\n const classes = useStyle();\n return (\n \n \n {from === \"TEAMS_LIST\" && \"No Teams Found...\"}\n \n \n );\n};\n","import { CircularProgress, Grid, Paper } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { DetailCardComponent } from \"./ListContentCard\";\nimport { HeaderTitles, HeaderTitlesWithNoData } from \"./ListHeader\";\nimport {\n receivedListTitles,\n sharedListTitles,\n receivedRequestTitles,\n sentRequestTitles,\n} from \"./ListTitles\";\nimport { NoCustomDataText } from \"./noRecordPage/NoRecordText\";\nimport { TitleProps } from \"../type\";\nimport { ListContainerComponentProps } from \"../type\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n width: \"inherit\",\n },\n row: {\n width: \"100%\",\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n },\n}));\n\nexport const ListContainerComponent: React.FC = ({\n loading,\n data,\n setDocumentId,\n from,\n setUserId,\n setValue,\n requestType,\n setCancelRequestParam,\n}) => {\n const classes = useStyle();\n\n let titles: Array = [];\n if (from === \"SHARED_FEEDBACK\") titles = sharedListTitles;\n else if (from === \"RECEIVED_FEEDBACK\") titles = receivedListTitles;\n else if (from === \"RECEIVED_REQUEST\") titles = receivedRequestTitles;\n else if (from === \"SENT_REQUEST\") titles = sentRequestTitles;\n return (\n \n \n {data.length === 0 ? (\n \n ) : (\n \n )}\n {loading && (\n \n \n \n )}\n {!loading && data.length === 0 ? (\n \n ) : (\n data.map((d) => (\n \n ))\n )}\n \n \n );\n};\n","import { Button, Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport {\n NoRecordSubText,\n NoRecordMainText,\n ActionCTAText,\n} from \"./NoRecordText\";\nimport { NoRecordProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n marginTop: theme.spacing(-6),\n minHeight: `${window.innerHeight - 85}px`,\n backgroundColor: \"#F5F6FA\",\n },\n btn: {\n margin: theme.spacing(4, 0, 0, 0),\n backgroundColor: \"#576BEA\",\n },\n img: {\n padding: theme.spacing(6.5, 0, 6.5, 0),\n height: theme.spacing(47),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0),\n height: theme.spacing(26.8),\n },\n },\n}));\n\nexport const NoRecordComponent: React.FC = ({\n setValue,\n from,\n}) => {\n const classes = useStyle();\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n {\n if (from === \"RECEIVED_FEEDBACK\") setValue(2);\n else setValue(1);\n }}\n className={classes.btn}\n >\n \n \n \n \n );\n};\n","import { InputAdornment, TextField } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport React from \"react\";\nimport { SearchBoxProps } from \"./type\";\nimport { User } from \"../../type\";\n\nexport const useStyle = makeStyles((theme) => ({\n input: {\n padding: theme.spacing(3.75, 0, 2.5, 0),\n fontColor: \"darkgrey\",\n width: \"310px\",\n \"& .MuiOutlinedInput-notchedOutline\": {\n borderWidth: \"0.1rem\",\n borderColor: \"darkgrey\",\n },\n\n \"&.Mui-focused .MuiOutlinedInput-notchedOutline\": {\n borderWidth: \"0.1rem\",\n borderColor: \"darkgrey\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(2.5, 0, 2.25, 0),\n width: \"inherit\",\n },\n },\n inputText: {\n fontSize: 16,\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 13,\n },\n },\n}));\n\nexport const UserSearchBox: React.FC = ({\n user,\n setUser,\n setPageNumber,\n users,\n}) => {\n const classes = useStyle();\n return (\n {\n setUser(newValue);\n setPageNumber(1);\n }}\n options={users}\n forcePopupIcon={false}\n getOptionLabel={(user) => user.firstName + \" \" + user.lastName}\n renderInput={(params) => {\n return (\n \n \n \n ),\n }}\n />\n );\n }}\n />\n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { FeedbackRequestLayoutProps } from \"../../../type\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6.5),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: `${window.innerHeight - 102}px`,\n },\n root2: {\n alignItems: \"center\",\n padding: theme.spacing(6, 0, 0, 0),\n marginTop: theme.spacing(10),\n backgroundColor: \"white\",\n },\n}));\n\nexport const FeedbackRequestLayout: React.FC = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n tabValue,\n loading,\n count,\n selectedUser,\n renderErrorModal,\n renderTabLabels,\n renderSearchBox,\n renderNoRequest,\n renderRequestList,\n renderChangePageButtons,\n}) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n const indexToTab = {\n 0: \"All\",\n 1: \"Pending\",\n 2: \"Closed\",\n };\n document.title = `Grow-Wize | Feedback Requests | ${indexToTab[tabValue]}`;\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderFeedbackRequestsLayout = () => (\n \n {renderErrorModal()}\n {count.allRequestCount === 0 && selectedUser === null ? (\n renderNoRequest()\n ) : (\n \n {renderTabLabels()}\n {renderSearchBox()}\n {renderRequestList()}\n {renderChangePageButtons()}\n \n )}\n \n );\n\n return (\n \n );\n};\n","import { Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { TextCountProps } from \"./typeFeedbackrequest\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_2: {\n textTransform: \"none\",\n paddingLeft: theme.spacing(0.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const AllText: React.FC = ({ count }) => {\n const classes = useStyle();\n return (\n \n All ({count})\n \n );\n};\n\nexport const PendingText: React.FC = ({ count }) => {\n const classes = useStyle();\n return (\n \n Requests Pending ({count})\n \n );\n};\n\nexport const ClosedText: React.FC = ({ count }) => {\n const classes = useStyle();\n return (\n \n Requests Closed ({count})\n \n );\n};\n\n\n","import {\n Divider,\n Grid,\n Hidden,\n makeStyles,\n MenuItem,\n Select,\n Tab,\n Tabs,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { ListContainerComponent } from \"../../components/list/ListContainer\";\nimport { NoRecordComponent } from \"../../components/list/noRecordPage/NoRecordPage\";\nimport { RequestListProps } from \"../../components/type\";\nimport { UserSearchBox } from \"../../components/UserSearchBoxComponent\";\nimport { FeedbackRequestLayout } from \"../../../layouts/user/feedback_request/Layout\";\nimport { countRequestReceivedFeedback } from \"../../../redux/slices/CountRequestsReceivedSlice\";\nimport { getAllReceivedRequests } from \"../../../redux/slices/FeedbackRequestsReceivedSlice\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport theme from \"../../../theme\";\nimport {\n ReceivedRequest,\n RequestingParams,\n SharedFeedbacksParams,\n State,\n User,\n UserAndAttributeSliceProps,\n} from \"../../../type\";\nimport { AllText, ClosedText, PendingText } from \"./feedbackRequestText\";\n\nconst useStyle = makeStyles((theme) => ({\n tabs: {\n color: \"#576BEA\",\n width: theme.spacing(20),\n textAlign: \"left\",\n },\n divider: {\n width: \"inherit\",\n backgroundColor: \"#576bea66\",\n },\n tab: {\n width: \"inherit\",\n minWidth: theme.spacing(6),\n padding: theme.spacing(0.5, 2.5, 0, 2.5),\n },\n}));\n\nexport const FeedbackRequests = (props) => {\n const { STATUS } = props.match.params;\n const pageValue = props.location.state?.pageNo;\n const usr = props.location.state?.user;\n const [value, setValue] = React.useState(-1);\n const [requestedUserId, setRequestedUserId] = React.useState(0);\n const [requestedFeedbackId, setRequestedFeedbackId] =\n React.useState(0);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n const emptyRequestArrray: Array = [];\n\n const indexToTab = {\n 0: \"pending\",\n 1: \"closed\",\n 2: \"all\",\n };\n\n const tabToIndex = {\n pending: 0,\n closed: 1,\n all: 2,\n };\n\n const indexToStatus = {\n 0: \"PENDING\",\n 1: \"CLOSED\",\n 2: \"ALL\",\n };\n\n const [tabValue, setTabValue] = React.useState(tabToIndex[STATUS]);\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n props.history.push(`/feedback/requests/received/${indexToTab[newValue]}`);\n setPageNumber(1);\n setTabValue(newValue);\n };\n const [user, setUser] = React.useState(usr ? usr : null);\n const emptyUsers: Array = [];\n const users =\n useSelector((state: State) => state.data.data?.users) ?? emptyUsers;\n\n const loadingDataAndCount = useSelector(\n (state: State) => state.data.loading || state.countRequestsReceived.loading\n );\n\n const handleChange = (event: React.ChangeEvent<{ value: unknown }>) => {\n props.history.push(\n `/feedback/requests/received/${indexToTab[event.target.value as number]}`\n );\n setPageNumber(1);\n setTabValue(event.target.value as number);\n };\n\n const dispatch = useDispatch();\n\n const classes = useStyle();\n\n useEffect(() => {\n let requestParams: string = \"\";\n requestParams += \"?offSet=\" + (pageNumber - 1) * 10;\n if (user !== null) requestParams += \"&requestingUserId=\" + user.id;\n if (tabValue !== 2) requestParams += \"&status=\" + indexToStatus[tabValue];\n let requestingData: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(getAllReceivedRequests(requestingData));\n }, [pageNumber, user, tabValue]);\n const requests =\n useSelector((state: State) => state.receivedRequests.data) ??\n emptyRequestArrray;\n\n const listData: Array = requests.map((r) => {\n const obj: RequestListProps = {\n user: r.requestingUser,\n createdAt: r.timeOfRequest,\n context: r.context,\n feedbackId: r.feedbackRequestId,\n feedbackRequestStatus: r.feedbackRequestStatus,\n };\n return obj;\n });\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: false,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n dispatch(requestData(param));\n }, []);\n\n useEffect(() => {\n let str: string = \"\";\n if (user) str += \"?requestingUserId=\" + user.id;\n let params: SharedFeedbacksParams = {\n requestingParams: str,\n };\n dispatch(countRequestReceivedFeedback(params));\n }, [user]);\n\n const count = useSelector(\n (state: State) => state.countRequestsReceived.data\n ) ?? {\n allRequestCount: -1,\n pendingRequestCount: -1,\n closedRequestCount: -1,\n };\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.data.status !== 200\n ? state.data.status\n : state.countRequestsReceived.status !== 200\n ? state.countRequestsReceived.status\n : state.receivedRequests.status !== 200\n ? state.receivedRequests.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderNoRequest = () => (\n \n );\n\n const renderChangePageButtons = () => (\n <>\n {tabValue === 0 && count.pendingRequestCount > 0 && (\n \n \n \n )}\n {tabValue === 1 && count.closedRequestCount > 0 && (\n \n \n \n )}\n {tabValue === 2 && count.allRequestCount > 0 && (\n \n \n \n )}\n \n );\n\n const renderRequestList = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderTabLabels = () => (\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 if (\n props.location.pathname !== \"/feedback/requests/received/all\" &&\n props.location.pathname !== \"/feedback/requests/received/pending\" &&\n props.location.pathname !== \"/feedback/requests/received/closed\"\n )\n return ;\n\n if (STATUS === \":STATUS\") {\n return (\n \n );\n }\n\n if (value === 1) {\n return ;\n }\n\n if (requestedFeedbackId !== 0) {\n history.replace({\n pathname: `/feedback/requests/received/${indexToTab[tabValue]}`,\n state: {\n pageNo: pageNumber,\n user: user,\n },\n });\n history.push({\n pathname: `/feedback/requests/received/detail/${requestedFeedbackId}`,\n state: {\n tabName: indexToTab[tabValue],\n pageNo: pageNumber,\n user: user,\n },\n });\n }\n\n return (\n \n );\n};\n","import { CircularProgress, Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { ReceivedFeedbackDetailLayoutProp, State } from \"../../../../type\";\nimport { HomeLayout } from \"../../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6.5),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 5, 6, 5),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(12.25),\n padding: theme.spacing(3),\n },\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: `${window.innerHeight - 102}px`,\n },\n dateTypeGrid: {\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(5, 0, 0, 0),\n },\n },\n}));\n\nexport const ReceivedFeedbackDetailLayout: React.FC =\n ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n requestId,\n renderDetails,\n renderErrorModal,\n }) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n document.title = \"Grow-Wize | Received Feedback Detail\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderReceivedFeedbackDetailLayout = () => (\n \n {renderErrorModal()}\n \n {loading && }\n {!loading && <>{renderDetails()}}\n \n \n );\n\n const loading: Boolean = useSelector(\n (state: State) =>\n state.receivedFeedbackDetail.loading || state.data.loading\n );\n\n return (\n \n );\n };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { DetailPage } from \"../../../components/list/detail/DetailPage\";\nimport { ReceivedFeedbackDetailLayout } from \"../../../../layouts/user/received_feedback/detail/Layout\";\nimport { receivedFeedbackDetail } from \"../../../../redux/slices/ReceivedFeedbackDetailSlice\";\nimport { requestData } from \"../../../../redux/slices/UsersAndAttributesSlice\";\nimport jwt_decode from \"jwt-decode\";\nimport {\n FeedbackDetailAPICallProps,\n ReceivedFeedbackDetailData,\n State,\n UserAndAttributeSliceProps,\n} from \"../../../../type\";\n\ninterface TokenDataProps {\n iat: number;\n exp: number;\n sub: number;\n role: string;\n org_id?: number;\n status?: string;\n}\n\nexport const ReceivedFeedbackDetail = (props) => {\n const { id } = props.match.params;\n const dispatch = useDispatch();\n const [logout, setLogout] = React.useState(false);\n const [value, setValue] = React.useState(-1);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const token: string = useSelector((state: State) => state.auth.token);\n const uid = new URLSearchParams(props.location.search).get(\"uid\");\n\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n org_id: 0,\n };\n try {\n tokenData = jwt_decode(token);\n } catch (e) {\n console.log((e as Error).message);\n }\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: false,\n isAttributes: false,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: true,\n };\n dispatch(requestData(param));\n const params: FeedbackDetailAPICallProps = {\n feedbackId: id,\n };\n dispatch(receivedFeedbackDetail(params));\n }, [id]);\n\n const data: ReceivedFeedbackDetailData = useSelector(\n (state: State) => state.receivedFeedbackDetail.feedback\n );\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.receivedFeedbackDetail.status !== 200\n ? state.receivedFeedbackDetail.status\n : state.data.status !== 200\n ? state.data.status\n : null\n );\n\n const renderErrorModal = () => (\n <>\n {statusCode === 403 && tokenData.role === \"ADMIN\" && uid ? (\n <>\n ) : (\n \n )}\n \n );\n\n const renderDetails = () => (\n \n );\n\n if (!isDetailView) {\n history.push({\n pathname: \"/feedback/received\",\n state: {\n pageNo: props.location.state?.pageNumber,\n user: props.location.state?.user,\n tabValue: props.location.state?.tabValue,\n },\n });\n }\n\n if (value === 2) {\n if (data.user.organizationId === tokenData.org_id)\n history.push({\n pathname: \"/feedback/requests/employee\",\n state: {\n user: data.user,\n },\n });\n else\n history.push({\n pathname: \"/feedback/requests/client\",\n state: {\n user: data.user,\n },\n });\n }\n\n if(statusCode === 403 && tokenData.role === \"ADMIN\" && uid !== null) {\n history.push({\n pathname: `/admin/detail/view`,\n state: {\n feedbackOrAssessmentId: id,\n memberId: uid,\n from: \"dashboard\",\n tabValue: 0,\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { ReceivedFeedbacksLayoutProp, State } from \"../../../type\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n root2: {\n alignItems: \"center\",\n padding: theme.spacing(6, 0, 0, 0),\n marginTop: theme.spacing(10),\n backgroundColor: \"white\",\n minHeight: `${window.innerHeight - 85}px`,\n },\n}));\n\nexport const ReceivedFeedbacksLayout: React.FC = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n count,\n showNoRequest,\n renderErrorModal,\n renderSearchBox,\n renderReceivedFeedbacksList,\n renderChangePageButtons,\n renderNoFeedbacks,\n renderFilter,\n}) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n document.title = \"Grow-Wize | Received Feedback\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderReceivedFeedbacksLayout = () => (\n <>\n {renderErrorModal()}\n {showNoRequest ? (\n \n {renderNoFeedbacks()}\n \n ) : (\n \n \n \n {renderSearchBox()}\n \n \n {renderFilter()}\n \n \n {renderReceivedFeedbacksList()}\n {count !== 0 ? renderChangePageButtons() : null}\n \n \n \n )}\n \n );\n\n const loading: Boolean = useSelector(\n (state: State) => state.countReceived.loading\n );\n\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { ReceivedFeedbacksLayout } from \"../../../layouts/user/received_feedback/Layout\";\nimport { countReceivedFeedback } from \"../../../redux/slices/CountReceivedFeedbacksSlice\";\nimport { receivedFeedback } from \"../../../redux/slices/ReceivedFeedbacksSlice\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n ReceivedFeedbackSlice,\n RequestingParams,\n State,\n User,\n UserAndAttributeSliceProps,\n} from \"../../../type\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { UserSearchBox } from \"../../components/UserSearchBoxComponent\";\nimport { NoRecordComponent } from \"../../components/list/noRecordPage/NoRecordPage\";\nimport { ListContainerComponent } from \"../../components/list/ListContainer\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { CustomSelect } from \"../../components/CustomSelect\";\n\nexport const ReceivedFeedbacks = (props) => {\n const dispatch = useDispatch();\n const pageValue = props.location.state?.pageNo;\n const usr = props.location.state?.user;\n const tabNo = props.location.state?.tabValue;\n const [value, setValue] = React.useState(-1);\n const [tabValue, setTabValue] = React.useState(tabNo ? tabNo : 0);\n const [receivedFeedbackId, setReceivedFeedbackId] = React.useState(0);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [user, setUser] = React.useState(usr ? usr : null);\n const [allFeedbackCount, setAllFeedbackCount] = React.useState(-1);\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: false,\n isClients: true,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n dispatch(requestData(param));\n }, []);\n\n useEffect(() => {\n let requestParams: string = \"\";\n if (user) requestParams += \"?senderId=\" + user.id;\n\n if (user) {\n if (tabValue === 1) requestParams += \"&requestTag=INTERNAL\";\n else if (tabValue === 2) requestParams += \"&requestTag=EXTERNAL\";\n else requestParams += \"&requestTag=ANY\";\n } else {\n if (tabValue === 1) requestParams += \"?requestTag=INTERNAL\";\n else if (tabValue === 2) requestParams += \"?requestTag=EXTERNAL\";\n else requestParams += \"?requestTag=ANY\";\n }\n let requestingData: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(countReceivedFeedback(requestingData));\n }, [user, tabValue]);\n\n useEffect(() => {\n let requestParams: string = \"\";\n requestParams += \"?offSet=\" + (pageNumber - 1) * 10;\n if (user) requestParams += \"&senderId=\" + user.id;\n if (tabValue === 1) requestParams += \"&requestTag=INTERNAL\";\n else if (tabValue === 2) requestParams += \"&requestTag=EXTERNAL\";\n else requestParams += \"&requestTag=ANY\";\n let requestingData: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(receivedFeedback(requestingData));\n }, [pageNumber, user, tabValue]);\n\n const users: Array = useSelector(\n (state: State) => state.data.data?.users ?? []\n );\n const clients: Array = useSelector(\n (state: State) => state.data.data?.clients ?? []\n );\n\n const count: number = useSelector(\n (state: State) => state.countReceived.data ?? 0\n );\n\n useEffect(() => {\n if (user === null && tabValue === 0) setAllFeedbackCount(count);\n }, [count, tabValue, user]);\n\n const feedbackLoading = useSelector(\n (state: State) => state.receivedFeedbacks.loading\n );\n\n const receivedFeedbackData: Array = [];\n const feedbackData =\n useSelector((state: State) => state.receivedFeedbacks.feedbacks) ??\n receivedFeedbackData;\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.data.status !== 200\n ? state.data.status\n : state.countReceived.status !== 200\n ? state.countReceived.status\n : state.receivedFeedbacks.status !== 200\n ? state.receivedFeedbacks.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderFilter = () => (\n \n );\n\n const renderReceivedFeedbacksList = () => (\n \n );\n\n const renderNoFeedback = () => (\n \n );\n\n const renderChangePageButtons = () => (\n \n \n \n );\n\n if (value === 2) return ;\n\n if (receivedFeedbackId > 0) {\n history.replace({\n pathname: \"/feedback/received\",\n state: {\n pageNo: pageNumber,\n user: user,\n tabValue: tabValue,\n },\n });\n history.push({\n pathname: `/feedback/received/detail/${receivedFeedbackId}`,\n state: {\n pageNumber: pageNumber,\n user: user,\n tabValue: tabValue,\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { RequestFeedbackLayoutProps } from \"../../../type\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: `${window.innerHeight - 102}px`,\n marginTop: theme.spacing(6.5),\n padding: theme.spacing(6, 6, 6, 5),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n },\n}));\n\nexport const RequestFeedbackLayout: React.FC = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n tabValue,\n renderErrorModal,\n renderTabs,\n renderRequestFeedbackForm,\n renderRequestFeedbackList,\n renderRequestFeedbackFromExtClientForm,\n}) => {\n const indexToTab =\n {\n 0: \"Employee\",\n 1: \"Client\",\n 2: \"Past Requests\",\n };\n const classes = useStyle();\n document.title = `Grow-Wize | Request Feedback | ${indexToTab[tabValue]}`;\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderRequestFeedbackLayout = () => (\n \n {renderErrorModal()}\n \n {renderTabs()}\n {tabValue === 0 ? renderRequestFeedbackForm() : null}\n {tabValue === 1 &&\n renderRequestFeedbackFromExtClientForm()}\n {tabValue === 2 &&\n renderRequestFeedbackList()}\n \n \n );\n\n return (\n \n );\n};\n","import { CircularProgress, Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { RequestFeedbackFormLayoutProps } from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n form: {\n padding: theme.spacing(4, 1, 0, 1),\n textAlign: \"initial\",\n width: \"inherit\",\n },\n loaderBackground: {\n width: \"inherit\",\n height: `${window.innerHeight - 225}px`,\n },\n}));\n\nexport const RequestFeedbackFormLayout: React.FC =\n ({\n loading,\n usersArrayLength,\n renderValidationModal,\n renderFormDivider,\n renderErrorModal,\n renderModal,\n handleSubmit,\n renderChooseMemberText,\n renderSelectColleagues,\n renderAddButton,\n renderSelectAttributesText,\n renderAttributeSelectionText,\n renderAttributes,\n renderAttributeSelectionNoteText,\n renderContextText,\n renderOptionalText,\n renderAdditionalInfoText,\n renderTextField,\n renderCancelButton,\n renderSendButton,\n renderWarningText,\n }) => {\n const classes = useStyle();\n\n if (loading)\n return (\n \n \n \n \n \n );\n else\n return (\n \n {renderErrorModal()}\n {renderModal()}\n
\n \n {renderChooseMemberText()}\n {usersArrayLength ===0 && renderSelectColleagues()}\n {renderAddButton()}\n {renderWarningText()}\n {renderFormDivider()}\n \n {renderSelectAttributesText()}\n {renderOptionalText()}\n \n {renderAttributeSelectionText()}\n {renderAttributes()}\n {renderAttributeSelectionNoteText()}\n {renderFormDivider()}\n \n {renderContextText()}\n {renderOptionalText()}\n \n {renderAdditionalInfoText()}\n {renderTextField()}\n {renderValidationModal()}\n \n {renderCancelButton()}\n {renderSendButton()}\n \n \n \n
\n );\n };\n","import { Avatar, Button, Chip, TextField, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport theme from \"../../../../theme\";\nimport { AddButtonProps, CancelButtonProps, State, User } from \"../../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n popper: {\n border: `1px solid #E7E7E7 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"#FFFFFF\",\n width: \"-webkit-fill-available\",\n fontSize: 13,\n \"&:focus\": {\n borderColor: \"#576BEA !important\",\n },\n \"&:hover\": {\n borderColor: \"#576BEA !important\",\n },\n },\n textField: {\n \"&:focus\": {\n border: \"none !important\",\n },\n \"&:hover\": {\n border: \"none !important\",\n },\n fontSize: theme.spacing(1.75),\n border: \"none !important\",\n color: \"#A0A0A0\",\n fontWeight: 500,\n width: \"100%\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n chip: {\n margin: theme.spacing(2, 1, 1, 1),\n borderColor: \"#576BEA\",\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n btn: {\n margin: theme.spacing(3, 0, 0, 0),\n backgroundColor: \"#576BEA\",\n },\n btn_: {\n margin: theme.spacing(3, 0, 0, 0),\n },\n typography_body_1: {\n alignItems: \"center\",\n color: \"#FFFFFF\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_2: {\n alignItems: \"center\",\n color: \"#868686\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: \"#000000\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const AddButton: React.FC = ({\n selectedUsers,\n setSelectedUsers,\n}) => {\n const classes = useStyle();\n const customStyle = useCustomStyle();\n\n const users: Array = [];\n const labels = useSelector((state: State) => state.data.data?.users) ?? users;\n\n return (\n <>\n option.id === value.id}\n onChange={(event, newValue) => {\n setSelectedUsers(newValue.filter((v) => typeof v !== \"string\"));\n }}\n filterSelectedOptions\n disableCloseOnSelect\n renderTags={(value: User[], getTagProps) =>\n value.map((user: User, index: number) => (\n \n }\n label={\n \n {user.firstName + \" \" + user.lastName}\n \n }\n className={classes.chip}\n {...getTagProps({ index })}\n />\n ))\n }\n options={labels}\n getOptionLabel={(option) => option.firstName + \" \" + option.lastName}\n renderOption={(option, { selected }) => (\n \n \n
\n \n {option.firstName + \" \" + option.lastName}\n \n
\n
\n )}\n renderInput={(params) => (\n \n )}\n />\n \n );\n};\n\nexport const SendButton = () => {\n const classes = useStyle();\n\n return (\n \n \n Send\n \n \n );\n};\n\nexport const CancelButton: React.FC = ({ setValue }) => {\n const classes = useStyle();\n\n async function handleCancel(e) {\n e.preventDefault();\n setValue(0);\n }\n return (\n \n \n Cancel\n \n \n );\n};\n","import { Typography } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n typography_head: {\n color: \"#576BEA\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"14px\",\n },\n },\n typography_body: {\n color: \"#272727\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n typography_body_1: {\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_error: {\n color: \"#c40808\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"20px\",\n },\n },\n })\n);\n\ninterface TextProp {\n from?: string;\n}\n\nexport const ThankYouText = () => {\n const classes = useStyles();\n\n return (\n \n THANK YOU!\n \n );\n};\n\nexport const RequestSuccessfulText: React.FC = ({ from }) => {\n const classes = useStyles();\n\n return (\n \n {(from === \"REQUEST_EMPLOYEE\" || from === \"REQUEST_CLIENT\") && (\n Feedback request successfully sent!\n )}\n {from === \"SHARE_FEEDBACK\" && Feedback successfully sent!}\n {from === \"SELF_ASSESSMENT\" && (\n Self-assessment successfully submitted!\n )}\n \n );\n};\n\nexport const ReturnDashboardText = () => {\n const classes = useStyles();\n\n return (\n \n RETURN TO DASHBOARD\n \n );\n};\n\nexport const RequestAnotherText: React.FC = ({ from }) => {\n const classes = useStyles();\n\n return (\n \n {(from === \"REQUEST_EMPLOYEE\" || from === \"REQUEST_CLIENT\") &&\n \"REQUEST ANOTHER\"}\n {from === \"SHARE_FEEDBACK\" && \"SHARE ANOTHER\"}\n {from === \"SELF_ASSESSMENT\" && \"SUBMIT ANOTHER\"}\n \n );\n};\n\nexport const ErrorMessageText = () => {\n const classes = useStyles();\n\n return (\n \n Please login again\n \n );\n};\n","import { Box, Button, Divider, Grid } from \"@material-ui/core\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { LazyLoadImage } from \"react-lazy-load-image-component\";\nimport theme from \"../../../../theme\";\nimport { ModalProps } from \"../../../../type\";\nimport {\n RequestAnotherText,\n RequestSuccessfulText,\n ReturnDashboardText,\n ThankYouText,\n} from \"./popUpText\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: \"100 100 100 100 \",\n margin: theme.spacing(10, 10, 10, 10),\n },\n root: {\n background: \"white\",\n display: \"flex,\",\n },\n img: {\n display: \"flex\",\n padding: theme.spacing(5, 0, 5, 0),\n },\n btn: {\n margin: theme.spacing(0, 2, 2, 2),\n padding: theme.spacing(2, 2, 2, 2),\n minWidth: \"200px\",\n },\n })\n);\n\nexport const ConsentModal: React.FC = ({\n showModal,\n setShowModal,\n setValue,\n to,\n}) => {\n const classes = useStyles();\n\n function handleClose(e) {\n e.preventDefault();\n setShowModal(false);\n if (to === \"SHARE_FEEDBACK\") setValue(1);\n }\n\n function handleReturnToDashboard(e) {\n e.preventDefault();\n setShowModal(false);\n setValue(0);\n }\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {to !== \"SELF_ASSESSMENT\" && (\n \n \n \n )}\n \n \n \n \n \n \n );\n};\n","import {\n createStyles,\n Grid,\n makeStyles,\n Theme,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport { useCustomStyle } from \"../../../styles\";\nimport {\n EditorForText,\n RemainingCharWarnText,\n} from \"../share_feedback/addNewButtonElements\";\nimport \"../share_feedback/style.css\";\n\nconst useStyle = makeStyles((theme: Theme) =>\n createStyles({\n remainingChar: {\n fontSize: theme.spacing(1.5),\n color: \"#868686\",\n textAlign: \"end\",\n fontWeight: 500,\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.125),\n },\n },\n editor: {\n width: \"-webkit-fill-available\",\n },\n })\n);\n\nexport const ContextTextEditorComponent = ({\n showToolbar,\n setShowToolbar,\n editorState,\n onEditorStateChange,\n context,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n return (\n <>\n
\n \n
\n \n \n \n \n \n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { ErrorPopUp } from \"../../../components/ErrorPages/errorModal\";\nimport { ClearAllData } from \"../../../constants/clearData\";\nimport { RequestFeedbackFormLayout } from \"../../../../layouts/user/request_feedback/requestFeedbackFormLayout\";\nimport { requestFeedback } from \"../../../../redux/slices/RequestFeebackSlice\";\nimport { Props, ResponseAttribute, State, User } from \"../../../../type\";\nimport { RequestFeedbackFormProps } from \"../typeRequestFeedback\";\nimport { AddButton, CancelButton, SendButton } from \"./buttons\";\nimport { ConsentModal } from \"./popUp\";\nimport {\n AdditionalInfoText,\n AttributeChips,\n AttributeSelectionNoteText,\n AttributeSelectionText,\n ChooseMemberText,\n ContextText,\n FormDivider,\n OptionalText,\n SelectAttributesText,\n SelectColleagues,\n} from \"./requestFeedbackText\";\nimport {\n EditorState,\n convertToRaw,\n convertFromHTML,\n ContentState,\n} from \"draft-js\";\nimport draftToHtml from \"draftjs-to-html\";\nimport { ValidationPromptModal } from \"../../../components/ValidationModal\";\nimport { ContextTextEditorComponent } from \"../ContextText\";\n\nexport const RequestFeedbackForm: React.FC = ({\n setValue,\n user,\n context,\n setContext,\n selectedAttributeIds,\n setSelectedAttributeIds,\n}) => {\n const dispatch = useDispatch();\n const [selectedUsers, setSelectedUsers] = React.useState(\n user ? [user] : []\n );\n const [showModal, setShowModal] = React.useState(false);\n const [showErrorModal, setShowErrorModal] = React.useState(false);\n const [dispatched, setDispatched] = React.useState(false);\n const [dataCleared, setDataCleared] = React.useState(false);\n const [logout, setLogout] = React.useState(false);\n const [isAnyUser, setIsAnyUser] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [editorState, setEditorState] = React.useState(\n context.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(context).contentBlocks,\n convertFromHTML(context).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n const [showToolbar, setShowToolbar] = React.useState(false);\n\n const renderFormDivider = () => ;\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n setContext(draftToHtml(convertToRaw(state.getCurrentContent())));\n };\n\n const statusCode: number | null = useSelector(\n (state: State) => state.request.status\n );\n\n const history = useHistory();\n const goToPreviousPath = () => {\n if (history.length > 10) {\n history.goBack();\n } else {\n history.push(\"/\");\n }\n };\n const logoutUser = () => {\n setLogout(true);\n };\n\n const renderErrorModal = () => (\n \n );\n\n const renderModal = () => (\n \n );\n\n const renderChooseMemberText = () => ;\n\n const renderSelectColleagues = () => (\n \n );\n\n const renderAddButton = () => (\n \n );\n\n const renderSelectAttributesText = () => ;\n\n const renderAttributeSelectionText = () => ;\n\n const renderAttributeSelectionNoteText = () => ;\n\n const emptyAttributes: Array = [];\n const attributes: Array =\n useSelector((state: State) => state.data.data?.attributes) ??\n emptyAttributes;\n\n const renderAttributes = () => (\n \n );\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const renderValidationModal = () => (\n \n );\n\n const renderContextText = () => ;\n\n const renderOptionalText = () => ;\n\n const renderAdditionalInfoText = () => ;\n\n const renderTextField = () => (\n \n );\n\n const renderCancelButton = () => (\n \n );\n\n const renderSendButton = () => ;\n\n function handleSubmit(e) {\n e.preventDefault();\n if (selectedUsers.length === 0) {\n setIsAnyUser(true);\n } else if (context.length > 10000) {\n handleOpen();\n } else {\n const arg: Props = {\n usersRequested: selectedUsers.map((user) => user.id),\n attributes: selectedAttributeIds,\n context: context\n .replace(/ |‌|»|«|>/g, \" \")\n .trim(),\n };\n dispatch(requestFeedback(arg));\n setDispatched(true);\n }\n }\n\n const { status, loading } = useSelector((state: State) => state.request);\n\n useEffect(() => {\n if (dispatched === true && status === 201 && loading === false) {\n setSelectedUsers([]);\n setSelectedAttributeIds([]);\n setContext(\"\");\n setEditorState(EditorState.createEmpty());\n setShowModal(true);\n setDispatched(false);\n } else if (dispatched === true && status !== null && loading === false) {\n setDispatched(false);\n setShowErrorModal(true);\n }\n }, [dispatched, status, loading]);\n\n const attributesLoading: Boolean = useSelector(\n (state: State) => state.data.loading\n );\n\n if (logout && !dataCleared) ClearAllData(setDataCleared);\n\n if (logout && dataCleared) {\n return ;\n }\n\n const renderWarningText = () => <>;\n\n return (\n \n );\n};\n","import { Avatar, Chip, TextField, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { AddButtonForExtProps, State, User } from \"../../../../type\";\nimport validator from \"validator\";\nimport { avatarColor } from \"../../../constants/avatarBackgroundColor\";\nimport { useCustomStyle } from \"../../../../styles\";\n\nexport const useStyle = makeStyles((theme) => ({\n popper: {\n border: `1px solid #E7E7E7 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"#FFFFFF\",\n width: \"-webkit-fill-available\",\n fontSize: 13,\n \"&:focus\": {\n borderColor: \"#576BEA !important\",\n },\n \"&:hover\": {\n borderColor: \"#576BEA !important\",\n },\n },\n textField: {\n \"&:focus\": {\n border: \"none !important\",\n },\n \"&:hover\": {\n border: \"none !important\",\n },\n fontSize: theme.spacing(1.75),\n border: \"none !important\",\n color: \"#A0A0A0\",\n fontWeight: 500,\n width: \"100%\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n chip: {\n margin: theme.spacing(2, 1, 1, 1),\n borderColor: \"#576BEA\",\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: \"#000000\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nexport const AddButton: React.FC = ({\n selectedUsers,\n setSelectedUsers,\n}) => {\n const classes = useStyle();\n const customStyle = useCustomStyle();\n\n const clients: Array = [];\n const label: Array =\n useSelector((state: State) => state.data.data?.clients) ?? clients;\n const userLables: Array =\n useSelector((state: State) => state.data.data?.users) ?? clients;\n const arr = new Map();\n const userDomain = userLables[0]?.emailId.split(\"@\")[1] ?? \"technogise.com\";\n label.map((l) =>\n arr.set(l.emailId, { firstName: l.firstName, lastName: l.lastName })\n );\n\n const labels: Array = [];\n label.map((l) => labels.push(l.emailId));\n\n return (\n <>\n option === value}\n onChange={(event, newValue, reason) => {\n setSelectedUsers(newValue);\n }}\n filterSelectedOptions\n disableCloseOnSelect\n renderTags={(value: string[], getTagProps) =>\n value.map((user: string, index: number) => (\n <>\n \n }\n label={\n \n {arr?.get(user)\n ? `${arr?.get(user).firstName} ${arr?.get(user).lastName}`\n : user}\n \n }\n className={classes.chip}\n style={\n arr?.get(user) === undefined && !validator.isEmail(user)\n ? { borderColor: \"#DC0101\" }\n : user.includes(userDomain)\n ? { borderColor: \"#FF8850\" }\n : {}\n }\n {...getTagProps({ index })}\n />\n \n ))\n }\n options={labels}\n getOptionLabel={(option) => option}\n renderOption={(option, { selected }) => (\n \n \n
\n \n {`${arr?.get(option).firstName} ${arr?.get(option).lastName}`}\n \n
\n
\n )}\n renderInput={(params) => (\n {\n if (\n !selectedUsers.find(\n (u) => u === (e.target as HTMLInputElement).value?.toLowerCase()\n ) && (e.target as HTMLInputElement).value?.length > 0\n )\n setSelectedUsers(\n selectedUsers.concat(\n (e.target as HTMLInputElement).value?.toLowerCase()\n )\n );\n }}\n />\n )}\n />\n \n );\n};\n","import {\n createStyles,\n Grid,\n makeStyles,\n Theme,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { ErrorPopUp } from \"../../../components/ErrorPages/errorModal\";\nimport { ClearAllData } from \"../../../constants/clearData\";\nimport { RequestFeedbackFormLayout } from \"../../../../layouts/user/request_feedback/requestFeedbackFormLayout\";\nimport { ExtProps, ResponseAttribute, State, User } from \"../../../../type\";\nimport { AddButton } from \"./buttons\";\nimport { CancelButton, SendButton } from \"../request_employee/buttons\";\nimport { ConsentModal } from \"../request_employee/popUp\";\nimport {\n AdditionalInfoText,\n AttributeChips,\n AttributeSelectionNoteText,\n AttributeSelectionText,\n ChooseMemberText,\n ContextText,\n FormDivider,\n SelectAttributesText,\n SelectColleagues,\n} from \"../request_employee/requestFeedbackText\";\nimport {\n EditorState,\n convertToRaw,\n convertFromHTML,\n ContentState,\n} from \"draft-js\";\nimport draftToHtml from \"draftjs-to-html\";\nimport validator from \"validator\";\nimport { requestFeedbackFromExtClient } from \"../../../../redux/slices/RequestFeedbackFromExtClientSlice\";\nimport { RequestFeedbackFormProps } from \"../typeRequestFeedback\";\nimport { ValidationPromptModal } from \"../../../components/ValidationModal\";\nimport { ContextTextEditorComponent } from \"../ContextText\";\n\nconst useStyle = makeStyles((theme: Theme) =>\n createStyles({\n warningText: {\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: theme.spacing(1),\n textAlign: \"start\",\n },\n })\n);\n\nexport const RequestFeedbackFromExtClientForm: React.FC<\n RequestFeedbackFormProps\n> = ({\n setValue,\n user,\n context,\n setContext,\n selectedAttributeIds,\n setSelectedAttributeIds,\n}) => {\n const dispatch = useDispatch();\n const classes = useStyle();\n const [selectedUsers, setSelectedUsers] = React.useState(\n user ? [user.emailId] : []\n );\n const [isValidEmail, setIsValidEmail] = React.useState(false);\n const [isAnyDomainEmail, setIsAnyDomainEmail] =\n React.useState(false);\n const [showModal, setShowModal] = React.useState(false);\n const [showErrorModal, setShowErrorModal] = React.useState(false);\n const [dispatched, setDispatched] = React.useState(false);\n const [dataCleared, setDataCleared] = React.useState(false);\n const [logout, setLogout] = React.useState(false);\n const [isAnyUser, setIsAnyUser] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [editorState, setEditorState] = React.useState(\n context.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(context).contentBlocks,\n convertFromHTML(context).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n const [showToolbar, setShowToolbar] = React.useState(false);\n const [contextAlert, setContextAlert] = React.useState(false);\n\n const renderFormDivider = () => ;\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n setContext(draftToHtml(convertToRaw(state.getCurrentContent())));\n };\n\n const statusCode: number | null = useSelector(\n (state: State) => state.requestFeedbackFromExtClient.status\n );\n const clients: Array = [];\n const userLables: Array =\n useSelector((state: State) => state.data.data?.users) ?? clients;\n const loggedInUserEmail: string = useSelector(\n (state: State) => state.auth.email\n );\n const userDomain = loggedInUserEmail.split(\"@\")[1];\n\n const history = useHistory();\n const goToPreviousPath = () => {\n if (history.length > 10) {\n history.goBack();\n } else {\n history.push(\"/\");\n }\n };\n\n const logoutUser = () => {\n setLogout(true);\n };\n\n const renderErrorModal = () => (\n \n );\n\n const renderModal = () => (\n \n );\n\n const renderChooseMemberText = () => ;\n\n const renderSelectColleagues = () => (\n \n );\n\n const renderAddButton = () => (\n \n );\n\n const renderSelectAttributesText = () => ;\n\n const renderAttributeSelectionText = () => ;\n\n const renderAttributeSelectionNoteText = () => ;\n\n const emptyAttributes: Array = [];\n const attributes: Array =\n useSelector((state: State) => state.data.data?.attributes) ??\n emptyAttributes;\n\n useEffect(() => {\n let validEmail = false;\n let domainValidation = false;\n\n selectedUsers.map((user) => {\n if (user.includes(userDomain)) domainValidation = true;\n if (!validator.isEmail(user)) validEmail = true;\n });\n setIsValidEmail(validEmail);\n setIsAnyDomainEmail(domainValidation);\n }, [selectedUsers, userDomain]);\n\n const renderAttributes = () => (\n \n );\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const renderValidationModal = () => (\n \n );\n\n const renderContextText = () => ;\n\n const renderOptionalText = () => <>;\n\n const renderAdditionalInfoText = () => (\n \n );\n\n const renderTextField = () => (\n \n );\n\n const renderWarningText = () => (\n <>\n {isValidEmail && (\n \n \n {\"Kindly enter valid Email-Id(s)\"}\n \n \n )}\n {isAnyDomainEmail && (\n \n \n {\"Kindly enter client email(s) only\"}\n \n \n )}\n \n );\n\n const renderCancelButton = () => (\n \n );\n\n const renderSendButton = () => ;\n\n function handleSubmit(e) {\n e.preventDefault();\n let regex = /(<([^>]+)>)/gi;\n let validation = false;\n let domainValidation = false;\n let ans = context;\n for (let idx = 0; idx < selectedUsers.length; idx++) {\n if (!validator.isEmail(selectedUsers[idx])) {\n validation = true;\n }\n if (selectedUsers[idx].includes(userDomain)) {\n domainValidation = true;\n }\n }\n if (selectedUsers.length === 0) {\n setIsAnyUser(true);\n }\n if (validation || domainValidation) {\n if (domainValidation) setIsAnyDomainEmail(domainValidation);\n if (validation) setIsValidEmail(validation);\n }\n if (\n ans\n .replaceAll(/\\ /g, \"\")\n .replaceAll(regex, \"\")\n .replace(/\\s/g, \"\")\n .replace(/\\n/g, \"\").length < 3 ||\n context.length < 9\n ) {\n setContextAlert(true);\n } else if (context.length > 10000) {\n handleOpen();\n } else if (selectedUsers.length > 0 && !validation && !domainValidation) {\n const arg: ExtProps = {\n requestedUsersEmail: selectedUsers,\n attributes: selectedAttributeIds,\n context: context\n .replace(/ |‌|»|«|>/g, \" \")\n .trim(),\n };\n dispatch(requestFeedbackFromExtClient(arg));\n setDispatched(true);\n setIsAnyDomainEmail(false);\n setIsValidEmail(false);\n }\n }\n\n const { status, loading } = useSelector(\n (state: State) => state.requestFeedbackFromExtClient\n );\n\n useEffect(() => {\n if (dispatched === true && status === 201 && loading === false) {\n setSelectedUsers([]);\n setSelectedAttributeIds([]);\n setContext(\"\");\n setContextAlert(false);\n setEditorState(EditorState.createEmpty());\n setShowModal(true);\n setDispatched(false);\n } else if (dispatched === true && status !== null && loading === false) {\n setDispatched(false);\n setShowErrorModal(true);\n }\n }, [dispatched, status, loading]);\n\n const attributesLoading: Boolean = useSelector(\n (state: State) => state.data.loading\n );\n\n if (logout && !dataCleared) ClearAllData(setDataCleared);\n\n if (logout && dataCleared) {\n return ;\n }\n\n return (\n \n );\n};\n","import { CircularProgress, Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { RequestFeedbackListLayoutProps } from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n height: \"-webkit-fill-available\",\n minHeight: `${window.innerHeight - 102}px`,\n },\n loaderBackground: {\n width: \"inherit\",\n height: `${window.innerHeight - 225}px`,\n },\n}));\n\nexport const RequestFeedbackListLayout: React.FC =\n ({\n loading,\n renderSearchBox,\n renderRequests,\n renderFilter,\n renderChangePageButtons,\n renderRequestCancelModal,\n }) => {\n const classes = useStyle();\n\n if (loading)\n return (\n \n \n \n \n \n );\n else\n return (\n \n \n \n {renderSearchBox()}\n {renderRequestCancelModal()}\n \n \n {renderFilter()}\n \n \n {renderRequests()}\n \n \n {renderChangePageButtons()}\n \n \n \n );\n };\n","import { Grid } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { RequestFeedbackListLayout } from \"../../../../layouts/user/request_feedback/requestFeedbackListLayout\";\nimport { countRequestSendFeedback } from \"../../../../redux/slices/CountRequestsSendSlice\";\nimport { getAllSendRequests } from \"../../../../redux/slices/FeedbackRequestsSendSlice\";\nimport {\n RequestingParams,\n SendRequest,\n State,\n User,\n} from \"../../../../type\";\nimport { RequestFeedbackListProps } from \"../typeRequestFeedback\";\nimport { UserSearchBox } from \"../../../components/UserSearchBoxComponent\";\nimport { ChangePageButtonComponent } from \"../../../components/changePageButtons\";\nimport { RequestListProps } from \"../../../components/type\";\nimport { ListContainerComponent } from \"../../../components/list/ListContainer\";\nimport { CustomSelect } from \"../../../components/CustomSelect\";\nimport { DeleteAttributeCardComponent } from \"../../../components/DeleteAttributeCard\";\nimport { updateRequestStatus } from \"../../../../redux/slices/UpdateRequestStatusSlice\";\n\nexport interface CancelRequestParams {\n documentId: number;\n userId: number;\n}\n\nexport const RequestFeedbackList: React.FC = ({\n user,\n setUser,\n pageNumber,\n setPageNumber,\n setRequestedUserId,\n setRequestedFeedbackId,\n filterValue,\n setFilterValue,\n}) => {\n const users = useSelector((state: State) => state.data.data?.users) ?? [];\n\n const [cancelRequestParam, setCancelRequestParam] =\n React.useState({\n documentId: 0,\n userId: 0,\n });\n const [open, setOpen] = React.useState(false);\n const cancelReqStatus = useSelector(\n (state: State) => state.updateRequestStatus.status\n );\n\n const clients: Array = useSelector(\n (state: State) => state.data.data?.clients ?? []\n );\n\n const dispatch = useDispatch();\n const emptyRequestArrray: Array = [];\n\n useEffect(() => {\n if (cancelReqStatus === 200) {\n setCancelRequestParam({\n documentId: 0,\n userId: 0,\n });\n }\n let requestParams: string = \"\";\n requestParams += \"?offSet=\" + (pageNumber - 1) * 10;\n if (user !== null) requestParams += \"&responderId=\" + user.id;\n if (filterValue === 1) requestParams += \"&requestTag=INTERNAL\";\n else if (filterValue === 2) requestParams += \"&requestTag=EXTERNAL\";\n else requestParams += \"&requestTag=ANY\";\n const params: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(getAllSendRequests(params));\n }, [pageNumber, user, filterValue, cancelReqStatus]);\n\n const requests =\n useSelector((state: State) => state.sendRequests.data) ??\n emptyRequestArrray;\n\n const loading: Boolean = useSelector(\n (state: State) => state.sendRequests.loading\n );\n const listData: Array = requests.map((r) => {\n const obj: RequestListProps = {\n user: r.respondingUser,\n createdAt: r.timeOfRequest,\n attributesName: r.attributeNames,\n feedbackId: r.feedbackRequestId,\n feedbackRequestStatus: r.feedbackRequestStatus,\n };\n return obj;\n });\n\n useEffect(() => {\n let str: string = \"\";\n if (user) str += \"?responderId=\" + user.id;\n if (user) {\n if (filterValue === 1) str += \"&requestTag=INTERNAL\";\n else if (filterValue === 2) str += \"&requestTag=EXTERNAL\";\n else str += \"&requestTag=ANY\";\n } else {\n if (filterValue === 1) str += \"?requestTag=INTERNAL\";\n else if (filterValue === 2) str += \"?requestTag=EXTERNAL\";\n else str += \"?requestTag=ANY\";\n }\n const params: RequestingParams = {\n requestParams: str,\n };\n dispatch(countRequestSendFeedback(params));\n }, [user, filterValue]);\n\n useEffect(() => {\n if (\n cancelRequestParam.documentId > 0 &&\n cancelRequestParam.userId > 0 &&\n !open\n ) {\n setOpen(true);\n }\n }, [cancelRequestParam]);\n\n const count =\n useSelector((state: State) => state.countRequestsSend.data) ?? -1;\n\n const handleModalClose = () => {\n setOpen(false);\n };\n\n const handleDelete = () => {\n let params =\n \"?feedbackRequestId=\" +\n cancelRequestParam.documentId +\n \"&responderId=\" +\n cancelRequestParam.userId;\n const param: RequestingParams = {\n requestParams: params,\n };\n dispatch(updateRequestStatus(param));\n setOpen(false);\n };\n\n const renderRequestCancelModal = () => (\n \n );\n\n const renderSentRequests = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderChangePageButtons = () => (\n <>\n {count > 0 && (\n \n \n \n )}\n \n );\n\n const renderFilter = () => (\n \n );\n\n return (\n \n );\n};\n","import {\n Divider,\n Grid,\n Hidden,\n makeStyles,\n MenuItem,\n Select,\n Tab,\n Tabs,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport Shepherd from 'shepherd.js';\nimport 'shepherd.js/dist/css/shepherd.css';\nimport { markRequestClientTourDone } from \"../../../redux/slices/CoachMarkSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { State } from \"../../../type\";\nimport \"../../../App.css\";\nimport { useHistory } from \"react-router-dom\";\n\nconst useStyle = makeStyles((theme) => ({\n tabs: {\n color: \"#576BEA\",\n width: theme.spacing(20),\n textAlign: \"left\",\n },\n divider: {\n backgroundColor: \"#576bea66\",\n width: \"inherit\",\n },\n typography_body_1: {\n textTransform: \"none\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n tab: {\n width: \"inherit\",\n minWidth: theme.spacing(10),\n padding: theme.spacing(0.5, 2.5, 0, 2.5),\n },\n}));\n\nconst RequestEmployeeText = () => {\n const classes = useStyle();\n return (\n \n Request Employee\n \n );\n};\n\nconst RequestClientText = () => {\n const classes = useStyle();\n return (\n \n Request Client\n \n );\n};\n\nconst PastRequestsText = () => {\n const classes = useStyle();\n return (\n \n Past Requests\n \n );\n};\n\nexport const TabLabels = ({ tabValue, setTabValue, props }) => {\n const classes = useStyle();\n const dispatch = useDispatch();\n const [showTour, setShowTour] = useState(false);\n const requestClientButtonTourStatus = useSelector((state: State) => state.coachMarks.dashboardTour.requestClientTour);\n const requestPageVisitCount = useSelector((state: State) => state.coachMarks.dashboardTour.requestNowPageVisitCount);\n const tourRef = useRef(null);\n const history = useHistory();\n\nuseEffect(() => {\n if (requestClientButtonTourStatus === \"PENDING\" && requestPageVisitCount === 2) {\n setShowTour(true);\n dispatch(markRequestClientTourDone()); \n } else {\n setShowTour(false);\n }\n}, [requestClientButtonTourStatus, requestPageVisitCount]);\n\nuseEffect(() => {\n if (showTour) {\n tourRef.current = new Shepherd.Tour({\n defaultStepOptions: {\n classes: 'custom-class-sm',\n scrollTo: { behavior: 'smooth', block: 'center' },\n }\n });\n\n const attachToOptions = {\n element: '.request-client-btn',\n on: 'top'\n };\n\n if (window.innerWidth <= 767) {\n // Modify attachTo options for smaller screens\n attachToOptions.on = 'bottom';\n }\n\n tourRef.current.addSteps([\n // Tour steps\n {\n text: 'Request feedback from your clients and external vendors from here',\n attachTo: attachToOptions,\n id: 'step2',\n scrollTo: true,\n when: {\n show: () => {\n setTimeout(() => {\n tourRef.current?.next();\n }, 5000);\n }\n },\n classes: 'request-clients-coachmark'\n }\n ]);\n\n tourRef.current.start();\n }\n}, [showTour]);\n\nuseEffect(() => {\n return history.listen(() => {\n if (tourRef.current) {\n tourRef.current?.cancel(); // *** Cancel the tour on route change ***\n }\n });\n}, [history]);\n\n const indexToTab = {\n 0: \"employee\",\n 1: \"client\",\n 2: \"sent\",\n };\n\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n props.history.push(`/feedback/requests/${indexToTab[newValue]}`);\n setTabValue(newValue);\n };\n\n const handleChange = (event: React.ChangeEvent<{ value: any }>) => {\n props.history.push(\n `/feedback/requests/${indexToTab[event.target.value as number]}`\n );\n setTabValue(event.target.value as number);\n };\n\n return (\n \n \n \n }\n />\n\n } />\n } />\n \n \n \n {\n \n \n \n \n \n \n \n \n \n \n \n \n \n }\n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { RequestFeedbackLayout } from \"../../../layouts/user/request_feedback/Layout\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport { State, User, UserAndAttributeSliceProps } from \"../../../type\";\nimport { RequestFeedbackForm } from \"./request_employee/requestFeedbackForm\";\nimport { RequestFeedbackFromExtClientForm } from \"./request_client/RequestFeedbackFromExtClient\";\nimport { RequestFeedbackList } from \"./request_list/RequestFeedbackList\";\nimport { TabLabels } from \"./tabLabels\";\n\nexport const RequestFeedback = (props) => {\n const { STATUS } = props.match.params;\n const [value, setValue] = React.useState(-1);\n const [requestedFeedbackId, setRequestedFeedbackId] =\n React.useState(0);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [context, setContext] = React.useState(\"\");\n const [selectedAttributeIds, setSelectedAttributeIds] = React.useState<\n number[]\n >([]);\n const [requestedUserId, setRequestedUserId] = React.useState(\n null\n );\n const tabToIndex = {\n employee: 0,\n client: 1,\n sent: 2,\n };\n const pageNo = props.location.state?.pageNo;\n const usr = props.location.state?.user;\n const filterNo = props.location.state?.filterNo;\n const [tabValue, setTabValue] = React.useState(tabToIndex[STATUS]);\n const [user, setUser] = React.useState(usr ? usr : null);\n const [pageNumber, setPageNumber] = React.useState(\n pageNo ? pageNo : 1\n );\n const [filterValue, setFilterValue] = React.useState(\n filterNo ? filterNo : 0\n );\n const token = useSelector((state: State) => state.auth.token);\n const dispatch = useDispatch();\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: true,\n isClients: true,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n dispatch(requestData(param));\n }, []);\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.data.status !== 200\n ? state.data.status\n : state.countRequestsSend.status !== 200\n ? state.countRequestsSend.status\n : state.sendRequests.status !== 200\n ? state.sendRequests.status\n : null\n );\n\n if (\n props.location.pathname !== \"/feedback/requests/employee\" &&\n props.location.pathname !== \"/feedback/requests/client\" &&\n props.location.pathname !== \"/feedback/requests/sent\"\n )\n return ;\n\n const renderErrorModal = () => (\n \n );\n\n const renderTabLabels = () => (\n \n );\n\n const renderRequestFeedbackForm = () => (\n \n );\n\n const renderRequestFeedbackFromExtClientForm = () => (\n \n );\n\n const renderRequestFeedbackList = () => (\n \n );\n\n if (value === 0) {\n return ;\n }\n\n if (requestedFeedbackId !== 0) {\n history.replace({\n pathname: \"/feedback/requests/sent\",\n state: {\n pageNo: pageNumber,\n user: user,\n filterNo: filterValue,\n },\n });\n history.push({\n pathname: `/feedback/request/sent/detail/${requestedFeedbackId}/${requestedUserId}`,\n state: {\n pageNo: pageNumber,\n user: user,\n filterNo: filterValue,\n },\n });\n }\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { RequestFeedbackDetailsLayoutProp } from \"../../../../modules/user/request_feedback/typeRequestFeedback\";\nimport { State } from \"../../../../type\";\nimport { HomeLayout } from \"../../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(10),\n padding: theme.spacing(5.5, 3, 3, 3),\n },\n marginTop: theme.spacing(9),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: `${window.innerHeight - 102}px`,\n },\n}));\n\nexport const RequestFeedbackDetailsLayout: React.FC =\n ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderDetails,\n }) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n document.title = \"Grow-Wize | Request Feedback Detail\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderFeedbackRequestDetailLayout = () => (\n \n \n {renderErrorModal()}\n {renderDetails()}\n \n \n );\n const loading: boolean = useSelector(\n (state: State) => state.sentRequestDetails.loading\n );\n\n return (\n \n );\n };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../../../components/CommonFunctionalityComponent\";\nimport { DetailPage } from \"../../../../components/list/detail/DetailPage\";\nimport { RequestFeedbackDetailsLayout } from \"../../../../../layouts/user/request_feedback/detail/Layout\";\nimport { sentFeedbackRequestDetails } from \"../../../../../redux/slices/SentFeedbackRequestDetailsSlice\";\nimport { SentFeedbackRequestDetailAPICallProps, State } from \"../../../../../type\";\nimport { FeedbackRequestDetailData } from \"../../typeRequestFeedback\";\n\nexport const RequestFeedbackDetails = (props) => {\n const { id } = props.match.params;\n const { uid } = props.match.params;\n const dispatch = useDispatch();\n const [logout, setLogout] = React.useState(false);\n\n useEffect(() => {\n const params: SentFeedbackRequestDetailAPICallProps = {\n feedbackRequestId: id,\n responderId: uid,\n };\n dispatch(sentFeedbackRequestDetails(params));\n }, [id, uid]);\n\n const data: FeedbackRequestDetailData =\n useSelector((state: State) => state.sentRequestDetails.data) ?? null;\n const [isDetailView, setIsDetailView] = React.useState(true);\n\n const history = useHistory();\n\n const statusCode: number | null = useSelector((state: State) =>\n state.sentRequestDetails.status !== 200\n ? state.sentRequestDetails.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderDetails = () => (\n \n );\n if (!isDetailView) {\n history.push({\n pathname: \"/feedback/requests/sent\",\n state: {\n pageNo: props.location.state?.pageNo,\n user: props.location.state?.user,\n filterNo: props.location.state?.filterNo,\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { State } from \"../../../../type\";\nimport { HomeLayout } from \"../../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5.5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n minHeight: `${window.innerHeight - 102}px`,\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(4, 3, 3, 3),\n marginTop: theme.spacing(11.25),\n },\n },\n}));\n\nexport const SelfAssessmentDetailLayout = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n value,\n setValue,\n renderErrorModal,\n renderSharedDate,\n renderAttributesDetail,\n renderEditAssessmentButton\n}) => {\n const classes = useStyle();\n window.scrollTo(0, 0);\n document.title = \"Grow-Wize | Self Assessment Detail\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n const loading: Boolean = useSelector(\n (state: State) => state.sharedAssessmentDetail.loading\n );\n\n const renderToolBar = () => (\n \n );\n\n const renderSelfAssessmentDetailLayout = () => (\n \n \n {renderErrorModal()}\n \n {renderSharedDate()}\n {renderEditAssessmentButton()}\n \n {renderAttributesDetail()}\n \n \n );\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n return (\n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\nimport { SelfAssessmentDetailLayout } from \"../../../../layouts/user/self_assessment/detail/Layout\";\nimport { sharedAssessmentDetail } from \"../../../../redux/slices/SharedAssessmentDetailSlice\";\nimport { State } from \"../../../../type\";\nimport { SharedAssessmentDetailSliceProps } from \"../type\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport {\n RenderAttributesDetails,\n RenderAttributeText,\n RenderDate,\n} from \"../../../components/list/detail/DetailComponent\";\nimport { Button, makeStyles } from \"@material-ui/core\";\n\nconst useStyle = makeStyles((theme) => ({\n btn: {\n height: \"fit-content\",\n width:\"200px\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n }\n}));\n\nexport const SelfAssessmentDetail = (props) => {\n const dispatch = useDispatch();\n let { id } = props.match.params;\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [value, setValue] = React.useState(-1);\n const [attributeDetails, setAttributeDetails] = React.useState<[]>([]);\n const data = useSelector((state: State) => state.sharedAssessmentDetail.data);\n const sharedDate = useSelector((state: State) => state.sharedAssessmentDetail.data?.createdAt);\n const isSharedAssessment = useSelector((state: State) => state.sharedAssessmentDetail.data?.isSharedAssessment);\n const currentRoutePath: string = useLocation().pathname;\n const isEditTeamRouteView: boolean = currentRoutePath.startsWith(\n \"/home/self-assessment/edit\"\n );\n const classes = useStyle();\n\n useEffect(() => {\n const params: SharedAssessmentDetailSliceProps = {\n assessmentId: id,\n };\n dispatch(sharedAssessmentDetail(params));\n }, [id]);\n\n const history = useHistory();\n const statusCode: number | null = useSelector((state: State) =>\n state.sharedAssessmentDetail.status !== 201\n ? state.sharedAssessmentDetail.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderEditAssessmentButton = () => {\n return (\n {\n history.push(`/home/self-assessment/edit/${id}`);\n }}\n \n >\n Edit Assessment\n \n );\n };\n\n const renderSharedDate = () => (\n \n );\n\n const renderAttributesDetail = () => (\n <>\n \n \n \n );\n\n if (value === 0) {\n return ;\n }\n\n if (!isDetailView) {\n history.push({\n pathname: \"/home/self-assessment\",\n state: {\n pageNo: props.history.location.state?.pageNo,\n tab: 1,\n },\n });\n }\n\n return (\n \n );\n};\n","import { Typography } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n typography_h3: {\n color: \"#272727\",\n marginRight: theme.spacing(2),\n fontSize: \"18px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n typography_body_1: {\n color: \"#868686\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_2: {\n color: \"#DC0101\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n })\n);\n\nexport const ChooseMemberTextForShareFeedback = () => {\n const classes = useStyles();\n return (\n \n Choose Member\n \n );\n};\n\nexport const SelectColleague = ({ isValid }) => {\n const classes = useStyles();\n return (\n \n Select a member to share feedback with\n \n );\n};\n\nexport const AddAttributeTitleText = () => {\n const classes = useStyles();\n return (\n \n Add Attributes\n \n \n );\n};\n\nexport const AddAttributeText = ({ isAnyAttribute }) => {\n const classes = useStyles();\n return (\n \n Add attribute to share feedback on\n \n );\n};\n","import { ShareAssessmentAttribute } from \"./type\";\n\nexport const updateAttributeOnClick = (\n newValue,\n shareAssessmentData,\n setShareAssessmentData,\n) => {\n let updatedShareFBAttribute: Array = [];\n for (let index = 0; index < newValue.length; index++) {\n const arg1: ShareAssessmentAttribute = {\n attributeId: newValue[index].id,\n attributeName: newValue[index].name,\n whatWentWell: \"\",\n needsToBeImproved: \"\",\n };\n let idx = 0;\n for (idx = 0; idx < shareAssessmentData.length; idx++) {\n if (shareAssessmentData[idx].attributeId === newValue[index].id) {\n break;\n }\n }\n if (idx === shareAssessmentData.length) {\n updatedShareFBAttribute.push(arg1);\n } else {\n updatedShareFBAttribute.push(shareAssessmentData[idx]);\n }\n }\n setShareAssessmentData(updatedShareFBAttribute);\n};\n\nexport const handleOnChange =\n (index, shareAssessmentData, setShareAssessmentData) => (e) => {\n let newData = [...shareAssessmentData];\n newData[index][e.target.id] = e.target.value;\n setShareAssessmentData(newData);\n };\n","import { createStyles, makeStyles, Theme, Typography } from \"@material-ui/core\";\nimport { handleOnChange } from \"./addNewButtonHandles\";\nimport TextareaAutosize from \"@material-ui/core/TextareaAutosize\";\nimport React from \"react\";\nimport { Editor } from \"react-draft-wysiwyg\";\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport {\n EditorState,\n ContentState,\n convertToRaw,\n convertFromHTML,\n} from \"draft-js\";\nimport draftToHtml from \"draftjs-to-html\";\nimport \"../share_feedback/style.css\";\nimport { RenderAddNewProps } from \"./type\";\nimport { useCustomStyle } from \"../../../styles\";\nimport { RemainingCharWarnText } from \"../share_feedback/addNewButtonElements\";\nimport {\n onDraftEditorCopy,\n onDraftEditorCut,\n handleDraftEditorPastedText,\n} from \"draftjs-conductor\";\n\nconst useStyle = makeStyles((theme: Theme) =>\n createStyles({\n typography_body_4_: {\n color: \"#DC0101\",\n },\n textBox: {\n marginTop: theme.spacing(1),\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n textBoxx: {\n margin: theme.spacing(0, 2.5, 2.5, 2.5),\n width: \"-webkit-fill-available\",\n flexWrap: \"wrap\",\n wordWrap: \"break-word\",\n },\n textBoxx1: {\n width: \"-moz-available\",\n },\n })\n);\n\nexport const RenderSuggestions: React.FC = ({\n attribute,\n idx,\n shareAssessmentData,\n setShareAssessmentData,\n onAnyChange,\n}) => {\n const classes = useStyle();\n let regex = /(<([^>]+)>)/ig\n const customClasses = useCustomStyle();\n\n const [editorState, setEditorState] = React.useState(\n attribute.needsToBeImproved?.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(attribute.needsToBeImproved).contentBlocks,\n convertFromHTML(attribute.needsToBeImproved).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n const onEditorStateChange = (state) => {\n setEditorState(state);\n attribute.needsToBeImproved = draftToHtml(\n convertToRaw(state.getCurrentContent())\n ).replace(/ |‌|»|«|>/g, ' ').trim().replaceAll(\"_self\",\"_blank\");\n onAnyChange(true);\n };\n\n const handlePastedText =(text: string, html: string, editorState: EditorState)=> {\n let newState = handleDraftEditorPastedText(html, editorState);\n\n if (newState) {\n onEditorStateChange(newState);\n return true;\n }\n\n return false;\n }\n\n let str = attribute.needsToBeImproved;\n return (\n
\n \n {\"What needs to be improved? \"}\n {(str?.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g,'').replace(/\\n/g,'').length < 2 ||\n attribute.needsToBeImproved?.length < 9) && (\n \n (required)\n \n )}\n \n \n \n \n
\n );\n};\n\nexport const RenderContext: React.FC = ({\n attribute,\n idx,\n shareAssessmentData,\n setShareAssessmentData,\n onAnyChange,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n let regex = /(<([^>]+)>)/ig\n const [editorState, setEditorState] = React.useState(\n attribute.whatWentWell?.length > 0\n ? EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(attribute.whatWentWell).contentBlocks,\n convertFromHTML(attribute.whatWentWell).entityMap\n )\n )\n : EditorState.createEmpty()\n );\n const onEditorStateChange = (state) => {\n setEditorState(state);\n attribute.whatWentWell = draftToHtml(\n convertToRaw(state.getCurrentContent())\n ).replace(/ |‌|»|«|>/g, ' ').trim().replaceAll(\"_self\",\"_blank\");\n onAnyChange(true);\n };\n\n const handlePastedText =(text: string, html: string, editorState: EditorState)=> {\n let newState = handleDraftEditorPastedText(html, editorState);\n\n if (newState) {\n onEditorStateChange(newState);\n return true;\n }\n\n return false;\n }\n let str = attribute.whatWentWell;\n return (\n
\n \n {\"What went well? \"}\n {(!str?.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g,'').replace(/\\n/g,'').length ||\n attribute.whatWentWell?.length < 9) && (\n \n (required)\n \n )}\n \n \n \n \n
\n );\n};\n","import {\n Button,\n fade,\n Grid,\n makeStyles,\n Paper,\n Popper,\n TextField,\n Typography,\n} from \"@material-ui/core\";\nimport { Autocomplete, AutocompleteCloseReason } from \"@material-ui/lab\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { DeleteAttributeCardComponent } from \"../../components/DeleteAttributeCard\";\nimport {\n ResponseAttribute,\n ShareFeedbackAttributeNameAndId,\n State,\n} from \"../../../type\";\nimport { AttributeTitleComponent } from \"../share_feedback/AttributeTitle\";\nimport { RenderSuggestions, RenderContext } from \"./addNewButtonElements\";\nimport { updateAttributeOnClick } from \"./addNewButtonHandles\";\nimport { AddNewButtonProps } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n popper: {\n border: \"1px solid rgba(27,31,35,.15)\",\n boxShadow: \"0 3px 12px rgba(27,31,35,.15)\",\n borderRadius: 3,\n width: 300,\n zIndex: 1,\n fontSize: 13,\n color: \"#586069\",\n backgroundColor: \"#f6f8fa\",\n },\n textField: {\n padding: 10,\n width: \"100%\",\n borderBottom: \"1px solid #dfe2e5\",\n \"& input\": {\n borderRadius: 4,\n backgroundColor: theme.palette.common.white,\n padding: 8,\n transition: theme.transitions.create([\"border-color\", \"box-shadow\"]),\n border: \"1px solid #ced4da\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n \"&:focus\": {\n boxShadow: `${fade(theme.palette.primary.main, 0.25)} 0 0 0 0.2rem`,\n borderColor: theme.palette.primary.main,\n },\n },\n },\n paper: {\n width: \"100%\",\n padding: \"0px 0px 10px 0px\",\n marginTop: \"20px\",\n marginBottom: \"20px\",\n textAlign: \"start\",\n },\n btn: {\n margin: theme.spacing(3, 0, 0, 0),\n backgroundColor: \"#576BEA\",\n },\n typography_body_1: {\n alignItems: \"center\",\n color: \"#FFFFFF\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: \"#000000\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n skipCTA: {\n fontSize: theme.spacing(2),\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n color: \"#868686\",\n textDecoration: \"underline\",\n margin: theme.spacing(0.25, 1.5, 0, 0),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0.25, 0, 0, 0),\n },\n },\n}));\n\nexport const AddNewButton: React.FC = ({\n attributes,\n setAttributes,\n shareAssessmentData,\n setShareAssessmentData,\n setValue,\n onAnyChange\n}) => {\n const classes = useStyle();\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const attr: Array = [];\n const attLabels =\n useSelector((state: State) => state.data.data?.attributes) ?? attr;\n const [onDeleteAttribute, setOnDeleteAttribute] = React.useState(0);\n\n const [openModal, setOpenModal] = React.useState(false);\n const [deletingAttibute, setDeletingAttribute] =\n React.useState({\n attributeId: 0,\n attributeName: \"\",\n });\n\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleDelete = (id: number) => {\n setAttributes(attributes.filter((attribute) => attribute.id !== id));\n handleModalClose();\n setOnDeleteAttribute(1);\n };\n\n useEffect(() => {\n if (onDeleteAttribute === 1) {\n updateAttributeOnClick(\n attributes,\n shareAssessmentData,\n setShareAssessmentData\n );\n }\n setOnDeleteAttribute(0);\n }, [onDeleteAttribute]);\n\n const handleClose = (\n event: React.ChangeEvent<{}>,\n reason: AutocompleteCloseReason\n ) => {\n if (reason === \"toggleInput\") {\n return;\n }\n if (anchorEl) {\n anchorEl.focus();\n }\n setAnchorEl(null);\n };\n\n const open = Boolean(anchorEl);\n\n const handleModalOpen = () => {\n setOpenModal(true);\n };\n\n const handleModalClose = () => {\n setOpenModal(false);\n };\n\n const renderDeletionModal = () => (\n \n );\n\n return (\n <>\n \n {shareAssessmentData.map((attribute, idx) => (\n \n \n {}\n \n {\n \n }\n \n\n \n {\n \n }\n \n \n \n ))}\n \n \n {renderDeletionModal()}\n \n \n \n ADD NEW\n \n \n \n {\n setAttributes(newValue);\n updateAttributeOnClick(\n newValue,\n shareAssessmentData,\n setShareAssessmentData\n );\n }}\n disablePortal\n getOptionSelected={(option, value) => option.id === value.id}\n renderOption={(option) => (\n \n
\n \n {option.name}\n \n
\n
\n )}\n options={attLabels}\n getOptionLabel={(option) => option.name}\n renderInput={(params) => (\n \n )}\n />\n \n \n );\n};\n","import {\n Button,\n Typography,\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport {\n CancelButtonProps,\n} from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n btn1: {\n margin: theme.spacing(2, 0, 0, 0),\n padding: theme.spacing(1.375, 4.125, 1.375, 4.125),\n backgroundColor: `${appColor.regularBackgroundColor}`,\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n btn_: {\n margin: theme.spacing(3, 5, 0, 0),\n borderColor: `${appColor.pureWhite}`,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n },\n },\n}));\n\nexport const SendButton = ({validLength}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n return (\n \n \n Submit\n \n \n );\n};\n\nexport const CancelButton: React.FC = ({ setValue }) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n async function handleCancel(e) {\n e.preventDefault();\n setValue(0);\n }\n return (\n \n );\n};\n","import {\n Divider,\n Grid,\n Hidden,\n makeStyles,\n MenuItem,\n Select,\n Tab,\n Tabs,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\nimport { State } from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n tabs: {\n color: \"#576BEA\",\n width: theme.spacing(20),\n textAlign: \"left\",\n },\n divider: {\n backgroundColor: \"#576bea66\",\n width: \"inherit\",\n },\n}));\n\nconst MyAssessmentText = () => {\n const classes = useCustomStyle();\n return (\n \n My Assessment\n \n );\n};\n\nconst SharedText = () => {\n const classes = useCustomStyle();\n const count: number =\n useSelector((state: State) => state.countSharedAssessments.data) ?? 0;\n return (\n \n {`Shared (${count})`}\n \n );\n};\n\nexport const TabLabels = ({ tabValue, setTabValue, props }) => {\n const classes = useStyle();\n\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setTabValue(newValue);\n };\n\n const handleChange = (event: React.ChangeEvent<{ value: any }>) => {\n setTabValue(event.target.value as number);\n };\n\n return (\n \n \n \n } />\n }\n />\n \n \n \n {\n \n \n \n \n \n \n \n \n \n \n }\n \n );\n};\n","import { CircularProgress, Grid, Paper } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { State } from \"../../../type\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5.5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n minHeight: `${window.innerHeight - 102}px`,\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(4, 3, 3, 3),\n marginTop: theme.spacing(11.25),\n },\n },\n form: {\n marginTop: theme.spacing(3),\n width: \"inherit\",\n },\n}));\n\nexport const SelfAssessmentLayout = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n value,\n setValue,\n tabValue,\n renderTabs,\n renderErrorModal,\n isAnyChange,\n onAnyChange,\n savedDraftDate,\n renderValidationModal,\n renderModal,\n handleSubmit,\n renderCancelButton,\n renderSendButton,\n renderAddAttributeTitleText,\n renderAddNewButton,\n renderHeaderTabs,\n renderAssessmentList,\n renderChangePageButtons,\n validLength,\n renderRouterPrompt,\n isEditAssessmentView\n}) => {\n const classes = useStyle();\n if (tabValue === 0) {\n document.title = \"Grow-Wize | Self Assessment\";\n } else {\n document.title = \"Grow-Wize | Shared assessment\";\n }\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n const loading: Boolean = useSelector(\n (state: State) => state.data.loading || state.shareAssessment.loading\n );\n const draftLoading: Boolean =\n useSelector((state: State) => state.sharedAssessmentDetail.loading) ?? null;\n\n const renderToolBar = () => (\n \n );\n\n const renderShareFeedbackLayout = () => (\n \n {renderTabs()}\n {tabValue === 0 && (\n <>\n {renderErrorModal()}\n {renderModal()}\n {loading && value !== 6 && (\n \n \n \n )}\n {(!loading || (loading && value === 6)) && (\n
\n \n \n {draftLoading && (\n \n \n \n )}\n {!draftLoading && (\n <>\n {renderAddAttributeTitleText()}\n\n {renderAddNewButton()}\n \n )}\n \n \n {renderValidationModal()}\n \n \n {renderCancelButton()}\n {renderSendButton()}\n {renderRouterPrompt()}\n \n \n \n )}\n \n )}\n {tabValue === 1 && (\n <>\n \n {renderHeaderTabs()}\n {renderAssessmentList()}\n \n {renderChangePageButtons()}\n \n )}\n \n );\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n return (\n \n );\n};\n","import { Button, Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { NoCustomDataText } from \"../../components/list/noRecordPage/NoRecordText\";\nimport { useCustomStyle } from \"../../../styles\";\nimport { State } from \"../../../type\";\nimport { getDateInDesiredFormat } from \"../../../util/GetDateInDesiredFormat\";\nimport { SharedAssessmentListData } from \"./type\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_1: {\n textAlign: \"left\",\n padding: theme.spacing(1, 1, 1, 1),\n marginLeft: theme.spacing(1.75),\n },\n typography_body_2: {\n textDecorationLine: \"underline\",\n color: \"#576BEA\",\n fontWeight: 500,\n fontFamily: \"Montserrat\",\n textAlign: \"left\",\n textDecoration: \"underline\",\n textTransform: \"none\",\n padding: theme.spacing(1, 1, 1, 1),\n marginRight: theme.spacing(1),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n header: {\n padding: theme.spacing(1, 0, 1, 0),\n width: \"100%\",\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n },\n}));\n\nexport const AssessmentList = ({ setAssessmentId }) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n const emptyArray: Array = [];\n const assessments =\n useSelector((state: State) => state.sharedAssessmentList.data) ??\n emptyArray;\n\n return (\n <>\n {assessments.length > 0 &&\n assessments.map((assessment, index) => (\n \n \n \n {getDateInDesiredFormat(new Date(assessment.sharedDate))}\n \n \n \n \n \n \n ))}\n {assessments.length === 0 && (\n \n )}\n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { patch } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { EditAssessmentProps } from \"../../modules/user/self_assessment/type\";\n\nexport const editAssessment = createAsyncThunk(\n \"/home/self-assessment/edit\",\n async (params: EditAssessmentProps, storeActions) => {\n const response: any = await patch(`api/v1/user/assessment?assessmentId=${params.assessmentId}`, params, storeActions);\n if (response.status === HttpStatus.OK) {\n return {\n status: response.status,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst editAssessmentSlice = createSlice({\n name: \"editSelfAssessment\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(editAssessment.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(editAssessment.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(editAssessment.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = editAssessmentSlice.actions;\n\nexport default editAssessment;\n","import {\n Grid,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Prompt, Redirect, useHistory, useLocation, useParams } from \"react-router-dom\";\nimport { clearData as clearSharedAssessmentDetail } from \"../../../redux/slices/SharedAssessmentDetailSlice\";\nimport { AddAttributeTitleText } from \"../../constants/shareFeedbackText\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n ResponseAttribute,\n SharedFeedbacksParams,\n State,\n UserAndAttributeSliceProps,\n} from \"../../../type\";\nimport { AddNewButton } from \"./addNewButton\";\nimport { CancelButton, SendButton } from \"./buttons\";\nimport { ConsentModal } from \"../request_feedback/request_employee/popUp\";\n\nimport \"../share_feedback/style.css\";\nimport { TabLabels } from \"./tabLabels\";\nimport { SelfAssessmentLayout } from \"../../../layouts/user/self_assessment/Layout\";\nimport \"../share_feedback/style.css\";\nimport {\n EditAssessmentProps,\n ShareAssessmentAttribute,\n ShareAssessmentProps,\n SharedAssessmentDetailProps,\n SharedAssessmentDetailSliceProps,\n} from \"./type\";\nimport { sharedAssessmentDetail } from \"../../../redux/slices/SharedAssessmentDetailSlice\";\nimport { shareAssessment } from \"../../../redux/slices/ShareAssessmentSlice\";\nimport { getSharedAssessmentList } from \"../../../redux/slices/SharedAssessmentListSlice\";\nimport { AssessmentList } from \"./sharedAssessmentListContent\";\nimport { countSharedAssessment } from \"../../../redux/slices/CountSharedAssessmentsSlice\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { TitleProps } from \"../../components/type\";\nimport { HeaderTitles } from \"../../components/list/ListHeader\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { ValidationPromptModal } from \"../../components/ValidationModal\";\nimport { setUnsavedChanges } from \"../../../redux/slices/ShareFeedbackSlice\";\nimport editAssessment from \"../../../redux/slices/EditSelfAssessment\";\nimport { AssessmentStatus } from \"../../../enums/assessmentEnum\";\n\nexport const SelfAssessment = (props) => {\n const dispatch = useDispatch();\n const [logout, setLogout] = React.useState(false);\n const tabNumber = props.location.state?.tab;\n const pageValue = props.location.state?.pageNo;\n const [tabValue, setTabValue] = React.useState(\n tabNumber ? tabNumber : 0\n );\n // console.log(\"tabValue\", tabValue);\n const [attributes, setAttributes] = React.useState([]);\n const [shareAssessmentData, setShareAssessmentData] = React.useState<\n ShareAssessmentAttribute[]\n >([]);\n const [showModal, setShowModal] = React.useState(false);\n const [dispatched, setDispatched] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [isAnyChange, onAnyChange] = React.useState(false);\n const [savedDraftDate, setDraftDate] = React.useState(new Date());\n const [open, setOpen] = React.useState(false);\n const [value, setValue] = React.useState(-1);\n const [charLimitExceeded, setCharLimitExceeded] =\n React.useState(false);\n const [draftLoad, setDraftLoad] = React.useState(0);\n const status = useSelector((state: State) => state.shareAssessment.status);\n const loading = useSelector((state: State) => state.shareAssessment.loading);\n const [assessmentId, setAssessmentId] = React.useState(0);\n const [isDirty, setIsDirty] = React.useState(false);\n const attr: Array = [];\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n\n const assessmentDraftData: SharedAssessmentDetailProps =\n useSelector((state: State) => state.sharedAssessmentDetail.data) ?? null; \n const draftLoading: Boolean = useSelector(\n (state: State) => state.sharedAssessmentDetail.loading\n );\n const attLabels =\n useSelector((state: State) => state.data.data?.attributes) ?? attr;\n const [isSubmitted, setIsSubmitted] = React.useState(false);\n\n const count: number = \n useSelector((state: State) => state.countSharedAssessments.data) ?? -1;\n const currentRoutePath: string = useLocation().pathname;\n const isEditAssessmentView: boolean = currentRoutePath.startsWith(\n \"/home/self-assessment/edit\"\n ); \n const { id }: any = useParams();\n const editParams: SharedAssessmentDetailSliceProps = {\n assessmentId: id\n };\n \n const statusCode: number | null = useSelector((state: State) =>\n state.data.status !== 200\n ? state.data.status\n : state.shareAssessment.status !== 201\n ? state.shareAssessment.status\n : state.sharedAssessmentDetail.status !== 201\n ? state.sharedAssessmentDetail.status\n : state.countSharedAssessments.status !== 200\n ? state.countSharedAssessments.status\n : null\n );\n const titles: Array = [\n {\n name: \"Shared on\",\n xsSize: 9,\n smSize: 9,\n mdSize: 11,\n },\n {\n name: \"Action\",\n xsSize: 3,\n smSize: 3,\n mdSize: 1,\n },\n ];\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: false,\n isAttributes: true,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n dispatch(requestData(param));\n dispatch(countSharedAssessment());\n const params: SharedAssessmentDetailSliceProps = {\n assessmentId: \"0\",\n };\n if(!isEditAssessmentView) {\n dispatch(sharedAssessmentDetail(params));\n }\n }, []);\n\n useEffect(() => {\n let requestParams: string = \"\";\n requestParams += \"?offSet=\" + (pageNumber - 1) * 10;\n let requestingParams: SharedFeedbacksParams = {\n requestingParams: requestParams,\n };\n dispatch(getSharedAssessmentList(requestingParams));\n }, [pageNumber, dispatch]);\n\n const history = useHistory();\n\n const renderTabLabels = () => (\n \n );\n\n useEffect(() => {\n if (\n assessmentDraftData &&\n assessmentDraftData.attributes?.length > 0 &&\n draftLoad < 4 &&\n !draftLoading\n ) {\n if (\n attributes.length === 0 ||\n attributes.length !== assessmentDraftData.attributes.length\n ) {\n let att: Array = [];\n \n assessmentDraftData.attributes.forEach(draftAttribute => {\n let attribute = attLabels.find((label) => draftAttribute.name == label.name)\n if(attribute) {\n att.push(attribute)\n setAttributes(att);\n }\n });\n }\n\n if (attributes.length === assessmentDraftData.attributes.length) {\n let updatedShareFBAttribute: Array = [];\n for (let index = 0; index < attributes.length; index++) {\n const arg1: ShareAssessmentAttribute = {\n attributeId: attributes[index].id,\n attributeName: attributes[index].name,\n whatWentWell: assessmentDraftData.attributes[index]?.context,\n needsToBeImproved:\n assessmentDraftData.attributes[index]?.suggestions,\n };\n let idx = 0;\n for (idx = 0; idx < shareAssessmentData.length; idx++) {\n if (shareAssessmentData[idx].attributeId === attributes[index].id) {\n break;\n }\n }\n if (idx === shareAssessmentData.length) {\n updatedShareFBAttribute.push(arg1);\n } else {\n updatedShareFBAttribute.push(shareAssessmentData[idx]);\n }\n }\n if (\n attributes.length === assessmentDraftData.attributes.length &&\n shareAssessmentData.length === 0\n ) {\n setShareAssessmentData(updatedShareFBAttribute);\n dispatch(clearSharedAssessmentDetail());\n setDraftLoad(5);\n }\n }\n if (draftLoad === 0) {\n setDraftLoad(3);\n } else if (draftLoad === 3) {\n setDraftLoad(0);\n }\n }\n }, [assessmentDraftData, attributes, dispatch, draftLoad]);\n\n const renderErrorModal = () => (\n \n );\n\n const renderModal = () => (\n \n );\n\n const renderChangePageButtons = () => (\n \n \n \n );\n\n const renderAddAttributeTitleText = () => ;\n\n const renderAddNewButton = () => (\n \n );\n\n const renderCancelButton = () => (\n \n );\n\n const renderSendButton = () => (\n 0}>\n );\n\n const renderHeaderTabs = () => ;\n const renderRouterPrompt = () => {\n isDirty ? dispatch(setUnsavedChanges(true)) : dispatch(setUnsavedChanges(false))\n return null;\n };\n\n const renderAssessmentList = () => (\n \n );\n\n useEffect(() => {\n if (\n dispatched === true &&\n status === 201 &&\n loading === false &&\n isSubmitted\n ) {\n dispatch(clearSharedAssessmentDetail());\n setShareAssessmentData([]);\n setAttributes([]);\n setIsDirty(false);\n setShowModal(true);\n setDispatched(false);\n } else if (\n dispatched === true &&\n status === 201 &&\n loading === false &&\n value === 6\n ) {\n const timer = setTimeout(() => {\n if (loading === false && value === 6) {\n setValue(-1);\n }\n }, 3000);\n return () => clearTimeout(timer);\n }\n }, [dispatched, loading, status, isSubmitted]);\n\n useEffect(() => {\n if (isAnyChange) {\n setIsDirty(true);\n } else {\n setIsDirty(false);\n }\n }, [isAnyChange]);\n\n const AUTO_SAVE_INTERVAL = 30000;\n\n useEffect(() => {\n const timer = setInterval(() => {\n if (!loading && tabValue === 0 && isAnyChange) {\n setValue(6);\n onAnyChange(false);\n }\n }, AUTO_SAVE_INTERVAL);\n return () => clearInterval(timer);\n }, [isAnyChange, loading, tabValue]);\n\n useEffect(() => {\n if (shareAssessmentData.length > 0) {\n setValue(-1);\n } else {\n setIsDirty(false);\n setValue(-2);\n }\n }, [shareAssessmentData]);\n\n useEffect(() => {\n if (status && status !== 201) {\n setValue(5);\n }\n }, [status, loading]);\n\n useEffect(() => {\n if (value === 6 && !isEditAssessmentView) {\n handleSubmit(window.event);\n }\n }, [value]);\n\n const handleOpen = () => {\n setOpen(true);\n };\n\n const renderValidationModal = () => (\n \n );\n\n function handleSubmit(e) {\n e?.preventDefault();\n let regex = /(<([^>]+)>)/ig\n if (tabValue === 0) {\n setCharLimitExceeded(false);\n\n let flag = false;\n let attributesLength = false;\n if (shareAssessmentData.length === 0) {\n attributesLength = true;\n } else {\n for (let idx = 0; idx < shareAssessmentData.length; idx++) {\n let str = shareAssessmentData[idx].whatWentWell.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g,'').replace(/\\n/g,'');\n let str1 = shareAssessmentData[idx].needsToBeImproved.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g,'').replace(/\\n/g,'');\n if (str?.length < 1 && value !== 6) {\n flag = true;\n } else if (\n shareAssessmentData[idx].whatWentWell?.length < 9 &&\n value !== 6\n ) {\n flag = true;\n } else if (str1?.length < 1 && value !== 6) {\n flag = true;\n } else if (\n shareAssessmentData[idx].needsToBeImproved?.length < 9 &&\n value !== 6\n ) {\n flag = true;\n } else if (\n shareAssessmentData[idx].whatWentWell?.length > 10000 ||\n shareAssessmentData[idx].needsToBeImproved?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n }\n }\n\n if (flag) {\n handleOpen();\n } else if (shareAssessmentData.length > 0) {\n if (value !== 6) {\n setIsSubmitted(true);\n }\n const arg: ShareAssessmentProps = {\n status: value === 6 ? \"DRAFTED\" : \"SUBMITTED\",\n attributes: shareAssessmentData,\n };\n if(isEditAssessmentView){\n const arg: EditAssessmentProps = {\n assessmentId: `${id}`,\n status: AssessmentStatus.SUBMITTED,\n attributes: shareAssessmentData\n };\n dispatch(editAssessment(arg))\n setIsSubmitted(true);\n setShowModal(true);\n dispatch(clearSharedAssessmentDetail());\n }\n else \n {\n dispatch(shareAssessment(arg));\n setDraftDate(new Date());\n }\n setDispatched(true);\n }\n }\n }\n\n if (value === 0) {\n return ;\n }\n\n if (assessmentId > 0) {\n history.push({\n pathname: `/home/self-assessment/${assessmentId}`,\n state: {\n pageNo: pageNumber,\n },\n });\n }\n\n return (\n 0}\n renderRouterPrompt={renderRouterPrompt}\n isEditAssessmentView={isEditAssessmentView}\n >\n );\n};\n","import React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ReceivedFeedbackDataProps, State } from \"../../../type\";\nimport { ContentProp } from \"../../admin/members/type\";\nimport { ReportAttributeDetailComponent } from \"../../components/ReportAttributeDetail/ReportAttributeDetailComponent\";\n\nexport const AttributeContent: React.FC = ({ attributeIndex }) => {\n const emptyList: Array = [];\n const reportData: Array =\n useSelector((state: State) => state.selfReport.data) ??\n emptyList;\n return (\n \n );\n};\n","import { Button, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useMemo } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { DeactivateMemberProp, ReceivedFeedbackDataProps, State } from \"../../../type\";\nimport { AttributeContent } from \"./AttributeContent\";\nimport { ReceivedFeedbackReportLayout } from \"../../../layouts/admin/members/reports/ReceivedFeedbackReportLayout\";\nimport ScrollToTopBtn from \"../../admin/members/reports/ScrollOnTop\";\nimport { getSelfReport } from \"../../../redux/slices/SelfReportSlice\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { ActionCTAText } from \"../../components/list/noRecordPage/NoRecordText\";\nimport { Redirect } from \"react-router\";\nimport { Tabs } from \"../../components/Tabs/Tabs\";\nimport { map } from 'lodash';\nimport { getStartAndEndDateForCalendarDateRange } from \"../../../util/GetDateInDesiredFormat\";\n\nconst useStyle = makeStyles((theme) => ({\n noDataText: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n color: \"#868686\",\n margin: theme.spacing(40, 0, 40, 0),\n }, img: {\n padding: theme.spacing(6.5, 0, 6.5, 0),\n height: theme.spacing(47),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0),\n height: theme.spacing(26.8),\n },\n },\n text: {\n color: \"#272727\",\n textAlign: \"center\",\n fontFamily: \"Montserrat\",\n fontSize: \"18px\",\n fontStyle: \"normal\",\n fontWeight: 600,\n lineHeight: \"normal\",\n },\n btn: {\n marginTop: theme.spacing(4),\n backgroundColor: \"#7C69EC\",\n fontSize: 14,\n fontWeight: 600,\n padding: theme.spacing(1, 0, 1, 0)\n },\n}));\n\nexport const SelfReport = (props) => {\n const dispatch = useDispatch();\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const classes = useStyle();\n const [tabValue, setTabValue] = React.useState(0);\n const [value, setValue] = React.useState(0);\n\n const reportData: Array = useSelector((state: State) => state.selfReport.data) ?? [];\n\n const tabsData = useMemo(() => { return map(reportData, (item, index) => ({ key: index, label: item?.attributeName })) }, [reportData])\n\n\n useEffect(() => {\n let str = \"\";\n let dateRange = getStartAndEndDateForCalendarDateRange();\n str += `startDate=${dateRange.startDate}&endDate=${dateRange.endDate}`;\n const params: DeactivateMemberProp = {\n requestingParam: str,\n };\n dispatch(getSelfReport(params));\n }, []);\n\n useEffect(() => {\n setTabValue(0);\n }, [tabsData])\n \n const statusCode: number | null = useSelector((state: State) =>\n state.selfReport.status !== 200\n ? state.selfReport.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderNoRecordFoundText = () => (\n \n {`No record found`}\n \n );\n\n const renderAttributeTabs = () => (\n \n \n );\n\n const renderAttributeContent = () => (\n \n );\n\n const renderNoFeedbacks = () => (\n <>\n \n \n \n \n No records of feedback available here!\n \n \n {\n setValue(1);\n }}\n className={classes.btn}\n >\n \n \n \n \n \n );\n\n const renderMemberCard = () => { }\n const renderScrollOnTop = () => ;\n\n const loading: Boolean = useSelector(\n (state: State) => state.selfReport.loading\n );\n\n if (value === 1) return ;\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { SharedFeedbackDetailsLayoutProp } from \"../../../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { HomeLayout } from \"../../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n marginLeft: theme.spacing(0),\n marginRight: theme.spacing(0),\n [theme.breakpoints.down(\"sm\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(3, 3, 3, 3),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(2.25, 2.75, 2.75, 2.75),\n },\n minHeight: `${window.innerHeight - 102}px`,\n },\n}));\n\nexport const SharedFeedbackDetailsLayout: React.FC =\n ({\n loading,\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderDetails,\n renderErrorModal,\n }) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n document.title = \"Grow-Wize | Shared Feedback Detail\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderSharedFeedbackDetailLayout = () => (\n \n \n {renderErrorModal()}\n \n \n {renderDetails()}\n \n \n );\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n return (\n \n );\n };\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { DetailPage } from \"../../../components/list/detail/DetailPage\";\nimport { SharedFeedbackDetailsLayout } from \"../../../../layouts/user/shared_feedback/detail/Layout\";\nimport { sharedFeedbackDetail } from \"../../../../redux/slices/SharedFeedbackDetailSlice\";\nimport { requestData } from \"../../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n FeedbackDetailAPICallProps,\n State,\n UserAndAttributeSliceProps,\n} from \"../../../../type\";\nimport { SharedFeedbackDetailData } from \"../typeSharedFeedbacks\";\n\nexport const SharedFeedbackDetail = (props) => {\n const [value, setValue] = React.useState(-1);\n const { id } = props.match.params;\n const [logout, setLogout] = React.useState(false);\n const token: string = useSelector((state: State) => state.auth.token);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const data: SharedFeedbackDetailData =\n useSelector((state: State) => state.sharedFeedbackDetail.data) ?? null;\n const loading: Boolean = useSelector(\n (state: State) => state.sharedFeedbackDetail.loading || state.data.loading\n );\n\n const history = useHistory();\n const dispatch = useDispatch();\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: false,\n isAttributes: false,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: true,\n };\n dispatch(requestData(param));\n const params: FeedbackDetailAPICallProps = {\n feedbackId: id,\n };\n dispatch(sharedFeedbackDetail(params));\n }, [id]);\n const statusCode: number | null = useSelector((state: State) =>\n state.sharedFeedbackDetail.status !== 200\n ? state.sharedFeedbackDetail.status\n : state.data.status !== 200\n ? state.data.status\n : null\n );\n\n\n const renderErrorModal = () => (\n \n );\n\n const renderDetails = () => (\n \n );\n\n if (!isDetailView) {\n history.push({\n pathname: \"/feedback/shared\",\n state: {\n pageNo: props.history.location.state?.pageNo,\n option: props.location.state?.option,\n },\n });\n }\n\n if (value === 1) {\n return ;\n }\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { SharedFeedbacksLayoutProp } from \"../../../modules/user/shared_feedback/typeSharedFeedbacks\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n },\n root2: {\n padding: theme.spacing(6, 0, 0, 0),\n marginTop: theme.spacing(10),\n background: \"#FFFFFF\",\n minHeight: `${window.innerHeight - 85}px`,\n },\n loader: {\n margin: theme.spacing(\"25%\", \"40%\"),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(\"35%\", \"37%\"),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(\"60%\", \"40%\"),\n },\n },\n}));\n\nexport const SharedFeedbacksLayout: React.FC = ({\n props,\n count,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n showNoFeedback,\n renderErrorModal,\n renderNoFeedback,\n renderSearchBox,\n renderSharedFeedbacks,\n renderChangePageButtons,\n}) => {\n const classes = useStyle();\n window.scrollTo(0,0);\n document.title = \"Grow-Wize | Shared Feedback\";\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderSharedFeedbacksLayout = () => (\n \n {renderErrorModal()}\n {showNoFeedback ? (\n \n {renderNoFeedback()}\n \n ) : (\n \n {renderSearchBox()}\n {renderSharedFeedbacks()}\n {count !== 0 ? renderChangePageButtons() : null}\n \n )}\n \n );\n\n return (\n \n );\n};\n","import { SearchOption } from \"../modules/components/type\";\nimport { User } from \"../type\";\n\nexport function userToOption(user: User) {\n return {\n userId: user.id,\n attrId: null,\n name: user.firstName + \" \" + user.lastName,\n } as SearchOption;\n}\n","import { SearchOption } from \"../modules/components/type\";\nimport { ResponseAttribute } from \"../type\";\n\nexport function attributeToOption(attr: ResponseAttribute) {\n return {\n userId: null,\n attrId: attr.id,\n name: attr.name,\n } as SearchOption;\n}\n","import { InputAdornment, TextField } from \"@material-ui/core\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport React from \"react\";\nimport { SearchBoxPropsWithPageNumberReset, SearchOption } from \"./type\";\nimport { useStyle } from \"./UserSearchBoxComponent\";\n\nexport const CustomSearchBoxComponent: React.FC<\n SearchBoxPropsWithPageNumberReset\n> = ({ option, setOption, setPageNumber, options, placeholder }) => {\n const classes = useStyle();\n\n return (\n {\n setOption(newValue);\n setPageNumber(1);\n }}\n options={options}\n forcePopupIcon={false}\n getOptionLabel={(option) => option.name}\n renderInput={(params) => {\n return (\n \n \n \n ),\n }}\n />\n );\n }}\n />\n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Redirect, useHistory } from \"react-router-dom\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { SharedFeedbacksLayout } from \"../../../layouts/user/shared_feedback/Layout\";\nimport { countSharedFeedback } from \"../../../redux/slices/CountSharedFeedbackSlice\";\nimport { getSharedFeedbacks } from \"../../../redux/slices/SharedFeedbacksSlice\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n RequestingParams,\n ResponseAttribute,\n SharedFeedbacksParams,\n State,\n User,\n UserAndAttributeSliceProps,\n} from \"../../../type\";\nimport { SharedFeedback } from \"./typeSharedFeedbacks\";\nimport { userToOption } from \"../../../util/userOption\";\nimport { attributeToOption } from \"../../../util/attributeOption\";\nimport { CustomSearchBoxComponent } from \"../../components/CustomSearchboxComponent\";\nimport { SearchOption } from \"../../components/type\";\nimport { NoRecordComponent } from \"../../components/list/noRecordPage/NoRecordPage\";\nimport { ListContainerComponent } from \"../../components/list/ListContainer\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\n\nexport const SharedFeedbacks = (props) => {\n const [value, setValue] = React.useState(-1);\n const [sharedFeedbackId, setSharedFeedbackId] = React.useState(0);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [allFeedbackCount, setAllFeedbackCount] = React.useState(-1);\n\n const pageValue = props.location.state?.pageNo;\n const opt = props.location.state?.option;\n\n const dispatch = useDispatch();\n const count: number =\n useSelector((state: State) => state.countShared.data) ?? -1;\n const users: Array =\n useSelector((state: State) => state.data.data?.users) ?? [];\n const attributes: Array =\n useSelector((state: State) => state.data.data?.attributes) ?? [];\n const [option, setOption] = React.useState(\n opt ? opt : null\n );\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n const feedbacks: Array =\n useSelector((state: State) => state.sharedFeedbacks.data) ?? [];\n const loadingDataAndCount = useSelector(\n (state: State) => state.data.loading || state.countShared.loading\n );\n const loadingList: Boolean = useSelector(\n (state: State) => state.sharedFeedbacks.loading\n );\n\n useEffect(() => {\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: true,\n isClients: false,\n isDrafts: false,\n isRequests: false,\n isScale: false,\n };\n dispatch(requestData(param));\n }, []);\n\n useEffect(() => {\n if (option === null) setAllFeedbackCount(count);\n }, [count, option]);\n\n useEffect(() => {\n setPageNumber(pageValue ? pageValue : 1);\n }, [option]);\n\n useEffect(() => {\n let requestParams: string = \"\";\n if (option) {\n if (option.userId === null)\n requestParams += \"?attributeId=\" + option.attrId;\n else requestParams += \"?receiverId=\" + option.userId;\n }\n let requestingData: RequestingParams = {\n requestParams: requestParams,\n };\n dispatch(countSharedFeedback(requestingData));\n }, [option]);\n\n useEffect(() => {\n let requestParams: string = \"\";\n requestParams += \"?offSet=\" + (pageNumber - 1) * 10;\n if (option) {\n if (option.userId === null)\n requestParams += \"&attributeId=\" + option.attrId;\n else requestParams += \"&receiverId=\" + option.userId;\n }\n let requestingParams: SharedFeedbacksParams = {\n requestingParams: requestParams,\n };\n dispatch(getSharedFeedbacks(requestingParams));\n }, [pageNumber, option, dispatch]);\n const statusCode: number | null = useSelector((state: State) =>\n state.data.status !== 200\n ? state.data.status\n : state.countShared.status !== 200\n ? state.countShared.status\n : state.sharedFeedbacks.status !== 200\n ? state.sharedFeedbacks.status\n : null\n );\n const history = useHistory();\n\n const renderErrorModal = () => (\n \n );\n\n const renderNoFeedback = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderSharedFeedbacks = () => (\n \n );\n\n const renderChangePageButtons = () => (\n \n \n \n );\n\n if (value === 1) return ;\n\n if (sharedFeedbackId !== 0) {\n history.replace({\n pathname: \"/feedback/shared\",\n state: {\n pageNo: pageNumber,\n option: option,\n },\n });\n history.push({\n pathname: `/feedback/shared/detail/${sharedFeedbackId}`,\n state: {\n pageNo: pageNumber,\n option: option,\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { DraftListLayoutProps } from \"../../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n height: \"-webkit-fill-available\",\n marginTop: theme.spacing(4),\n },\n loaderBackground: {\n width: \"inherit\",\n height: `${window.innerHeight - 225}px`,\n },\n}));\n\nexport const DraftListLayout: React.FC =\n ({ loading, renderList }) => {\n const classes = useStyle();\n window.scrollTo(0, 0);\n\n return (\n \n {renderList()}\n \n );\n };\n","import { Grid, Hidden, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport theme from \"../../../../theme\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body_1: {\n color: \"#868686\",\n textAlign: \"left\",\n padding: theme.spacing(1, 1, 1, 1),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n name: {\n paddingLeft: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n paddingLeft: theme.spacing(1),\n },\n },\n header: {\n padding: theme.spacing(1, 0, 1, 0),\n backgroundColor: \"rgba(87,107,234,0.05)\",\n },\n}));\n\nexport const HeaderTabs = () => {\n const classes = useStyle();\n\n return (\n \n \n \n Name\n \n \n \n \n Updated\n \n \n \n \n \n Attributes\n \n \n \n \n Type\n \n \n \n \n \n Action\n \n \n \n );\n};\n\nexport const HeaderTabsForNoRequests = () => {\n const classes = useStyle();\n\n return (\n \n \n \n Name\n \n \n \n \n Updated\n \n \n \n \n \n Attributes\n \n \n \n \n Type\n \n \n \n \n \n Action\n \n \n \n );\n};\n","import { Grid, Typography } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\n\nconst useStyle = makeStyles((theme) => ({\n typography_body: {\n fontSize: \"18px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n}));\n\nexport const NoDraftText = () => {\n const classes = useStyle();\n return (\n \n \n No saved drafts\n \n \n );\n};\n","import {\n Avatar,\n Grid,\n Paper,\n Hidden,\n Fade,\n IconButton,\n Typography,\n Button,\n CircularProgress,\n} from \"@material-ui/core\";\nimport Backdrop from \"@material-ui/core/Backdrop\";\nimport Modal from \"@material-ui/core/Modal\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { appColor } from \"../../../constants/customThemeColor\";\nimport { deleteDraftData } from \"../../../../redux/slices/DeleteDraftSlice\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport theme from \"../../../../theme\";\nimport {\n FeedbackDetailAPICallProps,\n SharedDraftProps,\n State,\n} from \"../../../../type\";\nimport { getDateInDesiredFormat } from \"../../../../util/GetDateInDesiredFormat\";\n\nconst useStyle = makeStyles((theme) => ({\n name: {\n textAlign: \"left\",\n padding: theme.spacing(1, 1, 1, 1),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"11px\",\n paddingLeft: \"3vw\",\n },\n },\n typography_body_1: {\n textAlign: \"left\",\n padding: theme.spacing(1, 1, 1, 1),\n },\n typography_pending: {\n textAlign: \"center\",\n width: theme.spacing(11.25),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(8),\n },\n },\n avatar: {\n width: theme.spacing(3.5),\n height: theme.spacing(3.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n },\n nameAndPicture: {\n padding: theme.spacing(0, 2, 0, 2),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 1, 0, 1),\n },\n },\n modal: { display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n modalGrid: {\n width: theme.spacing(113),\n height: theme.spacing(35),\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: theme.spacing(0, 0, 4, 0),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n height: theme.spacing(25),\n padding: theme.spacing(0, 0, 6, 0),\n },\n },\n deleteDraftHeader: {\n color: \"#272727\",\n margin: theme.spacing(2.75, 0, 3, 3),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.75),\n margin: theme.spacing(1.5, 0, 1, 1.5),\n },\n },\n deleteDraftText: {\n margin: theme.spacing(0, 0, 2, 3),\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n margin: theme.spacing(0, 0, 1, 1.5),\n },\n },\n modalPaper: {\n width: \"inherit\",\n margin: theme.spacing(0, 2, 0, 3),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(0, 1, 0, 1.5),\n },\n },\n modalPaperGrid: {\n padding: theme.spacing(1.5, 0, 1.5, 0),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0.75, 0, 0.75, 0),\n },\n },\n btn1: {\n margin: theme.spacing(2, 0, 0, 0),\n padding: theme.spacing(1.375, 4.125, 1.375, 4.125),\n backgroundColor: `${appColor.regularBackgroundColor}`,\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n btn_: {\n margin: theme.spacing(3, 5, 0, 0),\n borderColor: `${appColor.whiteBackground}`,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n },\n },\n}));\n\nexport const ShowDraftCard = ({\n draft,\n setRequestedUserId,\n setSelectedUser,\n setTabValue,\n setShowDraftWithId,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n const emptyDrafts: Array = [];\n const drafts =\n useSelector((state: State) => state.data.data?.drafts) ?? emptyDrafts;\n const dispatch = useDispatch();\n\n const [open, setOpen] = React.useState(false);\n\n async function handleCancel(e) {\n e.preventDefault();\n setOpen(false);\n }\n\n const handleDelete = (id) => {\n const arg: FeedbackDetailAPICallProps = {\n feedbackId: id,\n };\n dispatch(deleteDraftData(arg));\n setOpen(false);\n };\n\n const renderDeleteDraftModal = () => (\n \n \n \n \n \n \n Delete Draft\n \n \n \n \n Are you sure you want to delete this draft permanently?\n \n \n \n \n \n \n \n \n \n \n {draft.user.firstName + \" \" + draft.user.lastName}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(draft.createdAt))}\n \n \n \n \n \n {draft.attributesName.join(\", \")}\n \n \n \n \n \n \n {\n \n \n Cancel\n \n \n }\n {\n {\n handleDelete(draft.feedbackId);\n }}\n className={classes.btn1}\n color=\"primary\"\n variant=\"contained\"\n >\n \n Delete\n \n \n }\n \n \n \n \n \n );\n\n return (\n \n {renderDeleteDraftModal()}\n \n \n \n \n \n \n {draft.user.firstName + \" \" + draft.user.lastName}\n \n \n \n \n \n {getDateInDesiredFormat(new Date(draft.createdAt))}\n \n \n \n \n \n {draft.attributesName.join(\", \")}\n \n \n \n {drafts.findIndex(\n (d) => d.requestStatus === \"PENDING\" && d.id === draft.feedbackId\n ) >= 0 ? (\n \n Requested\n \n ) : null}\n \n \n \n \n {\n setShowDraftWithId(draft.feedbackId);\n setSelectedUser(draft.user);\n setRequestedUserId(draft.feedbackId);\n setTabValue(0);\n }}\n disabled={draft.user.status === \"INACTIVE\"}\n >\n \"edit\"\n \n \n \n {\n setOpen(true);\n }}\n >\n \"delete\"\n \n \n \n \n );\n};\n","import { CircularProgress, Grid, Paper } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { appColor } from \"../../../constants/customThemeColor\";\nimport { HeaderTabs, HeaderTabsForNoRequests } from \"./headerTabs\";\nimport { NoDraftText } from \"./noDraftText\";\nimport { ShowDraftCard } from \"./showDraftCard\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n width: \"inherit\",\n },\n body: {\n width: \"100%\",\n color: `${appColor.pureWhite}`,\n backgroundColor: `${appColor.pureWhite}`,\n },\n row: {\n width: \"100%\",\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n },\n}));\n\nexport const DraftContainer = ({\n loading,\n setRequestedUserId,\n feedbacks,\n setSelectedUser,\n setTabValue,\n setShowDraftWithId,\n setShareFeedbackData,\n}) => {\n const classes = useStyle();\n\n let iter = 0;\n\n return (\n \n \n {feedbacks.length === 0 ? : }\n {loading ? (\n \n \n \n ) : null}\n {!loading && feedbacks.length === 0 ? (\n \n \n \n ) : null}\n {!loading ? (feedbacks.map((draft) => (\n \n \n \n ))): null}\n \n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { DraftListLayout } from \"../../../../layouts/user/share_feedback/draft/Layout\";\nimport { getSavedDrafts } from \"../../../../redux/slices/SavedDraftsSlice\";\nimport { SharedFeedbacksParams, State, UserAndAttributeSliceProps } from \"../../../../type\";\nimport {\n SharedFeedback,\n} from \"../../shared_feedback/typeSharedFeedbacks\";\nimport { DraftContainer } from \"./draftContainer\";\nimport { clearData as clearSharedDraftDetail } from \"../../../../redux/slices/SharedDraftDetailSlice\";\nimport { requestData } from \"../../../../redux/slices/UsersAndAttributesSlice\";\n\nconst Drafts = ({\n setSelectedDraftId,\n feedbacks,\n setSelectedUser,\n setTabValue,\n setShowDraftWithId,\n setShareFeedbackData,\n}) => {\n const loading: Boolean = useSelector(\n (state: State) => state.savedDrafts.loading || state.deleteDraft.loading\n );\n\n return (\n \n );\n};\n\nexport const DraftList = ({\n setSelectedDraftId,\n setSelectedUser,\n setTabValue,\n setShowDraftWithId,\n setShareFeedbackData,\n setAttributes,\n setIsContext,\n onDataChange,\n}) => {\n const dispatch = useDispatch();\n const deleteDraftLoading: Boolean = useSelector(\n (state: State) => state.deleteDraft.loading\n );\n\n useEffect(() => {\n setSelectedUser(undefined);\n setSelectedDraftId(-1);\n setShowDraftWithId(-1);\n setShareFeedbackData([]);\n setAttributes([]);\n setIsContext(false);\n onDataChange(false);\n if (!deleteDraftLoading) {\n let requestParams: string = \"\";\n requestParams += \"?offSet=\" + 0;\n let requestingParams: SharedFeedbacksParams = {\n requestingParams: requestParams,\n };\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: true,\n isClients: false,\n isDrafts: true,\n isRequests: true,\n isScale: true,\n }\n dispatch(requestData(param));\n dispatch(getSavedDrafts(requestingParams));\n dispatch(clearSharedDraftDetail());\n }\n }, [dispatch, deleteDraftLoading]);\n\n const drafts: Array =\n useSelector((state: State) => state.savedDrafts.data) ?? [];\n\n const renderDrafts = () => (\n \n );\n\n return (\n \n );\n};\n","import { CircularProgress, Grid } from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { DraftList } from \"../../../modules/user/share_feedback/drafts/draftList\";\nimport theme from \"../../../theme\";\nimport { ShareFeedbackFormProps, State } from \"../../../type\";\nimport { HomeLayout } from \"../../home/Layout\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 6, 5.5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n minHeight: `${window.innerHeight - 102}px`,\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(4, 3, 3, 3),\n marginTop: theme.spacing(11.25),\n },\n },\n form: {\n marginTop: theme.spacing(3),\n width: \"inherit\",\n },\n}));\n\nexport const ShareFeedbackLayout: React.FC = ({\n props,\n setLogout,\n isDetailView,\n setIsDetailView,\n selectedUser,\n isUserSelected,\n shareFeedbackData,\n isContext,\n isDataChange,\n savedDraftDate,\n onDataChange,\n value,\n setValue,\n tabValue,\n setTabValue,\n setSelectedDraftId,\n setShareFeedbackData,\n setSelectedUser,\n setShowDraftWithId,\n setIsContext,\n renderTabs,\n renderContext,\n renderContextHintText,\n renderContextOptionText,\n renderTextBox,\n renderErrorModal,\n renderValidationModal,\n renderModal,\n handleSubmit,\n renderChooseMemberText,\n renderSelectColleagues,\n renderAddButton,\n renderCancelButton,\n renderSendButton,\n renderAddAttributeText,\n renderAddAttributeTitleText,\n renderAddNewButton,\n renderRouterPrompt,\n renderPromptModal,\n setAttributes,\n}) => {\n const classes = useStyle();\n if (tabValue === 0) {\n document.title = \"Grow-Wize | Share Feedback\";\n } else {\n document.title = \"Grow-Wize | Drafts\";\n }\n const [mobileOpen, setMobileOpen] = React.useState(false);\n\n const loading: Boolean = useSelector(\n (state: State) => state.data.loading || state.submitFeedback.loading\n );\n const draftLoading: Boolean =\n useSelector((state: State) => state.sharedDraftDetail.loading) ?? null;\n\n const renderToolBar = () => (\n 0}\n isDataChange={isDataChange}\n savedDraftDate={savedDraftDate}\n onAnyChange={onDataChange}\n >\n );\n\n const renderShareFeedbackLayout = () => (\n <>\n {renderPromptModal()}\n \n {renderTabs()}\n {tabValue === 0 && (\n <>\n {renderErrorModal()}\n {renderModal()}\n {loading && value !== 6 && (\n \n \n \n )}\n {(!loading || (loading && value === 6)) && (\n
\n \n \n {renderChooseMemberText()}\n {!isUserSelected && renderSelectColleagues()}\n {renderAddButton()}\n\n \n \n \n {draftLoading && (\n \n \n \n )}\n {!draftLoading && (\n <>\n \n {selectedUser && renderContext()}\n \n {selectedUser &&\n !isContext &&\n renderContextOptionText()}\n \n \n {selectedUser && !isContext && renderContextHintText()}\n {selectedUser && renderTextBox()}\n {selectedUser && (\n \n \n \n )}\n {selectedUser ? renderAddAttributeTitleText() : null}\n {selectedUser\n ? shareFeedbackData?.length === 0\n ? renderAddAttributeText()\n : null\n : null}\n {selectedUser ? renderAddNewButton() : null}\n \n )}\n \n \n {renderValidationModal()}\n \n \n {renderCancelButton()}\n {renderSendButton()}\n \n \n {renderRouterPrompt()}\n \n )}\n \n )}\n {tabValue === 1 && (\n <>\n \n \n )}\n \n \n );\n\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n return (\n \n );\n};\n","import {\n Avatar,\n Button,\n Chip,\n Grid,\n TextField,\n Typography,\n} from \"@material-ui/core\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { useCustomStyle } from \"../../../styles\";\nimport {\n AddUserButtonProps,\n CancelButtonProps,\n Requests,\n ResponseAttribute,\n ResponseScaleProp,\n SharedDraftProps,\n State,\n User,\n} from \"../../../type\";\nimport { SharedFeedbackDetailData } from \"../shared_feedback/typeSharedFeedbacks\";\nimport {\n updateEmojiAndAttributeOnClick,\n updateEmojiAndAttributeWithDraftData,\n} from \"./addNewButtonHandles\";\nimport {\n EditorState,\n ContentState,\n convertToRaw,\n convertFromHTML,} from \"draft-js\";\n\nconst useStyle = makeStyles((theme) => ({\n chip: {\n margin: theme.spacing(2, 1, 0, 1),\n backgroundColor: `${appColor.whiteBackground}`,\n borderColor: `${appColor.regularBorder}`,\n },\n btn_: {\n margin: theme.spacing(3, 5, 0, 0),\n borderColor: `${appColor.pureWhite}`,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: `${appColor.pureBlack}`,\n },\n typography_body_4: {\n alignItems: \"center\",\n color: `${appColor.pureWhite}`,\n },\n draftIcon: {\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(2),\n width: theme.spacing(3.5),\n },\n },\n}));\n\nexport const AddButton: React.FC = ({\n selectedUser,\n setSelectedUser,\n attributes,\n setAttributes,\n emojiSelected,\n setContext,\n setIsContext,\n setEmojiSelected,\n shareFeedbackData,\n setShareFeedbackData,\n setRequestId,\n requestedUserId,\n setRequestedUserId,\n isUserSelected,\n setIsUserSelected,\n selectedDraftId,\n setSelectedDraftId,\n showDraftWithId,\n setShowDraftWithId,\n isDraftLoad,\n setIsDraftLoad,\n index,\n setIndex,\n setLock,\n setEditorState,\n}) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n const [userChanged, setUserChanged] = React.useState(0);\n const [requestLoad, setRequestLoad] = React.useState(0);\n const [requestIndex, setRequestIndex] = React.useState(0);\n\n function handleDelete(id: number | undefined) {\n if (selectedUser !== undefined) {\n setSelectedUser(selectedUser.id !== id);\n }\n }\n\n const users: Array = [];\n const requests: Array = [];\n const attr: Array = [];\n const emptyDrafts: Array = [];\n const labels = useSelector((state: State) => state.data.data?.users) ?? users;\n const initialAttributes =\n useSelector((state: State) => state.data.data?.requests) ?? requests;\n const drafts =\n useSelector((state: State) => state.data.data?.drafts) ?? emptyDrafts;\n const attLabels =\n useSelector((state: State) => state.data.data?.attributes) ?? attr;\n const draftDetailData: SharedFeedbackDetailData =\n useSelector((state: State) => state.sharedDraftDetail.data) ?? null;\n const emptyList: Array = [];\n const responseScales =\n useSelector((state: State) => state.data.data?.scaleResponseEntityList) ??\n emptyList;\n\n useEffect(() => {\n if (selectedUser && drafts && requestIndex < 2) {\n setAttributes([]);\n setIndex(-1);\n let isRequest = false;\n let isDraft = false;\n for (let j = 0; j < initialAttributes.length; j++) {\n if (\n initialAttributes[j].userId === selectedUser.id &&\n drafts.findIndex(\n (d) => d.requestId === initialAttributes[j].requestId\n ) === -1 &&\n showDraftWithId === -1\n ) {\n isRequest = true;\n setIndex(j);\n setRequestId(initialAttributes[j].requestId);\n if (initialAttributes[j].context.length > 8) {\n setContext(initialAttributes[j].context);\n setIsContext(true);\n }\n break;\n } else if (\n initialAttributes[j].userId === selectedUser.id &&\n drafts.findIndex(\n (d) => d.requestId === initialAttributes[j].requestId\n ) >= 0\n ) {\n const draft: SharedDraftProps | undefined = drafts.find(\n (d) => d.requestId === initialAttributes[j].requestId\n );\n if (draft !== undefined && showDraftWithId === -1) {\n isDraft = true;\n setSelectedDraftId(draft.id);\n setRequestId(draft.requestId);\n setShowDraftWithId(draft.id);\n setIsContext(true);\n }\n break;\n }\n }\n if (\n !isRequest &&\n drafts.filter((d) => d.receiverId === selectedUser.id).length === 0\n ) {\n setRequestId(null);\n setContext(\"\");\n setIsContext(false);\n } else if (\n !isRequest &&\n drafts.find(\n (d) => d.receiverId === selectedUser.id && d.requestId === null\n ) &&\n !isDraft\n ) {\n setSelectedDraftId(\n drafts.filter(\n (d) => d.receiverId === selectedUser.id && d.requestId === null\n )[0].id\n );\n setRequestId(null);\n } else if (\n !isRequest &&\n drafts.find((d) => d.receiverId === selectedUser.id) &&\n !isDraft\n ) {\n if (showDraftWithId === -1) {\n setSelectedDraftId(\n drafts.filter((d) => d.receiverId === selectedUser.id)[0].id\n );\n setRequestId(\n drafts.filter((d) => d.receiverId === selectedUser.id)[0].requestId\n );\n } else {\n setSelectedDraftId(showDraftWithId);\n setRequestId(drafts.find((d) => d.id === showDraftWithId)?.requestId);\n }\n }\n if (isRequest && index < 0) {\n if (requestIndex === 0) setRequestIndex(1);\n else setRequestIndex(0);\n } else {\n setRequestIndex(3);\n setUserChanged(1);\n }\n }\n }, [selectedUser, requestIndex]);\n\n useEffect(() => {\n if (requestLoad < 2 && selectedUser) {\n if (index >= 0 && attributes.length === 0) {\n let att: Array = [];\n for (let i = 0; i < attLabels.length; i++) {\n for (\n let j = 0;\n j < initialAttributes[index].attributeIds.length;\n j++\n ) {\n if (attLabels[i].id === initialAttributes[index].attributeIds[j]) {\n att.push(attLabels[i]);\n setAttributes(att);\n }\n }\n }\n }\n updateEmojiAndAttributeOnClick(\n attributes,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData\n );\n setUserChanged(0);\n if (requestLoad === 0) {\n setRequestLoad(1);\n } else if (requestLoad === 1) {\n setRequestLoad(0);\n }\n if (\n (shareFeedbackData.length > 0 && requestLoad < 2) ||\n (index < 0 && requestIndex === 3)\n ) {\n setRequestLoad(3);\n }\n }\n }, [userChanged, requestLoad]);\n\n useEffect(() => {\n setShowDraftWithId(-1);\n if (selectedDraftId >= 0) {\n setLock(true);\n if (draftDetailData) {\n if (draftDetailData.context.length > 8) {\n setContext(draftDetailData.context);\n initialAttributes.map((req)=>{\n if(req.requestId === draftDetailData.requestId && req.requestId !== null && req.context.length > 8) {setIsContext(true);}\n })\n setEditorState(\n EditorState.createWithContent(\n ContentState.createFromBlockArray(\n convertFromHTML(draftDetailData.context).contentBlocks,\n convertFromHTML(draftDetailData.context).entityMap\n )\n )\n );\n }\n console.log(\"here draft data \",attributes);\n if (attributes.length === 0 && !isDraftLoad) {\n let att: Array = [];\n for (let j = 0; j < draftDetailData.attributes.length; j++) {\n for (let i = 0; i < attLabels.length; i++) {\n if (attLabels[i].name === draftDetailData.attributes[j].name) {\n att.push(attLabels[i]);\n setAttributes(att);\n }\n }\n }\n }\n updateEmojiAndAttributeWithDraftData(\n attributes,\n emojiSelected,\n shareFeedbackData,\n setEmojiSelected,\n setShareFeedbackData,\n draftDetailData?.attributes,\n setSelectedDraftId,\n responseScales\n );\n if (shareFeedbackData.length === draftDetailData?.attributes.length) {\n setIsDraftLoad(true);\n setSelectedDraftId(-1);\n }\n }\n }\n }, [userChanged, draftDetailData, selectedDraftId, attributes]);\n\n useEffect(() => {\n if (requestedUserId > 0) {\n for (let idx = 0; idx < labels.length; idx++) {\n if (labels[idx].id === requestedUserId) {\n setSelectedUser(labels[idx]);\n setRequestedUserId(0);\n break;\n }\n }\n }\n }, [labels]);\n\n useEffect(() => {\n if (selectedUser) {\n setIsUserSelected(true);\n window.history.pushState(\n selectedUser?.id,\n document.title,\n `/feedback/share/${selectedUser?.id}`\n );\n } else {\n setRequestIndex(0);\n setRequestLoad(0);\n setIsContext(false);\n setSelectedDraftId(-1);\n setIsDraftLoad(false);\n setShowDraftWithId(-1);\n setIsUserSelected(false);\n setShareFeedbackData([]);\n setAttributes([]);\n }\n }, [selectedUser]);\n\n return (\n <>\n \n {selectedUser && (\n \n }\n label={\n \n {selectedUser?.firstName + \" \" + selectedUser?.lastName}\n \n }\n className={classes.chip}\n onDelete={() => handleDelete(selectedUser?.id)}\n />\n )}\n \n {!isUserSelected && (\n option.id === value.id}\n onChange={(event, newValue) => {\n if (typeof newValue !== \"string\") setSelectedUser(newValue);\n }}\n filterSelectedOptions\n disableCloseOnSelect\n options={labels}\n getOptionLabel={(option) => \n option.firstName && option.firstName + \" \" + option.lastName\n }\n renderOption={(option, { selected }) => (\n \n \n \n \n
\n \n {option.firstName + \" \" + option.lastName}\n \n
\n
\n {drafts.find((d) => d.receiverId === option.id) && (\n \n \n \n )}\n \n
\n )}\n renderInput={(params) => (\n \n )}\n />\n )}\n \n );\n};\n\nexport const SendButton = () => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n return (\n \n \n Send\n \n \n );\n};\n\nexport const CancelButton: React.FC = ({ setValue }) => {\n const classes = useStyle();\n const customClasses = useCustomStyle();\n async function handleCancel(e) {\n e.preventDefault();\n setValue(0);\n }\n return (\n \n );\n};\n","import {\n Divider,\n Grid,\n Hidden,\n makeStyles,\n MenuItem,\n Select,\n Tab,\n Tabs,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport theme from \"../../../theme\";\nimport { SharedDraftProps, State } from \"../../../type\";\n\nconst useStyle = makeStyles((theme) => ({\n tabs: {\n color: \"#576BEA\",\n width: theme.spacing(20),\n textAlign: \"left\",\n },\n divider: {\n backgroundColor: \"#576bea66\",\n width: \"inherit\",\n },\n typography_body_1: {\n textTransform: \"none\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n}));\n\nconst ShareText = () => {\n const classes = useStyle();\n return (\n \n Share\n \n );\n};\n\nconst DraftsText = () => {\n const classes = useStyle();\n const emptyDrafts: Array = [];\n const drafts =\n useSelector((state: State) => state.data.data?.drafts) ?? emptyDrafts;\n const loading = useSelector((state: State) => state.data.loading);\n return (\n \n {loading ? \"Drafts\" : `Drafts (${drafts?.length})`}\n \n );\n};\n\nexport const TabLabels = ({ tabValue, setTabValue, props, setMissing }) => {\n const classes = useStyle();\n const history = useHistory();\n const indexToTab = {\n 0: \"default\",\n 1: \"drafts\",\n };\n\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n let prevId = history.location;\n props.history.push(`/feedback/share/${indexToTab[newValue]}`);\n setMissing(false);\n let newId = history.location;\n if (newId !== prevId) setTabValue(newValue);\n };\n\n const handleChange = (event: React.ChangeEvent<{ value: any }>) => {\n let prevId = history.location;\n setMissing(false);\n props.history.push(\n `/feedback/share/${indexToTab[event.target.value as number]}`\n );\n let newId = history.location;\n if (newId !== prevId) setTabValue(event.target.value as number);\n };\n\n return (\n \n \n \n } />\n }\n />\n \n \n \n {\n \n \n \n \n \n \n \n \n \n \n }\n \n );\n};\n","import {\n List,\n ListItem,\n Typography, makeStyles,\n} from \"@material-ui/core\";\nimport { Modal } from \"../../../modules/components/Modal/Modal\";\nimport { ModalHeader } from \"../../../modules/components/Modal/ModalHeader\";\nimport { ModalBody } from \"../../../modules/components/Modal/ModalBody\";\nimport { ModalFooter } from \"../../../modules/components/Modal/ModalFooter\"\n\nexport const AttributePromptModal = ({\n open,\n handleCancel,\n handleSendAnyway,\n disableActions,\n promptAttributes\n}) => {\n\n const useStyle = makeStyles((theme) => ({\n confirmationInfo: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\",\n marginBottom: 20\n },\n listItem: {\n display: 'list-item',\n fontWeight: 'bold',\n color: \"#272727\",\n paddingLeft: \"10px\",\n fontSize: 14\n }\n\n }));\n const classes = useStyle();\n return (\n \n \n \n \n The current feedback is limited. it would be beneficial for receiver, if you could also provide feedback on the following attributes:
\n
\n \n {promptAttributes.map(attribute => {\n return \n {attribute.name}\n \n })}\n \n
\n \n
\n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Prompt, Redirect, useHistory } from \"react-router-dom\";\nimport { ErrorPopUp } from \"../../components/ErrorPages/errorModal\";\nimport { ClearAllData } from \"../../constants/clearData\";\nimport {\n AddAttributeText,\n AddAttributeTitleText,\n ChooseMemberTextForShareFeedback,\n SelectColleague,\n} from \"../../constants/shareFeedbackText\";\nimport { ShareFeedbackLayout } from \"../../../layouts/user/share_feedback/Layout\";\nimport { setUnsavedChanges, shareFeedback } from \"../../../redux/slices/ShareFeedbackSlice\";\nimport { requestData } from \"../../../redux/slices/UsersAndAttributesSlice\";\nimport {\n AttributeQuestionEmoji,\n FeedbackDetailAPICallProps,\n ResponseAttribute,\n ShareFeedbackAttribute,\n ShareFeedbackProps,\n State,\n User,\n UserAndAttributeSliceProps,\n} from \"../../../type\";\nimport {\n AdditionalInfoHintText,\n ContextText,\n OptionalText,\n} from \"../request_feedback/request_employee/requestFeedbackText\";\nimport { AddNewButton } from \"./addNewButton\";\nimport { AddButton, CancelButton, SendButton } from \"./buttons\";\nimport { ConsentModal } from \"../request_feedback/request_employee/popUp\";\n\nimport \"react-draft-wysiwyg/dist/react-draft-wysiwyg.css\";\nimport { EditorState, convertToRaw } from \"draft-js\";\nimport draftToHtml from \"draftjs-to-html\";\nimport \"./style.css\";\nimport { sharedDraftDetail } from \"../../../redux/slices/SharedDraftDetailSlice\";\nimport { clearData as clearSharedDraftDetail } from \"../../../redux/slices/SharedDraftDetailSlice\";\n\nimport { clearData as clearSubmitFeedback } from \"../../../redux/slices/SubmitFeedbackSlice\";\nimport { TabLabels } from \"./tabLabels\";\nimport { useCustomStyle } from \"../../../styles\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { submitFeedback } from \"../../../redux/slices/SubmitFeedbackSlice\";\nimport { ValidationPromptModal } from \"../../components/ValidationModal\";\nimport { EditorForText, RemainingCharWarnText } from \"./addNewButtonElements\";\nimport { AttributePromptModal } from \"../../../layouts/user/share_feedback/AttributesPromptModal\";\n\nconst useStyle = makeStyles((theme) => ({\n modal: { display: \"flex\", alignItems: \"center\", justifyContent: \"center\" },\n modalGrid: {\n width: theme.spacing(70),\n height: theme.spacing(35),\n justifyContent: \"center\",\n alignItems: \"center\",\n padding: theme.spacing(8, 0, 4, 0),\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(40),\n height: theme.spacing(25),\n padding: theme.spacing(6, 0, 6, 0),\n },\n },\n modalErrorText: {\n color: `${appColor.activeRegularColor}`,\n textAlign: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(2),\n },\n },\n typography_body_context: {\n textAlign: \"justify\",\n margin: theme.spacing(0, 0, 1, 0),\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0.5, 0.5, 0.5, 0.5),\n },\n },\n btn1: {\n padding: theme.spacing(1.375, 4.25, 1.375, 4.25),\n backgroundColor: `${appColor.regularBackgroundColor}`,\n \"&:hover\": {\n backgroundColor: `${appColor.regularBackgroundColor}`,\n },\n color: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n editor: {\n width: \"-webkit-fill-available\",\n },\n editor1: {\n width: \"-moz-available\",\n },\n}));\n\nexport const ShareFeedback = (props) => {\n const dispatch = useDispatch();\n const classes = useStyle();\n const customClasses = useCustomStyle();\n\n const [logout, setLogout] = React.useState(false);\n let { id } = props.match.params;\n const tabToIndex = {\n default: 0,\n drafts: 1,\n };\n const [tabValue, setTabValue] = React.useState(\n id ? (tabToIndex[id] ? tabToIndex[id] : 0) : 0\n );\n const [selectedUser, setSelectedUser] = React.useState();\n const [attributes, setAttributes] = React.useState([]);\n const [shareFeedbackData, setShareFeedbackData] = React.useState<\n ShareFeedbackAttribute[]\n >([]);\n const [emojiSelected, setEmojiSelected] = React.useState<\n Array\n >([]);\n const [showModal, setShowModal] = React.useState(false);\n const [index, setIndex] = React.useState(-1);\n const [showErrorModal, setShowErrorModal] = React.useState(false);\n const [dispatched, setDispatched] = React.useState(false);\n const [requestId, setRequestId] = React.useState(null);\n const [isUserSelected, setIsUserSelected] = React.useState(false);\n const [requestedUserId, setRequestedUserId] = React.useState(\n parseInt(id)\n );\n const [dataCleared, setDataCleared] = React.useState(false);\n const [isMissing, setMissing] = React.useState(false);\n const [missingElement, setMissingElement] = React.useState(null);\n const [isDraftLoad, setIsDraftLoad] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [isAnyChange, onAnyChange] = React.useState(false);\n const [isDataChange, onDataChange] = React.useState(false);\n const [value, setValue] = React.useState(-2);\n const [isValid, setIsValid] = React.useState(0);\n const [isAnyAttribute, setIsAnyAttribute] = React.useState(false);\n const [charLimitExceeded, setCharLimitExceeded] =\n React.useState(false);\n\n const [dataLoadingFailed, setDataLoadingFailed] =\n React.useState(false);\n const statusForData = useSelector((state: State) => state.data.status);\n const status = useSelector((state: State) => state.shareFeedback.status);\n const loading = useSelector((state: State) => state.shareFeedback.loading);\n const attr: Array = [];\n const attLabels =\n useSelector((state: State) => state.data.data?.attributes) ?? attr;\n const finalStatus = useSelector(\n (state: State) => state.submitFeedback.status\n );\n const finalLoading = useSelector(\n (state: State) => state.submitFeedback.loading\n );\n const [context, setContext] = React.useState(\"\");\n const [isContext, setIsContext] = React.useState(false);\n const [finalSubmit, setFinalSubmit] = React.useState(false);\n const [editorState, setEditorState] = React.useState(\n EditorState.createEmpty()\n );\n const [selectedDraftId, setSelectedDraftId] = React.useState(-1);\n const [showDraftWithId, setShowDraftWithId] = React.useState(-1);\n const [isDirty, setIsDirty] = React.useState(false);\n const [isLock, setLock] = React.useState(false);\n const [openAttributePromptModal, setOpenAttributePromptModal] = React.useState(false)\n const [savedDraftDate, setDraftDate] = React.useState(new Date());\n let checkAttributes = [] as ResponseAttribute[];\n attLabels.forEach(attribute => {\n if (attribute.isPrimaryAttribute) {\n checkAttributes.push(attribute);\n }\n });\n const [promptAttributes, setPromptAttributes] = React.useState(checkAttributes);\n\n const sessionExpired = useSelector((state: State) => state.auth.isExpired);\n\n const param: UserAndAttributeSliceProps = {\n isUsers: true,\n isAttributes: true,\n isClients: false,\n isDrafts: true,\n isRequests: true,\n isScale: true,\n };\n\n const statusCode: number | null = useSelector((state: State) =>\n state.data.status !== 200\n ? state.data.status\n : state.shareFeedback.status !== 201\n ? state.shareFeedback.status\n : state.submitFeedback.status !== 201\n ? state.submitFeedback.status\n : state.sharedDraftDetail.status !== 200\n ? state.sharedDraftDetail.status\n : state.savedDrafts.status !== 200\n ? state.savedDrafts.status\n : null\n );\n useEffect(() => {\n if (!isUserSelected) {\n setEditorState(EditorState.createEmpty());\n setMissing(false);\n dispatch(clearSharedDraftDetail());\n }\n }, [isUserSelected]);\n\n useEffect(() => {\n if (isAnyChange) {\n onDataChange(true);\n setIsDirty(true);\n }\n }, [isAnyChange]);\n\n useEffect(() => {\n if (!isLock) {\n onDataChange(true);\n setIsDirty(true);\n }\n\n shareFeedbackData.forEach(attribute => {\n let requiredAttribute = checkAttributes.findIndex(a => attribute.attributeId == a.id);\n if (requiredAttribute != -1) {\n checkAttributes.splice(requiredAttribute, 1)\n }\n });\n setPromptAttributes(checkAttributes);\n\n }, [shareFeedbackData]);\n\n useEffect(() => {\n if (isLock) {\n onDataChange(false);\n onAnyChange(false);\n setIsDirty(false);\n setTimeout(() => {\n setLock(false);\n }, 1000);\n }\n }, [isLock]);\n\n useEffect(() => {\n dispatch(requestData(param));\n dispatch(clearSharedDraftDetail());\n }, []);\n\n useEffect(() => {\n if (selectedDraftId > 0) {\n window.history.pushState(\n selectedUser?.id,\n document.title,\n `/feedback/share/${selectedUser?.id}`\n );\n let params: FeedbackDetailAPICallProps = {\n feedbackId: selectedDraftId,\n };\n dispatch(sharedDraftDetail(params));\n setShareFeedbackData([]);\n }\n }, [selectedDraftId]);\n\n const history = useHistory();\n const goToPreviousPath = () => {\n if (history.length > 10) {\n history.goBack();\n } else {\n history.push(\"/\");\n }\n };\n const logoutUser = () => {\n setLogout(true);\n };\n\n const renderTabLabels = () => (\n \n );\n\n const onEditorStateChange = (state) => {\n setEditorState(state);\n setContext(draftToHtml(convertToRaw(state.getCurrentContent())));\n onAnyChange(true);\n };\n\n useEffect(() => {\n if (\n statusForData !== null &&\n statusForData !== 200 &&\n statusForData !== 201\n ) {\n setDataLoadingFailed(true);\n setShowErrorModal(true);\n }\n }, [dataLoadingFailed, showErrorModal, statusForData]);\n\n const renderErrorModal = () => (\n \n );\n\n const renderModal = () => (\n \n );\n\n const renderChooseMemberText = () => ;\n\n const renderSelectColleagues = () => ;\n\n const renderAddButton = () => (\n \n );\n\n const renderContext = () => ;\n\n const renderContextOptionText = () => ;\n\n const renderContextHintText = () => (\n \n );\n\n const renderTextBox = () => (\n <>\n {!isContext && (\n <>\n
\n \n
\n\n \n \n \n \n \n \n )}\n {isContext && (\n \n )}\n \n );\n\n const renderAddAttributeTitleText = () => ;\n\n const renderAddAttributeText = () => (\n \n );\n\n const renderAddNewButton = () => (\n \n );\n\n const renderCancelButton = () => (\n \n );\n\n const renderSendButton = () => ;\n const renderRouterPrompt = () => {\n isDirty ? dispatch(setUnsavedChanges(true)) : dispatch(setUnsavedChanges(false))\n return null;\n };\n\n useEffect(() => {\n if (dispatched === true && finalStatus === 201 && finalLoading === false) {\n setIsDirty(false);\n setSelectedUser(undefined);\n setRequestedUserId(parseInt(\"default\"));\n setContext(\"\");\n setShareFeedbackData([]);\n setShowModal(true);\n setDispatched(false);\n setFinalSubmit(false);\n dispatch(requestData(param));\n dispatch(clearSubmitFeedback());\n }\n }, [dispatched, finalLoading, finalStatus]);\n\n useEffect(() => {\n if (\n dispatched === true &&\n status === 201 &&\n loading === false &&\n value === 6\n ) {\n const timer = setTimeout(() => {\n if (loading === false && value === 6) {\n setValue(-1);\n setDraftDate(new Date());\n }\n }, 3000);\n return () => clearTimeout(timer);\n }\n }, [dispatched, loading, status]);\n\n useEffect(() => {\n const timer = setTimeout(() => {\n if (loading === false && value === 6) {\n setValue(-1);\n }\n }, 2000);\n return () => clearTimeout(timer);\n }, [loading, value]);\n\n useEffect(() => {\n if (selectedUser && selectedUser?.id > 0 && shareFeedbackData.length > 0) {\n setValue(-1);\n } else {\n setValue(-2);\n setIsDirty(false);\n }\n }, [selectedUser, shareFeedbackData]);\n\n useEffect(() => {\n if (statusCode && statusCode !== 200 && statusCode !== 201) {\n setIsDirty(false);\n setShowErrorModal(true);\n }\n }, [statusCode]);\n\n useEffect(() => {\n if (status && status !== 201) {\n setValue(5);\n }\n }, [status, loading]);\n\n useEffect(() => {\n if (value === 6) {\n handleSubmit(window.event);\n }\n }, [value]);\n\n const AUTO_SAVE_INTERVAL = 30000;\n\n useEffect(() => {\n if (!isDataChange) {\n setIsDirty(false);\n }\n const timer = setInterval(() => {\n if (!loading && tabValue === 0 && isDataChange) {\n setValue(6);\n onDataChange(false);\n onAnyChange(false);\n setIsDirty(false);\n }\n }, AUTO_SAVE_INTERVAL);\n return () => clearInterval(timer);\n }, [isDataChange, loading, tabValue]);\n\n const handleErrors = () => {\n if (selectedUser) {\n setIsValid(0);\n } else {\n setIsValid(1);\n }\n if (shareFeedbackData.length === 0 && selectedUser) {\n setIsAnyAttribute(true);\n } else {\n setIsAnyAttribute(false);\n }\n };\n\n useEffect(() => {\n if (!open && isMissing && missingElement) {\n let val = document.getElementById(missingElement)?.offsetTop;\n let HEADER_HEIGHT: number | undefined = 300;\n window.scrollTo({\n top: val ? (val - HEADER_HEIGHT) : val,\n behavior: 'smooth',\n })\n }\n }, [open, isMissing, missingElement])\n\n const handleOpen = () => {\n setFinalSubmit(false);\n setOpen(true);\n };\n\n const renderValidationModal = () => (\n \n );\n\n const handleCancelModal = () => {\n setOpenAttributePromptModal(false);\n }\n\n const handleSendAnyway = (e) => {\n setOpenAttributePromptModal(false);\n handleSubmitFeedback(e);\n }\n\n const renderPromptModal = () => (\n \n );\n\n\n function handleSubmit(e) {\n e?.preventDefault();\n onAnyChange(false);\n setCharLimitExceeded(false);\n let checkUser = false;\n if (selectedUser === undefined || !selectedUser) {\n checkUser = true;\n }\n\n let flag = false;\n let attributesLength = false;\n if (shareFeedbackData.length === 0) {\n attributesLength = true;\n } else {\n if (context.length > 10000) {\n flag = true;\n setCharLimitExceeded(true);\n }\n for (let idx = 0; idx < shareFeedbackData.length; idx++) {\n for (\n let idx2 = 0;\n idx2 < shareFeedbackData[idx].questions.length;\n idx2++\n ) {\n if (\n shareFeedbackData[idx].questions[idx2]?.answer?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n }\n if (\n shareFeedbackData[idx].context?.length > 10000 ||\n shareFeedbackData[idx].resources?.length > 10000 ||\n shareFeedbackData[idx].suggestions?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n }\n }\n if (tabValue === 0 && !finalSubmit) {\n if (flag || checkUser || attributesLength) {\n if ((checkUser || attributesLength) && value !== 6) {\n handleErrors();\n } else if (flag) {\n handleOpen();\n }\n } else {\n if (selectedUser) {\n const arg: ShareFeedbackProps = {\n receiverId: selectedUser.id,\n attributes: shareFeedbackData,\n requestId: requestId,\n context: context.replace(/ |‌|»|«|>/g, ' ').trim(),\n status: \"DRAFTED\",\n };\n dispatch(shareFeedback(arg));\n setDispatched(true);\n }\n }\n }\n }\n\n function handleSubmitFeedback(e) {\n if (selectedUser) {\n const arg: ShareFeedbackProps = {\n receiverId: selectedUser.id,\n attributes: shareFeedbackData,\n requestId: requestId,\n context: context.replace(/ |‌|»|«|>/g, ' ').trim(),\n status: \"SUBMITTED\",\n };\n dispatch(submitFeedback(arg));\n setMissing(false);\n setDispatched(true);\n }\n }\n\n function handleSubmit2(e) {\n setFinalSubmit(true);\n e?.preventDefault();\n let regex = /(<([^>]+)>)/ig\n setCharLimitExceeded(false);\n let checkUser = false;\n if (selectedUser === undefined || !selectedUser) {\n checkUser = true;\n }\n\n let flag = false;\n let attributesLength = false;\n if (shareFeedbackData.length === 0) {\n attributesLength = true;\n } else {\n if (context.length > 10000) {\n flag = true;\n setCharLimitExceeded(true);\n }\n for (let idx = 0; idx < shareFeedbackData.length; idx++) {\n for (\n let idx2 = 0;\n idx2 < shareFeedbackData[idx].questions.length;\n idx2++\n ) {\n if (\n value !== 6 &&\n shareFeedbackData[idx].questions[idx2].answer?.length < 1\n ) {\n flag = true;\n setMissing(true);\n setMissingElement(`que-id-${shareFeedbackData[idx].questions[idx2].questionId}`);\n break;\n } else {\n let ans = shareFeedbackData[idx].questions[idx2].answer;\n if (\n value !== 6 &&\n (!ans?.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g, '').replace(/\\n/g, '').length || ans.length < 0)\n ) {\n flag = true;\n setMissing(true);\n setMissingElement(`que-id-${shareFeedbackData[idx].questions[idx2].questionId}`);\n break;\n } else if (\n shareFeedbackData[idx].questions[idx2].answer?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n break;\n }\n }\n }\n if (flag) break;\n let str = shareFeedbackData[idx].context.replaceAll(/\\ /g, \"\").replaceAll(regex, \"\").replace(/\\s/g, '').replace(/\\n/g, '');\n if (str.length < 2 && value !== 6) {\n flag = true;\n setMissing(true);\n setMissingElement(`explanation-id-${shareFeedbackData[idx].attributeId}`);\n } else if (shareFeedbackData[idx].context?.length < 9 && value !== 6) {\n flag = true;\n setMissing(true);\n setMissingElement(`explanation-id-${shareFeedbackData[idx].attributeId}`);\n } else if (\n shareFeedbackData[idx].context?.length > 10000 ||\n shareFeedbackData[idx].resources?.length > 10000 ||\n shareFeedbackData[idx].suggestions?.length > 10000\n ) {\n flag = true;\n setCharLimitExceeded(true);\n }\n if (flag) break;\n }\n }\n if (tabValue === 0) {\n if (flag || checkUser || attributesLength) {\n if ((checkUser || attributesLength) && value !== 6) {\n handleErrors();\n } else if (flag) {\n handleOpen();\n }\n }\n else if (open === false) {\n if (promptAttributes?.length > 0) {\n setOpenAttributePromptModal(true);\n return;\n } else {\n handleSubmitFeedback(e);\n }\n }\n }\n }\n\n if (value === 0) {\n return ;\n }\n\n if (id === \":id\" || (value === 1 && id !== \"default\")) {\n return ;\n }\n\n if (logout && !dataCleared) ClearAllData(setDataCleared);\n\n if (logout && dataCleared) {\n history.push({ pathname: \"/\", state: { path: sessionExpired ? props.location.pathname : null } });\n }\n\n return (\n \n );\n};\n","import { CircularProgress, Grid } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\n\nconst drawerWidth = 0;\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n background: \"inherit\",\n },\n loaderBackground: {\n minHeight: `${window.innerHeight - 48}px`,\n padding: theme.spacing(6, 6, 6, 5),\n marginTop: theme.spacing(6),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(5, 4, 4, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(4, 3, 3, 3),\n },\n background: \"#FFFFFF\",\n },\n mainSection: {\n margin: theme.spacing(2, 2, 1, 2),\n width: `calc(100% - 0px)`,\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(100% - ${drawerWidth}px)`,\n margin: theme.spacing(4, 18.75, 1, 18.75),\n },\n },\n })\n);\n\nexport const Loader = () => {\n const classes = useStyles();\n return (\n \n \n \n \n \n );\n};\n\ninterface LayoutProps {\n TopSectionPage: ()=>React.ReactNode;\n MainSectionPage1: ()=> React.ReactNode;\n MainSectionPage2: ()=> React.ReactNode;\n MainSectionPage3: ()=> React.ReactNode;\n MainSectionPage4: ()=> React.ReactNode;\n MainSectionPage5: ()=> React.ReactNode;\n MainSectionPage6: ()=> React.ReactNode;\n}\n\nexport const Layout: React.FC =\n ({\n TopSectionPage,\n MainSectionPage1,\n MainSectionPage2,\n MainSectionPage3,\n MainSectionPage4,\n MainSectionPage5,\n MainSectionPage6,\n }) => {\n const classes = useStyles();\n window.scroll({\n behavior: \"smooth\"\n })\n return (\n \n \n {TopSectionPage()}\n {MainSectionPage1()}\n {MainSectionPage2()}\n {MainSectionPage3()}\n {MainSectionPage4()}\n {MainSectionPage5()}\n {MainSectionPage6()}\n \n \n );\n };\n","import { Button, Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport \"./extra_fonts/landingFont.css\";\n\nexport const useStyle = makeStyles((theme) => ({\n headerSection: {\n position: \"fixed\",\n height: theme.spacing(12.5),\n top: theme.spacing(0),\n boxShadow: \"0 2px 10px 0 rgba(175,175,175,0.3)\",\n backgroundColor: \"#FFFFFF\",\n padding: theme.spacing(0, 15),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 10),\n height: theme.spacing(8),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 6),\n },\n },\n logo: {\n height: theme.spacing(7),\n width: theme.spacing(7),\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(4),\n width: theme.spacing(4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n height: theme.spacing(2.5),\n width: theme.spacing(2.5),\n },\n },\n logoName: {\n fontSize: theme.spacing(2),\n fontWeight: 800,\n fontFamily: \"Nunito\",\n color: \"#21395E\",\n marginLeft: theme.spacing(0.85),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n marginLeft: theme.spacing(0.35),\n },\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1),\n }\n },\n get_started_btn: {\n textTransform: \"none\",\n width: theme.spacing(19.75),\n height: theme.spacing(6.25),\n borderRadius: theme.spacing(0.5),\n color: \"#FFFFFF\",\n backgroundColor: \"#576BEA\",\n padding: theme.spacing(1.25, 1.5),\n marginLeft: theme.spacing(4.5),\n fontFamily: \"EuclideCircularAMedium\",\n fontSize: theme.spacing(2.25),\n fontWeight: 500,\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(12.5),\n height: theme.spacing(4),\n borderRadius: theme.spacing(1.5),\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0.75, 1.25),\n marginLeft: theme.spacing(2.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(10),\n height: theme.spacing(3),\n marginLeft: theme.spacing(1),\n fontSize: theme.spacing(1),\n }\n },\n _btn: {\n textTransform: \"none\",\n color: \"#012241\",\n backgroundColor: \"transparent\",\n marginLeft: theme.spacing(4.5),\n fontFamily: \"EuclideCircularARegular\",\n fontSize: theme.spacing(2),\n fontWeight: 500,\n padding: theme.spacing(0),\n \"&:hover\": {\n backgroundColor: \"#E7E7E7\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n marginLeft: theme.spacing(2.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: theme.spacing(1),\n fontSize: theme.spacing(1),\n minWidth: theme.spacing(0)\n }\n },\n}));\n\ninterface Props {}\n\nexport const MainHeader: React.FC = ({}) => {\n const classes = useStyle();\n\n return (\n
\n {\n \n \n \"GW\"\n Grow-Wize\n \n \n \n \n \n \n \n }\n
\n );\n};\n","import { Grid, makeStyles, Paper, Typography } from \"@material-ui/core\";\nimport \"./extra_fonts/landingFont.css\";\n\nconst useStyle = makeStyles((theme) => ({\n parallax: {\n width: \"100%\",\n height: `${window.innerHeight}px`,\n padding: theme.spacing(0, 15),\n position: \"relative\",\n backgroundAttachment: \"fixed\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n display: \"flex\",\n [theme.breakpoints.down(\"md\")]: {\n height: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 4),\n margin: theme.spacing(2, 0),\n width: `${window.innerWidth}px`,\n },\n },\n slide_1_main_text: {\n color: \"#012241\",\n fontSize: theme.spacing(5),\n fontWeight: 600,\n fontFamily: \"EuclideCircularABold\",\n marginBottom: theme.spacing(3),\n width: theme.spacing(85.75),\n letterSpacing: theme.spacing(0.0625),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(3),\n marginBottom: theme.spacing(3),\n textAlign: \"center\",\n width: \"auto\",\n },\n },\n slide_1_sub_text: {\n color: \"#012241\",\n fontSize: theme.spacing(2.5),\n letterSpacing: theme.spacing(0.0625),\n fontWeight: 500,\n fontFamily: \"Open Sans\",\n width: theme.spacing(85.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n textAlign: \"center\",\n width: \"auto\",\n },\n },\n img: {\n width: theme.spacing(60.25),\n backgroundColor: \"#D8D8D8\",\n border: \"1px solid #D8D8D8\",\n height: theme.spacing(37.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n left_section: {\n marginRight: theme.spacing(3.75),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(14, 0, 2, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(8, 0, 2, 0),\n },\n },\n right_section: {\n marginLeft: theme.spacing(3.75),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 5, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0),\n },\n },\n}));\n\nexport const HeroSectionComponent: React.FC = () => {\n const classes = useStyle();\n return (\n <>\n \n \n \n We help you{\" \"}\n \n Work Smarter\n {\" \"}\n with a structured, 360° feedback system\n \n \n Encourage productivity and help your employees grow with meaningful\n feedback.\n \n \n \n \n \n \n \n \n \n );\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport interface InterestRecordData {\n name: string;\n emailId: string;\n orgName: string;\n}\n\nexport const interestSave = createAsyncThunk(\n \"interest/organisation\",\n async (requestData: InterestRecordData) => {\n try {\n const options = {\n method: \"post\",\n headers: {\n Accept: \"application/json\",\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify(requestData),\n };\n const response = await fetch(\n `${process.env.REACT_APP_API_URL}/api/v1/connect-with-us`,\n options\n );\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.CREATED,\n };\n }\n return {\n status: response.status,\n };\n } catch (error) {\n throw error;\n }\n }\n);\n\nconst orgInterestSlice = createSlice({\n name: \"orgInterest\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(\n interestSave.fulfilled,\n (state, { payload }: PayloadAction<{ status: number }>) => {\n state.status = payload.status;\n state.loading = false;\n }\n );\n builder.addCase(interestSave.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(interestSave.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = orgInterestSlice.actions;\n\nexport default orgInterestSlice;\n","import {\n Button,\n CircularProgress,\n FormControl,\n FormHelperText,\n Grid,\n Input,\n InputLabel,\n makeStyles,\n Typography,\n} from \"@material-ui/core\";\nimport \"./extra_fonts/landingFont.css\";\nimport React from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport validator from \"validator\";\nimport { State } from \"../../../type\";\nimport { interestSave } from \"../../../redux/slices/CreateNewOrgInterest\";\nimport \"./extra_fonts/landingFont.css\";\n\nconst useStyle = makeStyles((theme) => ({\n parallax: {\n width: \"100%\",\n position: \"relative\",\n backgroundAttachment: \"fixed\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n },\n slide_1_main_text: {\n color: \"#012241\",\n fontSize: theme.spacing(4),\n fontWeight: 600,\n fontFamily: \"EuclideCircularABold\",\n margin: theme.spacing(2.5, 0),\n width: theme.spacing(79.75),\n [theme.breakpoints.down(\"md\")]: {\n textAlign: \"center\",\n marginBottom: theme.spacing(1.5),\n },\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(2.5),\n width: `${3 * (window.innerWidth / 4)}px`,\n margin: theme.spacing(0),\n },\n },\n slide_1_sub_text: {\n color: \"#012241\",\n fontSize: theme.spacing(2.25),\n textAlign: \"justify\",\n fontWeight: 500,\n fontFamily: \"Open Sans\",\n width: theme.spacing(79.75),\n marginBottom: theme.spacing(5),\n [theme.breakpoints.down(\"md\")]: {\n textAlign: \"center\",\n marginBottom: theme.spacing(2.5),\n },\n\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n width: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n form_header: {\n color: \"#FFFFFF\",\n fontSize: theme.spacing(3.5),\n fontWeight: 600,\n margin: theme.spacing(5, 0, 1, 0),\n fontFamily: \"EuclideCircularABold\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(2.5),\n },\n },\n form_sub_header: {\n color: \"#FFFFFF\",\n fontSize: theme.spacing(2.5),\n fontWeight: 500,\n fontFamily: \"Open Sans\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n },\n },\n submit_btn: {\n textTransform: \"none\",\n width: theme.spacing(15.5),\n height: theme.spacing(6.25),\n borderRadius: theme.spacing(0.5),\n color: \"#012241\",\n backgroundColor: \"#FFFFFF\",\n padding: theme.spacing(1.25, 2.5),\n marginTop: theme.spacing(5.25),\n fontFamily: \"EuclideCircularAMedium\",\n fontSize: theme.spacing(2),\n fontWeight: 500,\n \"&:hover\": {\n backgroundColor: \"#E7E7E7\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(12),\n height: theme.spacing(4),\n borderRadius: theme.spacing(1.5),\n fontSize: theme.spacing(1.5),\n padding: theme.spacing(0.75, 1.25),\n margin: theme.spacing(2.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(9),\n height: theme.spacing(3),\n },\n },\n root: {\n fontSize: \"16px\",\n fontWeight: 500,\n },\n mdUpMargin: {\n [theme.breakpoints.up(\"lg\")]: {\n marginRight: theme.spacing(16.5),\n maxWidth: theme.spacing(70.375),\n },\n },\n mdUpFormStyle: {\n padding: theme.spacing(0, 1.875),\n height: \"auto\",\n margin: theme.spacing(1),\n backgroundColor: \"#012241\",\n boxShadow: \"0 2px 8px 0 rgba(136,136,136,0.32)\",\n borderRadius: theme.spacing(1.25),\n width: `${3 * (window.innerWidth / 4)}px`,\n [theme.breakpoints.up(\"sm\")]: {\n padding: theme.spacing(0, 6.875),\n height: theme.spacing(69.375),\n width: theme.spacing(55.75),\n },\n },\n container: {\n margin: theme.spacing(15, 0),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(5, 0),\n },\n },\n get_started_btn: {\n textTransform: \"none\",\n width: theme.spacing(19.75),\n height: theme.spacing(6.25),\n borderRadius: theme.spacing(0.5),\n color: \"#FFFFFF\",\n backgroundColor: \"#576BEA\",\n padding: theme.spacing(1.25, 2.5),\n fontFamily: \"EuclideCircularARegular\",\n fontSize: theme.spacing(2.25),\n fontWeight: 500,\n \"&:hover\": {\n backgroundColor: \"#576BEA\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(12.5),\n height: theme.spacing(4),\n borderRadius: theme.spacing(1.5),\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0.75, 1.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n width: theme.spacing(10),\n height: theme.spacing(3),\n fontSize: theme.spacing(1),\n }\n },\n}));\ninterface Props {}\n\ninterface FormDataProps {\n name: string;\n emailId: string;\n orgName: string;\n}\n\nexport const ContactUsSlideComponent: React.FC = ({}) => {\n const classes = useStyle();\n const dispatch = useDispatch();\n const { loading, status } = useSelector((state: State) => state.orgInterest);\n\n const [formData, setFormData] = React.useState({\n name: \"\",\n emailId: \"\",\n orgName: \"\",\n });\n\n function handleSubmit(e) {\n e.preventDefault();\n if (\n formData.name.length > 2 &&\n formData.emailId.length > 5 &&\n formData.orgName.length > 2\n ) {\n dispatch(interestSave(formData));\n }\n }\n\n return (\n
\n \n \n \n {\"You were born ready.\"}\n \n \n {\n \"Your business deserves our solution, so why choose to stay in the dark any longer? Reach out to us today and let’s discuss how our 360-degree feedback system can transform the way you help your team members become the hardest-working versions of themselves!\"\n }\n \n {`Get started >`}\n \n \n \n
\n {!loading && status === null && (\n \n \n {\"Connect with us\"}\n \n \n {\n \"Fill in the form and we will get back to you as early as we can.\"\n }\n \n\n \n 0\n }\n style={{\n fontSize: \"18px\",\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#9FA8B7\",\n }}\n >\n Name\n \n \n setFormData({\n name: e.target.value,\n emailId: formData.emailId,\n orgName: formData.orgName,\n })\n }\n error={\n formData.name.length < 3 && formData.name.length > 0\n }\n aria-describedby=\"component-error-text\"\n inputProps={{\n style: {\n fontSize: \"18px\",\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#FFFFFF\",\n },\n }}\n />\n {formData.name.length < 3 && formData.name.length > 0 && (\n \n minimum 3 char required\n \n )}\n \n \n 0\n }\n style={{\n fontSize: \"18px\",\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#9FA8B7\",\n }}\n >\n Email Id\n \n \n setFormData({\n name: formData.name,\n emailId: e.target.value,\n orgName: formData.orgName,\n })\n }\n error={\n !validator.isEmail(formData.emailId) &&\n formData.emailId.length > 0\n }\n aria-describedby=\"component-error-text\"\n inputProps={{\n style: {\n fontSize: \"18px\",\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#FFFFFF\",\n },\n }}\n />\n {!validator.isEmail(formData.emailId) &&\n formData.emailId.length > 0 && (\n \n Invalid email id\n \n )}\n \n \n 0\n }\n style={{\n fontSize: \"18px\",\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#9FA8B7\",\n }}\n >\n Organisation Name\n \n \n setFormData({\n name: formData.name,\n emailId: formData.emailId,\n orgName: e.target.value,\n })\n }\n error={\n formData.orgName.length < 3 &&\n formData.orgName.length > 0\n }\n aria-describedby=\"component-error-text\"\n inputProps={{\n style: {\n fontSize: \"18px\",\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#FFFFFF\",\n },\n }}\n />\n {formData.orgName.length < 3 &&\n formData.orgName.length > 0 && (\n \n minimum 3 char required\n \n )}\n \n \n Submit\n \n \n )}\n {!loading && status === 201 && (\n \n \n \n \n \n \n THANK YOU!\n \n \n \n \n We will contact you as soon as possible\n \n \n \n )}\n {loading && (\n \n \n \n )}\n \n
\n \n \n
\n );\n};\n","import { Grid, makeStyles, Paper, Typography } from \"@material-ui/core\";\nimport \"./extra_fonts/landingFont.css\";\n\nconst useStyle = makeStyles((theme) => ({\n parallax: {\n width: \"100%\",\n height: `${window.innerHeight - 100}px`,\n padding: theme.spacing(0, 15),\n position: \"relative\",\n backgroundAttachment: \"fixed\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n backgroundColor: \"#012241\",\n // backgroundImage: \"url(/Illustrator.svg)\",\n [theme.breakpoints.down(\"md\")]: {\n height: \"auto\",\n padding: theme.spacing(0, 2),\n },\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 4),\n },\n },\n slide_1_main_text: {\n color: \"#FFFFFF\",\n fontSize: theme.spacing(3.5),\n fontWeight: 600,\n fontFamily: \"EuclideCircularABold\",\n margin: theme.spacing(0, 0, 3.625, 0),\n textAlign: \"center\",\n letterSpacing: theme.spacing(0.0625),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(3),\n margin: theme.spacing(3, 0),\n width: `${window.innerWidth - 50}px`,\n },\n },\n slide_1_sub_text: {\n color: \"#FFFFFF\",\n fontSize: theme.spacing(2.25),\n letterSpacing: theme.spacing(0.0625),\n fontWeight: 500,\n fontFamily: \"Open Sans\",\n textAlign: \"center\",\n [theme.breakpoints.down(\"md\")]: {\n fontSize: theme.spacing(1.5),\n width: `${window.innerWidth - 50}px`,\n padding: theme.spacing(0, 2),\n },\n },\n img: {\n width: theme.spacing(91.875),\n backgroundColor: \"#012241\",\n height: theme.spacing(47.75),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: `${3 * (window.innerWidth / 4)}px`,\n height: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n}));\n\nexport const BridgeComponent: React.FC = () => {\n const classes = useStyle();\n return (\n <>\n \n \n \n \n \n The bridge between you, your team members, and everyone else\n \n \n \n \n Knowledge is the key to successful decision-making. Leverage the\n power of constructive, meaningful feedback to empower your team\n to make the right decisions and nurture personal growth and\n professional development within the workplace. With proper\n feedback, employees are 4.6 times more likely to grow. With\n Grow-wize, sharing your feedback with your employees is faster,\n simpler, and more hassle-free than ever.\n \n \n \n \n \n \"bridge_map\"\n \n \n \n );\n};\n","import { Grid, makeStyles, Paper, Typography } from \"@material-ui/core\";\nimport \"./extra_fonts/landingFont.css\";\n\nconst useStyle = makeStyles((theme) => ({\n parallax: {\n width: \"100%\",\n margin: theme.spacing(30, 0, 0, 0),\n position: \"relative\",\n backgroundAttachment: \"fixed\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(4, 0, 2, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(4),\n width: `${window.innerWidth}px`,\n },\n },\n slide_1_main_text: {\n color: \"#012241\",\n fontSize: theme.spacing(4),\n fontWeight: 600,\n fontFamily: \"EuclideCircularASemiBold\",\n letterSpacing: theme.spacing(0),\n width: theme.spacing(67.75),\n textAlign: \"left\",\n direction: \"ltr\",\n marginBottom: theme.spacing(3),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(2.5),\n marginBottom: theme.spacing(1.5),\n textAlign: \"center\",\n width: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n slide_1_sub_text: {\n color: \"#012241\",\n fontSize: theme.spacing(2.25),\n fontWeight: 500,\n fontFamily: \"Open Sans\",\n textAlign: \"left\",\n letterSpacing: theme.spacing(0.05),\n width: theme.spacing(67.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n marginBottom: theme.spacing(3),\n textAlign: \"center\",\n width: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n img: {\n width: theme.spacing(67.75),\n backgroundColor: \"#D8D8D8\",\n border: \"1px solid #D8D8D8\",\n height: theme.spacing(37.5),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n left_section: {\n marginRight: theme.spacing(4.5),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(5, 0, 2, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(0),\n },\n },\n right_section: {\n marginLeft: theme.spacing(4.5),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0),\n },\n },\n container: {\n marginBottom: theme.spacing(20),\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(5, 0),\n },\n [theme.breakpoints.down(\"sm\")]: {\n margin: theme.spacing(4),\n },\n },\n}));\n\nconst FEATURE_OBJ = [\n {\n heading: \"Nuggets for agile environments\",\n description:\n \"Share real-time feedback to boost productivity and promote a fast-paced work environment\",\n },\n {\n heading: \"360° feedback\",\n description:\n \"With Grow-wize, you can request and collect feedback from your teammates or external clients and vendors\",\n },\n {\n heading: \"Feedback summary\",\n description:\n \"Get a bird’s eye view over performance with feedback summaries. Get contextual and statistical overview on strengths and opportunities for growth\",\n },\n {\n heading: \"Custom feedback parameters\",\n description:\n \"Make your feedback work for your organization’s unique culture. Set attributes and questions aligned with your values and specific objectives\",\n },\n {\n heading: \"Bird’s eye view of individual feedback\",\n description:\n \"Get a detailed overview of each employee’s feedback history: the number of shared and received feedbacks, pending requests, and self-assessments all in one place\",\n },\n];\n\nexport const FeatureSectionComponent: React.FC = () => {\n const classes = useStyle();\n return (\n <>\n \n {FEATURE_OBJ.map((item, idx) => (\n \n \n \n {item.heading}\n \n \n {item.description}\n \n \n \n \n \n \n \n \n ))}\n \n \n );\n};\n","import { Grid, makeStyles, Paper, Typography } from \"@material-ui/core\";\nimport \"./extra_fonts/landingFont.css\";\n\nconst useStyle = makeStyles((theme) => ({\n parallax: {\n width: \"100%\",\n padding: theme.spacing(12.5, 0, 2.5, 0),\n position: \"relative\",\n backgroundAttachment: \"fixed\",\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n backgroundColor: \"#F3F5FB\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(4),\n },\n },\n slide_1_main_text: {\n color: \"#012241\",\n fontSize: theme.spacing(3.5),\n fontWeight: 600,\n fontFamily: \"EuclideCircularABold\",\n letterSpacing: theme.spacing(0.05),\n width: theme.spacing(60.25),\n marginBottom: theme.spacing(12.5),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(2.5),\n marginBottom: theme.spacing(3),\n textAlign: \"center\",\n width: `${3 * (window.innerWidth / 4)}px`,\n },\n },\n img: {\n width: theme.spacing(31.75),\n backgroundColor: \"#FFFFFF\",\n height: theme.spacing(37.5),\n borderRadius: theme.spacing(1.25),\n boxShadow: \"2px 2px 4px 0 rgba(193,193,193,0.5)\",\n margin: theme.spacing(0, 2.25, 10, 2.25),\n [theme.breakpoints.down(\"md\")]: {\n marginBottom: theme.spacing(4),\n },\n [theme.breakpoints.down(\"sm\")]: {\n marginBottom: theme.spacing(2),\n width: \"full\",\n },\n },\n card_text: {\n color: \"#012241\",\n textAlign: \"center\",\n fontSize: theme.spacing(2.5),\n fontWeight: 600,\n fontFamily: \"EuclideCircularASemiBold\",\n padding: theme.spacing(21.25, 2, 5, 2),\n },\n}));\n\nconst ADDITIONAL_FEATURES_TEXT = [\n \"

Encourage
Team
Communication

\",\n \"

Build a culture
of continuous
growth

\",\n \"

Share feedback
from any
device

\",\n \"

Regular reminders
to stay in the
loop

\",\n \"

Visualise
feedback
trends

\",\n \"

View the engagement
superstars in your
system

\",\n];\n\nexport const AdditionalFeatureSectionComponent: React.FC = () => {\n const classes = useStyle();\n return (\n <>\n \n \n \n \n How Do We Make Your Life Easier?\n \n \n \n \n \n {ADDITIONAL_FEATURES_TEXT.map((item, idx) => (\n \n \n \n \n \n \n \n \n \n ))}\n \n \n \n \n );\n};\n","import { Grid, makeStyles, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport \"./extra_fonts/landingFont.css\";\nimport { Link } from \"react-router-dom\"\n\nconst useStyle = makeStyles((theme) => ({\n headerSection: {\n height: theme.spacing(7.5),\n bottom: 0,\n boxShadow: \"0 2px 10px 0 rgba(175,175,175,0.3)\",\n backgroundColor: \"#012241\",\n padding: theme.spacing(0, 15),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 4),\n height: theme.spacing(5),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 1),\n },\n },\n logo: {\n height: theme.spacing(5.25),\n width: theme.spacing(5.25),\n [theme.breakpoints.down(\"sm\")]: {\n height: theme.spacing(3),\n width: theme.spacing(3),\n },\n },\n logo2: {\n height: theme.spacing(2),\n width: theme.spacing(2),\n },\n logoName: {\n fontSize: theme.spacing(1.75),\n fontWeight: 800,\n fontFamily: \"Nunito\",\n color: \"#FFFFFF\",\n margin: theme.spacing(0, 3, 0, 0.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1),\n marginLeft: theme.spacing(0.35),\n },\n },\n rightsText: {\n fontFamily: \"EuclideCircularARegular\",\n fontWeight: 500,\n color: \"#FFFFFF\",\n fontSize: theme.spacing(2),\n marginLeft: theme.spacing(0.85),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.5),\n marginLeft: theme.spacing(0.35),\n },\n },\n}));\n\ninterface Props {}\n\nexport const FooterComponent: React.FC = ({}) => {\n const classes = useStyle();\n\n return (\n <>\n {\n \n \n All right reserved   \"c\"\n \n {` ${new Date().getFullYear()} `}\n Grow-wize\n \n \n \n \n Privacy Policy\n \n \n \n \n Terms & Conditions\n \n \n \n }\n \n );\n};","import { Layout } from \"../../../layouts/onboarding/landing_page/Layout\";\nimport { MainHeader } from \"./MainHeader\";\nimport \"./extra_fonts/landingFont.css\";\nimport { HeroSectionComponent } from \"./HeroSection\";\nimport { ContactUsSlideComponent } from \"./ContactUsSlide\";\nimport { BridgeComponent } from \"./BridgeSection\";\nimport { FeatureSectionComponent } from \"./FeatureSection\";\nimport { AdditionalFeatureSectionComponent } from \"./AdditionalFeature\";\nimport { FooterComponent } from \"./Footer\";\n\nexport const MainSection = (props) => {\n const TopSectionPage = () => ;\n const MainSectionPage1 = () => ;\n const MainSectionPage2 = () => ;\n const MainSectionPage3 = () => ;\n const MainSectionPage4 = () => ;\n const MainSectionPage5 = () => ;\n const MainSectionPage6 = () => ;\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n background: \"inherit\",\n padding: theme.spacing(4),\n height: `100%`,\n },\n })\n);\n\ninterface Props {\n renderAppLogo: () => React.ReactNode;\n renderSetupForm: () => React.ReactNode;\n renderErrorModal: () => React.ReactNode;\n}\n\nexport const WorkspaceSetupLayout: React.FC = ({\n renderAppLogo,\n renderSetupForm,\n renderErrorModal,\n}) => {\n const classes = useStyles();\n return (\n \n {renderAppLogo()}\n {renderSetupForm()}\n {renderErrorModal()}\n \n );\n};\n","import { Grid, Typography, makeStyles } from \"@material-ui/core\";\n\nconst useStyle = makeStyles((theme) => ({\n container: {\n justifyContent: \"flex-start\",\n [theme.breakpoints.down(\"sm\")]: {\n justifyContent: \"center\",\n },\n },\n}));\n\nexport const AppLogoComponent: React.FC = () => {\n const classes = useStyle();\n return (\n \n \n \n \n Grow-Wize\n \n \n \n );\n};\n","import {\n Avatar,\n Button,\n Chip,\n CircularProgress,\n FormControl,\n Grid,\n InputLabel,\n TextField,\n Typography,\n} from \"@material-ui/core\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport { makeStyles } from \"@material-ui/styles\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport validator from \"validator\";\nimport {\n addTeamMembers,\n AddTeamMembersSliceProp,\n} from \"../../../redux/slices/AddTeamMembersSlice\";\nimport {\n updateOrgData,\n UpdateOrgDataSliceProp,\n} from \"../../../redux/slices/UpdateOrganizationSlice\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\nimport { State } from \"../../../type\";\nimport { useStyle } from \"../../user/request_feedback/request_client/buttons\";\n\nconst useWorkSpaceStyle = makeStyles((Theme) => ({\n popper: {\n border: `0.5px solid #272727 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: \"transparent\",\n width: \"429px\",\n minHeight: \"46px\",\n padding: theme.spacing(0.5, 1.125, 0, 0),\n \"&:focus\": {\n borderColor: \"#272727 !important\",\n },\n \"&:hover\": {\n borderColor: \"#272727 !important\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n width: `${4 * (window.innerWidth / 5)}px`,\n },\n },\n textField: {\n \"&:focus\": {\n border: \"none !important\",\n },\n \"&:hover\": {\n border: \"none !important\",\n },\n \"& .MuiOutlinedInput-root\": {\n \"&:hover fieldset\": {\n border: \"0.5px solid #272727\",\n },\n \"&.Mui-focused fieldset\": {\n border: \"0.5px solid #272727\",\n },\n },\n \"& .MuiAutocomplete-endAdornment\": {\n display: \"none\",\n },\n fontSize: theme.spacing(1.75),\n border: \"none !important\",\n borderRadius: theme.spacing(0.5),\n height: \"inherit\",\n fontWeight: 500,\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n submit: {\n color: \"#FFFFFF\",\n fontSize: \"14px\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n backgroundColor: \"#576bea\",\n padding: \"12px 21px\",\n width: \"240px\",\n borderRadius: \"4px\",\n marginTop: \"40px\",\n textTransform: \"none\",\n },\n barLine: {\n backgroundColor: \"#576BEA\",\n borderColor: \"#576BEA\",\n width: theme.spacing(10),\n height: theme.spacing(0.5),\n margin: theme.spacing(1, 0, 6, 0),\n borderRadius: theme.spacing(1),\n },\n container_style: {\n marginTop: \"60px\",\n width: \"429px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: `${4 * (window.innerWidth / 5)}px`,\n marginTop: theme.spacing(3),\n },\n },\n text_container_style: {\n marginBottom: theme.spacing(4),\n width: \"429px\",\n height: theme.spacing(5.25),\n [theme.breakpoints.down(\"sm\")]: {\n width: `${4 * (window.innerWidth / 5)}px`,\n marginBottom: theme.spacing(2),\n },\n },\n}));\n\nexport const SetupForm: React.FC = () => {\n const classes = useStyle();\n const customStyle = useCustomStyle();\n const currentStyle = useWorkSpaceStyle();\n const dispatch = useDispatch();\n\n const [orgName, setOrgName] = React.useState(\"\");\n const [emails, setEmails] = React.useState([]);\n const [isValid, setValid] = React.useState(true);\n\n const orgLoading = useSelector((state: State) => state.updateOrgData.loading);\n const teamLoading = useSelector(\n (state: State) => state.addTeamMembers.loading\n );\n\n const loggedInUserEmail: string = useSelector(\n (state: State) => state.auth.email\n );\n let userDomain = atob(loggedInUserEmail)?.split(\"@\")[1];\n const [disabled, setDisabled] = React.useState(true);\n const labels: Array = [];\n\n useEffect(() => {\n let check = true;\n\n if (userDomain === undefined) {\n userDomain = atob(loggedInUserEmail)?.split(\"@\")[1];\n }\n\n emails.map((e) => {\n const invitedMemberDomain = e.split(\"@\")[1];\n if (!validator.isEmail(e) || !(invitedMemberDomain===userDomain)) check = false;\n });\n\n setValid(check);\n setDisabled(orgName.length < 3 || !isValid || emails.length < 1);\n }, [orgName, emails, isValid]);\n\n function handleSubmit(e) {\n e.preventDefault();\n const params: UpdateOrgDataSliceProp = {\n orgName: orgName,\n };\n dispatch(updateOrgData(params));\n const params2: AddTeamMembersSliceProp = {\n orgName: orgName,\n memberEmails: emails,\n };\n dispatch(addTeamMembers(params2));\n }\n return (\n \n
\n \n Set up your workspace\n \n
\n 0}\n style={{\n fontSize: \"14px\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: \"#272727\",\n marginBottom: \"12px\",\n }}\n >\n Your Company Name *\n \n\n setOrgName(e.target.value)}\n error={orgName.length < 3 && orgName.length > 0}\n inputProps={{\n style: {\n fontSize: \"14px\",\n fontFamily: \"Montserrat\",\n fontWeight: 500,\n color: \"#2C3256\",\n },\n }}\n />\n
\n \n Invite Team Members *\n \n (minimum 1)\n \n
\n \n option === value}\n onChange={(event, newValue, reason) => {\n setEmails(newValue);\n }}\n filterSelectedOptions\n disableCloseOnSelect\n options={labels}\n renderTags={(value: string[], getTagProps) =>\n value.map((user: string, index: number) => (\n \n \n }\n label={\n \n {user}\n \n }\n className={classes.chip}\n style={\n !validator.isEmail(user) || !(user.split(\"@\")[1]===(userDomain))\n ? { borderColor: \"#DC0101\" }\n : {}\n }\n {...getTagProps({ index })}\n />\n \n ))\n }\n renderInput={(params) => (\n {\n if (\n !emails.find(\n (u) =>\n u === (e.target as HTMLInputElement).value.toLowerCase()\n ) &&\n (e.target as HTMLInputElement).value.length > 0\n )\n setEmails(\n emails.concat(\n (e.target as HTMLInputElement).value.toLowerCase()\n )\n );\n }}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \" || e.key === \",\") {\n e.stopPropagation();\n e.preventDefault();\n if (\n !emails.find(\n (u) =>\n u ===\n (e.target as HTMLInputElement).value.toLowerCase()\n )\n )\n setEmails(\n emails.concat(\n (e.target as HTMLInputElement).value.toLowerCase()\n )\n );\n }\n }}\n />\n )}\n />\n \n \n Note: You will be the admin of this workspace\n \n \n {!teamLoading && !orgLoading && (\n \n Set up and Continue\n \n )}\n {(teamLoading || orgLoading) && (\n <>\n \n \n )}\n \n \n \n );\n};\n","import React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { WorkspaceSetupLayout } from \"../../../layouts/onboarding/workspace/Layout\";\nimport { State } from \"../../../type\";\nimport { AppLogoComponent } from \"./AppLogo\";\nimport { SetupForm } from \"./Form\";\nimport jwt_decode from \"jwt-decode\";\nimport { TokenDataProps } from \"../../home/Drawer\";\nimport { useHistory } from \"react-router-dom\";\n\nexport const WorkspaceSetup = (props) => {\n const [logout, setLogout] = React.useState(false);\n const token = useSelector((state: State) => state.auth.token);\n\n let tokenData: TokenDataProps = {\n role: \"Regular\",\n exp: 0,\n iat: 0,\n sub: 0,\n status: \"ACTIVE\",\n };\n\n try {\n tokenData = jwt_decode(token);\n } catch (err) {\n console.error((err as Error).message);\n }\n\n const orgUpdateStatus = useSelector(\n (state: State) => state.updateOrgData.status\n );\n const addTeamStatus = useSelector(\n (state: State) => state.addTeamMembers.status\n );\n\n const history = useHistory();\n const statusCode: number | null =\n orgUpdateStatus !== 200\n ? orgUpdateStatus\n : addTeamStatus !== 201\n ? addTeamStatus\n : null;\n\n const AppLogo = () => ;\n const renderSetupForm = () => ;\n const renderErrorComponent = () => (\n \n );\n\n if (\n (orgUpdateStatus === 200 && addTeamStatus === 201) ||\n tokenData.status === \"ACTIVE\"\n ) {\n history.push({\n pathname: \"/home\",\n state: {\n setupCompleted: true\n }\n });\n }\n\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport React from \"react\";\nimport { PrivacyPolicyLayoutProps } from \"./type\";\n\nconst drawerWidth = 0;\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n background: \"inherit\",\n },\n mainSection: {\n [theme.breakpoints.up(\"sm\")]: {\n width: `calc(100% - ${drawerWidth}px)`,\n margin: theme.spacing(4, 18.75, 1, 18.75),\n },\n },\n })\n);\n\nexport const PrivacyPolicyLayout: React.FC = ({\n renderPrivacyText,\n renderPrivacyHeader,\n renderGrowWizeLogo,\n}) => {\n const classes = useStyles();\n window.scrollTo(0, 0);\n return (\n \n
\n {renderGrowWizeLogo()}\n {renderPrivacyHeader()}\n {renderPrivacyText()}\n
\n
\n );\n};\n","import { Grid, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { PrivacyPolicyLayout } from \"../../../layouts/onboarding/privacy_policy/Layout\";\nimport { useCustomStyle } from \"../../../styles\";\nimport theme from \"../../../theme\";\n\nexport const PrivacyPolicy = (props) => {\n const classes = useCustomStyle();\n\n const renderGrowWizeLogo = () => (\n \n \n \n \n \n );\n\n const renderPrivacyHeader = () => (\n \n \n \n Privacy and Cookie Policy\n \n \n \n );\n const renderPrivacyText = () => (\n \n \n Introduction\n
Grow-Wize is a product of Technogise Private Limited (referred to\n as ‘Technogise’, ‘We’, ‘our’, or ’us’ below). Technogise is committed to\n respecting your privacy and choices. The statement highlights our\n privacy practices regarding Personal Information that during the course\n of carrying out our business and performing our services, we collect and\n store information about you through this website and also for that\n Personal Information that you provide us while participating in our\n events, emails, interviews, and campaigns.\n
Grow-Wize collects personal data to conduct our business, provide\n and market our services, and meet our legal obligations. Likewise, we\n may also collect personal data for other purposes, which we would\n describe in more detail to you at the point we collect the personal\n data.\n
You may refuse to provide us with some or all of your personal\n data; however, this may limit the ways in which we can interact with\n you, including providing you with our services.\n
{\" \"}\n \n \n \n How we collect your information?\n \n
Your personal information such as name, address, email address\n and phone number, or any other personal data which may reasonably\n identify you, may be collected by:
{\" \"}\n
    \n
  • Attending meetings and/or during telephone calls to us
  • \n
  • \n {\" \"}\n Corresponding with us by email, in which case we may retain the\n content of your email messages together with your email address and\n our responses\n
  • \n
  • \n {\" \"}\n Supplying us with your personal information by signing up to receive\n a newsletter or to attend an event\n
  • \n
  • \n {\" \"}\n Our market research team strongly believes that you / your\n organization will benefit a lot from the services we provide\n
  • \n
  • \n {\" \"}\n Supplying us with your personal information as part of the\n recruitment process\n
  • \n
  • \n {\" \"}\n Using our website, during which other personal data may be\n automatically collected, such as your IP address (please see the\n section on cookies).\n
  • \n
\n
\n \n \n Sensitive information We will\n not collect sensitive (special category) personal information from\n visitors to our website, clients or our employees, except where\n necessitated by the terms of our engagement. ‘Sensitive personal\n information’ includes information about racial or ethnic origin,\n political opinions, religious or philosophical beliefs, trade union\n membership, genetic data, biometric data, data concerning health or data\n concerning a natural person’s sex life or sexual orientation.\n
Any sensitive personal information collected as part of our\n lawful processing obligations will be protected using best practice\n information security controls.\n
{\" \"}\n \n \n \n How we use your personal information\n {\" \"}\n
\n We will use your personal information solely for the purpose for which\n it was provided and share it with Technogise partners, staff and\n consultants on a ‘need to know’ basis.\n
We will not use your data for other purposes without your\n explicit consent. You can find a detailed list of our partners under\n Disclosing personal information to third parties section.\n
We may use your personal information for the following purposes:\n
\n
    \n {\" \"}\n
  • \n To communicate with you regarding your query or application. We may\n contact you by post, email, telephone or text message. You may\n opt-out / unsubscribe from such communications at any time by\n emailing us at{\" \"}\n privacy@technogise.com{\" \"}\n
  • \n
  • \n To process any job application you may make to us (including any\n sensitive personal information you provide);\n
  • \n
  • To share, market, provide or administer our services;
  • \n
  • To update client records;
  • \n
  • \n To confirm identity, ascertain creditworthiness and trace\n whereabouts where necessary;\n
  • \n
  • \n {\" \"}\n To comply with legal and regulatory requirements including verifying\n the identity of new clients/associates (and in certain circumstances\n existing clients/associates) to comply with anti-money laundering\n regulations, ‘right to work’ and other legislative requirements\n applicable to Technogise;\n
  • \n
  • To comply with law enforcement.
  • \n
\n
As described in this policy, personal information will be\n retained by us and will not be sold, transferred or otherwise disclosed\n to any third party, other than for the purpose of lawful processing.\n Personal information may be anonymized/pseudonymized for the purpose of\n research to inform our marketing and development strategies or where\n such disclosure is required by law or court order.\n
If your personal information changes or you no longer wish to\n receive a particular communication from us please let us know and we\n will correct, update or remove your details. This can be done by\n emailing us at{\" \"}\n privacy@technogise.com\n .
\n \n \n Security\n
In providing services to you, we may process personal data as a\n controller or on your behalf as a data processor. Where we act as a\n processor on your behalf we will only process personal data for the\n purposes outlined above or otherwise in accordance with your\n instructions, and only keep it for as long as it is needed for that\n purpose.\n
We use up-to-date data storage and security controls to protect\n your personal information from unauthorized access, improper use or\n disclosure, unauthorized modification or unlawful destruction or\n accidental loss. All our employees and any third parties we engage to\n process your personal information are obliged to respect the\n confidentiality of your information.\n
{\" \"}\n \n \n \n Disclosing personal information to third parties\n {\" \"}\n We may disclose your personal information to our agents or service\n providers, where there is a lawful basis, for any of the purposes set\n out in this policy. Categories of Non-Technogise parties with which we\n share your personal data include vendors such as host and cloud service\n providers, marketing and mailing agencies, and sub-contractors involved\n in the fulfillment of our contractual obligations towards our clients.\n
\n \n \n We will not sell your information to a third party.\n \n \n
Cookies\n
Grow-Wize website makes use of cookies to save and retrieve\n information about your visit to our sites. Cookies are small files of\n software which save and retrieve information about your visit to a\n website or application. They reside in your internet browser to help\n remember your preferences and previous activity. You can find more\n information about cookies at{\" \"}\n \n www.allaboutcookies.org\n and{\" \"}\n www.youronlinechoices.eu.\n
Cookies currently used on our site identify you as an anonymized\n number. We and our partners (e.g., marketing partners, affiliates, or\n analytics providers) use cookies and log files to analyze trends,\n administer the website, track users' movements around the website, and\n gather demographic information about our user base. We may receive\n anonymized reports based on the use of these technologies by our\n partners on an aggregated basis. We also use this data to provide the\n site’s content, ensure the functionality of our information technology\n systems, and to optimize our website.\n \n \n
The following cookies are in use on our website:\n
\n
    \n
  • \n Essential Cookies : for improving the user’s experience and\n navigation of the website\n
  • \n
  • \n {\" \"}\n Google Analytics: for monitoring traffic to our website. Knowing how\n many people have visited and from where can help us build a better\n site\n
  • \n
  • \n {\" \"}\n Microsoft Clarity: for understanding people interaction and to help\n us build a better site\n
  • \n
\n
You can turn off cookies in your web browser’s settings.\n \n \n
Your rights\n
Under the GDPR, you have rights as an individual which you can\n exercise in relation to the information we hold about you.\n
If at any time you wish to exercise your rights as a data subject\n in relation to information we hold about you as an individual please\n contact us by email to{\" \"}\n privacy@technogise.com
\n \n \n Testimonials\n
We display personal testimonials of satisfied customers on our\n site in addition to other endorsements. With your consent, we may post\n your testimonial along with your name. If you wish to update or delete\n your testimonial, you can contact us at{\" \"}\n privacy@technogise.com\n \n \n
Further enquiry\n
To know more about our Data Protection policies, you can contact\n us at privacy@technogise.com\n \n \n );\n return (\n \n );\n};\n","import { Grid, Typography } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../../layouts/home/Layout\";\nimport { ToolBar } from \"../../home/ToolBar\";\n\nexport const Attributes = (props) => {\n document.title = \"Grow-Wize | Admin-Attributes\";\n window.scrollTo(0, 0);\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderDashboardLayout = () => (\n \n \n Coming soon...\n \n \n );\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n manageQuestionsHeader: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n}));\n\nexport const AttributesAndQuestionsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderAddAttributeModal,\n renderSearchBox,\n renderAttributesList,\n renderChangePageButtons,\n count,\n renderNewAttributeButton,\n}) => {\n document.title = \"Grow-Wize | Admin - Attributes\";\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderAttributesAndQuestionsLayout = () => (\n <>\n {renderErrorModal()}\n {renderAddAttributeModal()}\n \n \n \n {renderSearchBox()}\n {renderNewAttributeButton()}\n \n {renderAttributesList()}\n {count !== 0 ? renderChangePageButtons() : null}\n \n \n \n );\n\n return (\n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AnswerTypeEnum } from \"../../enums/answerTypeEnums\";\nimport { post } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\ntype AddQuestionRequest = {\n questionText: string,\n answerType: AnswerTypeEnum | null\n}\n\nexport interface AddAttriubteSliceProp {\n attributeName: string,\n status: string,\n questions: AddQuestionRequest[],\n}\n\nexport const addAttribute = createAsyncThunk(\n \"admin/add/attributes\",\n async (params: AddAttriubteSliceProp, storeActions) => {\n const response: any = await post('api/v1/admin/attributes', params, storeActions);\n if (response.status === HttpStatus.CREATED) {\n return {\n status: response.status,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst addAttributeSlice = createSlice({\n name: \"addAttribubte\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(addAttribute.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(addAttribute.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(addAttribute.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = addAttributeSlice.actions;\n\nexport default addAttributeSlice;\n","import { makeStyles } from \"@material-ui/core\";\nimport { ValidationErrors } from \"../helper\";\n\nexport const addAttributeModalStyles = makeStyles((theme) => ({\n attributeInput: {\n marginBottom: theme.spacing(1.75),\n \"& > p:last-child\": {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\"\n }\n },\n addQuestionInput: {\n marginBottom: theme.spacing(1.75),\n marginTop: theme.spacing(1.75),\n \"& > p:last-child\": {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\"\n }\n },\n showQuestionsWrapper: {\n marginBottom: theme.spacing(1.75),\n },\n dropdown: {\n padding: \"4px 12px\",\n \"& > :first-child\": {\n backgroundColor: \"none\",\n \"&:focus\": {\n background: \"none\",\n },\n },\n },\n helperText: {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\"\n },\n dropdownWrapper: {\n marginLeft: theme.spacing(3)\n\n }\n}));\n\nexport const checkValidation = ({ attributeName, questionText, selectedResponseType, setErrors }) => {\n let isValid = true;\n const errors = {};\n if (attributeName.trim().length === 0) {\n isValid = false;\n errors[\"attributeName\"] = ValidationErrors.ATTRIBUTE_NAME;\n } else if (attributeName.trim().length > 50) {\n isValid = false;\n errors[\"attributeName\"] = ValidationErrors.ATTRIBUTE_NAME_LENGTH;\n }\n if (questionText.trim().length === 0) {\n isValid = false;\n errors[\"questionText\"] = ValidationErrors.QUESTION_TEXT;\n }\n if (!selectedResponseType) {\n isValid = false;\n errors[\"responseType\"] = ValidationErrors.RESPONSE_TYPE;\n }\n setErrors(errors);\n return isValid;\n};\n","import { AnswerTypeEnum } from \"../enums/answerTypeEnums\";\n\nexport const QuestionResponseTypeMapping = {\n [AnswerTypeEnum.LIKERT]: \"Express emotions\",\n [AnswerTypeEnum.LIKERT_NA]: \"Express emotions with N/A\",\n [AnswerTypeEnum.VRIDDHI]: \"Vriddhi Framework\",\n [AnswerTypeEnum.STRING]: \"Free text field\",\n} as const;\n\nexport const RESPONSE_TYPE_LIST = [\n { id: 1, key: AnswerTypeEnum.LIKERT, value: \"Express emotions\" },\n { id: 2, key: AnswerTypeEnum.LIKERT_NA, value: \"Express emotions with NA\" },\n { id: 4, key: AnswerTypeEnum.STRING, value: \"Free text field\" },\n];\n\nif ([\"dev\", \"stage\"].includes(process.env.REACT_APP_ENV as string)) {\n RESPONSE_TYPE_LIST.splice(2, 0, {\n id: 3,\n key: AnswerTypeEnum.VRIDDHI,\n value: \"Vriddhi Framework\",\n });\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport { Dispatch } from \"react\";\nimport { AnswerTypeEnum } from \"../../../enums/answerTypeEnums\";\n\nexport const dropdownStyles = makeStyles((theme) => ({\n expandWrapper: {\n padding: \"8px 12px\",\n border: \"1px solid #E7E7E7\",\n borderRadius: \"4px\",\n display: \"flex\",\n alignItems: \"center\",\n width: \"fit-content\",\n cursor: \"pointer\"\n },\n expandOptionsWrapper: {\n background: \"#FFFFFF\",\n width: \"100%\",\n border: \"0.5px solid rgba(175, 175, 175, 0.3)\",\n borderRadius: 4,\n boxShadow: \"-5px 9px 19px 0px rgba(90, 90, 90, 0.3983)\",\n marginTop: 2\n },\n wrapper: {\n padding: \"8px 12px\",\n border: \"1px solid #E7E7E7\",\n borderRadius: \"4px\",\n alignItems: \"center\",\n width: \"180px\",\n height: \"41px\",\n cursor: \"pointer\",\n position:\"relative\",\n display: \"grid\",\n gridTemplateColumns: \"auto 32px\"\n },\n optionsWrapper: {\n background: \"#FFFFFF\",\n width: \"180px\",\n border: \"0.5px solid rgba(175, 175, 175, 0.3)\",\n borderRadius: 4,\n boxShadow: \"-5px 9px 19px 0px rgba(90, 90, 90, 0.3983)\",\n marginTop: 2,\n position:\"absolute\",\n zIndex:3\n },\n openWrapper:{\n border: \"1px solid #576BEA !important\" ,\n },\n selected: {\n color: \"#272727\",\n fontSize: 14,\n \n },\n placeholder: {\n color: \"#A0A0A0\",\n fontSize: 14,\n fontWeight: 500\n },\n option: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\",\n padding: \"8px 12px\",\n borderRadius: 4,\n cursor: \"pointer\"\n },\n selectedOption: {\n fontSize: 14,\n color: \"#272727\",\n background: \"#EBE8FF\",\n padding: \"8px 12px\",\n borderRadius: 4,\n cursor: \"pointer\",\n fontWeight: 500,\n },\n isDisabled: {\n background: \"rgba(175, 175, 175, 0.30)\",\n border: \"1px solid rgba(175, 175, 175, 0.30)\"\n }\n}));\n\nexport type OptionType = {\n id: number;\n key: string;\n value: string;\n}\n\nexport type DropdownProps = {\n placeholder?: string;\n options: OptionType[];\n selectedOption: OptionType | undefined;\n onSelect: Dispatch;\n expand?:Boolean;\n isDisabled?:Boolean;\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport { TitleProps } from \"../customAttributeAndQuestions/attributeListTable/helper\";\nimport { appColor } from \"../../constants/customThemeColor\";\n\nexport const TEAM_TITLES: Array = [\n {\n name: \"Name\",\n size: 3,\n },\n {\n name: \"Assign Role\",\n size: 4,\n },\n {\n name: \"Status\",\n size: 3,\n },\n {\n name: \"Action\",\n size: 2,\n },\n];\n\nexport const createTeamStyles = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: theme.spacing(11, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#FFFFFF\",\n height: \"calc(100vh - 52px)\",\n position: \"relative\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n label: {\n color: \"#272727\",\n fontSize: 18,\n fontWeight: 600,\n marginBottom: theme.spacing(2),\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n columnGap: theme.spacing(0.5),\n },\n divider: {\n width: \"100%\",\n background: \"#E7E7E7\",\n height: 0.5,\n marginBottom: theme.spacing(4),\n },\n saveButton: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"uppercase\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"8px 40px\",\n marginBottom: theme.spacing(5),\n },\n disabledButton: {\n pointerEvents: \"none\",\n backgroundColor: \"#A0A0A0 !important\",\n color: \"#fff !important\",\n },\n bannerContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(4),\n },\n infoText: {\n color: \"#A0A0A0\",\n fontSize: 14,\n fontWeight: 400,\n },\n attributeNameInput: {\n marginBottom: 0,\n // width: \"100%\",\n \"& >:first-child\": {\n background: \"#FFFFFF\",\n },\n \"& > p:last-child\": {\n color: \"#DC0101\",\n fontSize: 14,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(2),\n fontFamily: \"Montserrat\",\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: `${appColor.pureBlack}`,\n },\n cancelButton: {\n margin: theme.spacing(2, 2, 0, 0),\n padding: theme.spacing(1.125, 4.95, 1.375, 4.95),\n borderRadius: theme.spacing(0.5),\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n padding: theme.spacing(1.125, 2.625, 1.125, 2.625),\n },\n },\n chip: {\n margin: theme.spacing(2, 1, 1, 1),\n borderColor: \"#576BEA\",\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n },\n}));\n\nexport const teamMemberListItemStyles = makeStyles((theme) => ({\n container: {\n padding: \"14px 44px\",\n height: theme.spacing(11),\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n small: {\n width: theme.spacing(3.75),\n height: theme.spacing(3.75),\n margin: theme.spacing(0, 2.5, 0, 2.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n margin: theme.spacing(0, 0, 0, 1),\n },\n },\n body: {\n width: \"100%\",\n color: \"#FFFFFF\",\n backgroundColor: \"#FFFFFF\",\n },\n typography_body_2: {\n textAlign: \"left\",\n wordBreak: \"break-word\",\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n fontSize: theme.spacing(1.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 1.5),\n },\n },\n btn: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(0, 0, 0, 0),\n },\n typograph_cta: {\n fontWeight: 500,\n color: \"#576BEA\",\n fontStyle: \"Montserrat\",\n textAlign: \"left\",\n textDecoration: \"underline\",\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n typography_active: {\n color: \"#576BEA\",\n backgroundColor: \"#E4E8FB\",\n borderRadius: theme.spacing(12.5),\n },\n disabled_status: {\n backgroundColor: \"#AFAFAF\",\n color: \"#fff\",\n },\n typography_user_status: {\n textAlign: \"center\",\n padding: theme.spacing(0.75),\n fontWeight: 500,\n borderRadius: theme.spacing(5.5),\n width: theme.spacing(11.25),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(8),\n fontSize: \"10px\",\n },\n },\n disabledAction: {\n pointerEvents: \"none\",\n opacity: 0.5,\n \"& > MuiGrid-root makeStyles-wrapper-145\" :{\n background: \"rgba(175, 175, 175, 0.30)\",\n border: \"1px solid rgba(175, 175, 175, 0.30)\",\n\n }\n },\n disabledContainer: {\n background: \"#F4F4F4\",\n },\n disabledText: {\n color: \"#979797\",\n },\n}));\n\nexport const teamMemberListStyles = makeStyles((theme) => ({\n root: {\n width: \"inherit\",\n },\n row: {\n width: \"100%\",\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n },\n header: {\n padding: \"14px 44px\",\n backgroundColor: \"rgba(87,107,234,0.05)\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n typography_body: {\n color: \"#868686\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n },\n },\n typography_body_1: {\n color: \"#868686\",\n textAlign: \"start\",\n paddingLeft: theme.spacing(2.5),\n fontSize: \"14px\",\n fontWeight: 500,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n infoText: {\n color: \"#A0A0A0\",\n fontSize: 14,\n fontWeight: 400,\n },\n bannerContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(4),\n },\n}));\n\nexport enum MESSAGES {\n TEAM_CREATED = \"New team created successfully\",\n TEAM_UPDATED = \"Team details edited successfully\",\n}\n","import { Grid, IconButton, Typography } from '@material-ui/core'\nimport React, { useEffect, useRef, useState } from 'react'\nimport { DropdownProps, OptionType, dropdownStyles } from './helper';\n\nexport const Dropdown = ({ placeholder = \"Select\", options, selectedOption, onSelect, expand=true, isDisabled=false }: DropdownProps) => {\n const [open, setOpen] = useState(false);\n const classes = dropdownStyles();\n const ref = useRef(null);\n\n const handleClickOutside = (event) => {\n if (ref.current && !ref.current.contains(event.target)) {\n setOpen(false);\n }\n }\n\n const handleSelect = (option: OptionType) => {\n setOpen(false);\n onSelect(option);\n }\n\n useEffect(() => {\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, [])\n\n return (\n \n setOpen(!open)}>\n \n {selectedOption?.value || placeholder}\n \n \n \"toggle\"\n \n \n {open && (\n \n {options?.map(option => {\n const isSelected = option?.key === selectedOption?.key;\n return (\n handleSelect(option)}>\n \n {option?.value}\n \n \n )\n })}\n \n )}\n \n )\n}\n","import {\n Grid,\n TextField,\n Box,\n InputLabel,\n FormHelperText,\n} from \"@material-ui/core\";\nimport React, { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n AddAttriubteSliceProp,\n addAttribute,\n} from \"../../../../redux/slices/AddAttributeSlice\";\nimport { State } from \"../../../../type\";\nimport { Modal } from \"../../../components/Modal/Modal\";\nimport { ModalHeader } from \"../../../components/Modal/ModalHeader\";\nimport { ModalBody } from \"../../../components/Modal/ModalBody\";\nimport { ModalFooter } from \"../../../components/Modal/ModalFooter\";\nimport { addAttributeModalStyles, checkValidation } from \"./helper\";\nimport { RESPONSE_TYPE_LIST } from \"../../../../constants/questionConstants\";\nimport { AnswerTypeEnum } from \"../../../../enums/answerTypeEnums\";\nimport { Dropdown } from \"../../../components/Dropdown/Dropdown\";\nimport { OptionType } from \"../../../components/Dropdown/helper\";\nimport { HttpStatus } from \"../../../../enums/httpStatus\";\n\nexport const AddAttributeModal = ({ open, handleCancel }) => {\n const classes = addAttributeModalStyles();\n const [attributeName, setAttributeName] = useState(\"\");\n const [questionText, setQuestionText] = useState(\"\");\n const [selectedResponseType, setSelectedResponseType] = React.useState();\n const [submitted, setSubmitted] = useState(false);\n const [errors, setErrors] = useState({});\n const [created, setCreated] = useState(false);\n\n const dispatch = useDispatch();\n\n const history = useHistory();\n\n const cancelClicked = (): void => {\n setAttributeName(\"\");\n setQuestionText(\"\");\n setSelectedResponseType(undefined);\n setErrors({});\n setSubmitted(false);\n handleCancel();\n setCreated(false);\n };\n\n useEffect(() => {\n setCreated(false);\n }, [errors])\n\n const attributeId = useSelector(\n (state: State) => state.addAttribute.data?.id\n );\n\n const { status, text } = useSelector(\n (state: State) => state.addAttribute\n );\n\n useEffect(() => {\n if (status === 400) {\n const apiError = JSON.parse(text)?.message;\n const validationErrors = { ...errors };\n validationErrors[\"attributeName\"] = apiError;\n setErrors(validationErrors);\n }\n }, [status, text])\n\n useEffect(() => {\n if (submitted && attributeId && checkValidation({ attributeName, questionText, selectedResponseType, setErrors })) {\n history.push({\n pathname: `/admin/manage/attributes/${attributeId}`,\n state: { from: \"manage_attributes\", addedAttribute: true },\n });\n setSubmitted(false);\n }\n }, [attributeId, submitted]);\n\n useEffect(() => {\n if (submitted) {\n checkValidation({ attributeName, questionText, selectedResponseType, setErrors });\n }\n }, [attributeName, questionText, selectedResponseType]);\n\n const isAddingAttribute = useSelector((state: State) => state.addAttribute?.loading);\n const addAttributeStatus = useSelector((state: State) => state.addAttribute?.status);\n\n useEffect(() => {\n if (created && !isAddingAttribute && addAttributeStatus !== HttpStatus.OK) {\n setCreated(false)\n }\n }, [created, isAddingAttribute])\n\n const handleCreate = () => {\n setSubmitted(true);\n if (!created) {\n const isValid: boolean = checkValidation({ attributeName, questionText, selectedResponseType, setErrors });\n if (!isValid) {\n return;\n }\n\n const params: AddAttriubteSliceProp = {\n attributeName,\n status: \"ACTIVE\",\n questions: [\n {\n questionText,\n answerType: selectedResponseType?.key as AnswerTypeEnum\n }\n ],\n };\n setCreated(true);\n dispatch(addAttribute(params));\n }\n };\n\n return (\n \n \n \n \n \n 0}\n style={{\n fontSize: \"14px\",\n fontFamily: \"Montserrat\",\n fontWeight: 600,\n color: \"#272727\",\n marginBottom: \"12px\",\n }}\n >\n Attribute Name\n \n ) => {\n setAttributeName(event.target.value);\n }}\n >\n \n \n {/* \\Question Input */}\n \n \n \n Question 1\n \n \n To create a new attribute, please make sure to add at least\n one question\n \n ) => {\n setQuestionText(event.target.value);\n }}\n >\n \n \n \n Response Type:\n \n \n \n {errors['responseType'] && {errors['responseType']}}\n \n \n \n \n \n \n );\n}\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { ResponseAttribute } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllAttributesData = createAsyncThunk(\n \"attributeData/getAllAttributes\",\n async (_, storeActions) => {\n const url = `api/v1/admin/attributes`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst adminAttributeDataSlice = createSlice({\n name: \"adminAttributeData\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n attributes: [] as ResponseAttribute[] | [],\n loaded: false as boolean,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.loaded = false;\n state.text = null;\n state.attributes = [];\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllAttributesData.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.attributes = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.attributes = [];\n state.text = action.payload.text;\n }\n state.loaded = true;\n state.loading = false;\n });\n builder.addCase(getAllAttributesData.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.attributes = state.attributes?.length > 0 ? state.attributes : [];\n state.loaded = false;\n });\n builder.addCase(getAllAttributesData.rejected, (state, action) => {\n state.status = 503;\n state.text = null;\n state.attributes = [];\n state.loaded = false;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = adminAttributeDataSlice.actions;\n\nexport default adminAttributeDataSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AddQuestionRequest } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { post } from \"../../util/APIService\";\n\nexport interface AddQuestionSliceProp {\n attributeId: number;\n questionDetails: AddQuestionRequest;\n}\n\nexport const addQuestion = createAsyncThunk(\n \"admin/questions/add\",\n async (params: AddQuestionSliceProp, storeActions) => {\n const url = `api/v1/admin/attributes/${params.attributeId}/questions`;\n const response: any = await post(url, params.questionDetails, storeActions);\n\n if (response.status === HttpStatus.CREATED) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n errorMessage: (await response.json()).message,\n };\n }\n }\n);\n\nconst addQuestionSlice = createSlice({\n name: \"addQuestion\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n errorMessage: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearAddQuestionData: (state) => {\n state.status = null;\n state.loading = false;\n state.errorMessage = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(addQuestion.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.errorMessage = null;\n } else if (action.payload.errorMessage !== undefined) {\n state.data = null;\n state.errorMessage = action.payload.errorMessage;\n }\n });\n builder.addCase(addQuestion.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.errorMessage = null;\n });\n builder.addCase(addQuestion.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.errorMessage = null;\n });\n },\n});\n\nexport const { clearAddQuestionData } = addQuestionSlice.actions;\n\nexport const selectAddQuestionStatus = (state) => state.addQuestionData.status;\nexport const selectAddQuestionErrorMessage = (state) =>\n state.addQuestionData.errorMessage;\n\nexport default addQuestionSlice;\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const addQuestionModalStyles = makeStyles((theme) => ({\n addQuestionInput: {\n marginBottom: theme.spacing(1.75),\n marginTop: theme.spacing(1.75),\n \"& > p:last-child\": {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\",\n },\n },\n showQuestionsWrapper: {\n marginBottom: theme.spacing(1.75),\n },\n dropdown: {\n padding: \"4px 12px\",\n \"& > :first-child\": {\n backgroundColor: \"none\",\n \"&:focus\": {\n background: \"none\",\n },\n },\n },\n helperText: {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\"\n },\n dropdownWrapper: {\n marginLeft: theme.spacing(3)\n\n }\n}));\n\nexport interface IValidationErrors {\n questionText: string;\n responseType: string;\n}","import {\n Grid,\n TextField,\n Box,\n InputLabel,\n FormHelperText,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { State } from \"../../../../type\";\nimport { RESPONSE_TYPE_LIST } from \"../../../../constants/questionConstants\";\nimport {\n AddQuestionSliceProp,\n addQuestion,\n selectAddQuestionErrorMessage,\n selectAddQuestionStatus,\n} from \"../../../../redux/slices/AddQuestionSlice\";\nimport { Modal } from \"../../../components/Modal/Modal\";\nimport { ModalHeader } from \"../../../components/Modal/ModalHeader\";\nimport { ModalBody } from \"../../../components/Modal/ModalBody\";\nimport { ModalFooter } from \"../../../components/Modal/ModalFooter\";\nimport { IValidationErrors, addQuestionModalStyles } from \"./helper\";\nimport { ValidationErrors } from \"../helper\";\nimport { HttpStatus } from \"../../../../enums/httpStatus\";\nimport { Dropdown } from \"../../../components/Dropdown/Dropdown\";\nimport { OptionType } from \"../../../components/Dropdown/helper\";\nimport { AnswerTypeEnum } from \"../../../../enums/answerTypeEnums\";\n\nexport const AddQuestionModal = ({\n open,\n handleCancel,\n handleSuccess,\n attributeId,\n}) => {\n const classes = addQuestionModalStyles();\n const [questionText, setQuestionText] = React.useState(\"\");\n const [selectedResponseType, setSelectedResponseType] = React.useState();\n const [submitted, setSubmitted] = React.useState(false);\n const [created, setCreated] = React.useState(false);\n const [errors, setErrors] = React.useState({\n questionText: \"\",\n responseType: \"\",\n });\n\n useEffect(() => {\n if (open) {\n resetData()\n }\n }, [open])\n\n const dispatch = useDispatch();\n\n const addQuestionResponseStatus = useSelector(selectAddQuestionStatus);\n\n const addQuestionErrorMessage = useSelector(selectAddQuestionErrorMessage);\n\n useEffect(() => {\n if (submitted || errors?.questionText || errors?.responseType) {\n checkValidation();\n }\n }, [questionText, selectedResponseType]);\n\n \n useEffect(() => {\n if (addQuestionResponseStatus === HttpStatus.OK) {\n resetData();\n handleSuccess();\n } else if (addQuestionResponseStatus === HttpStatus.BAD_REQUEST) {\n const validationErrors = { ...errors };\n validationErrors.questionText = addQuestionErrorMessage;\n setErrors(validationErrors);\n }\n setSubmitted(false);\n }, [addQuestionResponseStatus]);\n\n const cancelClicked = (): void => {\n resetData();\n handleCancel();\n };\n\n const resetData = (): void => {\n setQuestionText(\"\");\n setSelectedResponseType(undefined);\n setSubmitted(false);\n setErrors({\n questionText: \"\",\n responseType: \"\",\n });\n setCreated(false);\n };\n\n const checkValidation = (): boolean => {\n let isValid = true;\n const errors = {} as IValidationErrors;\n if (questionText.trim().length === 0) {\n isValid = false;\n errors.questionText = ValidationErrors.QUESTION_TEXT;\n }\n if (!selectedResponseType) {\n isValid = false;\n errors.responseType = ValidationErrors.RESPONSE_TYPE;\n }\n setErrors(errors);\n return isValid;\n };\n\n const isAddingQuestion = useSelector((state: State) => state.addQuestionData?.loading);\n const addQuestionStatus = useSelector((state: State) => state.addQuestionData?.status);\n\n useEffect(() => {\n if (created && !isAddingQuestion && addQuestionStatus !== HttpStatus.OK) {\n setCreated(false)\n }\n }, [created, isAddingQuestion])\n\n const handleCreate = () => {\n setSubmitted(true);\n setCreated(true);\n if (!created) {\n if (checkValidation()) {\n const params: AddQuestionSliceProp = {\n attributeId: attributeId,\n questionDetails: {\n questionText,\n answerType: selectedResponseType?.key as AnswerTypeEnum,\n },\n };\n\n dispatch(addQuestion(params));\n } else {\n setCreated(false)\n }\n }\n };\n\n return (\n \n \n \n {/* \\Question Input */}\n \n \n \n Question\n \n ) => {\n setQuestionText(event.target.value);\n }}\n >\n \n \n \n Response Type:\n \n \n \n {errors['responseType'] && {errors['responseType']}}\n \n \n \n \n \n \n );\n};\n","import { Switch, Tooltip, makeStyles } from '@material-ui/core';\nimport React from 'react';\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n padding: 0,\n width: theme.spacing(4.25),\n height: 16,\n \"& > :first-child\": {\n padding: 0\n },\n \"& > .MuiSwitch-track\": {\n height: 16,\n background: \"#272727\",\n opacity: 1,\n borderRadius: theme.spacing(2.5)\n },\n \"& > .Mui-checked + .MuiSwitch-track\": {\n background: \"blue\",\n },\n \"& > span > span > .MuiSwitch-thumb\": {\n height: 10,\n width: 10,\n marginTop: 3,\n marginLeft: 3\n },\n \"& > .Mui-checked > span > .MuiSwitch-thumb\": {\n background: \"#FFFFFF\",\n marginLeft: 0\n }\n },\n arrow: {\n '&::before': {\n color: '#5A5A5A'\n }\n },\n tooltip: {\n fontSize: \"14px\",\n fontWeight: 500,\n color: \"#ffffff\",\n backgroundColor: \"#5A5A5A\",\n fontFamily: \"Montserrat\",\n height: theme.spacing(4.25),\n display: \"flex\",\n alignItems: \"center\",\n padding: \"4px 10px\"\n }\n}));\n\nexport const SwitchButton = ({ checked, onChange, helperText }) => {\n const classes = useStyle();\n return (\n \n \n \n )\n}","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { AttributeDetailSliceProps, User } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAttributeDetail = createAsyncThunk(\n \"admin/attributes\",\n async (params: AttributeDetailSliceProps, storeActions) => {\n const url = `api/v1/admin/attributes/${params.attributeId}`;\n const response: any = await get(url, storeActions);\n \n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst attributeDetailSlice = createSlice({\n name: \"attributeDetail\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: [] as Array | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAttributeDetail.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getAttributeDetail.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = state.data ? state.data : null;\n state.text = null;\n });\n builder.addCase(getAttributeDetail.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = attributeDetailSlice.actions;\n\nexport default attributeDetailSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { getAllAttributesData } from \"./attributeSlice\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { getAttributeDetail } from \"./AttributeDetailSlice\";\nimport { patch } from \"../../util/APIService\";\n\nexport interface UpdateAttributeSliceProps {\n id: number;\n name?: string;\n attributeStatus?: String | undefined;\n}\n\nexport const updateAttribute = createAsyncThunk(\n \"admin/update/attributes\",\n async (params: UpdateAttributeSliceProps, storeActions) => {\n const url = `api/v1/admin/attributes`;\n const response: any = await patch(url, params, storeActions);\n\n if (response.status === HttpStatus.OK) {\n storeActions.dispatch(getAllAttributesData())\n storeActions.dispatch(getAttributeDetail({ attributeId: params.id }))\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst updateAttributeSlice = createSlice({\n name: \"updateAttribute\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as string | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(updateAttribute.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(updateAttribute.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(updateAttribute.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = updateAttributeSlice.actions;\n\nexport default updateAttributeSlice;\n","import React, { useEffect, useState } from \"react\";\nimport { Modal } from \"../../../components/Modal/Modal\";\nimport { ModalHeader } from \"../../../components/Modal/ModalHeader\";\nimport { ModalBody } from \"../../../components/Modal/ModalBody\";\nimport { ModalFooter } from \"../../../components/Modal/ModalFooter\";\nimport { Typography } from \"@material-ui/core\";\nimport updateAttributeStatusModalStyles from \"./helper\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../../../type\";\n\nexport const UpdateAttributeStatusModal = ({ open, handleCancel, handleConfirm, onClose }) => {\n const [submitted, setSubmitted] = useState(false);\n\n const classes = updateAttributeStatusModalStyles()\n\n const loading: Boolean | undefined = useSelector(\n (state: State) => state.adminAttributeData.loading\n );\n\n useEffect(() => {\n if (submitted && !loading) {\n onClose();\n }\n }, [submitted, loading])\n\n const handleSubmit = () => {\n handleConfirm();\n setSubmitted(true);\n }\n\n return (\n \n \n \n \n Once you disable the attribute, you won't be able to make any changes to its details. It will be in a read-only state.\n
Are you certain you want to proceed with disabling this attribute?\n
\n
\n \n
\n );\n};\n","import { makeStyles } from \"@material-ui/core\";\n\nexport const attributeListTableItemStyles = makeStyles((theme) => ({\n typography_body_1: {\n color: \"#868686\",\n textAlign: \"start\",\n paddingLeft: theme.spacing(2.5),\n fontSize: \"14px\",\n fontWeight: 500,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n },\n container: {\n padding: \"14px 44px\",\n height: theme.spacing(11),\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n small: {\n width: theme.spacing(3.75),\n height: theme.spacing(3.75),\n margin: theme.spacing(0, 0, 0, 2.5),\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n margin: theme.spacing(0, 0, 0, 1),\n },\n },\n avatarMargin: {\n marginLeft: theme.spacing(4.5),\n [theme.breakpoints.down(\"sm\")]: {\n marginLeft: theme.spacing(0.5),\n },\n },\n body: {\n width: \"100%\",\n color: \"#FFFFFF\",\n backgroundColor: \"#FFFFFF\",\n },\n typography_body_3: {\n textAlign: \"start\",\n alignItems: \"center\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n marginRight: theme.spacing(1),\n },\n },\n typography_body_2: {\n textAlign: \"left\",\n wordBreak: \"break-word\",\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n fontSize: theme.spacing(1.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 1.5),\n },\n },\n btn: {\n padding: theme.spacing(0, 0, 0, 0),\n margin: theme.spacing(0, 0, 0, 0),\n },\n typograph_cta: {\n fontWeight: 500,\n color: \"#576BEA\",\n fontStyle: \"Montserrat\",\n textAlign: \"left\",\n textDecoration: \"underline\",\n textTransform: \"none\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n typography_pending: {\n color: \"#db5b5b\",\n backgroundColor: \"#ffe9e9\",\n },\n typography_closed: {\n color: \"#01BDB3\",\n backgroundColor: \"#E6FAF8\",\n },\n typography_cancelled: {\n color: \"#7e827e\",\n backgroundColor: \"#e6e0e0\",\n },\n typography_status: {\n textAlign: \"center\",\n padding: theme.spacing(0.75),\n fontWeight: 500,\n borderRadius: theme.spacing(0.5),\n marginLeft: theme.spacing(2.5),\n width: theme.spacing(11.25),\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n width: theme.spacing(8),\n fontSize: \"10px\",\n },\n },\n attributeActionsPopover: {\n padding: theme.spacing(1),\n fontWeight: 500,\n cursor: \"pointer\",\n },\n header2: {\n padding: theme.spacing(1),\n },\n popover: {\n boxShadow: \"-5px 9px 19px 0px #5A5A5A66 !important\",\n },\n disabledAction: {\n pointerEvents: \"none\",\n opacity: 0.5\n },\n disabledContainer: {\n background: \"#F4F4F4\"\n },\n disabledText: {\n color: \"#979797\"\n }, \n}));\n\nexport const attributeListTableStyles = makeStyles((theme) => ({\n root: {\n width: \"inherit\",\n },\n row: {\n width: \"100%\",\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n },\n header: {\n padding: \"14px 44px\",\n backgroundColor: \"rgba(87,107,234,0.05)\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n typography_body: {\n color: \"#868686\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n },\n },\n typography_body_1: {\n color: \"#868686\",\n textAlign: \"start\",\n paddingLeft: theme.spacing(2.5),\n fontSize: \"14px\",\n fontWeight: 500,\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"12px\",\n },\n }\n}));\n\nexport type TitleProps = {\n name: string;\n size: | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | \"auto\"\n | boolean\n | undefined;\n}\n\nexport const TITLES: Array = [\n {\n name: \"Attribute Name\",\n size: 6,\n },\n {\n name: \"Number of Questions\",\n size: 5,\n },\n {\n name: \"Action\",\n size: 1,\n },\n];\n","import { Grid, Popover, Typography } from \"@material-ui/core\";\nimport { MoreVert } from \"@material-ui/icons\";\nimport React, { useState } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { AddQuestionModal } from \"../addQuestionModal/addQuestionModal\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { clearAddQuestionData } from \"../../../../redux/slices/AddQuestionSlice\";\nimport { SwitchButton } from \"../../../components/SwitchButton\";\nimport { UpdateAttributeSliceProps, updateAttribute } from \"../../../../redux/slices/UpdateAttributeSlice\";\nimport { State } from \"../../../../type\";\nimport { UpdateAttributeStatusModal } from \"../updateAttributeStatusModal/updateAttributeStatusModal\";\nimport { attributeListTableItemStyles } from \"./helper\";\nimport { AttributeStatus } from \"../helper\";\n\nconst AttributeListTableItem = ({\n attributeId,\n attributeName,\n questions,\n titles,\n status,\n setUpdatingAttribute,\n pageNumber,\n}) => {\n const dispatch = useDispatch();\n const classes = attributeListTableItemStyles();\n const [anchorElMap, setAnchorElMap] = useState<{\n [key: number]: HTMLElement | null;\n }>({});\n const [openAddQuestionModal, setOpenAddQuestionModal] =\n useState(false);\n const [addingQuestionForAttributeId, setAddingQuestionForAttributeId] =\n useState(null);\n const [openConfirmStatusUpdateModal, setOpenConfirmStatusUpdateModal] = useState(false);\n\n const isDisabled = status === AttributeStatus.INACTIVE;\n const history = useHistory();\n const token = useSelector((state: State) => state.auth.token);\n\n const showMoreOptions = (\n event: React.MouseEvent,\n attributeId: number\n ) => {\n setAnchorElMap((prevAnchorElMap) => ({\n ...prevAnchorElMap,\n [attributeId]: event.currentTarget as HTMLElement,\n }));\n };\n\n const handleClose = (attributeId: number) => {\n setAnchorElMap((prevAnchorElMap) => ({\n ...prevAnchorElMap,\n [attributeId]: null,\n }));\n };\n\n const handleViewMore = (attributeId: number) => {\n history.push({\n pathname: `/admin/manage/attributes/${attributeId}`,\n state: { from: \"manage_attributes\", currentPage: pageNumber },\n });\n };\n\n const handleAddQuestionCancel = (): void => {\n resetAddQuestionModalData();\n dispatch(clearAddQuestionData());\n };\n\n const handleAddQuestionSuccess = (): void => {\n setOpenAddQuestionModal(false);\n if (addingQuestionForAttributeId) {\n history.push({\n pathname: `/admin/manage/attributes/${addingQuestionForAttributeId}`,\n state: {\n from: \"manage_attributes\",\n questionAdded: true,\n },\n });\n }\n dispatch(clearAddQuestionData());\n };\n\n const resetAddQuestionModalData = (): void => {\n setAddingQuestionForAttributeId(null);\n setOpenAddQuestionModal(false);\n };\n\n const renderAddQuestionModal = () => (\n \n );\n\n const handleCancelStatusUpdate = () => {\n setOpenConfirmStatusUpdateModal(false);\n }\n\n const handleCloseUpdateStatusModal = () => {\n setOpenConfirmStatusUpdateModal(false);\n }\n\n const renderUpdateStatusConfirmationModal = () => (\n updateAttributeStatus(isDisabled ? AttributeStatus.ACTIVE : AttributeStatus.INACTIVE)}\n onClose={handleCloseUpdateStatusModal}\n />\n )\n\n const handleAddNewQuestion = (attributeId: number) => {\n setAddingQuestionForAttributeId(attributeId);\n setOpenAddQuestionModal(true);\n };\n\n const updateAttributeStatus = (updatedStatus) => {\n const params: UpdateAttributeSliceProps = {\n id: attributeId,\n attributeStatus: updatedStatus\n };\n dispatch(updateAttribute(params));\n };\n\n const atttributePopover = (attributeId: number) => {\n return (\n handleClose(attributeId)}\n elevation={1}\n anchorOrigin={{\n vertical: \"bottom\",\n horizontal: \"right\",\n }}\n transformOrigin={{\n vertical: \"top\",\n horizontal: \"right\",\n }}\n onBlur={() => handleClose(attributeId)}\n className={classes.popover}\n >\n \n
handleViewMore(attributeId)}>\n \n View More\n \n
\n
!isDisabled ? handleAddNewQuestion(attributeId) : {}}>\n \n Add Question\n \n
\n \n \n );\n };\n\n const handleUpdateStatus = () => {\n if (isDisabled) {\n updateAttributeStatus(AttributeStatus.ACTIVE);\n } else {\n setOpenConfirmStatusUpdateModal(true);\n }\n setUpdatingAttribute(true);\n }\n\n return (\n <>\n {renderUpdateStatusConfirmationModal()}\n {renderAddQuestionModal()}\n \n \n \n {attributeName}\n \n \n\n \n \n {questions?.length}\n \n \n\n \n \n \n {\n event.stopPropagation();\n showMoreOptions(event, attributeId);\n }}\n onFocus={(event) => event.stopPropagation()}\n />\n {atttributePopover(attributeId)}\n \n \n \n \n );\n};\n\nexport default AttributeListTableItem;\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n ResponseAttribute,\n State,\n} from \"../../../../type\";\nimport { getAllAttributesData } from \"../../../../redux/slices/attributeSlice\";\nimport {\n CircularProgress,\n Grid,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport AttributeListTableItem from \"./attributeListTableItem\";\nimport { attributeListTableStyles, TITLES } from \"./helper\";\nimport ToastMessage from \"../../../components/ToastMessage\";\nimport { AttributeStatus, Messages } from \"../helper\";\nimport { HttpStatus } from \"../../../../enums/httpStatus\";\nimport { clearData as clearUpdateAttributeData } from \"../../../../redux/slices/UpdateAttributeSlice\";\nconst AttributeListTable = ({ data: attributes, pageNumber, loading }) => {\n const [message, setMessage] = useState(\"\");\n const [showSuccess, setShowSuccess] = useState(false);\n const [updatingAttribute, setUpdatingAttribute] = useState(false);\n\n const dispatch = useDispatch();\n const classes = attributeListTableStyles();\n\n const { loading: updateAttributeLoading, status: updateAttributeStatus, data: updateAttributeData } = useSelector((state: State) => state.updateAttribute)\n\n useEffect(() => {\n if (updatingAttribute && !updateAttributeLoading && updateAttributeStatus === HttpStatus.OK) {\n const isEnabled = updateAttributeData?.attributeStatus === AttributeStatus.ACTIVE;\n setUpdatingAttribute(false);\n setMessage(isEnabled ? Messages.ENABLE_ATTRIBUTE : Messages.DISABLE_ATTRIBUTE);\n dispatch(clearUpdateAttributeData());\n setShowSuccess(true);\n }\n }, [updateAttributeLoading, updatingAttribute])\n\n useEffect(() => {\n if (!attributes?.length) {\n dispatch(getAllAttributesData());\n }\n }, []);\n\n const renderTitles = () => {\n return (\n \n {TITLES.map((title) => (\n \n \n {title.name}\n \n \n ))}\n \n );\n };\n\n const handleCloseToastMessage = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowSuccess(false);\n setMessage(\"\");\n };\n\n return (\n \n \n \n {renderTitles()}\n {loading && (\n \n \n \n )}\n {attributes.map((attribute: ResponseAttribute) => (\n \n ))}\n \n \n );\n};\n\nexport default AttributeListTable;\n","import { Button, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { ResponseAttribute, State, User } from \"../../../type\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { AttributesAndQuestionsLayout } from \"../../../layouts/admin/attributesAndQuestions/Layout\";\nimport { AddAttributeModal } from \"./addAttributeModal/addAttributeModal\";\nimport { CustomSearchBoxComponent } from \"../../components/CustomSearchboxComponent\";\nimport { SearchOption } from \"../../components/type\";\nimport { attributeToOption } from \"../../../util/attributeOption\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport AttributeListTable from \"./attributeListTable/attributeListTable\";\nimport { useHistory, withRouter } from \"react-router-dom\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n height: theme.spacing(62.85),\n margin: theme.spacing(0, 0, 0, 5),\n padding: theme.spacing(2),\n border: \"1px solid #E7E7E7\",\n borderRadius: theme.spacing(1.25),\n boxShadow: \"0 2px 4px 0 rgba(90,90,90,0.1)\",\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(0, 0, 4, 0),\n height: \"auto\",\n },\n [theme.breakpoints.down(\"sm\")]: {\n border: \"none\",\n margin: theme.spacing(3, 0, 4, 0),\n },\n },\n popper: {\n border: `1px solid #E7E7E7 !important`,\n borderRadius: theme.spacing(0.5),\n backgroundColor: `${appColor.whiteBackground}`,\n width: \"-webkit-fill-available\",\n \"&:focus\": {\n border: `1px solid ${appColor.regularBorder} !important`,\n },\n \"&:hover\": {\n border: `1px solid ${appColor.regularBorder} !important`,\n },\n },\n typography_body_3: {\n marginLeft: theme.spacing(0.5),\n alignItems: \"center\",\n color: `${appColor.pureBlack}`,\n },\n editor: {\n width: \"-webkit-fill-available\",\n backgroundColor: appColor.pureWhite,\n },\n marginStyle: {\n marginBottom: theme.spacing(2),\n [theme.breakpoints.down(\"lg\")]: {\n marginBottom: theme.spacing(1),\n },\n },\n shareCTA: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: appColor.pureWhite,\n backgroundColor: appColor.regularBackgroundColor,\n padding: theme.spacing(1, 2.5),\n marginTop: theme.spacing(3),\n \"&:hover\": {\n color: appColor.pureWhite,\n backgroundColor: appColor.regularBackgroundColor,\n },\n [theme.breakpoints.down(\"md\")]: {\n marginTop: theme.spacing(1),\n },\n },\n header: {\n color: appColor.pureBlack,\n },\n chip: {\n margin: theme.spacing(5, 0, 1, 0),\n borderColor: \"#576BEA\",\n backgroundColor: \"#FFFFFF\",\n [theme.breakpoints.down(\"md\")]: {\n margin: theme.spacing(3, 0),\n },\n },\n small: {\n width: theme.spacing(3),\n height: theme.spacing(3),\n [theme.breakpoints.down(\"md\")]: {\n width: theme.spacing(2),\n height: theme.spacing(2),\n },\n },\n typography_header_style: {\n margin: theme.spacing(1.5, 0, 0.5, 0),\n },\n btn: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n },\n}));\n\nconst CustomAttributeAndQuestions = (props) => {\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [filteredAttributes, setFilteredAttributes] = React.useState<\n Array\n >([]);\n const [pageData, setPageData] = React.useState>([]);\n const [open, setOpen] = React.useState(false);\n const opt = props.location.state?.option;\n const [option, setOption] = React.useState(\n opt ? opt : null\n );\n\n const queryParams = new URLSearchParams(props.location.search);\n const pageValue = props.location.state?.pageNo || Number(queryParams.get(\"page\")) ;\n\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n const history = useHistory();\n\n const attributes = useSelector(\n (state: State) => state.adminAttributeData.attributes\n );\n\n const count = attributes?.length;\n\n useEffect(() => {\n const pageData = option ? [...filteredAttributes] : filteredAttributes?.slice(\n (pageNumber - 1) * 10,\n pageNumber * 10\n );\n setPageData(pageData);\n history.push({\n pathname: '/admin/manage/attributes', search: !option ? `?page=${pageNumber}` : `?search=${option?.name}`\n })\n }, [filteredAttributes, pageNumber]);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pageNumber])\n\n useEffect(() => {\n if (option === null) {\n setFilteredAttributes(attributes);\n }\n if (option !== null) {\n const matchingAttributes = attributes.filter(\n (attribute) => attribute?.id === option?.attrId\n );\n setFilteredAttributes(matchingAttributes);\n }\n }, [option, attributes]);\n\n useEffect(() => {\n setPageNumber(pageValue ? pageValue : 1);\n }, [option]);\n\n const classes = useStyle();\n\n const loading: Boolean = useSelector(\n (state: State) => state.adminAttributeData.loading\n );\n\n const statusCode: number | null = useSelector((state: State) =>\n state.adminAttributeData.status !== 200\n ? state.adminAttributeData.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const handleCancel = () => {\n setOpen(false);\n };\n\n const renderAddAttributeModal = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderAttributesList = () => {\n return (\n \n );\n };\n\n const openAddAttributeModal = () => {\n setOpen(true);\n };\n\n const renderNewAttributeButton = () => {\n return (\n openAddAttributeModal()}\n variant=\"contained\"\n >\n New Attribute\n \n );\n };\n\n const renderChangePageButtons = () => (\n \n \n \n );\n\n return (\n \n );\n};\n\nconst Component = withRouter(CustomAttributeAndQuestions)\nexport { Component as CustomAttributeAndQuestions }\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { UpdateQuestionRequest } from \"../../type\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { getAttributeDetail } from \"./AttributeDetailSlice\";\nimport { patch } from \"../../util/APIService\";\n\nexport interface UpdateQuestionSliceProp {\n attributeId: number;\n questionId: number;\n questionDetails: UpdateQuestionRequest\n}\n\nexport const updateQuestion = createAsyncThunk(\n \"admin/questions/update\",\n async (params: UpdateQuestionSliceProp, storeActions) => {\n const url = `api/v1/admin/attributes/${params.attributeId}/questions/update/${params.questionId}`;\n const response: any = await patch(url, params.questionDetails, storeActions);\n\n if (response.status === HttpStatus.OK) {\n storeActions.dispatch(getAttributeDetail({ attributeId: params.attributeId }))\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n errorMessage: (await response.json()).message,\n };\n }\n }\n);\n\nconst updateQuestionSlice = createSlice({\n name: \"updateQuestion\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n errorMessage: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearUpdateQuestionData: (state) => {\n state.status = null;\n state.loading = false;\n state.errorMessage = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(updateQuestion.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.errorMessage = null;\n } else if (action.payload.errorMessage !== undefined) {\n state.data = null;\n state.errorMessage = action.payload.errorMessage;\n }\n });\n builder.addCase(updateQuestion.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.errorMessage = null;\n });\n builder.addCase(updateQuestion.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.errorMessage = null;\n });\n },\n});\n\nexport const { clearUpdateQuestionData } = updateQuestionSlice.actions;\n\nexport const selectUpdateQuestionResponseHttpStatus = (state) => state.updateQuestionData.status;\nexport const selectUpdateQuestionResponseLoading = (state) => state.updateQuestionData.loading;\nexport const selectUpdateQuestionResponseErrorMessage = (state) =>\n state.updateQuestionData.errorMessage;\nexport const selectUpdateQuestionResponseSuccessMessage = (state) =>\n state.updateQuestionData.data?.message;\nexport const selectUpdateQuestionResponseData = (state) => state.updateQuestionData.data;\n\nexport default updateQuestionSlice;\n","import {\n makeStyles,\n} from \"@material-ui/core\";\n\nimport { appColor } from \"../../../constants/customThemeColor\";\nimport { RESPONSE_TYPE_LIST } from \"../../../../constants/questionConstants\";\n\nexport const questionComponentStyle = makeStyles((theme) => ({\n container: {\n border: \"0.5px solid #BFBFBF\",\n borderRadius: 4,\n background: appColor.whiteBackground,\n },\n header: {\n background: \"#576BEA0D\",\n padding: theme.spacing(2, 2.5),\n },\n disabledHeader: {\n background: \"#E1E1E1\",\n },\n body: {\n padding: \"32px 20px\",\n },\n question_text: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#272727\",\n marginBottom: theme.spacing(6),\n },\n label: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#A0A0A0\",\n paddingTop: theme.spacing(1.25),\n },\n value: {\n fontSize: theme.spacing(1.75),\n fontWeight: 500,\n color: \"#272727\",\n paddingTop: theme.spacing(1.25),\n },\n title: {\n width: \"fit-content\",\n fontSize: theme.spacing(2.25),\n fontWeight: 600,\n color: \"#272727\",\n },\n actionButtons: {\n width: \"fit-content\",\n gap: theme.spacing(1),\n },\n editButton: {\n height: \"fit-content\",\n padding: theme.spacing(0.5),\n fontSize: theme.spacing(1.75),\n color: \"#576BEA\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n textDecorationLine: \"underline\",\n textTransform: \"none\",\n },\n responseType: {\n gap: theme.spacing(2),\n },\n questionNameInput: {\n marginBottom: 22,\n width: \"100%\",\n \"& .MuiInputBase-input\": {\n fontSize: \"14px\",\n },\n \"& >:first-child\": {\n background: \"#FFFFFF\",\n },\n background: \"#FFF\",\n borderRadius: 4,\n \"& .MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline\": {\n borderColor: \"#7C69EC \",\n },\n \"& > p:last-child\": {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\"\n }\n },\n\n fullWidth: {\n width: \"100%\",\n },\n listItem: {\n \"& span\": {\n fontSize: 14,\n },\n },\n disabledText: {\n color: \"#979797\"\n },\n disabled: {\n opacity: 0.3,\n }\n}));\n\nexport const scrollToTargetAdjusted = (ref) => {\n var headerOffset = 200;\n var elementPosition = ref?.current?.getBoundingClientRect().top;\n var offsetPosition = elementPosition + window.pageYOffset - headerOffset;\n\n window.scrollTo({\n top: offsetPosition,\n });\n}\n\nexport const getMatchingResponseType = (answerType: string) => RESPONSE_TYPE_LIST.find(item => item.key === answerType);\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nconst updateQuestionStatusModalStyles = makeStyles((theme) => ({\n text: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\"\n }\n}));\n\nexport default updateQuestionStatusModalStyles;","import React, { useEffect, useState } from \"react\";\nimport { Modal } from \"../../../components/Modal/Modal\";\nimport { ModalHeader } from \"../../../components/Modal/ModalHeader\";\nimport { ModalBody } from \"../../../components/Modal/ModalBody\";\nimport { ModalFooter } from \"../../../components/Modal/ModalFooter\";\nimport { Typography } from \"@material-ui/core\";\nimport updateQuestionStatusModalStyles from \"./helper\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../../../type\";\n\nexport const UpdateQuestionStatusModal = ({ open, handleCancel, handleConfirm, onClose }) => {\n const [submitted, setSubmitted] = useState(false);\n\n const classes = updateQuestionStatusModalStyles()\n\n const loading: Boolean | undefined = useSelector(\n (state: State) => state.attributeDetail.loading\n );\n\n useEffect(() => {\n if (submitted && !loading) {\n onClose();\n }\n }, [submitted, loading])\n\n const handleSubmit = () => {\n handleConfirm();\n setSubmitted(true);\n }\n\n return (\n \n \n \n \n Once you disable the question, you won't be able to make any changes to its details. It will be in a read-only state.\n
Are you sure you want to proceed with disabling this question?\n
\n
\n \n
\n );\n};\n","import {\n Button,\n Grid,\n Typography,\n TextField,\n} from \"@material-ui/core\";\nimport React, { useEffect, useRef } from \"react\";\nimport { QuestionResponseTypeMapping, RESPONSE_TYPE_LIST } from \"../../../../constants/questionConstants\";\nimport { addQuestionModalStyles } from \"../addQuestionModal/helper\";\nimport { State } from \"../../../../type\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useParams } from \"react-router-dom\";\nimport {\n UpdateQuestionSliceProp,\n clearUpdateQuestionData,\n selectUpdateQuestionResponseErrorMessage,\n selectUpdateQuestionResponseHttpStatus,\n selectUpdateQuestionResponseLoading,\n updateQuestion,\n} from \"../../../../redux/slices/UpdateQuestionSlice\";\n\nimport { getMatchingResponseType, questionComponentStyle, scrollToTargetAdjusted } from \"./helper\";\nimport { HttpStatus } from \"../../../../enums/httpStatus\";\nimport { SwitchButton } from \"../../../components/SwitchButton\";\nimport { AttributeStatus } from \"../helper\";\nimport { UpdateQuestionStatusModal } from \"../updateQuestionStatusModal/updateQuestionStatusModal\";\nimport { Dropdown } from \"../../../components/Dropdown/Dropdown\";\nimport { OptionType } from \"../../../components/Dropdown/helper\";\nimport { AnswerTypeEnum } from \"../../../../enums/answerTypeEnums\";\n\ninterface IValidationErrors {\n questionText: string;\n responseType: string;\n}\n\nexport const Question = ({ id, questionText, answerType, index, attributeStatus, setEnablingQuestion, handleUpdateQuestionSuccess, setIsEditMode, isEditMode, handleQuestionStatusUpdateSuccess }) => {\n const classes = { ...questionComponentStyle(), ...addQuestionModalStyles() };\n const [isCurrentQuestionEditing, setIsCurrentQuestionEditing] = React.useState(false);\n const [questionName, setQuestionName] = React.useState(questionText);\n const [selectedResponseType, setSelectedResponseType] = React.useState(getMatchingResponseType(answerType));\n const [openConfirmStatusUpdateModal, setOpenConfirmStatusUpdateModal] = React.useState(false);\n const [errors, setErrors] = React.useState({\n questionText: \"\",\n responseType: \"\",\n });\n const [edited, setEdited] = React.useState(false);\n\n const isDisabled = attributeStatus === AttributeStatus.INACTIVE;\n\n const token = useSelector((state: State) => state.auth.token);\n const dispatch = useDispatch();\n const { attributeId }: any = useParams();\n\n const updateQuestionResponseStatus = useSelector(selectUpdateQuestionResponseHttpStatus);\n const updateQuestionErrorMessage = useSelector(\n selectUpdateQuestionResponseErrorMessage\n );\n\n\n const shouldFadeOut = isEditMode && !isCurrentQuestionEditing\n\n const checkValidation = (): boolean => {\n let isValid = true;\n const errors = {} as IValidationErrors;\n if (questionName.trim().length === 0) {\n isValid = false;\n errors.questionText = \"Please write a question here\";\n }\n if (!selectedResponseType) {\n isValid = false;\n errors.responseType = \"Please select response type\";\n }\n setErrors(errors);\n return isValid;\n };\n\n const handleUpdateQuestion = () => {\n if (!edited && checkValidation()) {\n const params: UpdateQuestionSliceProp = {\n attributeId,\n questionId: id,\n questionDetails: {\n questionText: questionName,\n answerType: selectedResponseType?.key as AnswerTypeEnum,\n },\n };\n setEdited(true);\n dispatch(updateQuestion(params));\n }\n };\n\n const isUpdatingQuestion = useSelector(selectUpdateQuestionResponseLoading);\n\n useEffect(() => {\n if(isCurrentQuestionEditing && !isUpdatingQuestion) {\n setIsCurrentQuestionEditing(false);\n }\n }, [questionText, answerType, isUpdatingQuestion])\n\n\n useEffect(() => {\n switch (updateQuestionResponseStatus) {\n case HttpStatus.OK:\n if (isCurrentQuestionEditing) {\n handleUpdateQuestionSuccess();\n setEdited(false);\n return;\n }\n handleQuestionStatusUpdateSuccess({ status: attributeStatus, questionId: id });\n break;\n case HttpStatus.BAD_REQUEST:\n const validationErrors = { ...errors };\n validationErrors.questionText = updateQuestionErrorMessage;\n setErrors(validationErrors);\n setEdited(false);\n break;\n default:\n break;\n }\n }, [updateQuestionResponseStatus]);\n\n const resetQuestionData = () => {\n setIsCurrentQuestionEditing(false);\n setErrors({\n questionText: \"\",\n responseType: \"\",\n } as IValidationErrors);\n setQuestionName(questionText);\n dispatch(clearUpdateQuestionData);\n };\n\n const editQuestion = () => {\n resetQuestionData();\n setIsCurrentQuestionEditing(true);\n setIsEditMode(true);\n };\n\n const updateQuestionStatus = (status: AttributeStatus) => {\n const params: UpdateQuestionSliceProp = {\n attributeId,\n questionId: id,\n questionDetails: {\n questionStatus: status\n },\n };\n dispatch(updateQuestion(params));\n }\n\n const handleUpdateStatus = () => {\n if (isDisabled) {\n setEnablingQuestion(true);\n updateQuestionStatus(AttributeStatus.ACTIVE);\n return\n }\n setOpenConfirmStatusUpdateModal(true);\n }\n\n const handleCancelStatusUpdate = () => {\n setOpenConfirmStatusUpdateModal(false);\n }\n\n const handleCloseUpdateStatusModal = () => {\n setOpenConfirmStatusUpdateModal(false);\n }\n\n const renderUpdateQuestionStatusModal = () => {\n return (\n updateQuestionStatus(isDisabled ? AttributeStatus.ACTIVE : AttributeStatus.INACTIVE)}\n onClose={handleCloseUpdateStatusModal}\n />\n )\n }\n\n const isEditingQuestion = useSelector((state: State) => state.updateQuestionData?.loading);\n const editQuestionStatus = useSelector((state: State) => state.updateQuestionData?.status);\n\n useEffect(() => {\n if (edited && !isEditingQuestion && editQuestionStatus !== HttpStatus.OK) {\n setEdited(false)\n }\n }, [edited, isEditingQuestion])\n\n return (\n \n {renderUpdateQuestionStatusModal()}\n \n Question {index + 1}\n \n {!isCurrentQuestionEditing ? (\n <>\n \n Edit\n \n \n \n ) : (\n <>\n \n Save\n \n {\n resetQuestionData();\n setIsCurrentQuestionEditing(false);\n setIsEditMode(false);\n }}\n disabled={edited}\n >\n Cancel\n \n \n )}\n \n \n \n \n {!isCurrentQuestionEditing ? (\n \n {questionText}\n \n ) : (\n ) => {\n setQuestionName(event.target.value);\n checkValidation();\n }}\n >\n )}\n \n Response Type:\n {!isCurrentQuestionEditing ? (\n \n {QuestionResponseTypeMapping[answerType] || \"\"}\n \n ) : (\n \n )}\n \n \n \n \n );\n};\n","import { makeStyles } from \"@material-ui/core\";\n\nexport const attributeDetailStyles = makeStyles((theme) => ({\n btn: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n alignSelf: \"flex-start\",\n marginTop: theme.spacing(1.5)\n },\n questionsList: {\n gap: theme.spacing(3.75),\n },\n disabled: {\n pointerEvents: \"none\",\n opacity: 0.3\n },\n heading: {\n width: \"fit-content\",\n alignSelf: \"flex-start\",\n },\n attributeName: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#272727\",\n lineHeight: \"56px\",\n },\n attributeNameInput: {\n marginBottom: 0,\n width: theme.spacing(48),\n \"& >:first-child\": {\n background: \"#FFFFFF\",\n },\n \"& > p:last-child\": {\n color: \"#DC0101\",\n fontSize: 12,\n fontWeight: 400,\n marginLeft: 0,\n marginTop: theme.spacing(1),\n fontFamily: \"Montserrat\",\n },\n },\n buttonsContainer: {\n alignSelf: \"flex-start\",\n alignItems: \"flex-start\",\n width: \"fit-content\",\n marginLeft: theme.spacing(2),\n gap: theme.spacing(0.5)\n },\n actionButton: {\n fontSize: theme.spacing(1.75),\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n textDecoration: \"underline\",\n textDecorationColor: \"#576BEA\",\n textTransform: \"none\",\n color: \"#576BEA\",\n alignSelf: \"flex-start\",\n marginTop: theme.spacing(1.5),\n \"&:hover\": {\n textDecoration: \"underline\",\n textDecorationColor: \"#576BEA\",\n },\n },\n bannerContainer: {\n display: \"flex\",\n alignItems: \"center\",\n background: \"#EBE8FF\",\n height: theme.spacing(7.75),\n marginBottom: theme.spacing(4),\n padding: theme.spacing(1.5)\n },\n infoText: {\n fontSize: 14,\n fontWeight: 600,\n color: \"#272727\"\n }\n}));","import {\n Button,\n Grid,\n Icon,\n IconButton,\n TextField,\n Tooltip,\n Typography,\n} from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { AttributeDetailLayout } from \"../../../../layouts/admin/attributeDetail/Layout\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport {\n AttributeDetailSliceProps,\n State,\n} from \"../../../../type\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { Question } from \"../question/question\";\nimport { getAttributeDetail } from \"../../../../redux/slices/AttributeDetailSlice\";\nimport {\n UpdateAttributeSliceProps,\n updateAttribute,\n} from \"../../../../redux/slices/UpdateAttributeSlice\";\nimport { AddQuestionModal } from \"../addQuestionModal/addQuestionModal\";\nimport ToastMessage from \"../../../components/ToastMessage\";\nimport { clearAddQuestionData } from \"../../../../redux/slices/AddQuestionSlice\";\nimport { attributeDetailStyles } from \"./helper\";\nimport { AttributeStatus, Messages, ValidationErrors } from \"../helper\";\nimport { HttpStatus } from \"../../../../enums/httpStatus\";\nimport { clearUpdateQuestionData, selectUpdateQuestionResponseData } from \"../../../../redux/slices/UpdateQuestionSlice\";\n\nexport const AttributeDetail = (props) => {\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const { attributeId }: any = useParams();\n const [showAddQuestionModal, setShowAddQuestionModal] =\n React.useState(false);\n const [isEditing, setIsEditing] = React.useState(false);\n const [attributeName, setAttributeName] = React.useState(\"\");\n const [submitted, setSubmitted] = React.useState(false);\n const [showSuccess, setShowSuccess] = React.useState(false);\n const [message, setMessage] = React.useState(\"\");\n const [errors, setErrors] = React.useState({});\n const [enablingQuestion, setEnablingQuestion] = React.useState(false);\n const [isEditMode, setIsEditMode] = React.useState(false);\n\n const { status, text } = useSelector((state: State) => state.updateAttribute);\n const updatedQuestionData = useSelector(selectUpdateQuestionResponseData);\n\n const checkValidation = () => {\n let isValid = true;\n const errors = {};\n if (attributeName.trim().length === 0) {\n isValid = false;\n errors[\"attributeName\"] = ValidationErrors.ATTRIBUTE_NAME;\n } else if (attributeName.trim().length > 50) {\n isValid = false;\n errors[\"attributeName\"] = ValidationErrors.ATTRIBUTE_NAME_LENGTH;\n }\n setErrors(errors);\n return isValid;\n };\n\n useEffect(() => {\n if (status === HttpStatus.BAD_REQUEST) {\n const apiError = JSON.parse(text)?.message;\n const validationErrors = { ...errors };\n validationErrors[\"attributeName\"] = apiError;\n setErrors(validationErrors);\n }\n }, [status, text]);\n\n useEffect(() => {\n if (submitted) {\n checkValidation();\n }\n }, [attributeName]);\n\n const handleClose = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowSuccess(false);\n setMessage(\"\");\n };\n\n useEffect(() => {\n const addedAttribute = props.location.state?.addedAttribute;\n const questionAdded = props.location.state?.questionAdded;\n if (addedAttribute) {\n setShowSuccess(true);\n history.replace({\n pathname: `/admin/manage/attributes/${attributeId}`,\n state: { from: \"manage_attributes\" },\n });\n setMessage(Messages.ADD_ATTRIBUTE);\n } else if (questionAdded) {\n setShowSuccess(true);\n history.replace({\n pathname: `/admin/manage/attributes/${attributeId}`,\n state: { from: \"manage_attributes\" },\n });\n setMessage(Messages.ADD_QUESTION);\n }\n }, []);\n\n const dispatch = useDispatch();\n\n const { data: attributeDetails } = useSelector(\n (state: State) => state.attributeDetail\n );\n\n const isDisabled = attributeDetails?.status === AttributeStatus.INACTIVE;\n\n const token = useSelector((state: State) => state.auth.token);\n\n useEffect(() => {\n if (attributeDetails?.name) {\n setAttributeName(attributeDetails?.name);\n }\n }, [attributeDetails]);\n\n useEffect(() => {\n if (attributeId) {\n const param: AttributeDetailSliceProps = {\n attributeId: Number(attributeId),\n };\n dispatch(getAttributeDetail(param));\n }\n }, [attributeId]);\n\n const classes = attributeDetailStyles();\n\n const loading: Boolean = useSelector(\n (state: State) => state.attributeDetail.loading || state.addAttribute.loading || state.updateAttribute.loading\n );\n\n const statusCode: number | null = useSelector((state: State) =>\n state.attributeDetail.status !== HttpStatus.OK\n ? state.attributeDetail.status\n : state.updateAttribute.status !== HttpStatus.OK && !state.updateAttribute.text\n ? state.updateAttribute.status\n : state.addAttribute.status !== HttpStatus.OK\n ? state.addAttribute.status\n : null\n );\n\n const updatingAttribute: Boolean = useSelector(\n (state: State) => state.updateAttribute.loading\n );\n\n useEffect(() => {\n if (submitted && !updatingAttribute && status === HttpStatus.OK) {\n setShowSuccess(true);\n setMessage(Messages.UPDATE_ATTRIBUTE_NAME);\n resetData();\n\n }\n }, [attributeDetails?.name])\n\n const resetData = () => {\n setIsEditing(false);\n setErrors({});\n setAttributeName(attributeDetails?.name);\n setSubmitted(false);\n }\n\n const updateAttributeName = () => {\n setSubmitted(true);\n const isValid = checkValidation();\n if (!isValid) return;\n\n if (attributeName.trim() === attributeDetails?.name.trim()) { resetData(); return; }\n\n const params: UpdateAttributeSliceProps = {\n id: attributeDetails?.id,\n name: attributeName,\n attributeStatus: attributeDetails?.status,\n };\n dispatch(updateAttribute(params));\n };\n\n const renderErrorModal = () => (\n \n );\n\n const handleOpenAddQuestionModal = () => {\n setShowAddQuestionModal(true);\n };\n\n const renderAddQuestionButton = () => {\n return attributeDetails ? (\n handleOpenAddQuestionModal()}\n variant=\"contained\"\n disabled={isDisabled}\n >\n New Question\n \n ) : null;\n };\n\n const handleQuestionStatusUpdateSuccess = ({ updatedStatus, questionId = null }) => {\n if (questionId === updatedQuestionData?.id) {\n const isDisabled = updatedQuestionData?.status === AttributeStatus.INACTIVE\n setMessage(isEditMode\n ? Messages.UPDATE_QUESTION : isDisabled\n ? Messages.DISABLE_QUESTION : Messages.ENABLE_QUESTION);\n setIsEditMode(false);\n setShowSuccess(true);\n dispatch(clearUpdateQuestionData());\n }\n };\n\n const renderQuestionsList = () => {\n return (\n \n {attributeDetails?.questions?.map((question, index) => (\n \n ))}\n \n );\n };\n\n const handleAddQuestionSuccess = () => {\n setShowAddQuestionModal(false);\n setMessage(Messages.ADD_QUESTION);\n setShowSuccess(true);\n const param: AttributeDetailSliceProps = {\n attributeId: Number(attributeId),\n };\n dispatch(getAttributeDetail(param));\n dispatch(clearAddQuestionData());\n };\n\n const handleCancel = () => {\n setShowAddQuestionModal(false);\n dispatch(clearAddQuestionData());\n };\n\n const renderAddQuestionModal = () => (\n \n );\n\n const renderInfoBanner = () => {\n return (\n \n \n \"info\"\n \n \n The attribute is currently disabled. To enable editing, Kindly use the switch provided on the attribute list.\n \n \n )\n }\n\n const handleUpdateQuestionSuccess = () => {\n if (isEditMode) {\n setMessage(Messages.UPDATE_QUESTION);\n setShowSuccess(true);\n dispatch(clearUpdateQuestionData());\n setIsEditMode(false)\n }\n };\n\n const renderAttributeName = () =>\n attributeDetails ? (\n \n \n {!isEditing ? (\n \n {attributeDetails?.name}\n \n ) : (\n ) => {\n setAttributeName(event.target.value);\n }}\n >\n )}\n {!isEditing ? (\n setIsEditing(true)}\n style={{\n padding: \"4px\",\n position: \"relative\",\n height: \"20px\",\n width: \"20px\",\n marginLeft: \"16px\",\n }}\n disabled={isDisabled}\n >\n \"edit\"\n \n ) : (\n \n \n Save\n \n \n Cancel\n \n \n )}\n \n ) : null;\n\n useEffect(() => {\n if (showSuccess && message === Messages.ADD_QUESTION) {\n window.scrollTo({\n left: 0,\n top: document.body.scrollHeight,\n behavior: \"smooth\",\n });\n }\n }, [showSuccess, message, attributeDetails?.questions?.length])\n\n const history = useHistory();\n\n if (!isDetailView) {\n const currentPage = props.location?.state?.currentPage || 1;\n history.push({ pathname: \"/admin/manage/attributes\", search: `?page=${currentPage}` });\n }\n\n return (\n \n );\n};\n","import { CircularProgress, Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: theme.spacing(11, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#FFFFFF\",\n height: \"calc(100vh - 52px)\",\n position: \"relative\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n loaderBackground: {\n height: \"100%\",\n padding: 0,\n background: \"none\",\n overflow: \"hidden\"\n },\n disabledContainer: {\n pointerEvents: \"none\",\n opacity: 0.3\n },\n}));\n\nexport const Loader = () => {\n const classes = useStyle();\n return (\n \n \n \n \n \n );\n};\n\nexport const SettingsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderSettings\n}) => {\n document.title = \"Grow-Wize | Admin - Attributes\";\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderSettingsContent = () => (\n <>\n {renderErrorModal()}\n \n {loading ? \n \n :\n \n {renderSettings()}\n \n }\n \n \n )\n\n return (\n \n );\n};\n","import { makeStyles } from \"@material-ui/core\";\n\nexport const useSettingsStyles = makeStyles((theme) => ({\n root: {\n width: \"100%\",\n height: \"100%\",\n },\n label: {\n color: \"#272727\",\n fontSize: 18,\n fontWeight: 600,\n marginBottom: theme.spacing(2),\n display: \"flex\",\n alignItems: \"center\",\n columnGap: theme.spacing(0.5),\n },\n divider: {\n width: \"100%\",\n background: \"#E7E7E7\",\n height: 0.5,\n marginBottom: theme.spacing(4)\n },\n radioWrapper: {\n cursor: \"pointer\",\n },\n radioRoot: {\n color: '#272727',\n '&:hover': {\n backgroundColor: '#7C69EC10',\n },\n },\n radioChecked: {\n color: '#7C69EC !important',\n '&:hover': {\n backgroundColor: '#7C69EC10 !important',\n },\n },\n radioLabel: {\n color: \"#272727\",\n fontSize: 14,\n fontWeight: 500\n },\n footer: {\n marginTop: \"auto\",\n },\n saveButton: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"uppercase\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"8px 40px\",\n marginBottom: theme.spacing(5),\n },\n disabledButton: {\n pointerEvents: \"none\",\n backgroundColor: \"#A0A0A0 !important\",\n color: \"#fff !important\"\n },\n datePicker: {\n border: \"1px solid #E7E7E7\",\n padding: \"6px 8px 6px 12px\",\n borderRadius: 4,\n width: 190,\n cursor: \"ponter !important\",\n },\n tooltip: {\n background: \"#272727\",\n color: \"#FFFFFF\",\n fontSize: 14,\n fontFamily: \"Montserrat\",\n padding: \"6px 10px\"\n },\n tooltipArrow: {\n color: \"#272727\"\n },\n selectedDate: {\n \"& > button\": {\n background: \"#7C69EC\",\n color: \"#FFFFFF\"\n }\n },\n bannerContainer: {\n display: \"flex\",\n alignItems: \"center\",\n marginBottom: theme.spacing(4),\n },\n infoText: {\n color: \"#A0A0A0\",\n fontSize: 14,\n fontWeight: 400,\n }\n}));\n\nexport const MESSAGES = {\n SAVE_REMINDER: \"New setting saved successfully\"\n}\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const reminderConfirmationModalStyles = makeStyles((theme) => ({\n confirmationInfo: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\",\n }\n}));\n\n\n\nexport const REMINDER_FREQUENCY_MAPPING = {\n \"ONE_MONTH\": \"every month\",\n \"THREE_MONTHS\": \"every quarter\",\n \"SIX_MONTHS\": \"every 6 months\",\n \"TWELVE_MONTHS\": \"every year\",\n}\n\nexport const getDayWithOrdinal = (day : number) => {\n if (day >= 11 && day <= 13) {\n return day + \"th\";\n }\n switch (day % 10) {\n case 1:\n return day + \"st\";\n case 2:\n return day + \"nd\";\n case 3:\n return day + \"rd\";\n default:\n return day + \"th\";\n }\n}\n","import {\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { State } from \"../../../../type\";\nimport { Modal } from \"../../../components/Modal/Modal\";\nimport { ModalHeader } from \"../../../components/Modal/ModalHeader\";\nimport { ModalBody } from \"../../../components/Modal/ModalBody\";\nimport { ModalFooter } from \"../../../components/Modal/ModalFooter\";\nimport { reminderConfirmationModalStyles } from \"./helper\";\n\nexport const ReminderConfirmationModal = ({\n open,\n handleCancel,\n data,\n handleSuccess,\n disableActions\n}) => {\n const classes = reminderConfirmationModalStyles();\n\n const isCreatingReminder = useSelector((state: State) => state.createReminderDetails.loading);\n\n return (\n \n \n \n \n Are you sure you want to change the reminder settings? Email reminders will be now sent according to the new frequency.\n \n \n \n \n );\n};\n","import { OptionType } from \"../modules/components/Dropdown/helper\";\n\nexport const FREQUENCY_OPTIONS: OptionType[] = [\n {\n id: 1,\n key: \"ONE_MONTH\",\n value: \"Monthly\"\n },\n {\n id: 2,\n key: \"THREE_MONTHS\",\n value: \"Quarterly\"\n },\n {\n id: 3,\n key: \"SIX_MONTHS\",\n value: \"Half yearly\"\n },\n {\n id: 4,\n key: \"TWELVE_MONTHS\",\n value: \"Yearly\"\n }\n]\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { get } from \"../../util/APIService\";\n\nexport const getReminder = createAsyncThunk(\n \"admin/reminder/get\",\n async (_, storeActions) => {\n const url = `api/v1/admin/reminder`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n errorMessage: (await response.json()).message,\n };\n }\n }\n);\n\nconst getReminderSlice = createSlice({\n name: \"getReminder\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n errorMessage: null as string | null,\n data: null as any | null,\n },\n reducers: {\n clearGetReminderData: (state) => {\n state.status = null;\n state.loading = false;\n state.errorMessage = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getReminder.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.errorMessage = null;\n } else if (action.payload.errorMessage !== undefined) {\n state.data = null;\n state.errorMessage = action.payload.errorMessage;\n }\n });\n builder.addCase(getReminder.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.errorMessage = null;\n });\n builder.addCase(getReminder.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.errorMessage = null;\n });\n },\n});\n\nexport const { clearGetReminderData } = getReminderSlice.actions;\n\nexport default getReminderSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { ReminderRequest } from \"../../type\";\nimport { getReminder } from \"./GetReminderSlice\";\nimport { patch } from \"../../util/APIService\";\n\nexport interface UpdateReminderSliceProp {\n reminderId: number;\n reminderDetails: ReminderRequest;\n}\n\nexport const updateReminder = createAsyncThunk(\n \"admin/reminder/update\",\n async (params: UpdateReminderSliceProp, storeActions) => {\n const url = `api/v1/admin/reminder/${params.reminderId}`;\n const response: any = await patch(url, params.reminderDetails, storeActions);\n\n if (response.status === HttpStatus.OK) {\n storeActions.dispatch(getReminder());\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n errorMessage: (await response.json()).message,\n };\n }\n }\n);\n\nconst updateReminderSlice = createSlice({\n name: \"UpdateReminder\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n errorMessage: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearUpdateReminderData: (state) => {\n state.status = null;\n state.loading = false;\n state.errorMessage = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(updateReminder.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.errorMessage = null;\n } else if (action.payload.errorMessage !== undefined) {\n state.data = null;\n state.errorMessage = action.payload.errorMessage;\n }\n });\n builder.addCase(updateReminder.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.errorMessage = null;\n });\n builder.addCase(updateReminder.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.errorMessage = null;\n });\n },\n});\n\nexport const { clearUpdateReminderData } = updateReminderSlice.actions;\n\nexport default updateReminderSlice;\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { ReminderRequest } from \"../../type\";\nimport { getReminder } from \"./GetReminderSlice\";\nimport { post } from \"../../util/APIService\";\n\nexport interface CreateReminderSliceProp {\n reminderDetails: ReminderRequest;\n}\n\nexport const createReminder = createAsyncThunk(\n \"admin/reminder/add\",\n async (params: CreateReminderSliceProp, storeActions) => {\n const url = `api/v1/admin/reminder`;\n const response: any = await post(url, params.reminderDetails, storeActions);\n\n if (response.status === HttpStatus.CREATED) {\n storeActions.dispatch(getReminder());\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n errorMessage: (await response.json()).message,\n };\n }\n }\n);\n\nconst createReminderSlice = createSlice({\n name: \"CreateReminder\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n errorMessage: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearCreateReminderData: (state) => {\n state.status = null;\n state.loading = false;\n state.errorMessage = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(createReminder.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.errorMessage = null;\n } else if (action.payload.errorMessage !== undefined) {\n state.data = null;\n state.errorMessage = action.payload.errorMessage;\n }\n });\n builder.addCase(createReminder.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.errorMessage = null;\n });\n builder.addCase(createReminder.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.errorMessage = null;\n });\n },\n});\n\nexport const { clearCreateReminderData } = createReminderSlice.actions;\n\nexport const selectCreateReminderStatus = (state) => state.reminderDetails.status;\nexport const selectCreateReminderErrorMessage = (state) =>\n state.reminderDetails.errorMessage;\n\nexport default createReminderSlice;\n","import React, { useEffect, useState } from 'react';\nimport { SettingsLayout } from '../../../layouts/admin/settings/Layout';\nimport { CommonFunctionalityComponent } from '../../components/CommonFunctionalityComponent';\nimport { Button, Divider, Grid, Icon, Radio, Tooltip, Typography } from '@material-ui/core';\nimport { OptionType } from '../../components/Dropdown/helper';\n\nimport 'date-fns';\nimport {\n MuiPickersUtilsProvider,\n KeyboardDatePicker,\n} from '@material-ui/pickers';\n\nimport DateFnsUtils from '@date-io/date-fns';\nimport { MESSAGES, useSettingsStyles } from './helper';\nimport { addDays, format, getDate } from 'date-fns';\nimport { ReminderConfirmationModal } from './reminderConfirmationModal/reminderConfirmationModal';\nimport { FREQUENCY_OPTIONS } from '../../../constants/reminderFrequencyConstants';\nimport { REMINDER_FREQUENCY_MAPPING, getDayWithOrdinal } from './reminderConfirmationModal/helper';\nimport ToastMessage from '../../components/ToastMessage';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { State } from '../../../type';\nimport { HttpStatus } from '../../../enums/httpStatus';\nimport { UpdateReminderSliceProp, updateReminder } from '../../../redux/slices/UpdateReminderSlice';\nimport { ReminderFrequencyEnum } from '../../../enums/reminderFrequencyEnums';\nimport { getReminder } from '../../../redux/slices/GetReminderSlice';\nimport { CreateReminderSliceProp, createReminder } from '../../../redux/slices/CreateReminderSlice';\n\nconst CustomRadio = ({ option, selectedOption, setSelectedOption }) => {\n const classes = useSettingsStyles();\n\n return (\n setSelectedOption(option)} className={classes.radioWrapper}>\n \n {option?.value}\n \n )\n}\n\nconst InfoIconWithTooltip = ({ message }) => {\n const classes = useSettingsStyles();\n return (\n \n \"info\"\n \n )\n}\n\nexport const Settings = (props) => {\n const [logout, setLogout] = useState(false);\n const [isDetailView, setIsDetailView] = useState(false);\n const tomorrowDate = addDays(new Date(), 1);\n const [startDate, setStartDate] = useState(null);\n const [nextScheduledDate, setNextScheduledDate] = useState(null);\n const [frequency, setFrequency] = useState()\n const [open, setOpen] = useState(false);\n const [openModal, setOpenModal] = useState(false);\n const [data, setData] = useState(\"\");\n const [showSuccess, setShowSuccess] = useState(false);\n const [message, setMessage] = useState(\"\");\n const [submitted, setSubmitted] = useState(false);\n\n const dispatch = useDispatch();\n\n const { loading: isCreatingReminder, status: createReminderStatus } = useSelector((state: State) => state.createReminderDetails);\n const { loading: isUpdatingReminder, status: updateReminderStatus } = useSelector((state: State) => state.updateReminderDetails);\n const { loading: isFetchingReminder, status: fetchReminderStatus, data: reminderDetails } = useSelector((state: State) => state.getReminderDetails);\n\n const handleDateChange = (date) => {\n setStartDate(date);\n };\n\n useEffect(() => {\n if (reminderDetails?.length > 0) {\n const frequency = FREQUENCY_OPTIONS?.find(option => option?.key === reminderDetails[0]?.frequency);\n setStartDate(new Date(reminderDetails[0]?.startDate));\n setFrequency(frequency);\n setNextScheduledDate(new Date(reminderDetails[0]?.nextScheduledDate))\n }\n }, [reminderDetails])\n\n const classes = useSettingsStyles();\n\n const loading: Boolean = isFetchingReminder;\n\n const statusCode: number | null = null;\n\n const fetchReminderDetails = () => {\n dispatch(getReminder());\n }\n\n useEffect(() => {\n window.scrollTo(0, 0);\n fetchReminderDetails();\n }, [])\n\n const renderErrorModal = () => (\n \n );\n\n const checkValidation = () => {\n if (reminderDetails?.length > 0) {\n const currentDate = new Date(reminderDetails[0]?.startDate);\n const currentFrequency = reminderDetails[0]?.frequency;\n\n if (currentDate.getTime() === startDate?.getTime() && currentFrequency === frequency?.key) {\n return false;\n } else return true;\n\n } else {\n return startDate && frequency;\n }\n\n }\n\n const isSaveDisabled = !checkValidation();\n\n const handleSave = () => {\n const startDay = getDate(startDate || new Date());\n setData({ startDay: getDayWithOrdinal(startDay), frequency: REMINDER_FREQUENCY_MAPPING[frequency?.key || \"\"] })\n setOpenModal(true);\n }\n\n const handleCancel = () => {\n setOpenModal(false);\n resetData();\n }\n\n const handleClose = () => {\n setOpenModal(false);\n }\n\n const resetData = () => {\n if (reminderDetails?.length > 0) {\n const frequency = FREQUENCY_OPTIONS?.find(option => option?.key === reminderDetails[0]?.frequency);\n setStartDate(new Date(reminderDetails[0]?.startDate));\n setFrequency(frequency);\n setNextScheduledDate(new Date(reminderDetails[0]?.nextScheduledDate))\n } else {\n setStartDate(null);\n setFrequency(undefined);\n setTimeout(() => {\n setData(null);\n }, 1000);\n }\n }\n\n const handleFocus = (e) => {\n e.target.blur();\n };\n\n\n const handleCloseToast = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowSuccess(false);\n setMessage(\"\");\n };\n\n useEffect(() => {\n if (!isCreatingReminder && submitted && createReminderStatus === HttpStatus.OK) {\n setShowSuccess(true);\n setMessage(MESSAGES.SAVE_REMINDER);\n }\n }, [isCreatingReminder, createReminderStatus])\n\n useEffect(() => {\n if (!isUpdatingReminder && submitted && updateReminderStatus === HttpStatus.OK) {\n setShowSuccess(true);\n setMessage(MESSAGES.SAVE_REMINDER);\n }\n }, [isUpdatingReminder, updateReminderStatus])\n\n const handleConfirm = () => {\n setSubmitted(true);\n if (!submitted) {\n if (reminderDetails?.length > 0) {\n const params: UpdateReminderSliceProp = {\n reminderId: reminderDetails[0]?.id,\n reminderDetails: {\n startDate: format(startDate || new Date(), 'dd-MM-yyyy'),\n frequency: frequency?.key as ReminderFrequencyEnum,\n },\n };\n dispatch(updateReminder(params));\n } else {\n const params: CreateReminderSliceProp = {\n reminderDetails: {\n startDate: format(startDate || new Date(), 'dd-MM-yyyy'),\n frequency: frequency?.key as ReminderFrequencyEnum,\n },\n };\n dispatch(createReminder(params));\n }\n }\n };\n\n useEffect(() => {\n if (!isCreatingReminder && submitted) {\n handleClose();\n setSubmitted(false);\n }\n }, [isCreatingReminder])\n\n useEffect(() => {\n if (!isUpdatingReminder && submitted) {\n handleClose();\n setSubmitted(false);\n }\n }, [isUpdatingReminder])\n\n const shouldDisableDate = (date) => {\n if (!reminderDetails || reminderDetails?.length === 0) {\n return date < new Date();\n }\n const areDatesEqual = date.getTime() === new Date(reminderDetails[0]?.startDate).getTime();\n return areDatesEqual ? false : date < new Date();\n }\n \n const renderInfoBanner = () => {\n return (\n \n \n \"info\"\n \n \n According to current settings upcoming reminder is scheduled for {format(nextScheduledDate || new Date(), \"dd/MM/yyyy\")}\n \n \n );\n };\n\n const renderSettings = () => (\n \n \n \n \n Reminder\n \n \n \n {nextScheduledDate && renderInfoBanner()}\n \n Start Date\n \n \n \n e.preventDefault()}\n onFocus={handleFocus}\n onChange={handleDateChange}\n open={open}\n onClick={() => setOpen(true)}\n InputProps={{ disableUnderline: true, style: { color: \"#272727\", fontWeight: 500 } }}\n className={classes.datePicker}\n onClose={() => setOpen(false)}\n PopoverProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\",\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\",\n },\n PaperProps: {\n style: { marginTop: \"16px\", marginLeft: \"-12px\" },\n },\n }}\n keyboardIcon={\n \"toggle\"\n }\n autoOk\n shouldDisableDate={shouldDisableDate}\n renderDay={(day, selectedDate, dayInCurrentMonth, dayComponent) => {\n const isSelected = day?.toDateString() === selectedDate?.toDateString();\n\n return (\n \n {dayComponent}\n \n );\n }}\n />\n \n \n \n \n Set Frequency\n \n \n \n {FREQUENCY_OPTIONS.map(option => (\n \n ))}\n \n \n \n \n \n Save\n \n \n \n )\n\n return (\n \n )\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport { appColor } from \"../../../modules/constants/customThemeColor\";\n\nexport const createTeamLayoutStyle = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: theme.spacing(11, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"calc(100vh - 52px)\",\n position: \"relative\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n label: {\n color: \"#272727\",\n fontSize: 18,\n fontWeight: 600,\n marginBottom: theme.spacing(2),\n display: \"flex\",\n width: \"100%\",\n alignItems: \"center\",\n columnGap: theme.spacing(0.5),\n },\n divider: {\n width: \"100%\",\n background: \"#E7E7E7\",\n height: 0.5,\n marginBottom: theme.spacing(4)\n },\n footer: {\n marginTop: \"auto\",\n },\n saveButton: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"uppercase\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"8px 40px\",\n marginBottom: theme.spacing(5),\n },\n disabledButton: {\n pointerEvents: \"none\",\n backgroundColor: \"#A0A0A0 !important\",\n color: \"#fff !important\"\n },\n btn_: {\n margin: theme.spacing(1, 3, 0, 0),\n borderColor: `${appColor.pureWhite}`,\n [theme.breakpoints.down(\"xs\")]: {\n margin: theme.spacing(3, 3.5, 0, 0),\n },\n },\n typography_font_14_10_600: {\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n },\n },\n}));\n","import {\n Button,\n Divider,\n Grid,\n Typography,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../../home/Layout\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { appColor } from \"../../../../modules/constants/customThemeColor\";\nimport { createTeamLayoutStyle } from \"../helper\";\n\nexport const CreateTeamLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderTextField,\n handleCreateTeam,\n handleCancel,\n renderAutocomplete,\n isSaveDisabled,\n isEditTeamRouteView\n}) => {\n document.title = !isEditTeamRouteView ? \"Grow-Wize | Create Team\" : \"Grow-Wize | Edit Team\";\n\n const classes = createTeamLayoutStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderCreateTeamLayout = () => (\n <>\n {renderErrorModal()}\n \n {renderTextField()}\n {renderAutocomplete()}\n \n \n \n \n Cancel\n \n \n \n {!isEditTeamRouteView ? 'Create' : 'Save'}\n \n \n \n \n );\n\n return (\n \n );\n};\n","export const TEAM_ROLES_LIST = [\n { id: 1, key: \"TEAM_LEAD\", value: \"Team Lead\" },\n { id: 2, key: \"TEAM_MEMBER\", value: \"Team Member\" },\n ];","export enum UserStatus {\n ACTIVE = \"ACTIVE\",\n INACTIVE = \"INACTIVE\",\n}\n","import { makeStyles } from \"@material-ui/core/styles\";\n\nexport const removeMemberModalStyles = makeStyles((theme) => ({\n confirmationInfo: {\n fontSize: 14,\n fontWeight: 500,\n color: \"#272727\",\n }\n}));\n\n","import {\n Typography,\n } from \"@material-ui/core\";\n import { Modal } from \"../../../../components/Modal/Modal\";\n import { ModalHeader } from \"../../../../components/Modal/ModalHeader\";\n import { ModalBody } from \"../../../../components/Modal/ModalBody\";\n import { ModalFooter } from \"../../../../components/Modal/ModalFooter\";\n import { removeMemberModalStyles } from \"./helper\";\n \n export const RemoveMemberModal = ({\n open,\n handleCancel,\n handleRemove,\n disableActions,\n memberName\n }) => {\n const classes = removeMemberModalStyles();\n \n return (\n \n \n \n \n Are you sure you want to remove {memberName} from the team?\n \n \n \n \n );\n };\n ","import { Avatar, Button, Grid, Typography } from \"@material-ui/core\";\nimport React, { useState, useEffect } from \"react\";\nimport { avatarColor } from \"../../../constants/avatarBackgroundColor\";\nimport { Dropdown } from \"../../../components/Dropdown/Dropdown\";\nimport { OptionType } from \"../../../components/Dropdown/helper\";\nimport { TEAM_ROLES_LIST } from \"../../../../constants/teamConstants\";\nimport { teamMemberListItemStyles } from \"../helper\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\nimport { RemoveMemberModal } from \"./removeMemberModal/removeMemberModal\";\nimport { UserStatus } from \"../../../../enums/userStatus\";\n\nconst TeamMemberListItem = ({\n user,\n titles,\n memberRole,\n onChangeUserRole,\n RemoveMemberChange,\n isTeamDetailsView\n}) => { \n const classes = teamMemberListItemStyles();\n const [selectedRoleType, setSelectedRoleType] = React.useState(\n memberRole === TEAM_ROLES_LIST[0].key ? TEAM_ROLES_LIST[0] : TEAM_ROLES_LIST[1]\n );\n\n useEffect(() => {\n setSelectedRoleType(memberRole === TEAM_ROLES_LIST[0].key ? TEAM_ROLES_LIST[0] : TEAM_ROLES_LIST[1])\n }, [memberRole])\n\n const { teamId }: any = useParams();\n const history = useHistory();\n const location = useLocation();\n const isDisabled = user.status === UserStatus.INACTIVE ? true : false;\n const isAdminView = location.pathname.includes(\"admin\");\n\n const [openModal, setOpenModal] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n\n\n const handleChange = (role: OptionType) => {\n setSelectedRoleType(role)\n onChangeUserRole({ id: user.id, role: role.key })\n };\n\n const handleRemoveMember = () => {\n setOpenModal(true);\n }\n\n const handleCancelModal = () => {\n setOpenModal(false);\n }\n\n const handleConfirm = () => { \n setSubmitted(true);\n RemoveMemberChange(user.id);\n setOpenModal(false);\n }\n\n const handleViewMemberDetailBtn = (memberId: number) => {\n if (isAdminView) {\n history.push({\n pathname: `/admin/member/detail/${user?.id}`,\n state: { from: \"teams_details\", member: user, teamId },\n });\n }else{\n history.push({\n pathname: `/member/detail/${user?.id}`,\n state: { from: \"teams_details\", member: user, teamId },\n });\n }\n }\n\n return (\n <>\n \n \n \n \n \n {user?.firstName + \" \" + user?.lastName}\n \n\n \n\n \n {!isTeamDetailsView ? (\n \n ) : (\n \n {selectedRoleType?.value}\n \n )}\n \n\n \n \n {user.status}\n \n \n\n \n {!isTeamDetailsView ?\n ( {\n handleRemoveMember()\n }}\n style={{\n marginRight: 20,\n }}\n >\n \n Remove Member\n \n \n ):\n (\n handleViewMemberDetailBtn(user.id)}\n >\n View\n \n )}\n\n \n \n \n );\n};\n\nexport default TeamMemberListItem;\n","import {\n CircularProgress,\n Grid,\n Icon,\n Paper,\n Typography,\n} from \"@material-ui/core\";\nimport { TEAM_TITLES, teamMemberListStyles } from \"../helper\";\nimport TeamMemberListItem from \"./TeamMemberLisItem\";\nimport { Member, User } from \"../../../../type\";\nimport { USER_ROLES } from \"../../../../enums/teamEnums\";\n\nconst TeamMemberList = ({\n users,\n loading,\n roles,\n setRoles,\n setAllSelectedUsers,\n isTeamDetailsView,\n allExisitingUsers ,\n setAllExisitingUsers ,\n allSelectedUsers,\n removeUsers,\n setRemoveUsers \n}) => {\n \n const classes = teamMemberListStyles();\n\n const renderTitles = () => {\n return (\n \n {TEAM_TITLES.map((title) => (\n \n \n {title.name}\n \n \n ))}\n \n );\n };\n\n if (users?.length === 0) {\n return null;\n }\n\n const onChangeUserRole = (user: Member) => {\n const currentRole = roles?.find(({ id }) => user.id === id);\n let updatedRoles = [...roles];\n if (currentRole != null && currentRole != undefined) {\n updatedRoles = roles.map((item) => {\n const { id } = item;\n if (user.id === id) {\n return {\n ...item,\n role: user.role,\n };\n } else {\n return item;\n }\n });\n } else {\n updatedRoles = [...roles, { id: user.id, role: user.role }];\n }\n setRoles(updatedRoles);\n };\n\n const RemoveMemberChange = (userId) => { \n\n const exisitingUser = allExisitingUsers.find(user =>user.id === userId);\n if(exisitingUser) {\n const updatedUsers = allExisitingUsers.filter((user) => user.id != userId);\n setAllExisitingUsers(updatedUsers);\n setRemoveUsers([...removeUsers, exisitingUser])\n } else {\n const updatedUsers = allSelectedUsers.filter((user) => user.id != userId);\n setAllSelectedUsers(updatedUsers);\n } \n };\n\n return (\n \n \n {!isTeamDetailsView && (\n <>\n \n \"info\"\n \n \n To complete team creation assign Team Lead role to a member .\n \n \n )}\n \n \n {renderTitles()}\n {loading && (\n \n \n \n )}\n {users?.map((user: User) => (\n \n ))}\n \n \n );\n};\n\nTeamMemberList.defaultProps = {\n setAllExisitingUsers : ()=>{},\n allExisitingUsers:[], \n removeUsers : [],\n allSelectedUsers : [],\n setRemoveUsers : ()=>{}\n}\nexport default TeamMemberList;\n","export enum USER_ROLES {\n TEAM_LEAD = \"TEAM_LEAD\",\n TEAM_MEMBER = \"TEAM_MEMBER\"\n }","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { TeamDetailSliceProps, TeamDetailsResponse } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getTeamDetails = createAsyncThunk(\n \"admin/teams\",\n async (params: TeamDetailSliceProps, storeActions) => {\n const url = `api/v1/admin/teams/${params.teamId}`;\n const response: any = await get(url, storeActions);\n \n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst teamDetailsSlice = createSlice({\n name: \"teamDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as TeamDetailsResponse | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getTeamDetails.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(getTeamDetails.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = state.data ? state.data : null;\n state.text = null;\n });\n builder.addCase(getTeamDetails.rejected, (state) => {\n state.status = HttpStatus.SERVICE_UNAVAILABLE;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = teamDetailsSlice.actions;\n\nexport default teamDetailsSlice;\n\n","export enum OperationsEnum {\n ADD_MEMBER= \"ADD_MEMBER\",\n REMOVE_MEMBER= \"REMOVE_MEMBER\",\n UPDATE_MEMBER= \"UPDATE_MEMBER\",\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { patch } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\nimport { EditTeamProps } from \"../../type\";\n\nexport const editTeam = createAsyncThunk(\n \"admin/teams/edit\",\n async (params: EditTeamProps, storeActions) => {\n const response: any = await patch(`api/v1/admin/teams/${params.id}`, params, storeActions);\n if (response.status === HttpStatus.OK) {\n return {\n status: response.status,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst editTeamSlice = createSlice({\n name: \"editTeamDetails\",\n initialState: {\n status: null as number | null,\n loading: false as boolean,\n text: null as string | null,\n data: null as number | null,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.text = null;\n state.data = null;\n },\n },\n extraReducers: (builder) => {\n builder.addCase(editTeam.fulfilled, (state, action) => {\n state.status = action.payload.status;\n state.loading = false;\n if (action.payload.data !== undefined) {\n state.data = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.data = null;\n state.text = action.payload.text;\n }\n });\n builder.addCase(editTeam.pending, (state) => {\n state.status = null;\n state.loading = true;\n state.data = null;\n state.text = null;\n });\n builder.addCase(editTeam.rejected, (state) => {\n state.status = 503;\n state.loading = false;\n state.data = null;\n state.text = null;\n });\n },\n});\n\nexport const { clearData } = editTeamSlice.actions;\n\nexport default editTeamSlice;\n","import React, { useEffect, useState, useMemo } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n CreateTeamProps,\n EditTeamProps,\n GetAllMemberListSliceProps,\n Member,\n State,\n TeamDetailSliceProps,\n User,\n} from \"../../../../type\";\nimport { CreateTeamLayout } from \"../../../../layouts/admin/teams/createTeam/CreateTeamLayout\";\nimport { createTeam } from \"../../../../redux/slices/CreateTeamSlice\";\nimport { setUnsavedTeamChanges } from \"../../../../redux/slices/CreateTeamSlice\"\nimport Autocomplete from \"@material-ui/lab/Autocomplete\";\nimport {\n Avatar,\n Chip,\n Divider,\n Grid,\n TextField,\n Typography,\n} from \"@material-ui/core\";\nimport { CreateTeamCancelModal } from \"./createTeamCancelModal/createTeamCancelModal\";\nimport TeamMemberList from \"./TeamMemberList\";\nimport { useCustomStyle } from \"../../../../styles\";\nimport { createTeamStyles } from \"../helper\";\nimport { getAllMemberList } from \"../../../../redux/slices/AllMemberList\";\nimport { USER_ROLES } from \"../../../../enums/teamEnums\";\nimport { useHistory, useLocation, useParams } from \"react-router-dom\";\nimport { getTeamDetails } from \"../../../../redux/slices/TeamDetailsSlice\";\nimport { editTeam } from \"../../../../redux/slices/EditTeamSlice\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { OperationsEnum } from \"../../../../enums/operationEnums\";\nimport { filter, find, map } from \"lodash\";\nimport { HttpStatus } from \"../../../../enums/httpStatus\";\n\n// EditTeam page also using this CreateTeam component \nexport const CreateEditTeam = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [allSelectedUsers, setAllSelectedUsers] = React.useState([]);\n const [teamName, setTeamName] = React.useState(\"\");\n const [openModal, setOpenModal] = useState(false);\n const [submitted, setSubmitted] = useState(false);\n const [editTeamSubmitted, setEditTeamSubmitted] = useState(false);\n const [createTeamSubmitted, setCreateTeamSubmitted] = useState(false);\n const [allExisitingUsers, setAllExisitingUsers] = React.useState([]);\n const [removeUsers, setRemoveUsers] = React.useState([])\n const [errors, setErrors] = useState({});\n const users: Array = [];\n const [allSelectedUserRoles, setAllSelectedUserRoles] = React.useState<\n Member[]\n >([]);\n\n const labels = useSelector((state: State) => state.membersList.data) ?? users;\n const loading: boolean = useSelector(\n (state: State) => state.membersList.loading\n );\n\n const { data: teamDetails } = useSelector((state: State) => state.teamDetails) ?? [];\n const teamMembers = teamDetails?.teamMembers ?? [];\n const teamLeads = teamDetails?.teamLeads ?? [];\n const classes = createTeamStyles();\n const customClasses = useCustomStyle();\n const currentRoutePath: string = useLocation().pathname;\n const isEditTeamRouteView: boolean = currentRoutePath.startsWith(\n \"/admin/teams/edit\"\n );\n\n const teamIdCreateResponse = useSelector((state: State)=> state.createTeamDetails?.data?.id); \n const teamIdEditResponse = useSelector((state: State)=> state.editTeamDetails?.data?.id);\n const { teamId }: any = useParams();\n const { status, text } = useSelector(\n (state: State) => state.createTeamDetails\n );\n const editTeamDetails = useSelector(\n (state: State) => state.editTeamDetails\n );\n const unsavedTeamChanges = useSelector(\n (state: State) => state.createTeamDetails.unsavedTeamChanges\n );\n\n\n const mergeUsersWithRole = (teamLeads: User[], teamMembers: User[]) => {\n const teamLeadsWithRole = (teamLeads || [])?.map((member) => ({\n ...member,\n role: USER_ROLES.TEAM_LEAD as USER_ROLES,\n }));\n\n const teamMembersWithRole = (teamMembers || [])?.map((member) => ({\n ...member,\n role: USER_ROLES.TEAM_MEMBER as USER_ROLES,\n }));\n\n return [...teamLeadsWithRole, ...teamMembersWithRole];\n };\n const initialUsers = useMemo(() => {\n return mergeUsersWithRole(teamDetails?.teamLeads, teamDetails?.teamMembers);\n }, [teamDetails]);\n\n\n const checkValidation = (): boolean => {\n if (teamName.trim().length === 0) {\n return false;\n }\n if (teamName.trim().length > 50) {\n return false;\n }\n if (allSelectedUsers.length === 0 && !isEditTeamRouteView) {\n return false;\n }\n return true;\n };\n\n useEffect(() => {\n if (status === HttpStatus.BAD_REQUEST) {\n const apiError = JSON.parse(text)?.message;\n const validationErrors = { ...errors };\n validationErrors[\"teamName\"] = apiError;\n setErrors(validationErrors);\n }\n }, [status, text]);\n\n useEffect(() => {\n if (editTeamDetails.status === HttpStatus.BAD_REQUEST) {\n const apiError = JSON.parse(editTeamDetails.text)?.message;\n const validationErrors = { ...errors };\n validationErrors[\"teamName\"] = apiError;\n setErrors(validationErrors);\n }\n }, [editTeamDetails]);\n\n useEffect(() => {\n setErrors(false);\n dispatch(setUnsavedTeamChanges(false));\n }, []);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n const params : GetAllMemberListSliceProps = {\n isActiveUser: true\n };\n const fetchedUsers = getAllMemberList(params);\n dispatch(fetchedUsers);\n }, []);\n\n useEffect(() => {\n if (teamId) {\n const param: TeamDetailSliceProps = {\n teamId: teamId,\n };\n dispatch(getTeamDetails(param));\n }\n }, [teamId]);\n\n useEffect(() => {\n if (teamDetails?.teamName && isEditTeamRouteView) {\n setTeamName(teamDetails.teamName); \n const allTeamMembersAndLeads = mergeUsersWithRole(\n teamDetails.teamLeads,\n teamDetails.teamMembers\n );\n setAllExisitingUsers(allTeamMembersAndLeads);\n }\n }, [teamLeads, teamMembers]);\n\n useEffect(() => {\n if (editTeamSubmitted && teamIdEditResponse) {\n history.push({\n pathname: `/admin/teams/details/${teamIdEditResponse}`,\n state: { from: \"edit_teams\", teamUpdated: true },\n });\n setEditTeamSubmitted(false);\n }\n }, [teamIdEditResponse, editTeamSubmitted])\n\n useEffect(() => {\n if (createTeamSubmitted && teamIdCreateResponse) {\n history.push({\n pathname: `/admin/teams/details/${teamIdCreateResponse}`,\n state: { from: \"create_teams\", teamAdded: true },\n });\n setCreateTeamSubmitted(false);\n }\n }, [teamIdCreateResponse, createTeamSubmitted]);\n \n const handleCreateTeam = () => {\n if (checkValidation()) {\n setCreateTeamSubmitted(true);\n const updatedUsers: Member[] = allSelectedUsers.map((teamMember) => ({\n id: teamMember.id,\n role:\n allSelectedUserRoles?.find(({ id }) => id === teamMember.id)?.role ??\n USER_ROLES.TEAM_MEMBER,\n }));\n const args: CreateTeamProps = {\n name: teamName,\n members: updatedUsers,\n };\n dispatch(createTeam(args));\n }\n };\n\n const handleEditTeam = () => {\n if (checkValidation()) {\n setEditTeamSubmitted(true);\n const addedUsers = map(\n filter(\n allSelectedUsers,\n (user) => !find(initialUsers, (initialU) => initialU.id === user.id)\n ),\n (user) => ({\n id: user.id,\n role:\n allSelectedUserRoles?.find(({ id }) => id === user.id)?.role ??\n USER_ROLES.TEAM_MEMBER,\n })\n );\n\n const removedUsers = map(\n filter(\n removeUsers,\n (removedUser) => !find(allSelectedUsers, (selectedUser) => selectedUser.id === removedUser.id)\n ),\n (user) => ({ id: user.id, role: user.role })\n );\n\n const updatedUsers = allSelectedUserRoles.filter((user) =>\n initialUsers.find(\n (initialU) => user.id === initialU.id && user.role !== initialU.role\n )\n );\n\n const updatedUsersWithOperations = [\n {\n name: OperationsEnum.ADD_MEMBER,\n members: addedUsers,\n },\n {\n name: OperationsEnum.REMOVE_MEMBER,\n members: removedUsers,\n },\n {\n name: OperationsEnum.UPDATE_MEMBER,\n members: updatedUsers,\n },\n ];\n\n const args: EditTeamProps = {\n id: teamId,\n teamName: teamName,\n operations: updatedUsersWithOperations,\n };\n dispatch(editTeam(args));\n }\n };\n\n const handleRenderOptions = (option, selected) => (\n \n \n \n \n
\n \n {option.firstName + \" \" + option.lastName}\n \n
\n
\n
\n
\n );\n\n const handleCancel = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setOpenModal(true);\n };\n\n const handleCancelModal = () => {\n setOpenModal(false);\n };\n\n const handleConfirm = () => {\n setSubmitted(true);\n setOpenModal(false);\n const currentPage = props.location?.state?.currentPage || 1;\n history.push({ pathname: \"/admin/teams\", search: `?page=${currentPage}` });\n };\n\n const isSaveDisabled = !checkValidation();\n useEffect(() => {\n if (!isEditTeamRouteView) {\n dispatch(setUnsavedTeamChanges(!isSaveDisabled));\n }\n }, [isSaveDisabled]);\n\n const statusCode: number | null = useSelector((state: State) => { \n const createTeamDetailsStatus = state.createTeamDetails?.status;\n const editTeamDetailsStatus = state.editTeamDetails?.status;\n if(!isEditTeamRouteView) {\n return createTeamDetailsStatus === HttpStatus.CREATED \n ? createTeamDetailsStatus\n : null; \n } else {\n return editTeamDetailsStatus === HttpStatus.OK \n ? editTeamDetailsStatus\n : null;\n }});\n\n const renderErrorModal = () => (\n \n );\n\n const renderTextField = () => (\n <>\n \n {!isEditTeamRouteView ? \"Create New Team\" : \"Edit Team Details\"}\n \n \n \n Team Name*\n \n ) => {\n setTeamName(event.target.value);\n }}\n >\n \n );\n\n const renderAutocomplete = () => {\n return (\n <>\n \n \n\n \n Choose Member *\n \n\n \n Select one or more members to add in team\n \n\n option.id === value.id}\n onChange={(_event, newValue) => setAllSelectedUsers(newValue)}\n renderTags={(value: User[], getTagProps) =>\n value.map((user: User, index: number) => (\n \n }\n label={\n \n {user.firstName + \" \" + user.lastName}\n \n }\n className={classes.chip}\n {...getTagProps({ index })}\n />\n ))\n }\n filterSelectedOptions\n disableCloseOnSelect\n options={labels.filter((user) => !allExisitingUsers.find((existingUser) => existingUser.id == user.id))}\n getOptionLabel={(option) => {\n return (\n option.firstName && option.firstName + \" \" + option.lastName\n );\n }}\n renderOption={(option, { selected }) =>\n handleRenderOptions(option, selected)\n }\n renderInput={(params) => (\n \n )}\n />\n {(isEditTeamRouteView ? allExisitingUsers?.length > 0 || allSelectedUsers?.length > 0 :\n allSelectedUsers?.length > 0) && (\n \n \n \n )}\n \n \n );\n };\n\n useEffect(() => {\n if (!isDetailView) {\n if (unsavedTeamChanges) {\n setOpenModal(true);\n } else {\n const currentPage = props.location?.state?.currentPage || 1;\n history.push({ pathname: \"/admin/teams\", search: `?page=${currentPage}` });\n }\n }\n }, [isDetailView]);\n\n return (\n \n );\n};\n","import { createAsyncThunk, createSlice } from \"@reduxjs/toolkit\";\nimport { ResponseTeam } from \"../../type\";\nimport { get } from \"../../util/APIService\";\nimport { HttpStatus } from \"../../enums/httpStatus\";\n\nexport const getAllTeamsData = createAsyncThunk(\n \"teamsData/getAllTeams\",\n async (_, storeActions) => {\n const url = `api/v1/admin/teams`;\n const response: any = await get(url, storeActions);\n\n if (response.status === HttpStatus.OK) {\n return {\n status: HttpStatus.OK,\n data: await response.json(),\n };\n } else {\n return {\n status: response.status,\n text: await response.text(),\n };\n }\n }\n);\n\nconst adminTeamDataSlice = createSlice({\n name: \"adminTeamData\",\n initialState: {\n status: null as number | null,\n text: null as string | null,\n teams: [] as ResponseTeam[] | [],\n loaded: false as boolean,\n loading: false as boolean,\n },\n reducers: {\n clearData: (state) => {\n state.status = null;\n state.loading = false;\n state.loaded = false;\n state.text = null;\n state.teams = [];\n },\n },\n extraReducers: (builder) => {\n builder.addCase(getAllTeamsData.fulfilled, (state, action) => {\n state.status = action.payload.status;\n if (action.payload.data !== undefined) {\n state.teams = action.payload.data;\n state.text = null;\n } else if (action.payload.text !== undefined) {\n state.teams = [];\n state.text = action.payload.text;\n }\n state.loaded = true;\n state.loading = false;\n });\n builder.addCase(getAllTeamsData.pending, (state) => {\n state.loading = true;\n state.status = null;\n state.text = null;\n state.teams = state.teams?.length > 0 ? state.teams : [];\n state.loaded = false;\n });\n builder.addCase(getAllTeamsData.rejected, (state, action) => {\n state.status = 503;\n state.text = null;\n state.teams = [];\n state.loaded = false;\n state.loading = false;\n });\n },\n});\n\nexport const { clearData } = adminTeamDataSlice.actions;\n\nexport default adminTeamDataSlice;\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { useDispatch } from \"react-redux\";\nimport { useLocation } from \"react-router-dom\";\nimport { getAllTeamsData } from \"../../../redux/slices/teamSlice\";\nimport { getAllTeamsOfTeamLead } from \"../../../redux/slices/TeamLeadTeams\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n }\n}));\n\nexport const TeamsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderSearchBox,\n renderTeamsList,\n renderChangePageButtons,\n count,\n renderNewTeamButton,\n}) => {\n document.title = \"Grow-Wize | Admin - Teams\";\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const tempFunction = () => {\n return 0;\n };\n const dispatch = useDispatch();\n const location = useLocation();\n const currentPath = location.pathname;\n\n useEffect(() => {\n if (currentPath === \"/admin/teams\") {\n dispatch(getAllTeamsData());\n } else if (currentPath === \"/teams\") {\n dispatch(getAllTeamsOfTeamLead());\n }\n }, []);\n\n const renderToolBar = () => (\n \n );\n\n const renderTeamsLayout = () => (\n <>\n {renderErrorModal()}\n \n \n \n {renderSearchBox()}\n {renderNewTeamButton()}\n \n {renderTeamsList()}\n {count !== 0 ? renderChangePageButtons() : null}\n \n \n \n );\n\n return (\n \n );\n};\n","import { SearchOption } from \"../modules/components/type\";\nimport { ResponseTeam } from \"../type\";\n\nexport function teamToOption(team: ResponseTeam) {\n return {\n userId: null,\n teamId: team.id,\n name: team.name,\n } as SearchOption;\n}","import { makeStyles } from \"@material-ui/core\";\n\nexport const teamListTableItemStyles = makeStyles((theme) => ({\n container: {\n padding: \"14px 44px\",\n height: theme.spacing(11),\n borderTop: theme.spacing(0.005),\n borderColor: \"#97979724\",\n borderLeft: theme.spacing(0),\n borderRight: theme.spacing(0),\n borderBottom: theme.spacing(0),\n borderStyle: \"solid\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n typography_body_3: {\n textAlign: \"start\",\n alignItems: \"center\",\n fontSize: theme.spacing(1.75),\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n marginRight: theme.spacing(1),\n },\n },\n typography_body_2: {\n textAlign: \"left\",\n wordBreak: \"break-word\",\n fontWeight: 500,\n fontSize: theme.spacing(1.75),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(0, 0, 0, 0),\n fontSize: theme.spacing(1.25),\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: theme.spacing(0, 0, 0, 1.5),\n },\n },\n}));\n\nexport const teamListTableStyles = makeStyles((theme) => ({\n root: {\n width: \"inherit\",\n },\n header: {\n padding: \"14px 44px\",\n backgroundColor: \"rgba(87,107,234,0.05)\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(1, 0, 1, 0),\n },\n },\n typography_body: {\n color: \"#868686\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: theme.spacing(1.25),\n padding: theme.spacing(0, 0, 0, 1),\n },\n },\n}));\n\nexport type TitleProps = {\n name: string;\n size: | 1\n | 2\n | 3\n | 4\n | 5\n | 6\n | 7\n | 8\n | 9\n | 10\n | 11\n | 12\n | \"auto\"\n | boolean\n | undefined;\n}\n\nexport const TITLE: Array = [\n {\n name: \"Team Name\",\n size: 4,\n },\n {\n name: \"Team Lead\",\n size: 4,\n },\n {\n name: \"Members\",\n size: 3,\n },\n {\n name: \"Action\",\n size: 1,\n },\n];\n","export enum UserTypes {\n ADMIN = \"ADMIN\",\n REGULAR = \"REGULAR\",\n }\n ","export enum RequestTags {\n INTERNAL = \"INTERNAL\",\n EXTERNAL = \"EXTERNAL\",\n ANY = \"ANY\",\n }","import { Grid, Typography } from \"@material-ui/core\";\nimport { teamListTableItemStyles } from \"./helper\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n\n\nconst TeamListTableItem = ({\n teamId,\n teamName,\n teamLeads,\n totalMembers,\n titles,\n pageNumber,\n}) => {\n const classes = teamListTableItemStyles();\n const history = useHistory();\n const location = useLocation();\n const currentPath = location.pathname;\n\n const handleViewMore = (teamId: number) => {\n if (currentPath === \"/admin/teams\") {\n history.push({\n pathname: `/admin/teams/details/${teamId}`,\n state: { from: \"teams_list\", currentPage: pageNumber },\n });\n } else if (currentPath === \"/teams\") {\n history.push({\n pathname: `/teams/details/${teamId}`,\n state: { from: \"teams_list\", currentPage: pageNumber },\n });\n }\n\n };\n return (\n <>\n \n \n \n {teamName}\n \n \n\n \n \n {teamLeads.length > 0 ? teamLeads.join(', ') : \"-\"} \n \n \n\n \n \n {totalMembers}\n \n \n\n \n \n handleViewMore(teamId)} \n >\n View\n \n \n \n \n \n );\n};\n\nexport default TeamListTableItem;\n","import { ResponseTeam } from \"../../../../type\";\nimport { CircularProgress, Grid, Paper, Typography } from \"@material-ui/core\";\nimport { teamListTableStyles, TITLE } from \"./helper\";\nimport TeamListTableItem from \"./teamListTableItem\";\nimport { NoRecordFoundInTable } from \"../../../components/list/noRecordPage/NoRecordText\";\nconst TeamListTable = ({ data: teams, pageNumber, loading }) => {\n const classes = teamListTableStyles();\n\n const renderTitles = () => {\n return (\n \n {TITLE.map((title) => (\n \n \n {title.name}\n \n \n ))}\n \n );\n };\n return (\n \n \n {renderTitles()}\n {loading ? (\n \n \n \n ) : (\n <>\n {teams?.length ? (\n teams.map((team: ResponseTeam) => (\n \n ))\n ) : (\n \n )}\n \n )}\n \n \n );\n};\n\nexport default TeamListTable;\n","import { Button, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { ResponseTeam, State } from \"../../../type\";\nimport { CustomSearchBoxComponent } from \"../../components/CustomSearchboxComponent\";\nimport { SearchOption } from \"../../components/type\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { useHistory, withRouter } from \"react-router-dom\";\nimport { TeamsLayout } from \"../../../layouts/admin/teams/Layout\";\nimport { teamToOption } from \"../../../util/teamOption\";\nimport TeamListTable from \"./teamListTable/teamListTable\";\n\nconst useStyle = makeStyles((theme) => ({\n btn: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n },\n}));\n\nconst Teams = (props) => {\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [filteredTeams, setFilteredTeams] = React.useState>(\n []\n );\n const [pageData, setPageData] = React.useState>([]);\n const opt = props.location.state?.option;\n const [option, setOption] = React.useState(\n opt ? opt : null\n );\n\n const queryParams = new URLSearchParams(props.location.search);\n const pageValue =\n props.location.state?.pageNo || Number(queryParams.get(\"page\"));\n\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n const history = useHistory();\n\n const teams = useSelector((state: State) => state.adminTeamData.teams);\n\n const count = teams?.length;\n\n useEffect(() => {\n const pageData = option\n ? [...filteredTeams]\n : filteredTeams?.slice((pageNumber - 1) * 10, pageNumber * 10);\n setPageData(pageData);\n history.push({\n pathname: \"/admin/teams\",\n search: !option ? `?page=${pageNumber}` : `?search=${option?.name}`,\n });\n }, [filteredTeams, pageNumber]);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pageNumber]);\n\n useEffect(() => {\n if (option === null) {\n setFilteredTeams(teams);\n }\n if (option !== null) {\n const matchingTeams = teams.filter((team) => team?.id === option?.teamId);\n setFilteredTeams(matchingTeams);\n }\n }, [option, teams]);\n\n useEffect(() => {\n setPageNumber(pageValue ? pageValue : 1);\n }, [option]);\n\n const classes = useStyle();\n\n const loading: Boolean = useSelector(\n (state: State) => state.adminTeamData.loading\n );\n\n const statusCode: number | null = useSelector((state: State) =>\n state.adminTeamData.status !== 200 ? state.adminTeamData.status : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderTeamsList = () => {\n return (\n \n \n \n );\n };\n\n const renderNewTeamButton = () => {\n return (\n {\n history.push(\"/admin/teams/create\");\n }}\n >\n Create New Team\n \n );\n };\n\n const renderChangePageButtons = () => (\n \n \n \n );\n\n return (\n \n );\n};\n\nconst Component = withRouter(Teams);\nexport { Component as Teams };\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../../home/Layout\";\nimport { ToolBar } from \"../../../../modules/home/ToolBar\";\nimport { Loader } from \"../../attributeDetail/Layout\";\nimport ToastMessage from \"../../../../modules/components/ToastMessage\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: theme.spacing(11, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"calc(100vh - 52px)\",\n position: \"relative\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n}));\n\nexport const TeamDetailsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderTeamName,\n renderEditTeamButton,\n renderContent,\n showSuccess,\n handleClose,\n message,\n tabValue,\n renderTabs\n}) => {\n\n const indexToTab =\n {\n 0: \"Team Details\",\n 1: \"Round Robin\",\n };\n document.title = `${indexToTab[tabValue]}`;\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderTeamDetailsLayout = () => (\n <>\n {renderErrorModal()}\n \n {loading ? (\n \n \n \n ) : (\n \n \n \n\n \n {renderTabs()}\n {tabValue === 0 ? (\n <>\n {renderEditTeamButton()}\n {renderContent()}\n \n ) : (\n renderContent()\n )}\n\n \n )}\n \n \n );\n\n return (\n \n );\n};\n","import { createAsyncThunk, createSlice, PayloadAction } from \"@reduxjs/toolkit\";\nimport { get } from \"../../util/APIService\";\n\nexport const fetchFeedbackCounts = createAsyncThunk(\n \"roundRobinFeedback/fetchFeedbackCounts\",\n async (\n { teamId, startDate, endDate }: { teamId: number; startDate: string; endDate: string },\n storeActions\n ) => {\n const url = `api/v1/admin/teams/${teamId}/feedbackCounts?startDate=${startDate}&endDate=${endDate}`;\n try {\n const response = await get(url, storeActions);\n if (!response) {\n throw new Error(\"No response received\");\n }\n if (!response.ok) {\n throw new Error(`HTTP error! Status: ${response.status}`);\n }\n const data = await response.json();\n return data;\n } catch (error) {\n return Promise.reject(error);\n }\n }\n);\n\nconst roundRobinFeedbackSlice = createSlice({\n name: \"roundRobinFeedback\",\n initialState: {\n feedbackCounts: null,\n status: null as number | null,\n loading: false as boolean,\n },\n reducers: {\n clearFeedbackCounts: (state) => {\n state.feedbackCounts = null;\n state.loading = false;\n state.status = null;\n },\n clearData: (state) => {\n state.feedbackCounts = null;\n state.loading = false;\n state.status = null;\n }\n },\n extraReducers: (builder) => {\n builder.addCase(\n fetchFeedbackCounts.fulfilled,\n (state, { payload }: PayloadAction) => {\n state.feedbackCounts = payload;\n state.loading = false;\n }\n );\n builder.addCase(fetchFeedbackCounts.pending, (state) => {\n state.loading = true;\n state.status = null;\n });\n builder.addCase(fetchFeedbackCounts.rejected, (state) => {\n state.loading = false;\n state.status = 503;\n });\n },\n});\n\nexport const { clearFeedbackCounts, clearData } = roundRobinFeedbackSlice.actions;\nexport default roundRobinFeedbackSlice;\n","import { useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Typography, Grid, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from \"@material-ui/core\";\nimport { useParams } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { State } from \"../../../../type\";\nimport { fetchFeedbackCounts } from \"../../../../redux/slices/RoundRobinFeedbackSlice\";\nimport { CalendarCTA } from \"../../../components/CalenderCTA\";\nimport { DateProps } from \"../../dashboard/type\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n padding: theme.spacing(2),\n display: 'flex',\n flexDirection: 'column',\n height: '100vh',\n },\n tableContainer: {\n overflowY: 'auto',\n display: 'flex',\n justifyContent: 'flex-start',\n maxWidth: '100%',\n boxShadow: '0px 4px 12px rgba(0, 0, 0, 0.2)',\n border: '1px solid #B0B0B0',\n },\n teamName: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#272727\",\n lineHeight: \"56px\",\n flexGrow: 1,\n },\n headerContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n calendarContainer: {\n marginLeft: 'auto',\n [theme.breakpoints.down('xs')]: {\n marginLeft: 0,\n marginTop: theme.spacing(3),\n alignSelf: 'flex-start',\n },\n },\n nameColumn: {\n borderRight: `1px solid ${theme.palette.divider}`,\n position: 'sticky',\n left: 0,\n },\n centralHeader: {\n textAlign: 'center',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n headerRow1: {\n backgroundColor: '#D3D3D3',\n zIndex: 5,\n },\n headerRow2: {\n position: 'sticky',\n top: '38px',\n left: 0,\n zIndex: 3,\n },\n tableCell: {\n width: '250px',\n minWidth: '250px',\n maxWidth: '250px',\n },\n}));\n\nexport const RoundRobinSlide = () => {\n const classes = useStyles();\n const { teamId }: any = useParams();\n const dispatch = useDispatch();\n const feedbackCounts = useSelector((state: State) => state.roundRobin.feedbackCounts);\n const [rows, setRows] = useState([]);\n const [header1, setHeader1] = useState([]);\n const [header2, setHeader2] = useState([]);\n\n\n useEffect(() => {\n if (feedbackCounts) {\n const userList = feedbackCounts.userFeedbackDataList;\n setHeader1Data(userList)\n setHeader2Data(userList)\n\n const rowsData = userList.map((user1: any) => {\n const rowData: any = [];\n rowData.push(user1.fullName)\n\n userList.forEach((user2: any) => {\n rowData.push(user1.sharedFeedbackCounts[user2.userId] || 0);\n });\n\n return rowData;\n });\n\n console.log(rowsData);\n setRows(rowsData);\n }\n }, [feedbackCounts]);\n\n const setHeader1Data = (userList) => {\n\n const visibleColumnIndex = 1;\n const totalUsers = userList.length;\n const emptyColumnBeforeContent = totalUsers <= 3 ? (totalUsers == 3 ? 1 : 0) : Math.max(0, visibleColumnIndex);\n const headers = new Array(emptyColumnBeforeContent).fill('');\n \n headers.push('Feedback Received By');\n let emptyColumnsAfterContent = 0;\n if(totalUsers > 1 && totalUsers <=3) {\n emptyColumnsAfterContent = 1;\n } else if(totalUsers > 3){\n emptyColumnsAfterContent = (totalUsers - emptyColumnBeforeContent - 1);\n }\n headers.push(...new Array(emptyColumnsAfterContent).fill(''));\n setHeader1([...headers]);\n }\n\n const setHeader2Data = (userList) => {\n setHeader2(userList.map((user: any) => user.fullName));\n }\n\n const containerHeight = (4 * 150);\n const containerWidth = (9.3 * 150);\n\n const [selectedDateCount, setSelectedDateCount] = useState(0);\n const [receivedFeedbackDateRangeState, setReceivedFeedbackDateRangeState] = useState({\n startDate: new Date(new Date().setMonth(new Date().getMonth() - 3)),\n endDate: new Date(),\n });\n\n const formatDate = (date: Date) => {\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n };\n\n const startDate = formatDate(receivedFeedbackDateRangeState.startDate);\n const endDate = formatDate(receivedFeedbackDateRangeState.endDate);\n const numericTeamId = Number(teamId);\n\n useEffect(() => {\n if (!isNaN(numericTeamId)) {\n dispatch(fetchFeedbackCounts({ teamId: numericTeamId, startDate, endDate }));\n } else {\n console.error('Invalid teamId:', teamId);\n }\n }, [numericTeamId, startDate, endDate, dispatch]);\n\n\n return (\n
\n
\n Round Robin Feedback\n
\n \n
\n
\n \n \n {/* */}\n \n \n \n \n \n {'Shared By'}\n \n {header1.map((col) => (\n \n {col}\n \n ))}\n \n \n \n {'Name'}\n \n {header2.map((col) => (\n \n {col}\n \n ))}\n \n \n \n {rows.map((row, rowIndex) => (\n \n {row.map((col, colIndex) => (\n \n {rowIndex === colIndex - 1 ? 'X' : col}\n \n ))}\n \n ))}\n \n
\n
\n
\n
\n
\n );\n};\n","import {\n Divider,\n Grid,\n Hidden,\n makeStyles,\n MenuItem,\n Select,\n Tab,\n Tabs,\n Typography,\n } from \"@material-ui/core\";\n\n const useStyle = makeStyles((theme) => ({\n tabs: {\n color: \"#576BEA\",\n width: \"100%\",\n textAlign: \"left\",\n },\n divider: {\n backgroundColor: \"#576bea66\",\n width: \"100%\",\n },\n typography_body_1: {\n textTransform: \"none\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n tab: {\n width: \"auto\",\n minWidth: theme.spacing(10),\n padding: theme.spacing(0.5, 2.5, 0, 2.5),\n },\n }));\n\n \n const TeamDetailsText = () => {\n const classes = useStyle();\n return (\n \n Team Details\n \n );\n };\n \n const RoundRobinText = () => {\n const classes = useStyle();\n return (\n \n Round Robin\n \n );\n };\n \n export const TabLabels = ({ tabValue, setTabValue }) => {\n const classes = useStyle();\n \n const indexToTab = {\n 0: \"teamDetails\",\n 1: \"roundRobin\",\n };\n\n const tabToIndex = {\n teamDetails: 0,\n roundRobin: 1,\n };\n \n const handleTabChange = (event, newValue) => {\n setTabValue(newValue);\n };\n \n const handleChange = (event) => {\n setTabValue(event.target.value);\n };\n \n\n return (\n \n \n \n } value={0} />\n } value={1} />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n ","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\nimport { State, TeamDetailSliceProps, User } from \"../../../../type\";\nimport { Button, Grid, Typography, makeStyles } from \"@material-ui/core\";\nimport TeamMemberList from \"../createTeams/TeamMemberList\";\nimport { getTeamDetails } from \"../../../../redux/slices/TeamDetailsSlice\";\nimport { TeamDetailsLayout } from \"../../../../layouts/admin/teams/details/TeamDetailsLayout\";\nimport { USER_ROLES } from \"../../../../enums/teamEnums\";\nimport { CommonFunctionalityComponent } from \"../../../components/CommonFunctionalityComponent\";\nimport { MESSAGES } from \"../helper\";\nimport { RoundRobinSlide } from \"./RoundRobin\";\nimport { TabLabels } from \"./TabLabels\";\n\nconst useStyle = makeStyles((theme) => ({\n btn: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n },\n teamName: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#272727\",\n lineHeight: \"56px\",\n },\n}));\n\nexport const TeamDetails = (props) => {\n const dispatch = useDispatch();\n const { teamId }: any = useParams();\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [allSelectedUsers, setAllSelectedUsers] = React.useState([]);\n const [allSelectedUserRoles, setAllSelectedUserRoles] = React.useState(\n []\n );\n const [showSuccess, setShowSuccess] = React.useState(false);\n const [message, setMessage] = React.useState(\"\");\n\n const history = useHistory();\n const classes = useStyle();\n const { data: teamDetails } =\n useSelector((state: State) => state.teamDetails) ?? [];\n const teamMembers = teamDetails?.teamMembers ?? [];\n const teamLeads = teamDetails?.teamLeads ?? [];\n const loading: Boolean = useSelector(\n (state: State) => state.teamDetails.loading\n );\n const tabToIndex = {teamDetails: 0, roundRobin: 1};\n const [tabValue, setTabValue] = React.useState(tabToIndex[\"teamDetails\"]);\n\n useEffect(() => {\n const teamAdded = props.location.state?.teamAdded;\n const teamUpdated = props.location.state?.teamUpdated;\n \n if (teamAdded) {\n setShowSuccess(true);\n history.replace({\n pathname: `/admin/teams/details/${teamId}`,\n state: { from: \"create_teams\" },\n });\n setMessage(MESSAGES.TEAM_CREATED);\n } else if (teamUpdated) {\n setShowSuccess(true);\n history.replace({\n pathname: `/admin/teams/details/${teamId}`,\n state: { from: \"edit_teams\" },\n });\n setMessage(MESSAGES.TEAM_UPDATED);\n }\n }, []);\n\n useEffect(() => {\n if (teamDetails?.teamName) {\n const teamLeadsWithRole = (teamDetails?.teamLeads || [])?.map(\n (member) => ({\n ...member,\n role: USER_ROLES.TEAM_LEAD,\n })\n );\n\n const teamMembersWithRole = (teamDetails?.teamMembers || [])?.map(\n (member) => ({\n ...member,\n role: USER_ROLES.TEAM_MEMBER,\n })\n );\n const allTeamMembersAndLeads = [\n ...teamLeadsWithRole,\n ...teamMembersWithRole,\n ];\n setAllSelectedUsers(allTeamMembersAndLeads);\n }\n }, [teamLeads, teamMembers]);\n\n useEffect(() => {\n const param: TeamDetailSliceProps = {\n teamId: teamId,\n };\n dispatch(getTeamDetails(param));\n }, [teamId]);\n\n const renderTeamName = () => {\n return (\n \n {teamDetails?.teamName}\n \n );\n };\n\n const statusCode: number | null = useSelector((state: State) =>\n state.teamDetails.status !== 200\n ? state.teamDetails.status\n : null\n);\n\n const renderErrorModal = () => (\n \n );\n\n const renderTeamDetailsList = () => {\n return (\n \n \n \n );\n };\n\n const renderEditTeamButton = () => {\n return (\n {\n history.push(`/admin/teams/edit/${teamId}`);\n }}\n >\n Edit Team\n \n );\n };\n\n if (!isDetailView) {\n const currentPage = props.location?.state?.currentPage || 1;\n history.push({ pathname: \"/admin/teams\", search: `?page=${currentPage}` });\n }\n const handleCancel = (event, reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowSuccess(false);\n setMessage(\"\");\n };\n\n const renderTabLabels = () => (\n \n );\n\n const renderRoundRobin = () => {\n return (\n \n \n \n \n \n );\n };\n\n\n const renderContent = () => {\n switch (tabValue) {\n case tabToIndex[\"teamDetails\"]:\n return renderTeamDetailsList();\n case tabToIndex[\"roundRobin\"]:\n return renderRoundRobin();\n default:\n return renderTeamDetailsList();\n }\n };\n\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"-webkit-fill-available\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n }\n}));\n\nexport const TeamLeadTeamsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderSearchBox,\n renderTeamsList,\n renderChangePageButtons,\n count,\n}) => {\n document.title = \"Grow-Wize | Team-Lead - Teams\";\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderTeamsLayout = () => (\n <>\n {renderErrorModal()}\n \n \n \n {renderSearchBox()}\n \n {renderTeamsList()}\n {count !== 0 ? renderChangePageButtons() : null}\n \n \n \n );\n\n return (\n \n );\n};\n","import { Button, Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useSelector } from \"react-redux\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { ResponseTeam, State } from \"../../../type\";\nimport { CustomSearchBoxComponent } from \"../../components/CustomSearchboxComponent\";\nimport { SearchOption } from \"../../components/type\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { useHistory, withRouter } from \"react-router-dom\";\nimport { TeamsLayout } from \"../../../layouts/admin/teams/Layout\";\nimport { teamToOption } from \"../../../util/teamOption\";\nimport TeamListTable from \"../../admin/teams/teamListTable/teamListTable\";\nimport { TeamLeadTeamsLayout } from \"../../../layouts/user/teams/Layout\";\nimport { HttpStatus } from \"../../../enums/httpStatus\";\n\n\nconst useStyle = makeStyles((theme) => ({\n btn: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n },\n}));\n\nconst TeamLeadTeams = (props) => {\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(false);\n const [filteredTeams, setFilteredTeams] = React.useState>(\n []\n );\n const [pageData, setPageData] = React.useState>([]);\n const opt = props.location.state?.option;\n const [option, setOption] = React.useState(\n opt ? opt : null\n );\n\n const queryParams = new URLSearchParams(props.location.search);\n const pageValue =\n props.location.state?.pageNo || Number(queryParams.get(\"page\"));\n\n const [pageNumber, setPageNumber] = React.useState(\n pageValue ? pageValue : 1\n );\n const history = useHistory();\n\n const teams = useSelector((state: State) => state.teamLeadTeamData.teams);\n\n const count = teams?.length;\n\n useEffect(() => {\n const pageData = option\n ? [...filteredTeams]\n : filteredTeams?.slice((pageNumber - 1) * 10, pageNumber * 10);\n setPageData(pageData);\n history.push({\n pathname: \"/teams\",\n search: !option ? `?page=${pageNumber}` : `?search=${option?.name}`,\n });\n }, [filteredTeams, pageNumber]);\n\n useEffect(() => {\n window.scrollTo(0, 0);\n }, [pageNumber]);\n\n useEffect(() => {\n if (option === null) {\n setFilteredTeams(teams);\n }\n if (option !== null) {\n const matchingTeams = teams.filter((team) => team?.id === option?.teamId);\n setFilteredTeams(matchingTeams);\n }\n }, [option, teams]);\n\n useEffect(() => {\n setPageNumber(pageValue ? pageValue : 1);\n }, [option]);\n\n const classes = useStyle();\n\n const loading: Boolean = useSelector(\n (state: State) => state.teamLeadTeamData.loading\n );\n\n const statusCode: number | null = useSelector((state: State) =>\n state.teamLeadTeamData.status !== HttpStatus.OK ? state.teamLeadTeamData.status : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderSearchBox = () => (\n \n );\n\n const renderTeamsList = () => {\n return (\n \n \n \n );\n };\n\n const renderChangePageButtons = () => (\n \n \n \n );\n\n return (\n \n );\n};\n\nconst Component = withRouter(TeamLeadTeams);\nexport { Component as TeamLeadTeams };\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React from \"react\";\nimport ToastMessage from \"../../../modules/components/ToastMessage\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { Loader, HomeLayout } from \"../../home/Layout\";\n\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n padding: theme.spacing(11, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"calc(100vh - 52px)\",\n position: \"relative\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n}));\n\nexport const TeamLeadTeamDetailsLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderTeamName,\n renderTeamDetailsList,\n showSuccess,\n handleClose,\n message,\n tabValue,\n renderTabs\n}) => {\n\n const indexToTab =\n {\n 0: \"Team Details\",\n 1: \"Round Robin\",\n };\n document.title = `Grow-Wize | Team-Lead - ${indexToTab[tabValue]}`;\n const classes = useStyle();\n\n const [mobileOpen, setMobileOpen] = React.useState(false);\n const handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n };\n\n const renderToolBar = () => (\n \n );\n\n const renderTeamDetailsLayout = () => (\n <>\n {renderErrorModal()}\n \n {loading ? (\n \n \n \n ) : (\n \n \n \n \n {renderTabs()}\n {tabValue === 0 && renderTeamDetailsList()}\n {tabValue === 1 && renderTeamDetailsList()}\n \n )}\n \n \n );\n\n return (\n \n );\n};\n","import {\n Divider,\n Grid,\n Hidden,\n makeStyles,\n MenuItem,\n Select,\n Tab,\n Tabs,\n Typography,\n } from \"@material-ui/core\";\n\n const useStyle = makeStyles((theme) => ({\n tabs: {\n color: \"#576BEA\",\n width: \"100%\",\n textAlign: \"left\",\n },\n divider: {\n backgroundColor: \"#576bea66\",\n width: \"100%\",\n },\n typography_body_1: {\n textTransform: \"none\",\n fontSize: \"14px\",\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: \"10px\",\n },\n },\n tab: {\n width: \"auto\",\n minWidth: theme.spacing(10),\n padding: theme.spacing(0.5, 2.5, 0, 2.5),\n },\n }));\n\n \n const TeamDetailsText = () => {\n const classes = useStyle();\n return (\n \n Team Details\n \n );\n };\n \n const RoundRobinText = () => {\n const classes = useStyle();\n return (\n \n Round Robin\n \n );\n };\n \n export const TabLabels = ({ tabValue, setTabValue }) => {\n const classes = useStyle();\n \n const indexToTab = {\n 0: \"teamDetails\",\n 1: \"roundRobin\",\n };\n\n const tabToIndex = {\n teamDetails: 0,\n roundRobin: 1,\n };\n \n const handleTabChange = (event, newValue) => {\n setTabValue(newValue);\n };\n \n const handleChange = (event) => {\n setTabValue(event.target.value);\n };\n \n\n return (\n \n \n \n } value={0} />\n } value={1} />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n ","import { useEffect, useState } from \"react\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { Typography, Grid, Table, TableBody, TableCell, TableContainer, TableHead, TableRow } from \"@material-ui/core\";\nimport { CalendarCTA } from \"../../components/CalenderCTA\";\nimport { DateProps } from \"../../admin/dashboard/type\";\nimport { useParams } from \"react-router-dom\";\nimport { fetchFeedbackCounts } from \"../../../redux/slices/RoundRobinFeedbackSlice\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { State } from \"../../../type\";\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n flexGrow: 1,\n padding: theme.spacing(2),\n display: 'flex',\n flexDirection: 'column',\n height: '100vh',\n },\n tableContainer: {\n overflowY: 'auto',\n display: 'flex',\n justifyContent: 'flex-start',\n maxWidth: '100%',\n boxShadow: '0px 4px 12px rgba(0, 0, 0, 0.2)',\n border: '1px solid #B0B0B0',\n },\n teamName: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#272727\",\n lineHeight: \"56px\",\n flexGrow: 1,\n },\n headerContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n width: '100%',\n marginBottom: theme.spacing(2),\n },\n calendarContainer: {\n marginLeft: 'auto',\n [theme.breakpoints.down('xs')]: {\n marginLeft: 0,\n marginTop: theme.spacing(3),\n alignSelf: 'flex-start',\n },\n },\n nameColumn: {\n borderRight: `1px solid ${theme.palette.divider}`,\n position: 'sticky',\n left: 0,\n },\n centralHeader: {\n textAlign: 'center',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n headerRow1: {\n backgroundColor: '#D3D3D3',\n zIndex: 5,\n },\n headerRow2: {\n position: 'sticky',\n top: '38px',\n left: 0,\n zIndex: 3,\n },\n tableCell: {\n width: '250px',\n minWidth: '250px',\n maxWidth: '250px',\n },\n}));\n\nexport const RoundRobinSlide = () => {\n const classes = useStyles();\n const { teamId }: any = useParams();\n const dispatch = useDispatch();\n const feedbackCounts = useSelector((state: State) => state.roundRobin.feedbackCounts);\n const [rows, setRows] = useState([]);\n const [header1, setHeader1] = useState([]);\n const [header2, setHeader2] = useState([]);\n\n\n useEffect(() => {\n if (feedbackCounts) {\n const userList = feedbackCounts.userFeedbackDataList;\n setHeader1Data(userList)\n setHeader2Data(userList)\n\n const rowsData = userList.map((user1: any) => {\n const rowData: any = [];\n rowData.push(user1.fullName)\n\n userList.forEach((user2: any) => {\n rowData.push(user1.sharedFeedbackCounts[user2.userId] || 0);\n });\n\n return rowData;\n });\n\n console.log(rowsData);\n setRows(rowsData);\n }\n }, [feedbackCounts]);\n\n const setHeader1Data = (userList) => {\n\n const visibleColumnIndex = 1;\n const totalUsers = userList.length;\n const emptyColumnBeforeContent = totalUsers <= 3 ? (totalUsers == 3 ? 1 : 0) : Math.max(0, visibleColumnIndex);\n const headers = new Array(emptyColumnBeforeContent).fill('');\n \n headers.push('Feedback Received By');\n let emptyColumnsAfterContent = 0;\n if(totalUsers > 1 && totalUsers <=3) {\n emptyColumnsAfterContent = 1;\n } else if(totalUsers > 3){\n emptyColumnsAfterContent = (totalUsers - emptyColumnBeforeContent - 1);\n }\n headers.push(...new Array(emptyColumnsAfterContent).fill(''));\n setHeader1([...headers]);\n }\n\n const setHeader2Data = (userList) => {\n setHeader2(userList.map((user: any) => user.fullName));\n }\n\n const containerHeight = (4 * 150);\n const containerWidth = (9.3 * 150);\n\n const [selectedDateCount, setSelectedDateCount] = useState(0);\n const [receivedFeedbackDateRangeState, setReceivedFeedbackDateRangeState] = useState({\n startDate: new Date(new Date().setMonth(new Date().getMonth() - 3)),\n endDate: new Date(),\n });\n\n const formatDate = (date: Date) => {\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n return `${day}/${month}/${year}`;\n };\n\n const startDate = formatDate(receivedFeedbackDateRangeState.startDate);\n const endDate = formatDate(receivedFeedbackDateRangeState.endDate);\n const numericTeamId = Number(teamId);\n\n useEffect(() => {\n if (!isNaN(numericTeamId)) {\n dispatch(fetchFeedbackCounts({ teamId: numericTeamId, startDate, endDate }));\n } else {\n console.error('Invalid teamId:', teamId);\n }\n }, [numericTeamId, startDate, endDate, dispatch]);\n\n\n return (\n
\n
\n Round Robin Feedback\n
\n \n
\n
\n \n \n {/* */}\n \n \n \n \n \n {'Shared By'}\n \n {header1.map((col) => (\n \n {col}\n \n ))}\n \n \n \n {'Name'}\n \n {header2.map((col) => (\n \n {col}\n \n ))}\n \n \n \n {rows.map((row, rowIndex) => (\n \n {row.map((col, colIndex) => (\n \n {rowIndex === colIndex - 1 ? 'X' : col}\n \n ))}\n \n ))}\n \n
\n
\n
\n
\n
\n );\n};\n","import React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useParams } from \"react-router-dom\";\n\nimport { TeamLeadTeamDetailsLayout } from \"../../../layouts/user/teams/TeamLeadTeamDetailsLayout\";\nimport { USER_ROLES } from \"../../../enums/teamEnums\";\nimport { State, TeamDetailSliceProps, User } from \"../../../type\";\nimport { makeStyles } from \"@material-ui/core/styles\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport Grid from \"@material-ui/core/Grid\";\nimport TeamMemberList from \"../../admin/teams/createTeams/TeamMemberList\";\nimport { getTeamDetails } from \"../../../redux/slices/TeamDetailsSlice\";\nimport { Typography } from \"@material-ui/core\";\nimport { MESSAGES } from \"../../admin/teams/helper\";\nimport { HttpStatus } from \"../../../enums/httpStatus\";\nimport { TabLabels } from \"./TabLabels\";\nimport { RoundRobinSlide } from \"./RoundRobin\";\n\nconst useStyle = makeStyles((theme) => ({\n btn: {\n height: \"fit-content\",\n background: \"#7C69EC\",\n textTransform: \"none\",\n fontWeight: 600,\n fontFamily: \"Montserrat\",\n padding: \"10px 28px\",\n },\n teamName: {\n fontSize: theme.spacing(3),\n fontWeight: 600,\n color: \"#272727\",\n lineHeight: \"56px\",\n },\n}));\n\nexport const TeamLeadTeamDetails = (props) => {\n const dispatch = useDispatch();\n const { teamId }: any = useParams();\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [allSelectedUsers, setAllSelectedUsers] = React.useState([]);\n const [allSelectedUserRoles, setAllSelectedUserRoles] = React.useState(\n []\n );\n const tabToIndex = {teamDetails: 0, roundRobin: 1};\n const [showSuccess, setShowSuccess] = React.useState(false);\n const [message, setMessage] = React.useState(\"\");\n const [tabValue, setTabValue] = React.useState(tabToIndex[\"teamDetails\"]);\n\n const history = useHistory();\n const classes = useStyle();\n const { data: teamDetails } =\n useSelector((state: State) => state.teamDetails) ?? [];\n const teamMembers = teamDetails?.teamMembers ?? [];\n const teamLeads = teamDetails?.teamLeads ?? [];\n const loading: Boolean = useSelector(\n (state: State) => state.teamDetails.loading\n );\n\n useEffect(() => {\n const teamAdded = props.location.state?.teamAdded;\n const teamUpdated = props.location.state?.teamUpdated;\n \n if (teamAdded) {\n setShowSuccess(true);\n setMessage(MESSAGES.TEAM_CREATED);\n } else if (teamUpdated) {\n setShowSuccess(true);\n setMessage(MESSAGES.TEAM_UPDATED);\n }\n }, []);\n\n useEffect(() => {\n if (teamDetails?.teamName) {\n const teamLeadsWithRole = (teamDetails?.teamLeads || []).map(\n (member) => ({\n ...member,\n role: USER_ROLES.TEAM_LEAD,\n })\n );\n\n const teamMembersWithRole = (teamDetails?.teamMembers || [])?.map(\n (member) => ({\n ...member,\n role: USER_ROLES.TEAM_MEMBER,\n })\n );\n const allTeamMembersAndLeads = [\n ...teamLeadsWithRole,\n ...teamMembersWithRole,\n ];\n setAllSelectedUsers(allTeamMembersAndLeads);\n }\n }, [teamLeads, teamMembers]);\n\n useEffect(() => {\n const param: TeamDetailSliceProps = {\n teamId: teamId,\n };\n dispatch(getTeamDetails(param));\n }, [teamId]);\n\n const renderTeamName = () => {\n return (\n \n {teamDetails?.teamName}\n \n );\n };\n\n const statusCode: number | null = useSelector((state: State) =>\n state.teamDetails.status !== HttpStatus.OK\n ? state.teamDetails.status\n : null\n);\n\n const renderErrorModal = () => (\n \n );\n\n const renderTabLabels = () => (\n \n );\n\n const renderTeamDetailsList = () => {\n return (\n \n \n \n );\n };\n\n const renderRoundRobin = () => {\n return (\n \n \n \n \n \n );\n };\n\n if (!isDetailView) {\n const currentPage = props.location?.state?.currentPage || 1;\n history.push({ pathname: \"/teams\", search: `?page=${currentPage}` });\n }\n const handleCancel = (reason) => {\n if (reason === \"clickaway\") {\n return;\n }\n setShowSuccess(false);\n setMessage(\"\");\n };\n\n const renderContent = () => {\n switch (tabValue) {\n case tabToIndex[\"teamDetails\"]:\n return renderTeamDetailsList();\n case tabToIndex[\"roundRobin\"]:\n return renderRoundRobin();\n default:\n return renderTeamDetailsList();\n }\n };\n\n return (\n \n );\n};\n","import { Grid } from \"@material-ui/core\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { ChangePageButtonComponent } from \"../../components/changePageButtons\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { MemberDetailsLayout } from \"../../../layouts/admin/members/details/MemberDetailsLayout\";\nimport { countAssessmentSharedByMember } from \"../../../redux/slices/CountAssessmentSharedByMemberSlice\";\nimport { countFeedbackRequestReceivedByMember } from \"../../../redux/slices/CountRequestReceivedByMemberSlice\";\nimport { countRequestSendByMember } from \"../../../redux/slices/CountRequestSentByMemberSlice\";\nimport { getAllReceivedRequestsByMember } from \"../../../redux/slices/FeedbackRequestReceivedByMemberSlice\";\nimport { getAllSendRequestsByMember } from \"../../../redux/slices/FeedbackRequestsSentByMemberSlice\";\nimport { getAllCountSharedAndReceivedFeedback } from \"../../../redux/slices/ReceivedAndSharedAllCountSlice\";\nimport { getCountSharedAndReceivedFeedback } from \"../../../redux/slices/ReceivedAndSharedCountSlice\";\nimport { receivedFeedbackListByMember } from \"../../../redux/slices/ReceivedFeedbackListByMemberSlice\";\nimport { getSharedAssessmentListByMember } from \"../../../redux/slices/SharedAssessmentListByMemberSlice\";\nimport { getSharedFeedbackListByMember } from \"../../../redux/slices/SharedFeedbackListByMemberSlice\";\nimport {\n CountProps,\n Counts,\n DeactivateMemberProp,\n FeedbackListSliceProps,\n FeedbackRequestListSliceProps,\n State,\n} from \"../../../type\";\nimport { DetailSectionView } from \"../../admin/members/details/DetailSection\";\nimport { ListHeaderWithContent } from \"../../admin/members/details/List\";\nimport { TabsWithReportCTA } from \"../../admin/members/details/tabsAndReportBar\";\nimport { UserTypes } from \"../../../enums/userTypes\";\nimport { HttpStatus } from \"../../../enums/httpStatus\";\nimport { RequestTags } from \"../../../enums/requestTags\";\n\nexport const TeamLeadMemberDetails = (props) => {\n const dispatch = useDispatch();\n const { id } = props.match.params;\n const member = props.location.state?.member;\n const pageNo = props.location.state?.pageNumber;\n const tabNo = props.location.state?.tabValue;\n const itemNo = props.location.state?.itemValue;\n const from = props.location.state?.from;\n const teamId = props.location.state?.teamId;\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [pageNumber, setPageNumber] = React.useState(\n pageNo ? pageNo : 1\n );\n const [tabValue, setTabValue] = React.useState(tabNo ? tabNo : 0);\n const [itemValue, setItemValue] = React.useState(itemNo ? itemNo : 1);\n const [open, setOpen] = React.useState(false);\n\n const [feedbackOrAssessmentId, setFeedbackOrAssessmentId] =\n React.useState(0);\n const history = useHistory();\n\n useEffect(() => {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: itemValue === 1 ? RequestTags.ANY : itemValue === 2 ? RequestTags.INTERNAL : RequestTags.EXTERNAL,\n };\n dispatch(getAllCountSharedAndReceivedFeedback(arg));\n dispatch(countFeedbackRequestReceivedByMember(arg));\n dispatch(countRequestSendByMember(arg));\n dispatch(countAssessmentSharedByMember(arg));\n }, []);\n\n useEffect(() => {\n const arg: DeactivateMemberProp = {\n memberId: id,\n tag: itemValue === 1 ? RequestTags.ANY : itemValue === 2 ? RequestTags.INTERNAL : RequestTags.EXTERNAL,\n };\n if (tabValue === 0) {\n dispatch(getCountSharedAndReceivedFeedback(arg));\n } else if (tabValue === 3) {\n dispatch(countRequestSendByMember(arg));\n }\n }, [itemValue]);\n\n useEffect(() => {\n if (tabValue === 0) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n tag: RequestTags.ANY,\n };\n dispatch(receivedFeedbackListByMember(arg));\n } else if (tabValue === 1) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedFeedbackListByMember(arg));\n } else if (tabValue === 2) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag: RequestTags.ANY,\n };\n dispatch(getAllReceivedRequestsByMember(arg));\n } else if (tabValue === 3) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag: itemValue === 1 ? RequestTags.ANY : itemValue === 2 ? RequestTags.INTERNAL : RequestTags.EXTERNAL,\n };\n dispatch(getAllSendRequestsByMember(arg));\n } else if (tabValue === 4) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedAssessmentListByMember(arg));\n }\n }, [tabValue]);\n\n useEffect(() => {\n if (tabValue === 0) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n tag: itemValue === 1 ? RequestTags.ANY : itemValue === 2 ? RequestTags.INTERNAL : RequestTags.EXTERNAL,\n };\n dispatch(receivedFeedbackListByMember(arg));\n } else if (tabValue === 1) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedFeedbackListByMember(arg));\n } else if (tabValue === 2) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag: RequestTags.ANY,\n };\n dispatch(getAllReceivedRequestsByMember(arg));\n } else if (tabValue === 3) {\n const arg: FeedbackRequestListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n status: \"PENDING\",\n tag: itemValue === 1 ? RequestTags.ANY : itemValue === 2 ? RequestTags.INTERNAL : RequestTags.EXTERNAL,\n };\n dispatch(getAllSendRequestsByMember(arg));\n } else if (tabValue === 4) {\n const arg: FeedbackListSliceProps = {\n memberId: id,\n offSet: (pageNumber - 1) * 5,\n count: 5,\n };\n dispatch(getSharedAssessmentListByMember(arg));\n }\n }, [pageNumber, itemValue]);\n\n const counts: CountProps = useSelector(\n (state: State) => state.countSharedAndReceivedFeedback?.data\n );\n const allCounts: CountProps = useSelector(\n (state: State) => state.countAllSharedAndReceived?.data\n );\n\n const requestReceivedCount: Counts | null = useSelector(\n (state: State) => state.countRequestReceivedByMember.data\n );\n\n const requestSentCount: number | null = useSelector(\n (state: State) => state.countRequestSendByMember.data\n );\n\n const countAssessments: number | null = useSelector(\n (state: State) => state.countAssessmentSharedByMember.data\n );\n const statusCode: number | null = useSelector((state: State) =>\n state.countSharedAndReceivedFeedback.status !== HttpStatus.OK\n ? state.countSharedAndReceivedFeedback.status\n : state.countAllSharedAndReceived.status !== HttpStatus.OK\n ? state.countAllSharedAndReceived.status\n : state.countRequestReceivedByMember.status !== HttpStatus.OK\n ? state.countRequestReceivedByMember.status\n : state.countRequestSendByMember.status !== HttpStatus.OK\n ? state.countRequestSendByMember.status\n : state.receivedFeedbackListByMember.status !== HttpStatus.OK\n ? state.receivedFeedbackListByMember.status\n : state.sharedFeedbackListByMember.status !== HttpStatus.OK\n ? state.sharedFeedbackListByMember.status\n : state.allReceivedRequestsByMember.status !== HttpStatus.OK\n ? state.allReceivedRequestsByMember.status\n : state.allSendRequestsByMember.status !== HttpStatus.OK\n ? state.allSendRequestsByMember.status\n : state.countAssessmentSharedByMember.status !== HttpStatus.OK\n ? state.countAssessmentSharedByMember.status\n : state.sharedAssessmentListByMember.status !== HttpStatus.OK\n ? state.sharedAssessmentListByMember.status\n : state.changeMemberAccessRole.status !== HttpStatus.OK\n ? state.changeMemberAccessRole.status\n : null\n );\n\n const renderErrorModal = () => (\n \n );\n\n const renderDetailSection = () => (\n \n );\n\n const renderTabsWithReportCTA = () => (\n \n );\n\n const renderList = () => (\n \n );\n\n const renderChangePageComponent = () => (\n \n {tabValue === 0 && counts?.receivedCount > 0 && (\n \n )}\n {tabValue === 1 && allCounts?.sharedCount > 0 && (\n \n )}\n {tabValue === 2 &&\n requestReceivedCount &&\n requestReceivedCount?.pendingRequestCount > 0 && (\n \n )}\n {tabValue === 3 && requestSentCount && requestSentCount > 0 && (\n \n )}\n {tabValue === 4 && countAssessments && countAssessments > 0 && (\n \n )}\n \n );\n\n if (!isDetailView) {\n history.push({\n pathname: `/teams/details/${teamId}`,\n });\n }\n\n if (open) {\n history.push({\n pathname: `/members/report/feedback/received/${id}`,\n state: {\n memberName: `${member.firstName} ${member.lastName}`,\n member: member, teamId: teamId\n },\n });\n }\n\n if (feedbackOrAssessmentId > 0) {\n history.replace({\n pathname: `/member/detail/${id}`,\n state: {\n member: member,\n tabValue: tabValue,\n pageNumber: pageNumber,\n itemValue: itemValue,\n teamId: teamId\n },\n });\n history.push({\n pathname: `/detail/view`,\n state: {\n feedbackOrAssessmentId: feedbackOrAssessmentId,\n memberId: id,\n tabValue: tabValue,\n member: member,\n pageNumber: pageNumber,\n itemValue: itemValue,\n teamId: teamId\n },\n });\n }\n\n return (\n \n );\n};\n","import { Grid, makeStyles } from \"@material-ui/core\";\nimport React, { useEffect, useState } from \"react\";\nimport { HomeLayout } from \"../../home/Layout\";\nimport { ToolBar } from \"../../../modules/home/ToolBar\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation } from \"react-router-dom\";\nimport { setNudgeDateRange } from \"../../../redux/slices/NudgeListSlice\";\nimport { DateRangeProps, State } from \"../../../type\";\nimport { NudgeCalendarCTA } from \"../../../modules/components/NudgeCalendarCTA\";\n\nconst useStyle = makeStyles((theme) => ({\n root: {\n alignItems: \"left\",\n padding: theme.spacing(6, 6, 2, 5),\n marginTop: theme.spacing(6.5),\n background: \"#F5F6FA\",\n height: \"auto\",\n minHeight: \"100vh\",\n [theme.breakpoints.down(\"sm\")]: {\n padding: theme.spacing(6, 4, 6, 4),\n },\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: theme.spacing(11.25),\n padding: theme.spacing(5, 3, 3, 3),\n },\n },\n calendarBox: {\n width: \"260px\",\n height: \"45px\",\n border: \"1px solid blue\", \n padding: \"0.5px\",\n borderRadius: \"5px\",\n backgroundColor: \"white\",\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(3),\n }\n}));\n\nexport const NudgeBoardLayout = ({\n props,\n loading,\n setLogout,\n isDetailView,\n setIsDetailView,\n renderErrorModal,\n renderNudgeList\n}) => {\ndocument.title = \"Grow-Wize | Admin - Nudge Board\";\nconst classes = useStyle();\n\nconst [mobileOpen, setMobileOpen] = React.useState(false);\nconst handleDrawerToggle = () => {\n setMobileOpen(!mobileOpen);\n};\n\nconst tempFunction = () => {\n return 0;\n};\nconst dispatch = useDispatch();\nconst location = useLocation();\nconst currentPath = location.pathname;\nconst [selectedDateCount, setSelectedDateCount] = useState(0);\n\nconst nudgeDateRangeState : DateRangeProps = useSelector((state: State) => state.adminNudgeData.nudgeDateRange)\nconst setNudgeDateRangeState =(dateRange : DateRangeProps)=>{\n dispatch(setNudgeDateRange(dateRange))\n}\n\nconst defaultDateRange = {\n startDate: new Date(new Date().getTime() - 90 * 24 * 60 * 60 * 1000),\n endDate: new Date(),\n};\n\n useEffect(() => {\n if (currentPath === '/admin/nudge') {\n setNudgeDateRangeState(defaultDateRange);\n }\n }, [currentPath]);\n\nconst renderToolBar = () => (\n \n);\n\n\nconst renderNudgeLayout = () => (\n <>\n {renderErrorModal()}\n \n \n
\n \n
\n {renderNudgeList()}\n
\n \n \n);\n\nreturn (\n \n);\n};\n","import { Button, Grid, Typography, makeStyles, Tooltip, Avatar, CircularProgress } from \"@material-ui/core\";\nimport { DataGrid, GridColDef, GridRowsProp } from \"@mui/x-data-grid\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { CommonFunctionalityComponent } from \"../../components/CommonFunctionalityComponent\";\nimport { DateRangeProps, NudgeCountSliceProps, NudgeSendNotificationProps, NudgeSliceProps, State, User } from \"../../../type\";\nimport { nudgeSendNotification } from \"../../../redux/slices/NudgeSendNotificationSlice\"\nimport { useHistory, withRouter } from \"react-router-dom\";\nimport { appColor } from \"../../constants/customThemeColor\";\nimport { NudgeBoardLayout } from \"../../../layouts/admin/nudge/Layout\";\nimport theme from \"../../../theme\";\nimport { getDateInLeaderBoardFormat } from \"../../../util/GetDateInDesiredFormat\";\nimport { getNudgeList } from \"../../../redux/slices/NudgeListSlice\";\nimport { HttpStatus } from \"../../../enums/httpStatus\";\nimport ToastMessage, { MESSAGE_TYPE, MessageObject } from \"../../components/ToastMessage\";\nimport { MESSAGES } from \"../dashboard/Helper\";\nimport { getDateInActivityFormat } from \"../../../util/GetDateInActitivityFormat\";\nimport { countNudge } from \"../../../redux/slices/NudgeCountSLice\";\n\n\nconst useStyle = makeStyles((theme) => ({\n btn: {\n height: theme.spacing(4.75),\n width: theme.spacing(13.5),\n textTransform: \"none\",\n backgroundColor: `${appColor.pureWhite}`,\n borderRadius: theme.spacing(0.5),\n color: `${appColor.darkGray}`,\n padding: theme.spacing(1.25, 0.75),\n border: \"1px solid rgba(175,175,175,0.5)\",\n marginLeft: '40px',\n \"&:hover\": {\n backgroundColor: `${appColor.adminThemeColor}`,\n color: `${appColor.pureWhite}`,\n border: \"none\",\n },\n },\n datarow: {\n backgroundColor: \"#098f67\"\n },\n noFocusOutline: {\n '& .MuiDataGrid-cell:focus, & .MuiDataGrid-row:focus-within': {\n outline: 'none !important',\n },\n '& .MuiDataGrid-colCell:focus': {\n outline: 'none !important',\n },\n },\n columnHeader: {\n '& .MuiDataGrid-colCell:focus': {\n outline: 'none !important',\n },\n },\n}));\n\nconst NudgeBoardPage = (props) => {\n const classes = useStyle();\n const history = useHistory();\n const dispatch = useDispatch();\n const [nudgeCtaSubmitted, setNudgeCtaSubmitted] = React.useState(false);\n const [logout, setLogout] = React.useState(false);\n const [isDetailView, setIsDetailView] = React.useState(true);\n const [showSuccess, setShowSuccess] = React.useState(false);\n const [page, setPage] = React.useState(0);\n const [nudgeSuccessMsg, setNudgeSuccessMsg] = React.useState({ message: '', type: MESSAGE_TYPE.INFO });\n const nudgeDateRangeState : DateRangeProps = useSelector((state: State) => state.adminNudgeData.nudgeDateRange);\n const nudgeLoading: Boolean = useSelector(\n (state: State) => state.adminNudgeData.loading\n );\n const {\n status: nudgeSendNotificationStatus,\n loading: sendingNudgeNotification,\n } = useSelector((state: State) => state.adminNudgeSendNotification);\n\n const statusCode: number | null = useSelector((state: State) =>\n state.adminNudgeData.status !== 200 ? state.adminNudgeData.status : null\n );\n\n const totalNudgeCount = useSelector(\n (state: State) => state.adminNudgeCountData.count\n );\n\n const fetchCountNudge = () => {\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n let startDate = getDateInLeaderBoardFormat(nudgeDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(nudgeDateRangeState.endDate);\n const str = `&startDate=${startDate}&endDate=${endDate}&timezone=${timezone}`;\n const param: NudgeCountSliceProps = {\n requestingParams: str,\n };\n dispatch(countNudge(param));\n };\n\n const fetchData = () => {\n if (totalNudgeCount !== null) {\n const timezone = Intl.DateTimeFormat().resolvedOptions().timeZone;\n let startDate = getDateInLeaderBoardFormat(nudgeDateRangeState.startDate);\n let endDate = getDateInLeaderBoardFormat(nudgeDateRangeState.endDate);\n const str = `&startDate=${startDate}&endDate=${endDate}&timezone=${timezone}`;\n const param: NudgeSliceProps = {\n requestingParams: str,\n offSet: 0,\n count: totalNudgeCount,\n };\n dispatch(getNudgeList(param));\n }\n };\n\n useEffect(() => {\n fetchCountNudge();\n }, [nudgeDateRangeState]);\n\n useEffect(() => {\n if (totalNudgeCount !== null) {\n fetchData();\n setPage(0);\n }\n }, [totalNudgeCount]);\n\n\n useEffect(() => {\n if (nudgeCtaSubmitted && !sendingNudgeNotification) {\n setShowSuccess(true);\n if (nudgeSendNotificationStatus === HttpStatus.OK) {\n setNudgeSuccessMsg({\n message: nudgeSendNotificationStatus === 200 ? \"Nudge Notification Sent Successfully!\" : \"Failed To Send Nudge Notification.\",\n type: nudgeSendNotificationStatus === 200 ? MESSAGE_TYPE.SUCCESS : MESSAGE_TYPE.INFO,\n });\n } else {\n setNudgeSuccessMsg({\n message: MESSAGES.NUDGE_FAIL,\n type: MESSAGE_TYPE.INFO,\n });\n }\n \n setNudgeCtaSubmitted(false);\n fetchData();\n }\n }, [sendingNudgeNotification]);\n\n\n const handlePageChange = (newPage) => {\n setPage(newPage);\n fetchData();\n };\n\n const handleNudgeAction = (user: User) => {\n setNudgeCtaSubmitted(true);\n const params: NudgeSendNotificationProps = {\n userId: user.id,\n };\n dispatch(nudgeSendNotification(params));\n };\n\n const ActionButton = ({ user }) => (\n \n );\n\n const handleCancel = (event, reason) => {\n if (reason === 'clickaway') {\n return;\n }\n setShowSuccess(false);\n setNudgeSuccessMsg({ message: '' });\n };\n\n const ActionColumnHeader = () => (\n
\n \n Action \n \n \n \n \n
\n );\n if (!isDetailView) {\n const currentPage = props.location?.state?.currentPage || 1;\n history.push({ pathname: \"/admin/dashboard\" });\n }\n\n const nudges: GridRowsProp = useSelector((state: State) => state.adminNudgeData.nudges);\n\n const columns: GridColDef[] = [\n { \n field: \"user.firstName\",\n headerName: \"Name\", \n width: 391 , \n disableColumnMenu: true,\n sortable: false,\n headerAlign: 'left',\n renderHeader: (params) => (\n
\n {params.colDef.headerName}\n
\n ),\n renderCell: (params) => (\n
\n \n
\n \n {params.row.user &&\n params.row.user.firstName &&\n params.row.user.firstName.charAt(0).toUpperCase() +\n params.row.user.firstName.slice(1) +\n \" \" +\n (params.row.user.lastName.charAt(0).toUpperCase() +\n params.row.user.lastName.slice(1))}\n \n {params.row.nudgeSenderData && params.row.nudgeSenderData.sender ? (\n \n Nudged by: {params.row.nudgeSenderData.sender.firstName.charAt(0).toUpperCase() +\n params.row.nudgeSenderData.sender.firstName.slice(1)}{\" \"}\n |{\" \"}\n {params.row.nudgeSenderData.nudgeDate &&\n getDateInActivityFormat(new Date(params.row.nudgeSenderData.nudgeDate))}\n \n ) : (\n \n Not yet nudged\n \n )}\n
\n
\n ),\n },\n { \n field: \"sharedFeedbackCount\", \n headerName: \"Shared\", \n width: 325,\n disableColumnMenu: true,\n headerAlign: 'left',\n renderHeader: (params) => (\n
\n {params.colDef.headerName}\n
\n ),\n renderCell: (params) => (\n
\n {params.value}\n
\n ),\n },\n { \n field: \"receivedFeedbackCount\", \n headerName: \"Received\", \n width: 325,\n disableColumnMenu: true,\n headerAlign: 'left',\n renderHeader: (params) => (\n
\n {params.colDef.headerName}\n
\n ),\n renderCell: (params) => (\n
\n {params.value}\n
\n ),\n },\n { \n field: \"action\", \n headerName: \"Action\",\n width: 325, \n disableColumnMenu: true,\n sortable: false,\n headerAlign: 'left',\n renderHeader: (params) => ,\n renderCell: (params) => (\n
\n \n
\n ),\n },\n];\n\n const paginationPageSize = 10;\n const rowHeight = 67;\n const minHeight = rowHeight + 110;\n const currentPageRows = nudges.slice(page * paginationPageSize, (page + 1) * paginationPageSize);\n const currentPageRowsCount = currentPageRows.length;\n const gridHeight = currentPageRowsCount * rowHeight + 110 > minHeight \n ? currentPageRowsCount * rowHeight + 110\n : minHeight;\n\n\n const renderErrorModal = () => (\n \n );\n\n const dataRow = (params) => {\n return 'datarow';\n };\n\n const renderNudgeList = () => {\n if (nudgeLoading) {\n return (\n \n \n \n );\n }\n\n if (nudges.length === 0) {\n return (\n \n No Nudges...\n \n );\n }\n\n return (\n
\n
\n row.user.id}\n rows={nudges}\n columns={columns} \n pagination\n page={page}\n pageSize={paginationPageSize}\n onPageChange={handlePageChange}\n rowHeight={rowHeight}\n getRowClassName={dataRow}\n disableSelectionOnClick\n />\n
\n
\n );\n };\n\n return (\n <>\n \n \n \n );\n};\nconst Component = withRouter(NudgeBoardPage);\nexport { Component as NudgeBoardPage };\n\n","\nfunction Website() {\n return (\n
\n